Tải bản đầy đủ (.pdf) (71 trang)

Xây dựng chương trình quản lý khách lưu trú tại thành phố thái bình dựa trên công nghệ webgis

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.68 MB, 71 trang )

LỜI CẢM ƠN
Trong thời gian thực tập em đã hoàn thành được đề tài đã chọn. Tuy nhiên, do
thời gian tương đối ngắn và kinh nghiệm về WebGIS chưa nhiều nên còn nhiều
thiếu sót. Mong thầy cô và các bạn đóng góp để em có thể hoàn thiện hơn đề tài của
mình. Qua đây em xin chân thành cảm ơn thầy giáo Ths.Hà Mạnh Hùng – Bộ môn
Công nghệ Lập trình và Ứng dụng đã tận tình hướng dẫn, định hướng và chỉ bảo em
trong thời gian qua để em hoàn thành được bài báo cáo này. Và em cũng xin gửi lời
cảm ơn tới các bạn cùng lớp đã giúp em rất nhiều trong thời gian làm đề tài này.
Xin chân thành cảm ơn!
Thái Nguyên, ngày…tháng 6 năm 2016
Sinh viên thực hiện

Nguyễn Thị Thu Thảo

i


LỜI CAM ĐOAN

Em xin cam đoan rằng đây là đồ án tốt nghiệp của em, có sự hỗ trợ từ Giáo
viên hướng dẫn Ths.Hà Mạnh Hùng, các nội dung nghiên cứu và kết quả trong đề
tài này là trung thực và không sao chép từ các đồ án khác trước đây. Những số liệu
trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính bản
thân thu thập từ các nguồn khác nhau.
Nếu có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm trước Hội đồng.
Thái Nguyên, ngày… tháng 6 năm 2016
Sinh viên thực hiện

Nguyễn Thị Thu Thảo

ii




MỤC LỤC
LỜI CẢM ƠN ..........................................................................................................i
LỜI CAM ĐOAN....................................................................................................ii
DANH MỤC HÌNH ẢNH ......................................................................................vi
DANH MỤC BẢNG BIỂU ..................................................................................viii
LỜI MỞ ĐẦU ........................................................................................................ix
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT......................................................................... 1
1.1. Hệ thống thông tin địa lý [1, 5]...................................................................... 1
1.1.1. Gis là gì? ................................................................................................. 1
1.1.2. Ứng dụng của GIS trong các ngành ......................................................... 1
1.2. Giới thiệu công cụ MapInfo........................................................................... 4
1.2.1. MapInfo là gì?......................................................................................... 4
1.2.2. Tổ chức thông tin trong tập tin ................................................................ 4
1.3. Global Mapper .............................................................................................. 6
1.4. Google Map API [7, 10] ................................................................................ 6
1.4.1. Google Map API là gì?............................................................................ 6
1.4.2. Cách sử dụng và phát triển công nghệ ..................................................... 7
1.4.3. Load bản đồ về trang web cá nhân........................................................... 7
1.4.4. Lớp phủ trên bản đồ ................................................................................ 9
1.4.5. MARKERS ........................................................................................... 11
1.4.6. POLYLINES......................................................................................... 12
1.4.7. POLYGON ........................................................................................... 13
1.4.8. INFOWINDOWS.................................................................................. 14
1.4.9. Sự kiện.................................................................................................. 15
1.5. Giới thiệu về UML ...................................................................................... 17
1.5.1. Khái niệm về UML ............................................................................... 17
1.5.2. Mục đích chính của UML...................................................................... 17
1.6. Ngôn ngữ lập trình PHP và MySQL ............................................................ 18

1.6.1. Ngôn ngữ lập trình PHP ........................................................................ 18
1.6.2. Hệ quản trị cơ sở dữ liệu MySQL.......................................................... 18
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ............................................. 20
2.1. Khảo sát quy trình nghiệp vụ....................................................................... 20
iii


2.1.1. Hiện trạng về đăng ký lưu trú ................................................................ 20
2.1.2. Nhu cầu có một trang web thay thế........................................................ 20
2.2. Yêu cầu phần mềm ...................................................................................... 21
2.2.1. Yêu cầu chức năng ................................................................................ 21
2.2.2. Yêu cầu phi chức năng .......................................................................... 22
2.3. Đặc tả yêu cầu ............................................................................................. 23
2.3.1. Xác định tác nhân hệ thống ................................................................... 23
2.3.2. Chức năng chính trong hệ thông quản lý ............................................... 23
2.4. Xây dựng biểu đồ Use case.......................................................................... 24
2.4.1. Biểu đồ Use case tổng quát.................................................................... 24
2.4.2. Phân rã biểu đồ UC quản lý bản đồ ....................................................... 25
2.4.3. Phân rã biểu đồ thông tin cơ sở lưu trú .................................................. 26
2.4.4. Phân rã biểu đồ quản lý phường ............................................................ 27
2.4.5. Phân rã biểu đồ quản lý người dùng ...................................................... 27
2.4.6. Phân rã biểu đồ Quản lý cơ sở lưu trú.................................................... 28
2.4.7. Phân rã biểu đồ quản lý khách lưu trú.................................................... 29
2.4.8. Phân rã biểu đồ thống kê, báo cáo ......................................................... 29
2.5. Xây dựng biểu đồ trình tự............................................................................ 30
2.5.1. Use case xem bản đồ ............................................................................. 30
2.5.2. Use case tìm đường đi ........................................................................... 31
2.5.3. Use case xem thông tin khách sạn ......................................................... 31
2.5.4. Use case đăng nhập ............................................................................... 32
2.5.5. Use case thêm khách sạn ....................................................................... 33

2.5.6. Use case sửa thông tin khách sạn........................................................... 34
2.5.7. Use case xóa khách sạn ......................................................................... 35
2.5.8. Use case xem thông tin phường............................................................. 36
2.5.9. Use case thêm phường........................................................................... 36
2.5.10. Use case sửa phường ........................................................................... 37
2.5.11. Use case xóa phường........................................................................... 38
2.5.12. Use case xem thông tin khách lưu trú .................................................. 38
2.5.13. Use case thêm khách lưu trú................................................................ 39
2.5.14. Use case sửa thông tin khách lưu trú.................................................... 39
iv


2.5.15. Use case xóa thông tin khách lưu trú ................................................... 40
2.5.16. Use case xem thông tin người dùng ..................................................... 41
2.5.17. Use case thêm người dùng................................................................... 41
2.5.18. Use case sửa thông tin người dùng ...................................................... 42
2.5.19. Use case xóa thông tin người dùng ...................................................... 43
2.6. Biểu đồ hoạt động ....................................................................................... 44
2.6.1. Biểu đồ hoạt động đăng nhập ................................................................ 44
2.6.2. Biểu đồ hoạt động quản lý phường ........................................................ 44
2.6.3. Biểu đồ hoạt động quản lý khách sạn..................................................... 45
2.6.4. Biểu đồ hoạt động quản lý người dùng .................................................. 45
2.6.5. Biểu đồ hoạt động quản lý Khách lưu trú .............................................. 46
2.7. Biểu đồ lớp.................................................................................................. 47
2.7.1. Biểu đồ lớp tổng quát ............................................................................ 47
2.7.2. Biểu đồ lớp tìm đường đi....................................................................... 47
2.7.3. Biểu đồ lớp xem bản đồ......................................................................... 49
2.7.4. Biểu đồ lớp xóa điểm trên bản đồ .......................................................... 50
2.7.5. Biểu đồ lớp sửa điểm trên bản đồ .......................................................... 50
2.8. Lược đồ cơ sở dữ liệu.................................................................................. 51

CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH ..................................................... 54
3.1. Giao diện trang chủ ..................................................................................... 54
3.2. Giao diện trang tìm đường, vị trí ................................................................. 55
3.3. Giao diện trang khoảng cách ....................................................................... 56
3.4. Giao diện trang thông tin ............................................................................. 57
3.5. Giao diện trang đăng nhập........................................................................... 57
3.6. Giao diện trang thông tin khách lưu trú ....................................................... 58
3.7. Giao diện trang thêm khách lưu trú.............................................................. 58
3.8. Giao diện trang thông tin người dùng .......................................................... 59
3.9. Giao diện trang thống kê, báo cáo................................................................ 59
KẾT LUẬN........................................................................................................... 60
TÀI LIỆU THAM KHẢO ..................................................................................... 61

v


DANH MỤC HÌNH ẢNH
Hình 1.1:Tạo một API Key......................................................................................7
Hình 1.2: Tạo MARKERS....................................................................................12
Hình 1.3: Tạo POLYLINES ..................................................................................13
Hình 1.4: Tạo POLYGON .....................................................................................14
Hình 1.5: Tạo INFOWINDOWS ...........................................................................14
Hình 1.6:Tạo sự kiện click chuột trên bản đồ.........................................................16
Hình 1.7: Tạo sự kiện click chuột trên đối tượng markers......................................17
Hình 2.1: Biểu đồ use case tổng quát .....................................................................24
Hình 2.2: Biểu đồ use case Quản lý bản đồ............................................................25
Hình 2.3: Biểu đồ use case Thông tin cơ sở lưu trú................................................26
Hình 2.4: Biểu đồ use case Quản lý phường ..........................................................27
Hình 2.5: Biểu đồ use case Quản lý người dùng ....................................................27
Hình 2.6: Biểu đồ use case Quản lý cơ sở lưu trú...................................................28

Hình 2.7: Biểu đồ use case Quản lý khách lưu trú.................................................29
Hình 2.8: Biểu đồ use case thống kê, báo cáo ........................................................29
Hình 2.9: Biểu đồtrình tự Xem bản đồ ...................................................................30
Hình 2.10: Biểu đồ trình tự Tìm đường đi..............................................................31
Hình 2.11: Biểu đồ trình tự thông tin khách sạn.....................................................32
Hình 2.12: Biểu đồ trình tự đăng nhập ...................................................................33
Hình 2.13: Biểu đồ trình tự Thêm khách sạn..........................................................34
Hình 2.14: Biểu đồ trình tự Sửa thông tin khách sạn..............................................35
Hình 2.15: Biểu đồ trình tự Xóa khách sạn ............................................................35
Hình 2.16: Biểu đồ trình tự Xem thông tin phường................................................36
Hình 2.17: Biểu đồ trình tự thêm phường ..............................................................37
Hình 2.18: Biểu đồ trình tự Sửa phường ................................................................37
Hình 2.19: Biểu đồ trình tự Xóa phường................................................................38
Hình 2.20: Biểu đồ trình tự Xem thông tin khách lưu trú .......................................38
Hình 2.21: Biểu đồ trình tự Thêm khách lưu trú ....................................................39
Hình 2.22: Biểu đồ trình tự Sửa thông tin khách lưu trú.........................................40
Hình 2.23: Biểu đồ trình tự Xóa thông tin khách lưu trú ........................................40
Hình 2.24: Biểu đồ trình tự Xem thông tin người dùng..........................................41
vi


Hình 2.25: Biểu đồ trình tự Thêm người dùng .......................................................42
Hình 2.26: Biểu đồ trình tự Sửa thông tin người dùng ...........................................43
Hình 2.27: Biểu đồ trình tự Xóa thông tin người dùng...........................................43
Hình 2.28: Biểu đồ hoạt động đăng nhập ...............................................................44
Hình 2.29: Biểu đồ hoạt động Quản lý phường......................................................44
Hình 2.30: Biểu đồ hoạt động Quản lý khách sạn ..................................................45
Hình 2.31: Biểu đồ hoạt động quản lý người dùng.................................................45
Hình 2.32: Biểu đồ hoạt động Quản lý khách lưu trú .............................................46
Hình 2.33: Biểu đồ lớp tổng quát...........................................................................47

Hình 2.34: Biểu đồ lớp khách lưu trú.....................................................................47
Hình 2.35: Biểu đồ lớp khách sạn ..........................................................................48
Hình 2.36: Biểu đồ lớp người dùng........................................................................48
Hình 2.37: Biểu đồ lớp xã- phường........................................................................49
Hình 2.38: Biểu đồ lớp tìm đường đi .....................................................................49
Hình 2.39: Biểu đồ lớp xem bản đồ .......................................................................49
Hình 2.40: Biểu đồ lớp xóa điểm trên bản đồ.........................................................50
Hình 2.41: Biểu đồ lớp sửa điểm trên bản đồ.........................................................50
Hình 2.42: Biểu đồ lớp thêm bản đồ ......................................................................51
Hình 2.43: Biểu đồ quan hệ thực thể......................................................................51
Hình 3.1: Giao diện trang chủ................................................................................54
Hình 3.2:Giao diện trang Tìm đường, vị trí............................................................55
Hình 3.3: Giao diện trang khoảng cách..................................................................56
Hình 3.4: Giao diện trang thông tin .......................................................................57
Hình 3.5: Giao diện trang đăng nhập .....................................................................57
Hình 3.6: Giao diện trang thông tin khách lưu trú ..................................................58
Hình 3.7: Giao diện trang thêm khách lưu trú ........................................................58
Hình 3.8: Giao diện trang thông tin người dùng.....................................................59
Hình 3.9: Giao diện trang thống kê báo cáo ...........................................................59

vii


DANH MỤC BẢNG BIỂU

Bảng 2.1: Bảng tblxa_phuong (Bảng Xã phường).................................................. 52
Bảng 2.2: Bảng tblloaiks (Bảng loại khách sạn)..................................................... 52
Bảng 2.3: Bảng tblkhachsan (Bảng khách sạn) ...................................................... 52
Bảng 2.4: Bảng tblkhach (Bảng khách lưu trú) ...................................................... 53
Bảng 2.5: Bảng users (Bảng người dùng) .............................................................. 53


viii


LỜI MỞ ĐẦU
Trước sự phát triển ngày càng mạnh mẽ của tin học, và sự ứng dụng rộng rãi
của công nghệ GIS (Geographic Information System) nói chung và WEBGIS nói
riêng trong quản lý, sản xuất cũng như trong các ngành khác nhau đặc biệt là các
ngành quản lý các thông tin kinh tế xã hội, quản lý tài nguyên thiên nhiên trên bề
mặt trái đất…cùng với các phép toán, các công cụ phân tích, truy xuất, tìm kiếm dữ
liệu một cách nhanh chóng hiệu quả, công cụ ngày càng khẳng định vị trí vững chắc
của nó trong thế giới tin học.
Tình hình quản lý khách lưu trú Thành phố Thái Bình vẫn còn chưa được tốt,
dẫn đến việc tìm kiếm, quản lý các thông tin vẫn còn nhiều khó khăn.
Trong nhiều năm qua, để phục vụ cho việc quản lý các thông tin địa lý Việt
Nam diễn ra thuận lợi đã có rất nhiều cơ sở chú ý đầu tư, xây dựng và phát triển các
cơ sở tin học (con người, thiết bị….) ngày càng trở nên mạnh mẽ hơn, trở thành
công cụ hữu ích giúp cho con người trong công tác thu thập, phân tích, xử lý số liệu
và phục vụ các cấp lãnh đạo trong việc quản lý các thông tin địa lý. Phạm vi nghiên
cứu cũng như tầm ứng dụng của GIS nói chung rất lớn, trong giới hạn đồ án này,
em sẽ trình bày các vấn đề về việc sử dụng WebGIS trên nền bản đồ trực tuyến của
Google để xây dựng bài toán “Xây dựng chương trình quản lý khách lưu trú tại
thành phố Thái Bình dựa trên công nghệ WebGis”.
Mục tiêu nghiên cứu: Xây dựng chương trình quản lý khách lưu trú tại thành
phố Thái Bình dựa trên công nghệ WebGis.
Phạm vi nghiên cứu:
-

Về giới hạn địa lý: Nghiên cứu và sử dụng hệ thống thông tin địa lý hỗ trợ
công tác quản lý cơ sở lưu trú Thành phố Thái Bình.


-

Về phần mềm: Sử dụng phần mềm Mapinfo và Google Map API để xây
dựng hệ thống hỗ trợ quản lý cơ sở lưu trú thành phố Thái Bình.

ix


Bố cục của báo cáo đề tài gồm:
 Chương 1: Cơ sở lý thuyết
 Chương 2: Phân tích thiết kế hệ thống
 Chương 3: Xây dựng chương trình
 Kết luận
 Tài liệu tham khảo

x


Chương 1.
CƠ SỞ LÝ THUYẾT
1.1. Hệ thống thông tin địa lý [1, 5]
1.1.1. Gis là gì?
Kỹ thuật "Thông tin Địa lý" (Geograpgic 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 (Information Technology) nhằm mô tả thế giới thực (Real
world) mà loài người đang sống-tìm hiểu-khai thác [1]. 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ệ tin học 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 hơn một
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.
1.1.2. Ứng dụng của GIS trong các ngành
Vì GIS được thiết kế như một hệ thống chung để quản lý dữ liệu không gian,
nó có rất nhiều ứng dụng trong việc phát triển đô thị và môi trường tự nhiên như là:
quy hoạch đô thị, quản lý nhân lực, nông nghiệp, điều hành hệ thống công ích, lộ
trình, nhân khẩu, bản đồ, giám sát vùng biển, cứu hoả và bệnh tật. Trong phần lớn
lĩnh vực này, GIS đóng vai trò như là một công cụ hỗ trợ quyết định cho việc lập kế
hoạch hoạt động.
1


a. Ứng dụng GIS trong Môi trường
Theo những chuyên gia GIS kinh nghiệm nhất thì có rất nhiều ứng dụng đã
phát triển trong những tổ chức quan tâm đến môi trường. Với mức đơn giản nhất thì
người dùng sử dụng GIS để đánh giá môi trường, ví dụ như vị trí và thuộc tính của
cây rừng. Ứng dụng GIS với mức phức tạp hơn là dùng khả năng phân tích của GIS
để mô hình hóa các tiến trình xói mòn đất sư lan truyền ô nhiễm trong môi trường

khí hay nước, hoặc sự phản ứng của một lưu vực sông dưới sự ảnh hưởng của một
trận mưa lớn. Nếu những dữ liệu thu thập gắn liền với đối tượng vùng và ứng dụng
sử dụng các chức năng phân tích phức tạp thì mô hình dữ liệu dạng ảnh (raster) có
khuynh hướng chiếm ưu thế.
b. Ứng dụng GIS trong Khí tượng thuỷ văn
Trong lĩnh vực này GIS được dùng như là một hệ thống đáp ứng nhanh, phục
vụ chống thiên tai như lũ quét ở vùng hạ lưu, xác định tâm bão, dự đoán các luồng
chảy, xác định mức độ ngập lụt, từ đó đưa ra các biện pháp phòng chống kịp thời...
vì những ứng dụng này mang tính phân tích phức tạp nên mô hình dữ liệu không
gian dạng ảnh (raster) chiếm ưu thế.
c. Ứng dụng GIS trong Nông nghiệp
Những ứng dụng đặc trưng: Giám sát thu hoạch, quản lý sử dụng đất, dự báo
về hàng hoá, nghiên cứu về đất trồng, kế hoạch tưới tiêu, kiểm tra nguồn nước.
d. Ứng dụng GIS trong Dịch vụ tài chính
GIS được sử dụng trong lĩnh vực dịch vụ tài chính tương tự như là một ứng
dụng đơn lẻ. Nó đã từng được áp dụng cho việc xác định vị trí những chi nhánh mới
của Ngân hàng. Hiện nay việc sử dụng GIS đang tăng lên trong lĩnh vực này, nó là
một công cụ đánh giá rủi ro và mục đích bảo hiểm, xác định với độ chính xác cao
hơn những khu vực có độ rủi ro lớn nhất hay thấp nhất. Lĩnh vực này đòi hỏi những
dữ liệu cơ sở khác nhau như là hình thức vi phạm luật pháp, địa chất học, thời tiết
và giá trị tài sản.
e. Ứng dụng GIS trong Y tế
Ngoại trừ những ứng dụng đánh giá, quản lý mà GIS hay được dùng, GIS còn
có thể áp dụng trong lĩnh vực y tế. Ví dụ như, nó chỉ ra được lộ trình nhanh nhất
giữa vị trí hiện tại của xe cấp cứu và bệnh nhân cần cấp cứu, dựa trên cơ sở dữ liệu

2


giao thông. GIS cũng có thể được sử dụng như là một công cụ nghiên cứu dịch bệnh

để phân tích nguyên nhân bộc phát và lây lan bệnh tật trong cộng đồng.
f.

Ứng dụng GIS cho Chính quyền địa phương
Chính quyền địa phương là một trong những lĩnh vực ứng dụng rộng lớn nhất

của GIS, bởi vì đây là một tổ chức sử dụng dữ liệu không gian nhiều nhất. Tất cả
các cơ quan của chính quyền địa phương có thể có lợi từ GIS. GIS có thể được sử
dụng trong việc tìm kiếm và quản lý thửa đất, thay thế cho việc hồ sơ giấy tờ hiện
hành. Nhà cầm quyền địa phương cũng có thể sử dụng GIS trong việc bảo dưỡng
nhà cửa và đường giao thông. GIS còn được sử dụng trong các trung tâm điều khiển
và quản lý các tình huống khẩn cấp.
g. Ứng dụng GIS trong thị trường Bán lẻ
Phần lớn siêu thị vùng ngoại ô được xác định vị trí với sự trợ giúp của GIS.
GIS thường lưu trữ những dữ liệu về kinh tế - xã hội của khách hàng trong một
vùng nào đó. Một vùng thích hợp cho việc xây dựng môt siêu thị có thể được tính
toán bởi thời gian đi đến siêu thị, và mô hình hoá ảnh hưởng của những siêu thị
cạnh tranh. GIS cũng được dùng cho việc quản lý tài sản và tìm đường phân phối
hàng ngắn nhất.
h. Ứng dụng GIS trong Giao thông
GIS có khả năng ứng dụng đáng kể trong lĩnh vực vận tải. Việc lập kế hoạch
và duy trì cở sở hạ tầng giao thông rõ ràng là một ứng dụng thiết thực, nhưng giờ
đây có sự quan tâm đến một lĩnh vực mới là ứng dụng định vị trong vận tải hàng
hải, và hải đồ điện tử. Loại hình đặc trưng này đòi hỏi sự hỗ trợ của GIS.
i.

Ứng dụng GIS cho Các dịch vụ điện, nước, gas, điện thoại...
Những công ty trong lĩnh vực này là những người dùng GIS linh hoạt nhất,

GIS được dùng để xây dựng những cơ sở dữ liệu là cái thường là nhân tố của chiến

lược công nghệ thông tin của các công ty trong lĩnh vực này. Dữ liệu vector thường
được dùng trong các lĩnh vực này. những ứng dụng lớn nhất trong lĩnh vực này là
Automated Mapping và Facility Management (AM-FM). AM-FM được dùng để
quản lý các đặc điểm và vị trí của các cáp, valve... Những ứng dụng này đòi hỏi
những bản đồ số với độ chính xác cao.
Một tổ chức dù có nhiệm vụ là lập kế hoạch và bảo dưỡng mạng lưới vận
chuyển hay là cung cấp các dịch vụ về nhân lực, hỗ trợ cho các chương trình an
3


toàn công cộng và hỗ trợ trong các trường hợp khẩn cấp, hoặc bảo vệ môi trường,
thì công nghệ GIS luôn đóng vai trò cốt yếu bằng cách giúp cho việc quản lý và sử
dụng thông tin địa lý một cách hiệu quả nhằm đáp ứng các yêu cầu hoạt động và
mục đích chương trình của tổ chức đó.
1.2. Giới thiệu công cụ MapInfo
1.2.1. MapInfo là gì?
MapInfo là phần mềm công cụ để xây dựng bản đồ trên máy tính kèm với các
chức năng phân tích địa lý.
Phần mềm MapInfo do công ty MapInfo Corporation của Mỹ xây dựng, công
ty ra đời từ 1986 và được biết đến chính thức từ 1994. Phần mềm MapInfo có giao
diện khá thân thiện, dễ sử dụng nên tương đối phổ biến trên thế giới cũng như ở
Việt Nam (theo kết quả một khảo sát thống kê cho biết có 80% sử dụng phần mềm
này trong nghiên cứu và ứng dụng).
Hiện nay trên thị trường đang phổ biến phiên bản MapInfo 11.5 của phần mềm
và phiên bản 12.0 cũng đang được đưa ra giới thiệu.
1.2.2. Tổ chức thông tin trong tập tin
Thông tin MapInfo quản lý và khai thác là thông tin địa lý, tức là thông tin có
phần thuộc tính và phần không gian [5].
a. Cấu trúc dữ liệu
Phần thông tin không gian có cấu trúc không gian theo mô hình vector. Điều

này khiến cho dữ liệu MapInfo thường khá gọn nhẹ, nhưng cũng chính điều này
khiến cho các chức năng phân tích không gian của MapInfo có hạn chế.
Phần thuộc tính của thông tin trong MapInfo được lưu dưới dạng bảng với các
cột và hàng theo kiểu mô hình quan hệ.
b. Về tổ chức
Thông tin trong MapInfo tổ chức theo từng table. Mỗi table là một tập hợp các
tập tin về dữ liệu không gian, thuộc tính và mối lien kết giữa chúng do hệ thống tạo
ra. Mỗi table thường được tổ chức theo các tập tin sau:
- (table).tab: chứa thông tin mô tả cấu trúc dữ liệu thuộc tính. Đó là file ở dạng
văn bản mô tả khuôn dạng của file lưu trữ thông tin của bạn.

4


- (table).dat: chứa thông tin thuộc tính, phần mở rộng của tập tin này có thể
là.dbf,….,.xls khi thông tin được lấy từ Foxbase, Excel hoặc.bmp,jpg…khi thông
tin được lấy là ảnh quét.
- (table).map: thông tin không gian.
- (table).id: thông tin về sự liên kết giữa thông tin không gian và thuộc tính của chúng.
- (table).ind: chứa thông tin về chỉ số (index) của đối tượng. Tập tin này chỉ có
khi trong cấu trúc của table có ít nhất một trường dữ liệu (field) được chọn làm
index…
c. Tổ chức thông tin địa lý theo lớp đối tượng
 Khái niệm về Layer
Trong bản đồ số, thông tin không được hiển thị, trình bày trên cùng một mặt
giấy như ở bản đồ truyền thống, ngược lại, nó được tổ chức thành từng lớp riêng mà
trong MapInfo ta gọi là layer. Có thể hiểu layer như một tấm giấy trong suốt, trên
đó thể hiện hình ảnh của các đối tượng khác nhau, các nội dung khác nhau của một
bản đồ. Mỗi Layer thường chỉ thể hiện một khía cạnh nội dung của bản đồ truyền
thống, là một tập hợp các đối tượng bản đồ thuần nhất, thể hiện và quản lý các đối

tượng địa lý trong không gian theo một chủ đề cụ thể, phục vụ một mục đích nhất
định trong hệ thống. Với việc chồng các layer này lên nhau ta sẽ có một bản đồ đầy
đủ như bản đồ truyền thống, nhưng lại rất tiện lợi trong việc khai thác sau này.
Như vậy, layer chính là hình ảnh cụ thể về dữ liệu không gian của một table.
Ví dụ như để đưa vào quản lý bản đồ hành chính của một huyện ta có thể tổ
chức nó thành bốn lớp thông tin cơ bản như sau:
- Lớp thông tin về vùng lãnh thổ của xã.
- Lớp thông tin về đường địa giới của xã.
- Lớp thông tin về các điểm trụ sở UBND xã.
- Lớp thông tin về tên địa danh của xã.
Với cách tổ chức thông tin theo từng lớp đối tượng như vậy đã giúp cho phần
mềm MapInfo xây dựng thành các khối thông tin độc lập cho các mảnh của bản đồ
số. Điều đó sẽ giúp thành lập các bản đồ số linh hoạt hơn theo các cách tập hợp các
layer khác nhau.

5


 Đối tượng địa lý
Các đối tượng địa lý – dữ liệu không gian – cuối cùng cũng quay về các ý
niệm cơ bản là điểm, đường, vùng (miền).
1.3. Global Mapper
Global Mapper - là một chương trình phổ quát mà cho phép bạn xem, chuyển
đổi, biên dịch, chỉnh sửa và in các bản đồ khác nhau và vector bộ dữ liệu. Dữ liệu
của bạn có thể được nạp như các lớp, hoặc được tải về như một bản đồ địa hình quét
cho khu vực hình ảnh 3D [9].
Sau khi bản đồ đã được số hóa trên phầm mềm MapInfo( bản đồ thành phố
Thái Nguyên). Ta muốn đưa bản đồ về trang Web cá nhân thì có thể chuyển bản đồ
sang dạng KML/KMZ .
Để xuất bản đồ ra file .kml/.KMZ ta có thể sử dụng phần mềm Global Mapper.

1.4. Google Map API [7, 10]
1.4.1. Google Map API là gì?
Google Maps là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên
web miễn phí được cung cấp bởi Google, hỗ trợ nhiều dịch vụ khác của Google nổi
bật là dẫn đường. Nó cho phép thấy bản đồ đường sá, đường đi cho xe đạp, cho
người đi bộ và xe hơi, và những địa điểm kinh doanh trong khu vực cũng như khắp
nơi trên thế giới.
Map API là gì?
 Đó là một phương thức cho phép 1 website B sử dụng dịch vụ bản đồ của
site A (gọi là Map API) và nhúng vào website của mình (site B). Site A ở đây là
google map, site B là các web site cá nhân hoặc tổ chức muốn sử dụng dịch vụ của
google, có thể rê chuột, zoom, đánh dấu trên bản đồ...
 Các ứng dụng xây dựng trên map được nhúng vào trang web cá nhân thông
qua các thẻ javascripts do vậy việc sử dụng API google rất dễ dàng.
Google Map API đã được nâng cấp lên phiên bản thứ 3. Phiên bản này hỗ trợ
không chỉ cho các máy để bàn truyền thống mà cho cả các thiết bị di động. Nhanh
hơn và nhiều hơn các ứng dụng.
Điều quan trọng là các dịch vụ hoàn toàn miễn phí với việc xây dựng một ứng
dụng nhỏ. Trả phí nếu đó là việc sử dụng cho mục đích kinh doanh, doanh nghiệp.

6


1.4.2. Cách sử dụng và phát triển công nghệ
Tất cả các ứng dụng Maps API nên tải Maps API sử dụng một API key. Một
key API cho bạn kiểm soát các ứng dụng của mình và cũng là việc google có thể
liên lạc với bạn về ứng dụng có ích bạn đang xây dựng. Từ đó có cơ hội phát triển
bản thân mình.
Tạo một API key:
- Truy cập vào và đăng nhập bằng tài

khoản gmail của mình.
- Click vào Services link bên trái menu.
- Kéo xuống dưới tìm Google Maps API v3 service và kích hoạt dịch vụ.
- Click API Access, một API key sẽ hiện lên và bạn sẽ copy lại để sử dụng.

Hình 0.1:Tạo một API Key
1.4.3. Load bản đồ về trang web cá nhân
Khi đã có key google cung cấp ta sử dụng key đó trong đoạn mã javascripts
trong thẻ <head>:
src=" />SET_TO_TRUE_OR_FALSE">
</script>
7


Tạo một hàm trong javascripts:
<script type="text/javascript">
function initialize() {
var myOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
Var map = new
google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
</script>
Đầu tiên tạo một đối tượng bản đồ chứa các biến khởi tạo bản đồ
var myOptions = {

center: new google.maps.LatLng(21.566040, 105.808245),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
- center: một điểm làm trung tâm của bản đồ Latitudes(vĩ độ) và
Longitudes(kinh độ). Tương tự như trên khi ta định nghĩa 1 điểm là tọa độ trong
Map ta để nó nằm trong new google.maps.LatLng(lat,lng). Một điểm được xác định
bởi vĩ độ và kinh độ.
- zoom: độ zoom được quy định khi Map được load.
- Map type: loại Map được hiển thị sau khi load xong. có 4 loại để chọn:
ROADMAP, SATELLITE, HYBRID, TERRAIN
- Map object: var map = new
google.maps.Map(document.getElementById("map "), myOptions); Xác định id
html chứa đối tượng Map với tùy chọn "myOptions" như trên.
Sau đó load bản đồ vào web.
<html>
8


<head>
<title>Simple Map</title>
<style>
html, body, #map-canvas{height: 100%; margin: 0px; padding: 0px}
</style>
<script src=" /><script>
var map;
function initialize() {
var mapOptions = {
zoom: 11,
center: new google.maps.LatLng(21.682953,105.815978)

};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
1.4.4. Lớp phủ trên bản đồ
Sau khi load được bản đồ ta thêm các đoạn code xây dựng lớp phủ sau khi đối
tượng map được khởi tạo:
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);.
Sau này cũng vậy các ứng dụng khác nếu muốn được thêm vào thì các đoạn
code được khai báo sau khi đối tượng map được khởi tạo.
9


Tổng quan: Lớp phủ(overlays) là các đối tượng trên bản đồ và được gắn với vĩ
độ, kinh độ cho nên nó sẽ di chuyển cùng bản đồ khi ta kéo hoặc zoom bản đồ. Overlays
phản ánh các đối tượng mà bạn thêm vào bản đồ như points, line, areas, hoặc các
"collections of object" tạm gọi là bộ sưu tập đối tượng, các đối tượng mà bạn muốn xây
dựng. Vd: 1 khu vực công nghiệp, khu vực sông, khu vui chơi giải trí...
Các loại lớp phủ: markers, polylines, areas, info windows, polygons.
Thêm các lớp phủ: Đầu tiên phải xác định lớp phủ nào cần xây dựng để có thể
hiển thị trên Map. Thêm lớp phủ trực tiếp lên bản đồ sử dụng phương thức
setmap(). Ví dụ sau thêm lớp phủ Markers để đánh dấu điểm trên map.

var myLatlng = new google.maps.LatLng(21.682953,105.815978);
var myOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
}
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
//Lớp phủ Markers được thêm vào bởi đối tượng trong javascripts cùng các tùy
chọn của lớp phủ:
var marker = new google.maps.Marker({
position: myLatlng, //vị trí này sẽ xuất hiện điểm đánh dấu với icon mặc định
của google.
title:"Hello World!"
});
//sau đó gọi phương thức setmap() để thêm vào bản đồ “marker.setMap(map)"
marker.setMap(map);// đối tượng map được khởi tạo ở trên
Loại bỏ lớp phủ: Để loại bỏ ta gọi phương thức setmap() của lớp phủ và đặt là
null "setmap(null)". Nhưng đây mới chỉ loại bỏ tạm thời không cho chúng xuất hiện
chứ chưa xóa hoàn toàn.
Nhưng trên bản đồ với một ứng dụng nhỏ thì ít nhất ta cũng phải sử dụng trên
2 lớp phủ. Vì vậy để quản lý chúng thật sự dễ dàng ta tạo một mảng chứa các lớp
phủ. Khi muốn tạo một lớp phủ ta chỉ setmap() trên các phần tử của mảng hoặc loại
10


bỏ chúng cũng vậy. Điều quan trọng là có thể xóa các lớp phủ khi cho độ dài của
mảng bằng 0.
1.4.5. MARKERS
Markers dùng để xác định một điểm trên bản đồ hoặc đánh dấu địa điểm dựa

trên vĩ độ và kinh độ. Theo mặc định sử dụng icon của google làm hình ảnh hiện lên
điểm đánh dấu. Hoặc muốn một icon của mình thì ta gọi phương thức setIcon().
Sau đây là các trường được xây dựng trong new google.maps.Marker:
-

Position(bắt buộc): quy định là tọa độ LatLng của điểm được đánh dấu.
- map(tùy chọn): quy định đối tượng bản đồ được đánh dấu. nếu thuộc tính

này được khai báo trong đây nó sẽ thay thế cho Markers.setMap(map).
- Icon(tùy chọn): hình ảnh tùy chọn mà bạn muốn hiển thị thay thế hình ảnh
mặc định. Dùng tùy chọn này thay thế cho marker.setIcon(link đến hình ảnh trong
thư mục).
- Title(tùy chọn): tiêu đề của địa điểm.
- draggable(tùy chọn): thuộc tính động của điểm đánh dấu, thể hiện sự chuyển
động của điểm được đánh dấu. Nếu TRUE tính động được khởi động.
- animation: cách thức chuyển động của điểm đánh dấu. CÓ 2 cách thức
DRAG, Bounce.
var myLatlng = new google.maps.LatLng(21.682953,105.815978);
var myOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var icon = "link đến hình ảnh";
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
icon:icon,

title:"Hello World!",
11


draggable:true,
animation:google.maps.Animation.DROP
});

Hình 0.2: Tạo MARKERS
1.4.6. POLYLINES
Polylines dùng để thể hiện đường kết nối trên bản đồ dựa vào các tọa độ. Các
đoạn thẳng được hiển thị với các tùy chọn cho nó như màu sắc, độ đậm nhạt, độ
rộng của đường. Phải có tối đa 2 điểm để tạo nên 1 đường thẳng.
Cũng giống như lớp phủ Markers ta khai báo lớp phủ Polyline và các thuộc
tính của nó như sau:
//vẽ đường
var poly=new google.maps.Polyline({
path: //giá trị là một mảng chứa các tọa độ cần nối với nhau
strokeColor: "#FF0000",// tùy chọn màu sắc
strokeOpacity: 1.0,//độ đậm nhạt của màu sắc
strokeWeight: 2//độ rộng của đường
});
//phủ lên map
poly.setMap(map);

12


Hình 0.3: Tạo POLYLINES
1.4.7. POLYGON

Cũng giống như đối tượng Polylines, Polygon xây dựng dựa trên một loạt các
tọa độ, tuy nhiên thay vì mở thì nó hoàn toàn khép kín trong một khu vực ( vùng).
// tạo vùng
var polygon=new google.maps.Polygon({
paths: triangleCoords,//tập các tọa độ với tọa độ đầu trùng tọa độ cuối đảm
bảo cho việc khép kín.
strokeColor: "#FF0000",//màu sắc của đường nối điểm
strokeOpacity: 0.8,//độ đậm nhạt
strokeWeight: 2,//độ rộng
fillColor: "#FF0000",//màu sắc của đa giác
fillOpacity: 0.35//độ đậm nhạt của đa giác
});
//phủ vùng lên map
Polygon.setMap(map);

13


Hình 0.4: Tạo POLYGON
1.4.8. INFOWINDOWS
Infowindows là một cửa sổ chứa các thông tin. Ta có thể gắn nó vào
MARKER hay POLYGON để khi click vào thì cửa sổ Infowindows mở lên cho ta
thông tin của MARKER, POLYGON đó.
Tạo một Infowindows cũng giống như các lớp phủ khác:
var info = new google.maps.InfoWindow({
content: 'text'//chứa nội dung Infowindows
});
Sau đó gọi info.open() để có thể mở được cửa sổ.

Hình 0.5: Tạo INFOWINDOWS

14


1.4.9. Sự kiện
Một số đối tượng trong Maps API được thiết kế để đáp ứng với sự kiện người
sử dụng chẳng hạn như các sự kiện chuột hoặc bàn phím. Một đối tượng
google.maps.Marker có thể lắng nghe người sử dụng các sự kiện sau đây, ví dụ:
- Sự kiện 'click'
- Sự kiện 'dblclick'
-

Sự kiện 'mouseup'
Sự kiện 'mousedown'
Sự kiện 'mouseover'
Sự kiện 'mouseout'

Một sự kiện được gọi như sau:
google.maps.event.addListener(đối tượng, sự kiện gọi, function(){
});
Sau đây là chương trình khi click chuột vào map thì các điểm đánh dấu sẽ xuất
hiện với icon là mặc định, nếu muốn thay đổi thì đặt lại icon:
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(21.586414,105.806187);
var myOptions = {
zoom: 16,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new

google.maps.Map(document.getElementById("map_canvas"),

myOptions);

google.maps.event.addListener(map, 'click', function(event){
placeMarker(event.latLng);});
function placeMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
}
}
</script>

15


×