Upload
khoa-truong-dinh
View
68
Download
24
Embed Size (px)
Citation preview
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 1
MỤC LỤC
MỤC LỤC .................................................................................................................. 1
MỘT SỐ THUẬT NGỮ VÀ TỪ VIẾT TẮT .......................................................... 3
DANH SÁCH HÌNH ................................................................................................. 4
DANH SÁCH BẢNG ................................................................................................ 5
TÓM TẮT .................................................................................................................. 6
ABSTRACT ............................................................................................................... 7
CHƢƠNG I: TỔNG QUAN ..................................................................................... 8
1.1 ĐẶT VẤN ĐỀ: ................................................................................................. 8
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ: ............................................................... 9 1.3 PHẠM VI CỦA ĐỀ TÀI: ............................................................................... 9
1.4 MÔ TẢ ĐỀ TÀI: ............................................................................................. 9
1.5 PHƢƠNG PHÁP NGHIÊN CỨU/ HƢỚNG GIẢI QUYẾT VẤN ĐỀ: ... 10
1.5.1 Về lý thuyết: ............................................................................................ 10
1.5.2 Về công cụ và phần mềm hỗ trợ: .......................................................... 10
1.5.3 Hƣớng thực hiện: .................................................................................... 10
CHƢƠNG II: CƠ SỞ LÝ THUYẾT ..................................................................... 12
2.1 TÌM HIỂU CÔNG NGHỆ GIS .................................................................... 12
2.1.1 Giới thiệu GIS ......................................................................................... 12
2.1.2 Khái niệm GIS: ....................................................................................... 12
2.1.3 Các thành phần của GIS ........................................................................ 13
2.1.4 Tổ chức dữ liệu trong GIS ..................................................................... 15
2.1.5 Nhiệm vụ của GIS .................................................................................. 17
2.1.6 Lợi ích và hạn chế của GIS .................................................................... 19
2.2 GIỚI THIỆU VỀ MAPINFO ....................................................................... 20
2.2.1 Mapinfo là gì: .......................................................................................... 20
2.2.2.Các chức năng cơ bản của Mapinfo: .................................................... 20
2.2.3 Các loại dữ liệu của Mapinfo................................................................. 21 2.2.4 Đăng kí ảnh trong MapInfo: ................................................................. 23
2.2.5 Một số tính năng cơ bản của Mapinfo .................................................. 24
2.3 GIỚI THIỆU VỀ MAPBASIC ..................................................................... 29
2.3.1. Khả năng thƣơng mại hoá Mapinfo .................................................... 29
2.3.2. Khả năng tự động hoá Mapinfo. .......................................................... 30
2.3.3. Công cụ đánh giá dữ liệu. ..................................................................... 30
2.3.4. Tính gọn nhẹ của MapBasic. ................................................................ 30
2.3.5. Khả năng liên kết với các ứng dụng khác. .......................................... 30
2.3.6. Tên file, kiểu file và một số lệnh cơ bản của MapBasic ..................... 31 CHƢƠNG III : NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU .............................. 33
3.1 ĐĂNG KÝ BẢN ĐỒ - THIẾT KẾ CƠ SỞ DỮ LIỆU................................ 33
3.1.1 Sử dụng công cụ Universal Maps Downloader: .................................. 33
3.1.2 Số hóa bản đồ : ....................................................................................... 35
3.1.3 Phân tích hệ thống .................................................................................. 36
3.1.4 Cài đặt cơ sở dữ liệu ............................................................................... 36
3.2 CÁC LƢU ĐỒ VÀ GIẢI THUẬT CHÍNH ................................................. 38
3.2.1 Lƣu đồ giải thuật chỉnh sửa đối tƣợng ................................................. 38
3.2.2 Lƣu đồ giải thuật tìm một con đƣờng - một địa điểm ......................... 39 3.2.3 Lƣu đồ giải thuật thêm và xóa điểm ..................................................... 40
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 2
3.3 SƠ ĐỒ CHỨC NĂNG CỦA CHƢƠNG TRÌNH ....................................... 45
3.4 GIỚI THIỆU CHƢƠNG TRÌNH ................................................................ 46
3.4.1 Chức năng tìm kiếm đƣờng ngắn nhất từ danh sách điểm: ............... 46
3.4.2 Chức năng tìm kiếm đƣờng ngắn nhất từ 2 điểm bất kì khi click ..... 46
3.4.3 Chức năng tìm kiếm một con đƣờng và địa điểm ............................... 48
3.4.4 Chức năng chỉnh sửa đối tƣợng-thêm địa điểm-xóa địa điểm: .......... 49
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ............................................................. 50
4.1 KẾT LUẬN CHUNG .................................................................................... 50
4.1.1 Nhận xét kết quả đạt đƣợc..................................................................... 50 4.1.2 Hạn chế .................................................................................................... 51
4.2 ĐỀ NGHỊ VÀ HƢỚNG PHÁT TRIỂN....................................................... 51
PHỤ LỤC: CÁC HÀM CHÍNH SỬ DỤNG TRONG CHƢƠNG TRÌNH ........ 52
TÀI LIỆU THAM KHẢO ...................................................................................... 54
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 3
MỘT SỐ THUẬT NGỮ VÀ TỪ VIẾT TẮT
CNTT & TT: Công nghệ thông tin và truyền thông
CSDL: Cơ sở dữ liệu
DBMS: Hệ quản trị cơ sở dữ liệu
GIS: Hệ thống thông tin địa lý
PC: Máy tính cá nhân
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 4
DANH SÁCH HÌNH
Hình 1: Các thành phần của GIS ........................................................................ 13
Hình 2: Tổ chức dữ liệu phân lớp ...................................................................... 15
Hình 3: Biểu diễn bản đồ dạng Vector .............................................................. 16
Hình 4: Mô hình dữ liệu Raster ........................................................................ 17
Hình 5: Các dạng đối tượng đồ họa ................................................................... 21
Hình 6: Hộp thoại Main ..................................................................................... 28
Hình 7: Hộp thoại Drawing ............................................................................... 29
Hình 8: Hộp thoại Standard ............................................................................... 29
Hình 9: Các thông số, cách download hình bằng Universal Maps Downloader .. 33
Hình 10: Sử dụng MapViewer để lấy tạo độ điểm khống chế ............................ 34
Hình 11: Đăng kí bản đồ trong MapInfo ............................................................ 35
Hình 12: Mô hình MCD .................................................................................... 36
Hình 13: Lưu đồ chỉnh sửa đối tượng ................................................................ 38
Hình 14: Lưu đồ giải thuật tìm một con đường, một địa điểm ............................ 39
Hình 15: Lưu đồ giải thuật thêm và xóa một địa điểm ...................................... 40
Hình 16: Đồ thị 1 ............................................................................................... 41
Hình 17: Đồ thị 2 ............................................................................................... 41
Hình 18: Đồ thị 3 ............................................................................................... 42
Hình 19: Đồ thị 4 ............................................................................................... 42
Hình 20: Lưu đồ giải thuật Dijkstra ................................................................... 44
Hình 21: Sơ đồ chức năng ................................................................................. 45
Hình 22: Giao diện chức năng tìm đường đi ngắn nhất từ danh sách điểm ......... 46
Hình 23: Giao diện chức năng tìm đường đi ngắn nhất từ 2 điểm bất kì ............. 47
Hình 24: Kết quả chức năng tìm đường đi ngắn nhất từ 2 điểm bất kì ................ 47
Hình 25: Giao diện chức năng tìm đường hoặc địa điểm 1 ................................. 48
Hình 26: Giao diện chức năng tìm đường hoặc địa điểm 2 ................................. 48
Hình 27: Thanh Công Cụ ................................................................................... 49
Hình 28: Giao diện chức năng cập nhật thêm mới và xóa bỏ đối tượng .............. 49
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 5
DANH SÁCH BẢNG
Bảng 1: Tên và kiểu file trong MapBasic ........................................................... 31
Bảng 2: Cấu trúc table DuongGiaoThong .......................................................... 37
Bảng 3: Cấu trúc table DiaDiem ........................................................................ 37
Bảng 4: Cấu trúc table Diem .............................................................................. 37
Bảng 5: Cấu trúc table Duong ............................................................................ 37
Bảng 6: Cấu trúc table CungDuong ................................................................... 38
Bảng 7: Cấu trúc table CoQuan ......................................................................... 38
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 6
TÓM TẮT
Từ xa xưa, người ta đã biết đến tầm quan trọng cũng như những lợi ích mà
bản đồ địa lý mang lại. Nhờ có nó mà chúng ta có thể vượt biển, đi săn, thám
hiểm … thành công. Ngày nay, mọi người vẫn cần và sử dụng nó rất nhiều trong
cuộc sống.
Trong thời đại kĩ thuật tiên tiến như hiện nay, bản đồ địa lý đã được nâng cao
hơn nữa và đã được tích hợp vào các hệ thống thông tin tạo thành hệ thống thông
tin địa lý (GIS). Đã có rất nhiều các ứng dụng và phần mềm khai thác về GIS
trong đó tiêu biểu là phần mềm MapInfo.
Ở nước ta, với thế mạnh là nông nghiệp và một hệ thống giao thông cả thủy
lẫn bộ khá phức tạp nên vấn đề bức thiết là cần phải xây dựng được một hệ GIS
nhằm đáp ứng các yêu cầu phát triển hiện nay như quản lý, tra cứu thông tin địa
lý, đưa ra các báo cáo, dự báo, tìm kiếm, chỉ đường...
Qua quá trình nghiên cứu, tìm hiểu, luận văn này đã xây dựng được một cách
cơ bản “Bản đồ giao thông thành phố Cần Thơ với công nghệ MapInfo”. Trong
đó, đã xây dựng được bản đồ giao thông, bản đồ các lớp đối tượng quan trọng
như: cơ quan hành chính, địa điểm du lịch. Phần mềm có thể tương tác trực quan
với người dùng và cung cấp một số chức năng như tìm kiếm, chỉ đường ... Từ đó
tạo tiền đề cho các nghiên cứu sâu hơn về GIS và MapInfo nhằm ứng dụng nhiều
hơn khả năng của GIS vào thực tiễn, đáp ứng ngày càng nhiều hơn nhu cầu của
con người đối với những lợi ích mà thông tin địa lý mang lại.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 7
ABSTRACT
Since ancient times, people have known the importance and the benefits of
geographical maps. Thanks to it we can cross the sea, hunt, explore ...
successfully. Today, people still need and use it a lot in life.
In the era of advanced technology today, geographical maps have been risen
and integrated into the information system creating geographical information
map (GIS). There are numerous applications and exploitation of GIS software
including MapInfo software is typical.
Because our country is a nation with strength as an agriculture and complex
transportation system complex so the issues is that we have to build a GIS system
in order to satisfy the development requirements such as management , looking
up geographic information, make reports and forecasts, search, directions ...
Through the research process. The "map of Can Tho city traffic with MapInfo
technology" has been built in this thesis basically. These important results are
transformation maps, some kinds of essential maps such as administrative
agencies, tourism location. Software can interact visually with the user and
provide some functionality such as search, directions ... Therefrom, it make the
basic way for further studies on MapInfo and GIS to apply more the ability of
GIS in practical, as well as the human needs for the benefits that geographic
information achieve.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 8
CHƢƠNG I: TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ:
Trong thời đại công nghệ và kĩ thuật phát triển mạnh mẽ như hiện nay,
con người ngày càng sử dụng nhiều hơn các kĩ thuật tiên tiến trong cuộc sống thì
khi đó việc ứng dụng những kĩ thuật này vào việc đi lại là hết sức cần thiết, bởi lẽ
đi lại là nhu cầu thiết yếu của con người.
Cùng với sự phát triển mạnh mẽ của khoa học công nghệ thì công nghệ
thông tin có thể nói là “đầu tàu” đi đầu xây dựng các ứng dụng trong nhiều lĩnh
vực như: kinh tế, khoa học, y học …trong đó có địa lý.
Hệ thống thông tin địa lý gọi tắt là GIS đã có những đóng góp to lớn trong
việc phát triển các ứng dụng trong lĩnh vực địa lý như quy hoạch đô thị, quản lý,
tra cứu, lập báo cáo, hỗ trợ ra quyết định …
Tại Việt nam, mặc dù được biết đến từ rất sớm, nhưng phải đến sau năm
2000, sau khi có kết quả tổng kết chương trình GIS tại Việt Nam, thì GIS mới
thật sự được chú ý đến. Nhiều chương trình về GIS với sự tham gia của các
trường đại học, viện nghiên cứu, các chuyên gia đã được triển khai ở Việt Nam
nói chung và Thành phố Cần Thơ nói riêng. Bên cạnh đó, nhiều phần mềm hỗ trợ
cho GIS cũng đã được phát triển mà tiêu biểu nhất ở Việt Nam chính là MapInfo.
Yêu cầu bức thiết đặt ra là phải xây dựng một hệ GIS về giao thông và
quản lý thông tin của các địa điểm trọng yếu như cơ quan nhà nước hay những
thắng cảnh du lịch hấp dẫn nhằm phục vụ cho nhu cầu đi lại, du lịch cũng như
công việc của mọi người.
Cũng đã có nhiều ứng dụng được xây dụng để giải quyết vấn đề này
nhưng chủ yếu là web một hướng đi vẫn phụ thuộc nhiều vào cơ sở hạ tầng mạng
và dữ liệu vẫn phải phân tán rải rác.
Yêu cầu đặt ra là xây dựng hệ thống thông tin địa lý của hệ thống giao
thông thành phố Cần Thơ bằng công nghệ MapInfo, đồng thời xây dựng một số
ứng dụng khai thác hệ thống thông tin đó bằng chính ngôn ngữ của MapInfo
(MapBasic) và chạy trực tiếp trên nền MapInfo đồng thời dữ liệu được lưu trữ
ngay trên PC cục bộ, bảo đảm tính an toàn cho những dữ liệu mang tính riêng tư.
Hơn nữa, vì toàn bộ dữ liệu được lưu trong DBMS của chính MapInfo nên khâu
cập nhật thông tin sẽ rất dễ dàng. Có thể nói việc sử dụng hệ GIS MapInfo và các
ứng dụng ngay trên nền của nó là một lợi thế không nhỏ khi mô hình hóa, xây
dựng dữ liệu hay thao tác trên các dữ liệu đó.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 9
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ:
GIS đã du nhập vào Việt Nam từ khoảng 20 năm nay, những thế mạnh và
ích lợi của nó là rất đáng được chú ý nhưng hầu như các ứng dụng của nó là chưa
nhiều và đa số chỉ dừng lại ở mức nghiên cứu thử nghiệm.
Tại khoa CNTT & TT trường Đại Học Cần Thơ, các ứng dụng GIS cũng
đã được đưa vào nghiên cứu với một số đề tài như “Ứng dụng công nghệ GIS –
GPS xây dựng hệ thống dẫn đường tự động và hướng dẫn du lịch trong nội ô
thành phố Cần Thơ”(2006), “Xây dựng hệ thống tự động thông báo trạm dừng xe
buýt trong nội ô thành phố Cần Thơ”(2007-2008), “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ơ” (2008), … Tuy nhiên đa
số vẫn chỉ dừng lại ở mức độ đề tài nghiên cứu, chưa thực sự được đưa vào sử
dụng trong thực tiễn.
Mặc dù vậy, GIS nói chung và MapInfo nói riêng vẫn đang ngày càng
được chú ý ở nước ta, và cũng đã có nhiều diễn đàn, website chuyên đề về GIS
(www.vngeobiz.com, www.yeumoitruong.com, forum.davico.com.vn …), có thể
nói với tốc độ phát triển của công nghệ thông tin như hiện nay thì việc các ứng
dụng GIS được áp dụng rộng rãi ở nước ta là điều không xa.
1.3 PHẠM VI CỦA ĐỀ TÀI:
Đề tài tập trung nghiên cứu thử nghiệm và xây dựng hệ thống thông tin
địa lý (GIS) với công nghệ MapInfo thành lập bản đồ giao thông thành phố Cần
Thơ, trong đó phải thể hiện được một cách cơ bản mạng lưới giao thông của toàn
thành phố Cần Thơ, các địa điểm quan trọng như: cơ quan, bảo tàng, trường học.
Ngoài ra, yêu cầu của đề tài là sử dụng ngôn ngữ hỗ trợ của MapInfo
(MapBasic) tạo các ứng dụng tìm kiếm và chỉ đường...cụ thể:
Tạo, chỉnh sửa, xóa bỏ và hiển thị thông tin của hệ thống giao thông toàn
thành phố Cần Thơ với các địa điểm quan trọng.
Ứng dụng tìm kiếm đường, địa điểm thực hiện trên dữ liệu giao thông
toàn thành phố Cần Thơ.
Ứng dụng chỉ đường, dẫn đường từ hai địa điểm bất kỳ trên đường thực
hiện trên dữ liệu giao thông nội ô Thành Phố Cần Thơ.
1.4 MÔ TẢ ĐỀ TÀI:
Các đề tài nghiên cứu về lĩnh vực MapInfo thì rất nhiều nhưng ứng dụng
tìm kiếm chỉ đường trên MapInfo thì rất ít. Vì thế, mục đích của đề tài này là
nghiên cứu thử nghiệm và áp dụng các giải thuật tìm đường bằng ngôn ngữ
MapBasic, đồng thời xây dựng bản đồ giao thông thành phố Cần Thơ trên nền
MapInfo với tên gọi “Bản đồ giao thông thành phố Cần Thơ với công nghệ
MapInfo”.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 10
Chương trình hoàn chỉnh gồm các chức năng sau:
Xây dựng được các lớp nền cơ bản: quận huyện, sông ngòi, ....
Thiết lập lớp giao thông thành phố Cần Thơ, lớp địa điểm trọng yếu: cơ
quan, trường học ...
Hiển thị, cập nhật, thêm mới, xóa bỏ và chỉnh sửa thông tin của các đối
tượng đường đi và địa điểm trên bản đồ.
Ứng dụng tìm kiếm và hiển thị ra một con đường hay một địa điểm theo
tên của chúng.
Ứng dụng tìm đường, chỉ đường từ hai địa điểm cho trước hay từ hay
điểm bất kỳ trên đường (giải thuật Dijkstra – tìm đường đi ngắn nhất).
1.5 PHƢƠNG PHÁP NGHIÊN CỨU/ HƢỚNG GIẢI QUYẾT VẤN ĐỀ:
Qua yêu cầu của đề tài, nhóm nhất trí về các phương pháp và công cụ
được sử dụng để giải quyết các vấn đề đặt ra:
1.5.1 Về lý thuyết:
Nghiên cứu công nghệ GIS.
Tìm hiểu cách sử dụng phần mềm MapInfo và ngôn ngữ MapBasic.
1.5.2 Về công cụ và phần mềm hỗ trợ:
Cài đặt Phần Mềm MapInfo 10.5 và MapBasic 9.5 trên hệ điều hành
Windows (XP, Windows 7).
Sử dụng phần mềm Universal Map Downloader và tham khảo trang
googlemap để thu thập hình ảnh bản đồ thành phố Cần Thơ.
1.5.3 Hƣớng thực hiện:
Thu thập và phân tích yêu cầu của đề tài
Mô hình hóa và xây dựng mô hình quan hệ thực thể cho chương trình
Thu thập bản đồ giao thông và tuyến điểm của thành phố Cần Thơ
Số hóa bản đồ và tiến hành vẽ các lớp bản đồ cần thiết (quận huyện,
đường giao thông, địa điểm ...)
Tiến hành nhập liệu và hoàn thiện bản đồ
Lập trình các ứng dụng tìm kiếm chỉ đường bằng ngôn ngữ MapBasic
Tiến hành kiểm thử các chức năng và hoàn thiện chương trình
Viết tài liệu cho chương trình (hướng dẫn sử dụng, báo cáo ...)
Bố cục của luận văn gồm các phần nhƣ sau:
Chương 1:
Mô tả tổng quát về đề tài, yêu cầu mà đề tài đặt ra, mục tiêu nghiên cứu,
lịch sử giải quyết vấn đề, phạm vi và phương pháp nghiên cứu cũng như hướng
giải quyết các vấn đề mà đề tài đặt ra.
Chương 2:
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 11
Tập trung nghiên cứu, tìm hiểu về công nghệ GIS (các thành phần của
GIS, cách thức tổ chức dữ liệu, lợi ích và hạn chế của GIS ...) và MapInfo – một
hệ GIS mạnh và khá phổ biến ở nước ta. Ngoài ra, ở phần này còn giới thiệu tổng
quát về MapBasic – ngôn ngữ lập trình mà MapInfo hỗ trợ nhằm tạo các ứng
dụng riêng chạy trên nền MapInfo.
Chương 3:
Trình bày tóm tắt các thao tác đăng kí và số hóa bản đồ, các lưu đồ giải
thuật chính, đồng thời giới thiệu sơ qua một số chức năng của chương trình.
Kết luận và hướng phát triển:
Trình bày các kết quả đạt được sau quá trình nghiên cứu, tìm hiểu đề tài.
Nêu lên các hạn chế, khó khăn gặp phải và hướng phát triển sau này.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 12
CHƢƠNG II: CƠ SỞ LÝ THUYẾT
Là phần trọng tâm của đề tài, trình bày các lý thuyết chính làm cơ sở cho
việc nghiên cứu và giải quyết các yêu cầu mà đề tài đặt ra.
2.1 TÌM HIỂU CÔNG NGHỆ GIS
2.1.1 Giới thiệu GIS
Kỹ thuật "Thông tin Địa lý" (Geographic Information System) đã bắt đầu
được sử dụng rộng rãi ở các nước phát triển hơn một thập niên qua, đây là một
dạng ứng dụng công nghệ tin học nhằm mô tả thế giới thực mà loài người đang
sống, tìm hiểu, khai thác. Với những tính năng ưu việt, kỹ thuật GIS ngày nay
đang được ứng dụng trong nhiều lĩnh vực nghiên cứu và quản lý, đặc biệt trong
quản lý và quy hoạch sử dụng, khai thác các nguồn tài nguyên một cách bền
vững và hợp lý.
Sự phát triển không ngừng của công nghệ thông tin đã đưa tin học thâm nhập
sâu vào nhiều lĩnh vực khoa học và đời sống, mở ra một giai đoạn mới trong quá
trình phát triển khoa học. Hệ thống thông tin địa lý là một trong những ứng dụng
rất có giá trị của công nghệ thông tin trong ngành địa lý, điều tra cơ bản, quy
hoạch đô thị và cảnh báo môi trường.
Kỹ thuật GIS đã được bắt đầu sử dụng rộng rãi ở các nước phát triển nhiều
thập niên qua, với những tính năng ưu việt, kỹ thuật GIS ngày nay đang được
ứng dụng trong nhiều lĩnh vực nghiên cứu và quản lý.
Hệ thống thông tin địa lý là một kỹ thuật ứng dụng hệ thống vi tính số hoá,
xuất hiện trong những năm 1960 cho đến nay công nghệ này được biết đến như
là một kỹ thuật toàn cầu.
Trong sự phát triển của đất nước ta hiện nay, việc tổ chức quản lý thông tin
địa lý một cách tổng thể có thể đóng góp không nhỏ vào việc sử dụng có hiệu
quả hơn nguồn tài nguyên của đất nước.
2.1.2 Khái niệm GIS:
GIS - Geographic Information System hay hệ thống thông tin địa lý được
hình thành từ ba khái niệm địa lý, thông tin và hệ thống. Khái niệm “địa lý” liên
quan đến các đặc trưng về không gian, vị trí. Các đặc trưng này ánh xạ trực tiếp
đến các đối tượng trong không gian. Chúng có thể là vật lý, văn hoá, kinh tế,…
trong tự nhiên.
Khái niệm “thông tin” đề cập đến phần dữ liệu được quản lý bởi GIS. Đó là
các dữ liệu về thuộc tính và không gian của đối tượng. GIS có tính “hệ thống”
tức là hệ thống GIS được xây dựng từ các mô đun. Việc tạo các mô đun giúp
thuận lợi trong việc quản lý và hợp nhất.
GIS là một hệ thống có ứng dụng rất lớn. Từ năm 1980 đến nay đã có rất
nhiều các định nghĩa được đưa ra, tuy nhiên không có định nghĩa nào khái quát
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 13
đầy đủ về GIS vì phần lớn chúng đều được xây dựng trên khía cạnh ứng dụng cụ
thể trong từng lĩnh vực. Có ba định nghĩa được dùng nhiều nhất:
GIS là một hệ thống thông tin được thiết kế để làm việc với các dữ liệu
trong một hệ toạ độ quy chiếu.
GIS bao gồm một hệ cơ sở dữ liệu và các phương thức để thao tác với dữ
liệu đó. GIS là một hệ thống nhằm thu thập, lưu trữ, kiểm tra, tích hợp, thao tác,
phân tích và hiển thị dữ liệu được quy chiếu cụ thể vào trái đất.
GIS là một chương trình máy tính hỗ trợ việc thu thập, lưu trữ, phân tích và
hiển thị dữ liệu bản đồ.
2.1.3 Các thành phần của GIS
GIS bao gồm 5 thành phần:
Con người
Dữ liệu
Phương pháp phân tích
Phần mềm
Phần cứng
Các thành phần này kết hợp với nhau nhằm tự động quản lý và phân phối
thông tin thông qua biểu diễn địa lý.
Hình 1: Các thành phần của GIS
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 14
Con ngƣời
Con người là thành phần quan trọng nhất, là nhân tố thực hiện các thao tác
điều hành sự hoạt động của hệ thống GIS.
Người dùng GIS là những người sử dụng các phần mềm GIS để giải quyết
các bài toán không gian theo mục đích của họ. Họ thường là những người được
đào tạo tốt về lĩnh vực GIS hay là các chuyên gia.
_Người xây dựng bản đồ: sử dụng các lớp bản đồ được lấy từ nhiều nguồn
khác nhau, chỉnh sửa dữ liệu để tạo ra các bản đồ theo yêu cầu.
_Người xuất bản: sử dụng phần mềm GIS để kết xuất ra bản đồ dưới nhiều
định dạng xuất khác nhau.
_Người phân tích: giải quyết các vấn đề như tìm kiếm, xác định vị trí…
_Người xây dựng dữ liệu: là những người chuyên nhập dữ liệu bản đồ bằng
các cách khác nhau: vẽ, chuyển đổi từ định dạng khác, truy nhập CSDL…
_Người quản trị CSDL: quản lý CSDL GIS và đảm bảo hệ thống vận hành
tốt.
_Người thiết kế CSDL: xây dựng các mô hình dữ liệu lôgic và vật lý.
_Người phát triển: xây dựng hoặc cải tạo các phần mềm GIS để đáp ứng các
nhu cầu cụ thể.
Dữ liệu
Một cách tổng quát, người ta chia dữ liệu trong GIS thành 2 loại:
_Dữ liệu không gian (spatial) cho ta biết kích thước vật lý và vị trí địa lý
của các đối tượng trên bề mặt trái đất.
_Dữ liệu thuộc tính (non-spatial) là các dữ liệu ở dạng văn bản cho ta biết
thêm thông tin thuộc tính của đối tượng.
Phần cứng
Là các máy tính điện tử: PC, mini Computer, MainFrame…là các thiết bị
mạng cần thiết khi triển khai GIS trên môi trường mạng. GIS cũng đòi hỏi các
thiết bị ngoại vi đặc biệt cho việc nhập và xuất dữ liệu như: máy số hoá
(digitizer), máy vẽ (plotter), máy quét (scanner)…
Phần mềm
Hệ thống phần mềm GIS rất đa dạng. Mỗi công ty xây dựng GIS đều có hệ
phần mềm riêng của mình. Tuy nhiên, có một dạng phần mềm mà các công ty
phải xây dựng là hệ quản trị CSDL địa lý. Dạng phần mềm này nhằm mục đích
nâng cao khả năng cho các phần mềm CSDL thương mại trong việc: sao lưu dữ
liệu, định nghĩa bảng, quản lý các giao dịch do đó ta có thể lưu các dữ liệu địa lý
dưới dạng các đối tượng hình học trực tiếp trong các cột của bảng quan hệ và
nhiều công việc khác.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 15
Phƣơng pháp phân tích
GIS được điều hành bằng các hàm, thủ tục và các quyết định. Đó chính là
kinh nghiệm của con người là phần không thể thiếu được của GIS.
Một vài ví dụ về chức năng phân tích:
Khoa học được ứng dụng có liên quan tới không gian như thủy văn,
khí tượng hay dịch tể học.
Chất lượng các thủ tục bảo đảm dữ liệu là chính xác, nhất quán và
đúng đắn.
Thuật toán giải quyết vấn tin trên tuyến, mạng hay mặt.
Những kiến thức áp dụng để vẽ bản đồ tạo ra những bản đồ thể hiện
hoàn hảo.
2.1.4 Tổ chức dữ liệu trong GIS
Cách thức tổ chức
Để tiện phân tích và tổng hợp, dữ liệu không gian thường được tổ chức thành
các lớp (layer/theme); cũng thường được gọi là các lớp dữ liệu chuyên đề
(thematic layer).
Mỗi lớp dữ liệu thường biểu diễn 1 tính chất liên quan đến vị trí trên mặt đất.
Ví dụ: lớp dữ liệu về ranh giới hành chánh, về loại đất, về hiện trạng sử dụng đất.
Mỗi lớp dữ liệu có thể có 1 hay nhiều kiểu đối tượng địa lý (điểm, đường, vùng).
Trên 1 lớp dữ liệu, tại 1 vị trí không thể có cùng lúc 2 giá trị riêng biệt.
Ví dụ: trên lớp dữ liệu về loại đất, tại 1 vị trí nào đó không thể vừa là loại đất
A vừa là loại đất B.
Cách tổ chức dữ liệu thành các lớp chuyên đề cho phép thể hiện thế giới thực
phức tạp một cách đơn giản nhằm giúp hiểu biết các quan hệ trong thiên nhiên.
Hình 2: Tổ chức dữ liệu phân lớp
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 16
Vector và Raster Models
Hệ thống thông tin địa lý làm việc với hai dạng khác nhau của thông tin địa
lý - đó là vector và raster. Trong kiểu vector, thông tin là các điểm (point), đường
(line), và vùng (polygon) được mã hoá và lưu theo toạ độ x, y. Một vị trí có đặc
tính điểm, như hố khoan được miêu tả bởi toạ độ x, y. Các yếu tố có đặc tính
đường, giống như các đường giao thông hoặc các sông được lưu bởi một tập hợp
toạ độ các điểm. Các yếu tố có đặc tính vùng, như khu vực bán hàng và lưu vực
sông, có thể được lưu bởi toạ độ của một đường bao đóng kín. Kiểu vector vô
cùng hữu dụng để miêu tả các thuộc tính riêng rẽ, nhưng không hữu dụng đối với
các thuộc tính biến thiên liên tục giống như loại đất hoặc mô tả vùng ảnh hưởng
của các bệnh viện. Kiểu raster dành cho mô tả các đối tượng có thuộc tính biến
thiên liên tục. Raster image bao gồm hệ thống mạng lưới các ô nhỏ như ảnh quét
hoặc tranh vẽ. Cả hai kiểu vector và raster được dùng để lưu các thông tin địa lý
đều có những mặt mạnh và mặt yếu.
Mô hình dữ liệu vector hình thành trên cơ sở các vector với thành phần cơ bản
là điểm. Các đối tượng khác được tạo ra bằng cách nối các điểm bởi các đường
thẳng hoặc các cung. Vùng bao gồm một tập các đường thẳng. Thuật ngữ đa giác
đồng nghĩa với vùng trong cơ sở dữ liệu vector vì đa giác tạo bởi các đường
thẳng nối với các điểm. Như vậy, mô hình dữ liệu vector sử dụng các đoạn thẳng
hay điểm rời rạc để nhận biết các vị trí của thế giới thực.
Hình 3: Biểu diễn bản đồ dạng Vector
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 17
Mô hình dữ liệu Raster không gian được chia thành các ô lưới đều, thường
được gọi là các điểm ảnh (pixel). Mỗi ô gồm một giá trị đơn và vị trí của nó. Độ
phân giải của raster phụ thuộc vào kích thước điểm ảnh của nó. Kích thước điểm
ảnh càng nhỏ, độ phân giải càng cao.
Hình 4: Mô hình dữ liệu Raster
2.1.5 Nhiệm vụ của GIS
Mục đích chung của các Hệ Thông tin địa lý là thực hiện năm nhiệm vụ sau:
o Nhập dữ liệu
o Thao tác dữ liệu
o Quản lý dữ liệu
o Hỏi đáp và phân tích
o Hiển thị
Nhập dữ liệu
Trước khi dữ liệu địa lý có thể được dùng cho GIS, dữ liệu này phải được
chuyển sang dạng số thích hợp. Quá trình chuyển dữ liệu từ bản đồ giấy sang các
file dữ liệu dạng số được gọi là quá trình số hoá.
Công nghệ GIS hiện đại có thể thực hiện tự động hoàn toàn quá trình này với
công nghệ quét ảnh cho các đối tượng lớn; những đối tượng nhỏ hơn đòi hỏi một
số quá trình số hoá thủ công (dùng bàn số hoá). Ngày nay, nhiều dạng dữ liệu địa
lý thực sự có các định dạng tương thích GIS. Những dữ liệu này có thể thu được
từ các nhà cung cấp dữ liệu và được nhập trực tiếp vào GIS.
Thao tác dữ liệu
Có những trường hợp các dạng dữ liệu đòi hỏi được chuyển dạng và thao tác
theo một số cách để có thể tương thích với một hệ thống nhất định. Ví dụ, các
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 18
thông tin địa lý có giá trị biểu diễn khác nhau tại các tỷ lệ khác nhau (hệ thống
đường phố được chi tiết hoá trong file về giao thông, kém chi tiết hơn trong file
điều tra dân số và có mã bưu điện trong mức vùng). Trước khi các thông tin này
được kết hợp với nhau, chúng phải được chuyển về cùng một tỷ lệ (mức chính
xác hoặc mức chi tiết). Ðây có thể chỉ là sự chuyển dạng tạm thời cho mục đích
hiển thị hoặc cố định cho yêu cầu phân tích. Công nghệ GIS cung cấp nhiều công
cụ cho các thao tác trên dữ liệu không gian và cho loại bỏ dữ liệu không cần
thiết.
Quản lý dữ liệu
Ðối với những dự án GIS nhỏ, có thể lưu các thông tin địa lý dưới dạng các
file đơn giản. Tuy nhiên, khi kích cỡ dữ liệu trở nên lớn hơn và số lượng người
dùng cũng nhiều lên, thì cách tốt nhất là sử dụng hệ quản trị cơ sở dữ liệu
(DBMS) để giúp cho việc lưu giữ, tổ chức và quản lý thông tin. Một DBMS chỉ
đơn giản là một phần mền quản lý cơ sở dữ liệu.
Có nhiều cấu trúc DBMS khác nhau, nhưng trong GIS cấu trúc quan hệ tỏ ra
hữu hiệu nhất. Trong cấu trúc quan hệ, dữ liệu được lưu trữ ở dạng các bảng. Các
trường thuộc tính chung trong các bảng khác nhau được dùng để liên kết các
bảng này với nhau. Do linh hoạt nên cấu trúc đơn giản này được sử dụng và triển
khai khá rộng rãi trong các ứng dụng cả trong và ngoài GIS.
Hỏi đáp và phân tích
Một khi đã có một hệ GIS lưu giữ các thông tin địa lý, có thể bắt đầu hỏi các
câu hỏi đơn giản như:
o Ai là chủ mảnh đất ở góc phố?
o Hai vị trí cách nhau bao xa?
o Vùng đất dành cho hoạt động công nghiệp ở đâu?
Và các câu hỏi phân tích như:
o Tất cả các vị trí thích hợp cho xây dựng các toà nhà mới nằm ở đâu?
o Kiểu đất ưu thế cho rừng sồi là gì?
o Nếu xây dựng một đường quốc lộ mới ở đây, giao thông sẽ chịu ảnh
hưởng như thế nào?
GIS cung cấp cả khả năng hỏi đáp đơn giản “chỉ và nhấn” và các công cụ
phân tích tinh vi để cung cấp kịp thời thông tin cho những người quản lý và phân
tích. Các hệ GIS hiện đại có nhiều công cụ phân tích hiệu quả, trong đó có hai
công cụ quan trọng đặc biệt:
Phân tích liền kề:
+ Tổng số khách hàng trong bán kính 10 km khu hàng?
+ Những lô đất trong khoảng 60 m từ mặt đường?
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 19
Ðể trả lời những câu hỏi này, GIS sử dụng phương pháp vùng đệm để xác định
mối quan hệ liền kề giữa các đối tượng.
Phân tích chồng xếp:
Chồng xếp là quá trình tích hợp các lớp thông tin khác nhau. Các thao tác
phân tích đòi hỏi một hoặc nhiều lớp dữ liệu phải được liên kết vật lý. Sự chồng
xếp này, hay liên kết không gian, có thể là sự kết hợp dữ liệu về đất, độ dốc,
thảm thực vật hoặc sở hữu đất với định giá thuế.
Hiển thị
Với nhiều thao tác trên dữ liệu địa lý, kết quả cuối cùng được hiển thị tốt nhất
dưới dạng bản đồ hoặc biểu đồ. Bản đồ khá hiệu quả trong lưu giữ và trao đổi
thông tin địa lý. GIS cung cấp nhiều công cụ mới và thú vị để mở rộng tính nghệ
thuật và khoa học của ngành bản đồ. Bản đồ hiển thị có thể được kết hợp với các
bản báo cáo, hình ảnh ba chiều, ảnh chụp và những dữ liệu khác (đa phương
tiện).
2.1.6 Lợi ích và hạn chế của GIS
Kỹ thuật GIS là một công nghệ ứng dụng các tiến bộ của khoa học máy tính,
(computer based technology) do đó việc sử dụng GIS trong các mục tiêu nghiên
cứu so với các phương tiện cổ điển có thể mang lại những hiệu quả cao do:
Là cách tiết kiệm chi phí và thời gian nhất trong việc lưu trữ số liệu
Có thể thu thập số liệu với số lượng lớn
Số liệu lưu trữ có thể được cập nhật hoá một cách dễ dàng
Chất lượng số liệu được quản lý, xử lý và hiệu chỉnh tốt
Dễ dàng truy cập, phân tích số liệu từ nhiều nguồn và nhiều loại khác
nhau
Tổng hợp một lần được nhiều loại số liệu khác nhau để phân tích và tạo ra
nhanh chóng một lớp số liệu tổng hợp mới.
Tuy nhiên, có những trở ngại xuất hiện trong quá trình sử dụng kỹ thuật GIS,
những trở ngại này đặc biệt quan trọng là cần được cân nhắc thận trọng trong quá
trình phát triển GIS tại các nước kém và đang phát triển như Việt Nam, đó là:
o Chi phí và những vấn đề kỹ thuật đòi hỏi trong việc chuẩn bị lại các số
liệu thô hiện có, nhằm có thể chuyển từ bản đồ dạng giấy truyền thống
sang dạng kỹ thuật số trên máy tính (thông qua việc số hoá, quét
ảnh…).
o Đòi hỏi nhiều kiến thức của các kỹ thuật cơ bản về máy tính, và yêu
cầu lớn về nguồn tài chính ban đầu.
o Chi phí của việc mua sắm, lắp đặt thiết bị và phần mềm GIS khá cao.
Trong một số lĩnh vực ứng dụng, hiệu quả tài chánh lại thấp.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 20
Đặc biệt trong nông nghiệp, GIS có 3 điểm thuận lợi chính khi được so sánh
với cách quản lý bản đồ bằng tay trước đây:
Chúng là một công cụ khá mạnh trong việc lưu trữ và diễn đạt các số liệu
đặc biệt là các bản đồ.
Chúng có thể cho ra những kết quả dưới những dạng khác nhau như các
bản đồ, biểu bảng, và các biểu đồ thống kê,…
2.2 GIỚI THIỆU VỀ MAPINFO
2.2.1 Mapinfo là gì:
Mapinfo là phần mềm hệ thông tin Địa lí GIS chuyên về thành lập và quản
lý các cơ sở dữ liệu Địa lí trên máy tính cá nhân. Đây là một phần mềm GIS khá
phổ biến trên thế giới cũng như ở Việt Nam. Ưu điểm của phần mềm Mapinfo là
dễ sử dụng, đồng thời nó cho phép tạo ra những bản đồ đẹp. Chính vì vậy nhiều
cơ quan và dự án đã sử dụng Mapinfo như một giai đoạn cuối trong công nghệ
GIS của mình.
MapInfo Professional là phần mềm chạy trên môi trường Windows, có
chức năng kết nối với các ứng dụng Windows khác (bộ lập trình Visual Studio),
có thể tương tác trực tiếp với bản đồ của MapInfo.
2.2.2.Các chức năng cơ bản của Mapinfo:
_Trao đổi dữ liệu với các phần mềm khác (Import và Export).
_Mô tả các đối tượng bằng các dữ liệu không gian và thuộc tính.
_Trực tiếp mở các file số liệu được tạo bởi các quan hệ quản trị cơ sở dữ liệu
như dBase, FoxBase, Lotus 1-2-3, Excel,…
_Khả năng hỏi đáp tạo lập Selection để sửa đổi dữ liệu cũ, tạo cơ sở cho dữ
liệu mới một cách dễ dàng.
_Không gian làm việc Workspace là một file tổng hợp cho phép lưu lại tất cả
các Selection và Views nhằm tiết kiệm thời gian cho công việc của người
dùng.
_Các hợp công cụ sử dụng các biểu tượng rất thuận tiện cho công việc vẽ và
sửa chữa các đối tượng bản đồ.
_Có khả năng hiển thị số liệu theo 3 cách: Map Windows, Browser và Graph
Windows.
_MapInfo cung cấp một tập hợp các phím lệnh (button) rất thuận tiện cho việc
sửa chữa (Editing) và vẽ (Drawing).
_Dễ dàng tạo lập các bản đồ chuyên đề Thematic theo yêu cầu của người
dùng, cửa sổ Layout giúp người dùng chuẩn bị, trình bày bản đồ trước khi in
ra máy.
_Cho phép chồng xếp các định dạng ảnh (raster) làm nền bản đồ.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 21
_Cho phép đăng ký vẽ một bản đồ từ một ảnh raster nền theo nhiều cách như
(Non-Earth, Longitude/Latitude, hay từ một bản đồ khác đã được đăng ký
sẵn).
_Hỗ trợ in bản đồ.
_Kết nối với Crystal Report (lập báo cáo dựa trên cơ sở dữ liệu địa lí của bản
đồ).
_Lập trình tự động hóa công việc với MapBasic.
2.2.3 Các loại dữ liệu của Mapinfo
Đối tượng đồ họa:
Mô hình dữ liệu không gian (Spatial Data Model): Là mô hình vector trình
bày các dữ liệu không gian của đối tượng và được lưu dưới dạng bản đồ.
Trên bản đồ, người ta thể hiện các đối tượng và hiện tượng có trên mặt đất, trong
thiên nhiên, xã hội và các lĩnh vực hoạt động của con người. Các yếu tố nội dung
của bản đồ là:
- Thủy hệ
- Địa hình bề mặt
- Dân cư
- Đường giao thông
- Ranh giới hành chánh – chính trị
- Lớp phủ thổ nhưỡng – thực vật
- Các đối tượng kinh tế xã hội
Các yếu tố kể trên được thể hiện trên bản đồ địa lí chung và trên một số các
bản đồ chuyên đề.
Trong MapInfo chúng được thể hiện bằng các đối tượng đồ họa sau:
o Điểm (Point)
o Đường (Polyline)
o Vùng (Polygon)
Hình 5: Các dạng đối tượng đồ họa
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 22
Bảng dữ liệu:
Mô hình dữ liệu thuộc tính (Attribute Data Model): Là mô hình quan hệ, lưu
dưới dạng bảng theo hàng và cột. Trong đó các hỏi đáp dữ liệu có thể biểu diễn
bằng các phép toán quan hệ, dùng ngôn ngữ tìm kiếm với cấu trúc SQL).
Ngoài vật thể đồ hoạ, bản đồ số trong Mapinfo còn có dữ liệu được hiển thị
trong một cửa sổ được gọi là cửa sổ Browser (cửa sổ dữ liệu). Dữ liệu trong
Mapinfo hiển thị trong một bảng và chúng được cấu trúc theo kiểu dữ liệu tương
tự các kiểu dữ liệu khác như Excel, Access…Ngoài ra Mapinfo cũng có thể mở
các dữ liệu khác. Ta có thể mở các một tập tin Excel hay Access trong Mapinfo
và xử lý chúng như những bảng dữ liệu bình thường của Mapinfo.
Mỗi cửa sổ dữ liệu có thể hiện thông tin của một lớp bản đồ hay một phần
của lớp bản đồ. Cửa sổ này bao gồm các ô giống như bảng tính Excel. Các ô
được xếp theo chiều dọc được gọi là trường (field) hay cột. Mỗi cột hiển thị một
loại thuộc tính của vật thể trên bản đồ số, ví dụ đối với bản đồ các trường phổ
thông ta có thể có các cột: tên trường, địa chỉ, số điện thoại, tên hiệu trưởng,…
Mỗi một cột có một định dạng khác nhau tuỳ theo nội dung của cột đó. Ta có thể
thêm, bớt các trường cũng như thay đổi định dạng các trường. Tên trường không
hiển thị tiếng Việt được nên khi tạo trường ta không nên gõ dấu tiếng Việt vào.
Trên cùng cửa sổ dữ liệu có tiêu đề cột (in đậm), tức tên trường. Các hàng trong
cửa sổ dữ liệu được gọi là bảng ghi (record). Bên trái mỗi hàng có một ô vuông.
Khi sử dụng công cụ chọn, ta có thể nhắp chuột lên ô vuông đó để chọn bảng ghi
đó. Khi được chọn ô vuông biến thành màu đen. Mỗi một bảng ghi liên kết với
một vật thể đồ hoạ trên cửa sổ bản đồ hay nói cách khác mỗi vật thể đồ hoạ trên
cửa sổ bản đồ có thông tin nằm trên một hàng trong cửa sổ dữ liệu. Vật thể đồ
hoạ và dữ liệu là hai thành phần thống nhất của một bản đồ số trong Mapinfo.
Nếu mở cửa sổ đồ hoạ và cửa sổ bản đồ cùng một lúc thì khi sử dụng công cụ
chọn, ta có thể nhắp chuột lên chọn một vật thể đồ hoạ trên cửa sổ bản đồ. Khi
một vật thể trên cửa sổ bản đồ được chọn thì bản ghi trong cửa sổ dữ liệu cũng
được chọn và ngược lại.
Nếu như ta quan niệm bản đồ số như là các lớp vật thể đồ họa thì cửa sổ dữ
liệu là thông tin của vật thể trên bản đồ. Nếu như ta quan niệm bản đồ số như là
một cơ sở dữ liệu thì các vật thể đồ hoạ trên một lớp bản đồ là một “cột”, được
gọi là “cột vật thể” (object column hay obj column), vì cột đó không hiển thị
được trong cửa sổ dữ liệu nên được hiển thị riêng trong cửa sổ bản đồ. Vì
Mapinfo quan niệm bản đồ số như là một cơ sở dữ liệu với các vật thể trong cửa
sổ bản đồ được coi là một “cột” nên một bản đồ cũng được coi là một bảng
(table). Mapinfo sử dụng thuật ngữ này để chỉ cả dữ liệu lẫn đồ hoạ (“cột vật
thể”) trong một bản đồ số. Một bảng của Mapinfo có thể không có “cột vật thể”.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 23
Lúc đó chúng giống như một cơ sở dữ liệu bình thường, kiểu dữ liệu Excel hay
Access. Cửa sổ dữ liệu có thể là dữ liệu nguyên thủy của Mapinfo (native) hay
dữ liệu của các định dạng khác (như Excel, Access…) nhưng được đăng ký vào
Mapinfo.
Những tính chất liên quan đến đồ hoạ của bản đồ số được xử lý trong cửa sổ
bản đồ. Những thông tin liên quan đến dữ liệu (tên trường, địa chỉ, số điện thoại,
tên hiệu trưởng…) được xử lý trong các trường của cửa sổ dữ liệu. Những thông
tin về dữ liệu này có thể được đưa lên bản đồ bằng một số lệnh khác nhau để
minh họa làm rõ bản đồ lúc trình bày bản đồ để in hoặc tiến hành phân tích như
một hệ cơ sở dữ liệu bình thường và kết quả phân tích cũng có thể được phản ánh
trên cửa sổ bản đồ. Ngược lại, một số thông tin trên bản đồ có thể được cập nhật
vào dữ liệu bằng một số lệnh. Tuỳ nhu cầu người dùng có thể mở cửa sổ bản đồ
hay cửa sổ dữ liệu hay cả hai. Ngoài ra còn có một số loại cửa sổ khác trong
Mapinfo.
2.2.4 Đăng kí ảnh trong MapInfo:
Trước hết bản đồ cần số hoá phải được chuyển thành ảnh trên máy tính bằng
máy quét (scanner). Ảnh xử lý xong nên được lưu lại dưới một trong những định
dạng ảnh mà Mapinfo hỗ trợ. Mapinfo hỗ trợ một số định dạng ảnh sau: .jpg, .sid,
.bmp, .gif, .pcx, .bil, .tga, .tif, ….
Nếu không có ý định xử lý ảnh thêm và chỉ sử dụng nhằm mục đích số hoá
trên Mapinfo thì ta có thể lưu ảnh ở định dạng JPEG (.jpg) vì kích thước tương
đối nhỏ. Về mặt nguyên tắc, ảnh quét có thể để ở bất kỳ vị trí nào; khi đăng ký
toạ độ bằng các điểm khống chế Mapinfo sẽ chỉnh bản đồ được số hoá trên nền
ảnh quét đó lại cho đúng toạ độ. Tuy nhiên là nên quay bản đồ theo đúng hướng
bắc nam, vì nếu bản đồ quét hơi lệch thì Mapinfo không cân chỉnh được những
sai số nhỏ này.
Đăng ký ảnh quét bằng phương pháp Longitude/Latitude (tọa độ trái đất):
Muốn hiển thị được ảnh đúng tỷ lệ và đúng tọa độ trong Mapinfo, ta cần biết
tọa độ của ít nhất 3 điểm trên bản đồ và nạp tọa độ của các điểm đó để Mapinfo
dùng chúng làm cơ sở tính toán tạo độ, khoảng cách, diện tích,… sau này. Số
điểm khống chế tối thiểu là 3 nhưng tốt nhất nên nạp là 4 trở lên vì với 4 điểm trở
lên Mapinfo sẽ tính toán được sai số (tính bằng pixel - điểm ảnh). Việc xác định
các điểm khống chế tuỳ thuộc vào từng loại bản đồ. Như khi chọn các điểm
khống chế, cần chọn các điểm xa nhau càng tốt (vì Mapinfo sẽ tính toán chính
xác hơn) đồng thời cần có ít nhất một điểm nằm gần mép bản đồ nhất là đối với
các ảnh thu được từ vệ tinh.
Đăng ký ảnh quét bằng phương pháp Non – Earth:
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 24
Về mặt thao tác các bước đăng ký ảnh bằng phương pháp Non – Earth cũng
giống như phương pháp Longitude/Latitude nhưng khác nhau một số thao tác ở
hộp thoại Image Registration. Ở hộp thoại này với phương pháp
Longitude/Latitude thì thông số phải thêm vào là tọa độ điểm theo hệ tọa độ trái
đất (degrees) còn ở phương pháp Non – Earth là tọa độ điểm quy đổi ra từ tỉ lệ
bản đồ (km).
Cách quy đổi như sau, ví dụ như một bản đồ có tỷ lệ là 1:40,000 vậy 1cm =
40,000 cm = 0.4 km trên thực địa. Như vậy toạ độ trên ảnh của điểm 1 là
(3.68,2.53) (cm) nên toạ độ của điểm đó tính theo tỷ lệ thực địa sẽ là x = 3.68 x
0.4 và y = 2.53 x 0.4, tức là (x = 1.472, y = 1.012) (km).
2.2.5 Một số tính năng cơ bản của Mapinfo
Thực đơn File:
_New Table: Tạo một lớp thông tin mới
_Open Table: Mở một lớp thông tin đã có
_Open ODBC Table: Mở một lớp thông tin trong dạng - ODBC đã có.
_Open Workspace: Mở một trang làm việc đã có
_Close Table: Đóng một lớp thông tin đang mở.
_Close All: Đóng mọi lớp thông tin đang mở.
_Save Table: Ghi một lớp bảng thông tin đang mở.
_Save Copy as: Ghi một bảng thông tin đang mở với một tên khác.
_Save Query: Ghi một bảng thông tin thuộc tính đang mở.
_Save Workspace: Ghi một trang đang mở vào.
_Save Windows as: Ghi hình ảnh của một cửa sổ thông tin đang mở dưới
dạng ảnh.
_Revert Table: Quay lại nguyên trạng của bảng thông tin ban đầu khi chưa
sửa chữa.
_Run MapBasic Program: Thực hiện một trình ứng dụng viết trong ngôn
ngữ MapBasic.
_Page Setup: Sắp xếp trang giấy của thiết bị in.
_Print: Thực hiện in ra các thiết bị in
_Danh sách các lớp thông tin đã mở từ trước
_Exit: Thoát khỏi chương trình.
Thực đơn Edit:
_Undo: Loại bỏ câu lệnh trước đó.
_Cut: Cắt bỏ các đối tượng đã chọn
_Copy: Sao chép các đối tượng đã chọn
_Paste: Dán các đối tượng đang lưu trong bộ đệm của máy tính trong quá
trình Cut và Copy.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 25
_Clear: Xoá các chữ và các đối tượng đã chọn.
_Clear Map Ojects Only: Chỉ xoá các đối tượng trên bản đồ.
_New Row: Thêm một bản ghi mới vào lớp thông tin biên tập.
_Get Info: Hiển thị hộp thông tin địa lý về đối tượng đã chọn.
Thực đơn Tools:
_Crystal Report: Tạo và mở các báo cáo cho một bảng thông tin.
_Tool Manager: Mở hội thoại quản lý công cụ; thêm hay bớt các chương
trình ứng dụng đã lập từ MapBasic.
_ArcLink: Chuyển đổi dữ liệu giữa MapInfo và Arcinfo.
_Universal Translator: Chuyển đổi dữ liệu của MapInfo sang các dữ liệu
dạng khác và ngược lại, bao gồm các dạng dữ liệu của AutoCAD dxf/dwg,
ESRI Shape, Intergraph MicroStation Design, MapInfo Tab, mid/mif
Thực đơn Object:
_Set Target: Đặt đối tượng đã chọn thành đối tượng mục tiêu.
_Clear Target: Loại bỏ việc chọn đối tượng thành đối tượng mục tiêu
_Combine: Kết hợp các đối tượng đã chọn thành một đối tượng mới
_Split: Phân tách đối tượng đã chọn thành các đối tượng mới.
_Erase: Thực hiện xoá một phần của đối tượng mục tiêu đã chọn bên trong
đối tượng khác.
_Erase Outside: Thực hiện xoá một phần của đối tượng mục tiêu đã chọn
bên ngoài đối tượng khác
_Overlay Nodes: Tạo ra điểm tại vị trí của các đối tượng giao nhau.
_Buffer: Tạo ra vùng đệm của các đối tượng cho trước.
_Smooth: Làm trơn các đối tượng đã chọn.
_UnSmooth: Loại bỏ sự làm trơn của đối tượng đã bị làm trơn bằng chức
năng Smooth trước đó.
_Convert to Region: Chuyển đối tượng đường thành đối tượng vùng.
_Convert to Polyline: Chuyển đối tượng vùng thành đối tượng đường.
Thực đơn Query:
_Select: Cho phép chọn các đối tượng thông qua các chỉ tiêu cho trước và
thực hiện đồng thời việc tổng hợp các dữ liệu thuộc tính cho các dữ liệu đã
chọn.
_Select All: Cho phép chọn tất cả các đối tượng trong cùng một lớp đối
tượng _ cho trước đang mở.
_UnSelect All: Loại bỏ sự chọn toàn bộ các đối tượng đang được chọn.
_Find: Tìm kiếm các đối tượng theo một chỉ tiêu cho trước.
_Find Selection: Hiển thị các đối tượng đang chọn vào cửa sổ bản đồ hiện
thời trên màn hình.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 26
_Calculate Statistics: Hiển thị cửa sổ thông tin tính toán thông tin.
Thực đơn Table:
_Update Column: Thay đổi giá trị của các trường dữ liệu trong Table. Thực
hiện liên kết các đối trong các Table theo trường dữ liệu thuộc tính chung
và theo phân bố địa lý.
_Append Rows to Table: Ghép nối các bảng ghi của hai Table có cùng cấu
trúc dữ liệu thành một Table mới.
_Geocode: Thực hiện địa mã hoá các đối tượng trong Table.
_Creat Point: Tạo đối tượng điểm trên cơ sở đã có toạ độ
_Combine Object Using Column: Kết hợp các đối độ của chúng. Tượng đồ
hoạ theo giá trị của trường dữ liệu.
_Import: Nhập các dữ liệu từ các khuôn dạng khác nhau vào MapInfo.
_Export: Xuất các dữ liệu ở khuôn dạng MapInfo ra các khuôn dạng khác.
_Maintenance: Thực đơn quản lý và thực hiện các thao tác về Table trong
hệ thống. Đây là thực đơn con, nó bao gồm các chức năng xác định cấu trúc
dữ liệu cho lớp thông tin ( Table Structure), xoá Table, đổi tên Table, đóng
gói dữ liệu (Pack Table) và các chức năng về ODBC Table.
_Raster: Thực đơn quản lý và thực hiện các thao tác về các Table hình ảnh
trong hệ thống. Thực đơn này cho phép ta thay đổi độ sáng tối, tương phản
của tệp ảnh gốc và nắn chỉnh lại toạ độ ảnh.
Thực đơn Options:
_Line Style: Thay đổi cách thức thể hiện của các đối tượng đường.
_Region Style: Thay đổi cách thức thể hiện của các đối tượng vùng.
_Symbol Style:Thay đổi cách thức thể hiện của các đối tượng điểm.
_Text Style: Thay đổi cách thức thể hiện của các đối tượng chữ.
_Toolbars: Điều khiển sự hiển thị của các hộp công cụ thực đơn.
_Show Theme Legend Window: Hiển thị cửa sổ chú giải.
_Show Statistics Window: Hiển thị cửa sổ thông tin thống kê.
_Show MapBasic Window: Hiển thị cửa sổ câu lệnh của MapBasic.
_Hide Status Bar: Tắt, hiện thanh trạng thái của hệ thống.
_Custom Colors: Tạo thêm màu mới.
_Preferences: Xác định các tham số chung cho hệ thống.
Thực đơn Window:
_New Browser Window: Mở cửa sổ thông tin thuộc tính.
_New Map Window: Mở cửa sổ thông tin bản đồ.
_New Graph Window: Mở cửa sổ thông tin biểu đồ.
_New Layout Window: Mở cửa sổ tạo trang trình bày.
_New Redistrict Window: Mở cửa sổ thông tin phân nhóm.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 27
_Redraw Window: Vẽ lại màn hình.
_Tile Window: Sắp xếp các cửa sổ thông tin đang mở theo cột.
_Cascade Windows: Sắp xếp các cửa sổ thông tin đang mở theo lớp.
_Arrange Icons: Sắp xếp các biểu tượng của hệ thống vào màn hình hiện
tại.
Thực đơn Help:
_MapInfo Help Topics: Gọi các thông tin trợ giúp của hệ thống theo các
chủ đề tra cứu.
_MapInfo Forum on the Microsoft Network: Truy cập vào diễn đàn
MapInfo trong Microsoft Network.
_MapInfo on the Web: Truy cập vào trang chủ của hãng MapInfo trên mạng
Internet.
_MapInfo Data Products on the Superstore: Truy cập vào các trang chủ về
các sản phẩm của MapInfo.
_About MapInfo: Hiển thị các thông tin về version của MapInfo và các
thông tin để hỏi đáp kỹ thuật về MapInfo.
Thực đơn Map:
_Layer Control: Gọi hộp thoại, xác định các tham số điều khiển các lớp
trong hệ thống.
_Create Thematic Map . Tạo các bản đồ chuyên đề
_Modify Thematic Map. Biên tập các bản đồ chuyên đề đã có
_Create Legend. Tạo chú giải cho bất kỳ bản đồ nào, không nhất thiết chỉ
là lớp bản đồ chuyên đề.
_Change View . Thay đổi tầm nhìn của cửa sổ thông tin
_Clone View . Tạo ra tầm nhìn của cửa sổ thông tin
_Previous View . Trở lại tầm nhìn trước đó
_View Entire Layer . Hiển thị toàn bộ nội dung các lớp thông tin trong một
cửa sổ xác định.
_Clear Custom Labels : Loại bỏ các nhãn đối tượng do phát sinh
_Save Cosmetic Objects: Ghi lại các thông tin nằm trong lớp trung gian
_Clear Cosmetic Objects: Loại bỏ cá thông tin nằm trong lớp trung gian của
hệ thống
_Set Clip Rigion :Hiển thị thông tin của đối tượng đã phân tách
_Clip Region On :Phân tách đối tượng đã chọn thành một cửa sổ thông tin
_Digitizer Setup: Cài đặt bàn số hoá
_Options: Xác định các tham số điều khiển của cửa sổ bản đồ
Thực đơn Gragh:
_Gragh Type: Lựa chọn các loại biểu đồ có trong hệ thống.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 28
_Label Axis: Xác định nhãn cho các trục của biểu đồ.
_Value Axis: Xác định các giá trị cho các trục của biểu đồ.
_Series: Xuất hiện một Xeri biểu đồ.
Thực đơn Redistrict:
_Assign Selected Objects: Gán cho các đối tượng đã chọn cho nhóm.
_Set Target District From Map: Xác định nhóm mục tiêu từ cửa sổ thông
tin bản đồ.
_Add District: Thêm một nhóm.
_Delete Target District: Loại bỏ nhóm mục tiêu.
_Options: Xác định các tham số điều khiển của cửa sổ phân nhóm.
Thực đơn Layout:
_Change Zoom: Thay đổi tầm nhìn của trang trình bày.
_View Actual Size: Hiển thị trang trình bày theo cách thước thực.
_View Entire Layout: Hiển thị toàn bộ nội dung của trang trình bày vào một
cửa sổ.
_Previous View: Trở lại tầm nhìn trước của trang trình bày.
_Bring to Front: Chuyển đối tượng của trang trình bày về phía trước.
_Sen to Back :Chuyển đối tượng của trang trình bày về phía sau.
_Align Objects : Căn các đối tượng của trang trình bày.
_Create Drop Shadows : Tạo bóng cho các đối tượng trong trang trình bày
đã chọn .
_Option: Xác định các tham số điều khiển của cửa sổ trang trình bày.
Một số thanh công cụ chuẩn trong MapInfo:
_Hộp Thoại Main dùng cho các thao tác chọn đối tượng, Zoom in/out, show
label…
Hình 6: Hộp thoại Main
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 29
_Hộp Thoại Drawing dùng để vẽ và chỉnh sửa các đối tượng đồ họa
Hình 7: Hộp thoại Drawing
_Hộp thoại Standard gồm các thao tác giống với thực đơn File như tạo mới
một table, mở một table hay một file bất kì mà Mapinfo hỗ trợ, các chức năng
save, cắt, copy, in ấn …
Hình 8: Hộp thoại Standard
2.3 GIỚI THIỆU VỀ MAPBASIC
Các chức năng cơ bản của ngôn ngữ mapbasic.
2.3.1. Khả năng thƣơng mại hoá Mapinfo
MapBasic là ngôn ngữ lập trình trong môi trường Mapinfo. Nó là một phần
mềm hệ thông tin bản đồ cho phép chúng ta thương mại hoá và tự động hoá
Mapinfo.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 30
Một ứng dụng của MapBasic cho phép thay đổi hoặc thay thế các menu
chuẩn của Mapinfo, thêm mới hoàn toàn thanh menu Mapinfo và tạo cho người
dùng những hộp thoại điều khiển theo ý. Như vậy, MapBasic cho phép bạn tạo ra
các hệ thống giao diện giúp cho người dùng thuận lợi nhanh chóng khi sử dụng.
2.3.2. Khả năng tự động hoá Mapinfo.
Những ứng dụng của MapBasic là thường được dùng để giúp cho người
dùng tiết kiệm thời gian, tiện lợi cho việc sử dụng. Ví dụ, một người dùng
Mapinfo để xây dựng một hệ thống lưới toạ độ (theo kinh độ và vĩ độ) khi tạo ra
bản đồ. Nếu vẽ bằng tay sẽ mất nhiều thời gian, công sức và không chính xác, vì
mỗi đường trong lưới cần được vẽ với độ chính xác về kinh độ và vĩ độ. Tuy
nhiên một ứng dụng của MapBasic có thể làm việc đó rất dễ mà nhanh chóng,
chính xác.
2.3.3. Công cụ đánh giá dữ liệu.
Chúng ta có thể hiển thị những thông tin yêu cầu về cơ sở dữ liệu với một
cấu trúc MapBasic đơn giản. Ví dụ, bằng cách dùng lệnh Select (được mô phỏng
trong ngôn ngữ chuẩn SQL), ta có thể hỏi về dữ liệu, ứng dụng cho phép lọc để
đưa ra màn hình bất kỳ những bản ghi nào mong muốn, sắp xếp và tổng hợp các
kết quả theo yêu cầu. Chúng ta có thể thực hiện tất cả những công việc đó với
cấu trúc lệnh của MapBasic.
Sử dụng cấu trúc của MapBasic ta có thể chọn và cập nhật (Select & Update)
số liệu thông qua Code (mã).
2.3.4. Tính gọn nhẹ của MapBasic.
Các ứng dụng MapBasic gọn nhẹ. Nếu bạn phát triển một ứng dụng sử dụng
MapBasic cho Windows bạn có thể chạy ứng dụng đó trên Mapinfo cho
Macintosh.
Tính gọn nhẹ của MapBasic còn có nghĩa là giảm công việc cho người lập
trình. Có thể phát triển ngay các ứng dụng của mình và sau đó, áp dụng nó cho
tất cả các khách hàng sử dụng Windows hoặc Macintosh. Tính gọn nhẹ của
MapBasic cho phép phân phối chương trình cho những ứng dụng một cách rộng
rãi.
Nói chung với Mapbasic, sẽ không cần thay đổi chương trình để làm cho nó
tương thích khi chạy trên các phần cứng khác. Một số phần mềm khác không có
khả năng này
2.3.5. Khả năng liên kết với các ứng dụng khác.
Chúng ta không bị giới hạn bởi các cấu trúc và các chức năng được xây dựng
đối với ngôn ngữ lập trình. Vì MapBasic cho phép cấu trúc mở, các chương trình
của bạn có thể gọi các thủ tục trong các thư viện. Vì, nếu bạn cần các chức năng
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 31
mà không có trong các lệnh của MapBasic, cấu trúc mở của MapBasic cho phép
bạn thực hiện được.
Các chương trình MapBasic có thể sử dụng dữ liệu chuyển đổi động DDE
(Dynamic Data exchange) để liên kết với các phần mềm khác, bao gồm các ứng
dụng của VisualBasic. Các chương trình MapBasic cũng có thể gọi các thủ tục
trong thư viện các File liên kết động của Windows DLL (Windows Dynamic
Link Labary). Bạn có thể có các File DLL từ các nguồn thương mại, hoặc bạn có
thể viết các File DLL riêng sử dụng các ngôn ngữ lập trình như C hoặc Pascal.
MapBasic cung cấp những khả năng mới, lập bản đồ liên kết, cho phép chúng ta
liên kết các chức năng của Mapinfo với các ứng dụng được viết trong các môi
trường phát triển khác như VisualBasic.
Cũng như các ngôn ngữ mạnh khác chạy trên nền Windows, MapBasic cho
phép thực thi các chương trình ứng dụng khác khi nó đang chạy. Và sau khi chạy
xong các chương trình ứng dụng này thì nó hoàn trả lại môi trường trước đó của
MapInfo.
2.3.6. Tên file, kiểu file và một số lệnh cơ bản của MapBasic
Tên file Định nghĩa chức năng
Erros.doc là tập tin text, nó chứa danh sách các mã lỗi của tập tin
Mapbasic.exe là tập tin chạy môi trường Basic
Mapbasic.def là tập tin include, nó chứa các mã định nghĩa chuẩn
Menu.def là tập tin include, nó chứa các mã chuẩn liên quan với menu
Icons.def là tập tin include, nó chứa các mã chuẩn liên quan với con trỏ chuột
Mapbasic.hlp là tập tin help on-line (giúp đỡ trực tuyến)
Mapbasic.h là tập tin header của C/C++, có nội dung tương tự tới nó
Mapbasic.def là tập tin tương tự mapbasic.def trên, nhưng dùng cú pháp của
C/C++
Mapbasic.bas là tập tin header của Visual Basic, có nội dung tương tự tới nó
Mapbasic.def là tập tin tương tự mapbasic.def trên, nhưng dùng cú pháp của
Visual Basic
Mapbasic65.isu là tập tin cần cho việc tháo gỡ MapBasic
Mbres650.dll là tập tin thư viện động chứa tài nguyên gồm chuỗi và hộp thoại
Milib650.dll là phần của software, chứa các mã thực hiện được
Papersize.def là tập tin include của MapBasic, chứa các lệnh liên quan đến điều
khiển in của MapBasic
Usrinfrnb.log chứa nhật ký của quá trình cài đặt
Samples thư mục chứa các chương trình ví dụ của các file mb và mbp
Bảng 1: Tên và kiểu file trong MapBasic
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 32
Một số lệnh cơ bản của Mapbasic:
Các hàm sau đây trả về các giá trị là đối tượng
CreateCircle( ) : Trả về một đối tượng đường tròn.
CreateLine( ) : Trả về một đối tượng đường Line.
CreatePoint( ) Trả về một đối tượng điểm
CreateText( ) : Trả về một đối tượng Text
Ví dụ: tạo đối tượng đường tròn cho mỗi hàng trong table sites:
Update sites
Set obj = CreateCircle(lon, lat, 0.1)
Các phát biểu truy xuất bảng dữ liệu
Lệnh mở một table:
Open Table ”C:\mapinfo\data\world”
Ví dụ, chương trình sau đây đọc nội dung của cột Country của hàng thứ nhất của
table World :
Dim s_name As String
Open Table ”world” Interactive
Fetch First From world
s_name = world.Country
Các lệnh tạo Menu
Ví dụ : Tạo menu có tên là TextBox :
Create Menu ”TextBox” As
”&Create Text Boxes...” Calling create_sub,
”Close TextBox” Calling Bye,
”About TextBox...” Calling About
Ví dụ them một Item vào Menu
Alter Menu ”Query” Add
”Annual Report” Calling report_sub,
”Quarterly Report” Calling report_sub_q
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 33
CHƢƠNG III : NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
Trình bày sơ lược các bước nghiên cứu và thực hiện chương trình, các lưu đồ
giải thuật, mô hình thực thể, cài đặt cơ sở dữ liệu, và giới thiệu chương trình …
3.1 ĐĂNG KÝ BẢN ĐỒ - THIẾT KẾ CƠ SỞ DỮ LIỆU
3.1.1 Sử dụng công cụ Universal Maps Downloader:
Sử dụng công cụ để lấy file ảnh bản đồ thành phố Cần Thơ về từ nguồn dữ
liệu của Goolge Maps (http://maps.google.com/?hl=vi) và các thông số cần thiết
để số hóa bản đồ
Tên công cụ : Universal Maps Downloader
Phiên bản : 5.9
Bƣớc 1: Tiến hành download file về từ Google Map
Các thông số cần thiết khi sử dụng công cụ :
o Độ Zoom level chọn 16
o Maps type: Google Street Maps
o Left: 105.2
o Right: 105.9
o Top: 10.4
o Bottom: 9.9
Các thông số trên là tọa độ 2 điểm đầu mút của đường chéo hình cần tải.
Left, top (105.2, 10.4) là tọa độ điểm trên cùng bên trái của hình
Right, bottom (105.9, 9.9) là tọa độ điểm dưới cùng bên phải của hình
Hình 9: Các thông số, cách download hình bằng Universal Maps Downloader
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 34
Các thông số còn lại ta để mặc định.
Bƣớc 2 :
Sau khi download xong thì ta vào Tools => Map Combiner.Chọn file có
đuôi *.umd (theo mặc định chương trình thì ta vào C:\umdtask thì ta sẽ thấy).
Sau đó ta chọn chức năng Combine của chương trình thì ta sẽ được image có
đuôi .bmp.
Bƣớc 3 :
Tiếp đó ta vào Tools =>Map Viewer . Tiến mở file *.umd vừa mới thu
được để lấy các thông số kinh độ và vĩ độ của ít nhất 3 điểm trên bản đồ, để sau
này nhập các thông số tiến hành số hóa bản đồ với MapInfo. Ở đây chọn 3 điểm
(lấy đến 4 số phần thập phân) đó là:
Bệnh viện Nhi Đồng TPCT (Long : 105.7752 , Lat : 10.0352)
Sở giáo dục và đào tạo Cần Thơ (Long : 105.7731 , Lat : 10.0313)
Trung tâm chăm sóc khách hàng Mobifone (Long : 105.7766 , Lat :
10.0271)
Các thông số này lấy được khi ta rê con trỏ chuột trên bản đồ thì ở dưới
thanh taskbar của chương trình này sẽ hiện ra.
Hình 10: Sử dụng MapViewer để lấy tạo độ điểm khống chế
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 35
3.1.2 Số hóa bản đồ :
Bƣớc 1 :
Mở chương trình MapInfo lên và chọn Open, lựa chọn file type là Raster
Image => mở file image mà ta đã thu được ở trên.
Bƣớc 2 :
Sau đó xuất hiện dialog hỏi, bạn chọn Register để tiến hành đăng ký bản đồ.
Bƣớc 3 :
Trong khung đăng ký bạn tìm đến các địa điểm mà bạn đã có các thông số ở
trên để tiến hành điền các tọa độ ở trên.
Hình 11: Đăng kí bản đồ trong MapInfo
Trong khung này ta có thể điều chỉnh lại hệ tọa độ, chọn Projecton chọn
WGS84.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 36
Như vậy là ta đã tiến hành xong việc số hóa bản đồ.
3.1.3 Phân tích hệ thống
a.Mô tả hệ thống :
Trong hệ thống giao thông của Quận Ninh Kiều, ta xây dựng một chương
trình tìm đường đi ngắn nhất giữa các địa điểm, hay giữa 2 điểm bất kỳ mà ta
click được trên bản đồ.
Trên một con đường thì sẽ có ít nhất 2 điểm là điểm đầu và điểm cuối của
con đường (chưa kể các điểm giao).Từ những điểm đó tạo ra các cung trên con
đường.
b.Mô hình MCD :
Hình 12: Mô hình MCD
Mô tả:
Diem: mô tả các địa điểm trong bản đồ ví dụ như: trường học, bệnh viện.
Gồm các thuộc tính: mã điểm, tọa độ x, tọa độ y.
CungDuong: mô tả các cung đường trong một con đường, ví dụ như: đường
3/2 chứa nhiều cung đường ghép với nhau. Thực thể CungDuong gồm các thuộc
tính mã cung đường, mã đỉnh bắt đầu, mã đỉnh kết thúc, chiều dài.
Duong: mô tả các con đường trên bản đồ gồm các thuộc tính: Mã đường, tên
đường, loại đường, số chiều, độ dài.
3.1.4 Cài đặt cơ sở dữ liệu
Các bảng dữ liệu chính của chương trình
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 37
Bảng dữ liệu dùng cho chức năng hiển thị bản đồ - chỉnh sửa bản đồ-tìm
kiếm một con đường-tìm kiếm một địa điểm :
DuongGiaoThong
Tên cột Kiểu dữ liệu Độ rộng Diễn giải
ID Integer ID của một con đường giao
thông
TEN_DUONG Character 50 Tên đường
LOAI_DUONG Character 50 Loại đường ngoại ô,nội ô…
D_DAU Character 50 Điểm đầu của con đường
D_CUOI Character 50 Điểm cuối của con đường
CHIEU_DAI Float Chiều dài của con đường
TINH_TRANG Character 50 Hiện trạng của con đường
Bảng 2: Cấu trúc table DuongGiaoThong
DiaDiem
Tên cột Kiểu dữ liệu Độ rộng Diễn giải
ID Integer ID của một điểm
TEN Character 50 Tên một địa điểm
INFO Character 50 Ghi chú thêm thông tin về một
địa điểm
Bảng 3: Cấu trúc table DiaDiem
Bảng dữ liệu dùng cho chương trình tìm đường đi ngắn nhất bằng giải thuật
Dijkstra
Diem
Tên cột Kiểu dữ liệu Độ rộng Diễn giải
MaDiem Integer ID của một điểm
Toado_X Float Tọa độ x của điểm
Toado_Y Float Tọa độ y của điểm
Bảng 4: Cấu trúc table Diem
Duong
Tên cột Kiểu dữ liệu Độ rộng Diễn giải
ID Integer ID của một con đường giao
thông
Ten_duong Character 50 Tên đường
Loai_duong Character 10 Loại đường ngoại ô,nội ô…
So_chieu Integer Chiều của con đường
Dodai Float Độ dài của con đường
Bảng 5: Cấu trúc table Duong
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 38
CungDuong
Tên cột Kiểu dữ liệu Độ rộng Diễn giải
MaCung Integer Mã cung
Ma_Dinh_BD Integer Mã đỉnh bắt đầu
Ma_Dinh_KT Integer Mã đỉnh kết thúc
ChieuDai Float Chiều của con đường
Ma_Duong Integer Cung thuộc mã đường
Bảng 6: Cấu trúc table CungDuong
Coquan
Tên cột Kiểu dữ liệu Độ rộng Diễn giải
Cq_Ma Integer Mã cơ quan
Cq_Ten Character 50 Tên cơ quan
Cq_Thongtin Character 50 Thông tin chung của cơ quan
Bảng 7: Cấu trúc table CoQuan
Table bảo tàng tương tự
Ngoài các table chính trên con các table phụ khác như : Song2,Quan huyen
3.2 CÁC LƢU ĐỒ VÀ GIẢI THUẬT CHÍNH 3.2.1 Lƣu đồ giải thuật chỉnh sửa đối tƣợng
Hình 13: Lưu đồ chỉnh sửa đối tượng
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 39
Diễn giải: Khi click vào đối tượng đường hay địa điểm sẽ xuất hiện Dialog cập
nhật đối tượng gồm các thông tin của đối tượng đó. Sẽ có 2 lựa chọn: “Update”
để cập nhật dữ liệu hoặc chọn “Cancel” để hủy chức năng.
3.2.2 Lƣu đồ giải thuật tìm một con đƣờng - một địa điểm
Hình 14: Lưu đồ giải thuật tìm một con đường, một địa điểm
Diễn giải: Sau khi nhập xong tên đường hoặc địa điểm và click vào nút tìm kiếm
thì chương trình tiến hành truy cập cơ sở dữ liệu để tìm kiếm tên đường, địa điểm
gần giống với chuỗi đã nhập. Nếu chỉ có một dòng thích hợp với chuỗi thì sẽ hiển
thị con đường hay địa điểm đó ra màn hình, nếu có nhiều dòng thích hợp thì sẽ
xuất hiện một Dialog danh sách các con đường hay đại điểm tìm được và người
dùng chọn một tên đường để hiển thị, nếu không có dòng dữ liệu nào thích hợp
thì sẽ in ra thông báo “Chuỗi không tồn tại trong cơ sở dữ liệu”.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 40
3.2.3 Lƣu đồ giải thuật thêm và xóa điểm
Hình 15: Lưu đồ giải thuật thêm và xóa một địa điểm
Diễn giải: Khi khởi động chức năng thêm mới hoặc xóa một địa điểm, chương
trình yêu cầu click vào một điểm xác định trên bản đồ. Sau đó sẽ xuất hiện 1
Dialog “ Bạn có muốn xóa địa điểm này không” hoặc thông tin cần nhập cho địa
điểm mới. Sẽ có 2 lựa chọn: chọn “có” đối với chức năng xóa và “create” đối với
chức năng thêm để thực hiện chức năng, hoặc chọn “không” và “Cancel” để hủy
chức năng.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 41
3.2.4 Lƣu đồ giải thuật Dijkstra
a. Lý thuyết về thuật toán tìm đƣờng đi ngắn nhất:
Khái niệm về đồ thị :
Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh chứa các đỉnh
này. Chúng ta phân biệt các loại đồ thị khác nhau bởi kiểu và số lượng cạnh nối
hai đỉnh nào đó của đồ thị.
Hình 16: Đồ thị 1
Nhận thấy như trên thì giữa 2 điểm bất kỳ chỉ có một cạnh liên kết chúng
lại và các đỉnh thì không nối lại được chính nó. Từ đó ta đi đến định nghĩa đơn
đồ thị vô hướng :
Định nghĩa 1. Đơn đồ thị vô hướng G=(V,E) bao gồm V là tập đỉnh, và E là tập
các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh.
Ta có định nghĩa đa đồ thị vô hướng :
Định nghĩa 2. Đa đồ thị vô hướng G=(V,E) bao gồm V là tập các đỉnh, và E là
họ các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh.
Hai cạnh e1 va e2 được gọi là cạnh lặp nếu chúng cùng tương ứng với một cặp
đỉnh.
Hình 17: Đồ thị 2
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 42
Trong trường hợp này ta thấy xuất hiện những cạnh khuyên (cạnh nối đỉnh
với chính nó).
Định nghĩa 3. Giả đồ thị vô hướng G=(V,E) bao gồm V là tập các đỉnh, và E là
họ các cặp không có thứ tự gồm hai phần tử (không nhất thiết phải khác nhau)
của V gọi là các cạnh. Cạnh e được gọi là khuyên nếu có dạng e=(u,u).
Hình 18: Đồ thị 3
Mỗi điểm có thể liên kết với nhau theo 2 chiều trên cùng một mạng được thể hiện
bằng 2 chiều ngược nhau.
Ta đi đến định nghĩa sau:
Hình 19: Đồ thị 4
Định nghĩa 4. Đơn đồ thị có hướng G=(V,E)bao gồm V là tập các đỉnh, và E là
tập các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung.
Nếu trong mạng có thể có đa kênh thoại một chiều, ta sẽ phải sử dụng đến khái
niệm đa đồ thị có hướng:
Định nghĩa 5. Đa đồ thị có hướngG=(V,E) bao gồm V là tập các đỉnh, và E là
họ các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung. Hai cung
e1 và e2 tương ứng với cùng một cặp đỉnh được gọi là cung lặp.
Nhắc lại định nghĩa đƣờng đi,chu trình,đồ thị liên thông
Định nghĩa 1. Đường đi độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên
dương, trên đồ thị vô hướng G=(V,E) là dãy
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 43
xo, x1 , ... , xn-1 , xn
trong đó u=x0 , v=xn , ( xi , xi+1 ) E , i= 0, 1, 2 ,..., n-1.
Đường đi nói trên còn có thể biểu diễn dưới dạng các cạnh:
(x0 , x1 ) , ( x1 , x2), ... , ( xn-1 , xn ).
Đỉnh u gọi là đỉnh đầu, còn đỉnh v gọi là đỉnh cuối của đường đi. Đường đi có
đỉnh đầu trùng với đỉnh cuối ( tức là u=v) được gọi là chu trình. Đường đi hay
chu trình được gọi là đơn nếu như không có cạnh nào bị lặp lại.
Định nghĩa 2. Đường đi độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên
dương, trên đồ thị có hướng G=(V,A) là dãy
xo, x1 , ... , xn-1 , xn
trong đó u=x0 , v=xn , ( xi , xi+1 ) A , i= 0, 1, 2 ,..., n-1.
Đường đi nói trên còn có thể biểu diễn dưới dạng các cung:
(x0 , x1 ) , ( x1 , x2), ... , ( xn-1 , xn ).
Đỉnh u gọi là đỉnh đầu, còn đỉnh v gọi là đỉnh cuối của đường đi. Đường đi có
đỉnh đầu trùng với đỉnh cuối ( tức là u=v) được gọi là chu trình.
Đường đi hay chu trình được gọi là đơn nếu như không có cung nào bị lặp lại.
Địng nghĩa 3. Đồ thị vô hướng G=(V,E) được gọi là liên thông nếu luôn tìm
được đường đi giữa hai đỉnh bất kỳ của nó.
Giải thuật Dijkstra
Nội dung : có rất nhiều giải thuật để tìm kiếm đường đi ngắn nhất giữa 2 cặp
đỉnh của một đồ thị.Trong chương trình tìm đường đi ngắn nhất này ta áp dụng
giải thuật Dijkstra để giải quyết bài toán. Giải thuật Dijkstra là một giải thuật để
giải bài toán đường đi ngắn nhất nguồn đơn trên một đồ thị có trọng số cạnh mà
tất cả các trọng số đều không âm.
Ở mỗi đỉnh v, giải thuật Dijkstra xác định 3 thông tin: kv, dv và pv.
kv: có giá trị boolean, xác định trạng thái được chọn của đỉnh v.
Ban đầu ta khởi tạo tất cả các đỉnh v chưa được chọn, nghĩa là:
kv = false, v V.
dv: là chiều dài đường đi mà ta tìm thấy cho đến thời điểm đang xét từ a đến v.
Khởi tạo, dv = , v V \{a}, da = 0.
pv: là đỉnh trước của đỉnh v trên đường đi ngắn nhất từ a đến b. Đường đi
ngắn nhất từ a đến b có dạng {a,...,pv,v,...,b}. Khởi tạo, pv = null, v V.
Sau đây là các bước của giải thuật Dijkstra:
B1. Khởi tạo: Đặt kv:= false v V; dv:= ,v V \ {a}, da:=0.
B2. Chọn v V sao cho kv = false và dv = min {dt / t V, kt = false}
Nếu dv = thì kết thúc, không tồn tại đường đi từ a đến b.
B3. Đánh dấu đỉnh v, kv:= true.
B4. Nếu v = b thì kết thúc và db là độ dài đường đi ngắn nhất từ a đến b.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 44
Ngược lại nếu v b sang B5.
B5. Với mỗi đỉnh u kề với v mà ku = false, kiểm tra
Nếu du > dv + w(v,u) thì du:= dv + w(v,u)
Ghi nhớ đỉnh v: pu:= v.Quay lại B2.
Các tham số trong giải thuật Dijkstra:
mn : là số đỉnh của đồ thị và cũng là số dòng và số cột của ma trận.
node_begin : là đỉnh bắt đầu .
node_end : là đỉnh cần đi đến.
L(i) : độ dài của đỉnh thứ i
T(i) : xác định trạng thái của đỉnh i, giá trị khởi tạo ban đầu là 1, sau khi nhãn
được chọn thì gán giá trị là 0
DD(i) : mảng lưu trữ các đỉnh của đường đi
Mang2c() : ma trận trọng số, là mảng 1 chiều dùng để sử dụng như mảng 2
chiều
V : là tập hợp các đỉnh của đồ thị
Lƣu đồ giải thuật Dijkstra :
Hình 20: Lưu đồ giải thuật Dijkstra
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 45
Độ phức tạp của giải thuật Dijkstra:
Ma trận kề :
Gọi f(n) là số lần khảo sát các cạnh đồ thị trong trường hợp xấu nhất.
Khi đó ta có:
f(n) < O(|V|2)
3.3 SƠ ĐỒ CHỨC NĂNG CỦA CHƢƠNG TRÌNH
Hình 21: Sơ đồ chức năng
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 46
3.4 GIỚI THIỆU CHƢƠNG TRÌNH
3.4.1 Chức năng tìm kiếm đƣờng ngắn nhất từ danh sách điểm:
a.Mô tả chức năng :
Khi chọn chức năng tìm đường với danh sách điểm thì sẽ xuất hiện một
dialog yêu cầu chọn điểm bắt đầu và điểm kết thúc mà ta cần tìm đường đi ngắn
nhất.
b.Giao diện demo :
Hình 22: Giao diện chức năng tìm đường đi ngắn nhất từ danh sách điểm
3.4.2 Chức năng tìm kiếm đƣờng ngắn nhất từ 2 điểm bất kì khi click
a.Mô tả chức năng:
Khi người dùng chọn chức năng này thì sẽ xuất hiện buttonpad có biểu
tượng chọn điểm bắt đầu và kết thúc của đường đi. Sau khi chọn xong 2 điểm thì
sẽ xuất hiện dialog tìm đường
b.Giao diện chƣơng trình demo:
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 47
Hình 23: Giao diện chức năng tìm đường đi ngắn nhất từ 2 điểm bất kỳ
Kết quả hiển thị tìm đường :
Hình 24: Kết quả chức năng tìm đường đi ngắn nhất từ 2 điểm bất kỳ
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 48
3.4.3 Chức năng tìm kiếm một con đƣờng và địa điểm
a.Mô tả chức năng :
_Khi chọn Tim Duong-Dia Diem trên thanh menu bar thì sẽ xuất hiện hộp dialog
yêu cầu điền tên đường hay địa điểm vào.
_Nếu bạn đánh chính xác tên một đường hay địa điểm thì nó sẽ hiển thị và phóng
to tại con đường hoặc địa điểm đó.
_Nếu bạn đánh gần đúng thì sẽ xuất hiện một hộp dialog với các tên gần giống
với tên mà bạn đánh. Khi đó bạn sẽ chọn được chính xác hơn.
Hình 25: Giao diện chức năng tìm đường hoặc địa điểm 1
b.Giao diện demo chƣơng trình :
Hình 26: Giao diện chức năng tìm đường hoặc địa điểm 2
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 49
3.4.4 Chức năng chỉnh sửa đối tƣợng-thêm địa điểm-xóa địa điểm:
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 :
Hình 28: Giao diện chức năng cập nhật thêm mới và xóa bỏ đối tượng
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 50
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.
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 51
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
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 52
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
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 53
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, "\_%", "\")
Luận Văn Tốt Nghiệp GVHD: TS. Trần Cao Đệ
SVTH: Lê Phạm Duy An – Trương Đình Khoa Trang 54
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