a.Mô tả chức năng :
Khi bạn chọn Công Cụ trên thanh menu bar thì một button pad xuất hiện.
Hình 27: Thanh Công Cụ Bao gồm các chức năng :
Chỉnh sửa thông tin các đối tượng đường điểm khi click Chức năng thêm địa điểm
Chức năng xóa một địa điểm
b.Giao diện demo chƣơng trình :
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 4.1 KẾT LUẬN CHUNG
GIS là một hệ thống thông tin bao hàm nhiều khái niệm, kỹ thuật, quy trình và được ứng dụng vào nhiều lĩnh vực khác nhau. Hiện nay, GIS được hỗ trợ với nhiều công cụ mạnh mẽ và ngày càng trở nên phổ biến hơn. Trong những năm gần đây, cùng với sự phát triển của cộng đồng mã nguồn mở Việt Nam nói chung và thế giới nói riêng đã có những thành tựu nhất định trong công nghệ GIS. Đề tài luận văn: “Xây dựng bản đồ giao thông thành phố Cần Thơ với công nghệ MapInfo” đã tìm hiểu về GIS, công nghệ MapInfo và xây dựng được ứng dụng với các chức năng chính:
Xây dựng bản đồ giao thông thành phố Cần Thơ, thể hiện các địa điểm quan trọng
Xây dựng ứng dụng chỉ đường trên Desktop với công nghệ MapBasic Chức năng chỉnh sửa các đối tượng
Tìm kiếm các địa điểm, con đường
Mong rằng chương trình sẽ áp dụng tốt trong thực tiễn sử dụng và đóng góp một phần nhỏ vào ngôi nhà GIS của Việt Nam.
4.1.1 Nhận xét kết quả đạt đƣợc
Qua thời gian nghiên cứu và xây dựng chương trình nhóm đã thu được một số kiến thức và kinh nghiệm nhất định:
_Về bản thân:
Hiểu được công nghệ GIS và số hóa bản đồ.
Sử dụng thông thạo phần mềm MapInfo, một hệ GIS mạnh và thông dụng hiện nay.
Tìm hiểu ngôn ngữ lập trình MapBasic trên nền MapInfo. Học tập được nhiều kinh nghiệm làm việc nhóm
_Về chương trình :
Xây dựng được chương trình thỏa mãn yêu cầu của đề tài luận văn Giao diện đẹp và thân thiện với người sử dụng
Có thể áp dụng vào thực tiễn _Về thực tiễn :
Thấy được sự phát triển mạnh mẽ của công nghệ GIS trong tương lai Am hiểu các khả năng đa dạng và mạnh mẽ trong việc xây dựng bản
đồ, hỗ trợ ra quyết định, lập các báo cáo từ số liệu sẵn có, khả năng tự động hóa bằng MapBasic … của MapInfo.
4.1.2 Hạn chế
Tuy nhiên với sự hạn hẹp về thời gian nghiên cứu và lượng kiến thức không nhiều nên vẫn còn tồn tại những hạn chế nhất định:
_Chủ quan:
Chưa có nhiều kinh nghiệm trong việc thực hiện các đề tài khoa học Chưa nghiên cứu được các giải thuật khác nhằm tối ưu hóa chương
trình
Các trường dữ liệu mô tả cho các đối tượng đường hay địa điểm chưa phong phú
_Khách quan:
Mặc dù có hỗ trợ tiếng việt (bảng mã: TCVN3, Font: .vnArial), nhưng các Dialog của MapInfo thì chỉ hiển thị được các kí tự không dấu do đó dữ liệu về tên đường, địa điểm, quận huyện… hiển thị chưa được như ý.
Ngôn ngữ MapBasic không hỗ trợ kiểu con trỏ và mảng 2 chiều, đồng thời số phần tử mảng 1 chiều được hỗ trợ cũng không nhiều. Vì thế chương trình sẽ gặp khó khăn với lượng dữ liệu lớn.
4.2 ĐỀ NGHỊ VÀ HƢỚNG PHÁT TRIỂN
Chương trình cần có thời gian để tiến hành kiểm thử nhiều trường hợp khác nhau để khắc phục hay hạn chế các lỗi gặp phải.
Triển khai chương trình vào thực tế để từ đó thấy được nhu cầu người dùng và các hạn chế của chương trình.
Mở rộng các trường dữ liệu để thông tin thêm phong phú và đa dạng. Mở rộng phạm vi của bản đồ
Áp dụng hướng phát triển này vào các thiết bị di động nhằm làm tăng tính tiện dụng cho phần mềm
PHỤ LỤC: CÁC HÀM CHÍNH SỬ DỤNG TRONG CHƢƠNG TRÌNH
Các hàm quan trọng sử dụng trong chương trình:
OverlayNodes() :
OverlayNodes(input_object,overlay_object)
input_object : là đối tượng mà những node sẽ được thêm vào, không cho phép là điểm pointer của text
overlay_object : là đối tượng phủ lên đối tượng input, không cho phép là điểm pointer của text
Hàm sẽ trả về một object đã tồn tại chứa tất cả các node của đối tượng input và những node của đối tượng overlay_object phủ lên đối tượng input_object.
Đối tượng mới giữ nguyên style của input_object
ObjectNodeX(), ObjectNodeY()
ObjectNodeX(object,polygon_num,node_num) ObjectNodeY(object,polygon_num,node_num)
Hàm trả về tọa độ những node của đối tượng object là polyline hay region.
object : là một đối tượng polyline hay region
polygon_num : là số nguyên định danh của một region hay polyline(đối với polyline là 1)
node_num : vị trí của node (1,2…)
IntersectNodes()
IntersectNodes(object1,object2,point_to_include)
Trả về một polyline chứa toàn bộ những node của hai object giao nhau.
object1,object2 : là 2 đối tượng tượng giao nhau.
point_to_include : là một trong các giá trị :
INCL_CROSSINGS : trả về các điểm point khi các đoạn cắt nhau INCL_COMMON : trả về điểm cuối chồng lên nhau
INCL_ALL : trả về toàn bộ các điểm của 2 thành phần trên.
CartesianConnectObject()
CartesianConnectObject(object1, object2, min)
object1, object2 là 2 đối tượng
min là một giá trị logical mang giá trị TRUE hoặc FALSE , min= TRUE thì hàm trả về polyline có khoảng cách nhỏ nhất, min=FALSE thì hàm trả về polyline có khoảng cách lớn nhất giữa 2 object.
Hàm không thể tính toán được khi chọn hệ tọa độ Lat/Long .
SearchPoint()
SearchPoint(map_window_id, x, y)
Trả về số đối tượng tìm thấy tại điểm có tọa độ (x,y) Với map_window_id là mã của cửa sổ hiện hành
SearchRect()
SearchRect(map_window_id, x1, y1, x2, y2)
Trả về số đối tượng tìm thấy trong hình vuông có tọa độ 2 điểm đầu mút của đường chéo là (x1,y1) và (x2,y2)
Với map_window_id là mã của cửa sổ hiện hành
SearchInfo()
SearchInfo(sequence_number, attribute) Trả về giá trị tùy theo attribute
Với sequence_number là số thứ tự các đối tượng được tìm thấy từ hàm SearchRect() và SearchPoint()
Attribute là các thông số gồm:
SEARCH_INFO_TABLE: tên bảng chứa đối tượng SEARCH_INFO_ROW: số ID của đối tượng
Like(): so sánh chuỗi
Like(string, pattern_string, escape_char) Trả về một giá trị đúng hoặc sai
String: đoạn chuỗi cần kiểm tra
pattern_string: Chuỗi mang những kí hiệu đại diện _ đại diện 1 kí tự
% đại diện cho nhiều kí tự escape_char: mang giá trị “ ” hoặc “\” Ví dụ:
Like( string_var, "South%", "") Like( string_var, "\_%", "\")
TÀI LIỆU THAM KHẢO
[1] Thạc sĩ Nguyễn Văn Linh. Giải Thuật. Khoa Công Nghệ Thông Tin & Truyền Thông. Năm 2006
[2] Nguyễn Đức Nghĩa, Nguyễn Tô Thành. Toán Rời Rạc. NXB Giáo Dục. Năm 1997.
[3] User Guide, Help MapBasic 9.5 và Mapinfo 10.5
[4] Đinh Khắc Quyền, Phan Tấn Tài. Giáo trình phân tích và thiết kế hệ thống thông tin. Khoa Công Nghệ Thông Tin & Truyền Thông. Năm 2008
[5] Đặng Văn Đức. Giáo trình phân tích và thiết kế hướng đối tượng bằng UML. NXB Giáo Dục. Năm 2002
[6] NGUT Nguyễn Ngọc Diệp. Lập trình MapBasic cho hệ thống thông tin địa lý GIS - MapInfo. Trung tâm nghiên cứu và bảo vệ môi trường – Đại học Đà Nẵng. Năm 2004
[7] ThS. Nguyễn Đức Bình, ThS. Hoàng Hữu Cải, KS. Nguyễn Quốc Bình.
Xây dựng bản đồ số hóa với MapInfo 6.0. Bộ môn LNXH – ĐHNL Tp. HCM. Năm 2003
[8] Phạm Hữu Đức. Giáo trình Cơ sở dữ liệu và hệ thông tin địa lý GIS. Đại học Kiến trúc Hà Nội. Năm 2005
[9].Nguyễn Bảo Yến, Nguyễn Minh Phúc. Luận Văn Tốt Nghiệp Đại Học –
xây dựng hệ thống GIS quản lý các trường phổ thông trong nội ô thành phố Cần Thơ (quận Ninh Kiều). Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ. Năm 2008. [10]. www.diachatvn.com [11]. www.yeumoitruong.com/ [12]. http://forum.davico.com.vn [13]. http://www.vngeobiz.com [14]. http://vi.wikipedia.org [15]. http://my.opera.com/hapn2/blog/show.dml/2307750 [16]. http://www.gisgpstoancau.com/article/66-Vector-va-Raster-Models.html [17]. http://www.diadiem.com/vn