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 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

Công nghệ GIS và ứng dụng với MapInfo

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