TÓM TẮT KHÓA LUẬN
GIS-Geography Information System(Hệ thống thông tin địa lý) ra đời và được
phát triển mạnh trong những năm gần đây. Cùng với sự bùng nổ về công nghệ của
Internet, GIS cũng đã phát triển công nghệ cho phép chia sẻ thông tin thông qua mạng
toàn cầu bằng cách kết hợp GIS và Web. Bên cạnh đó, xu hướng chia sẻ dữ liệu, phát
triển phần mềm trên công nghệ mã nguồn mở cũng được quan tâm ở các nước đang
phát triển vì nhiều lợi ích mà nó mang lại. Vì thế, việc nghiên cứu ứng dụng trên cơ sở
mã nguồn mở sẽ mang lại khả năng chia sẻ thông tin địa lý rộng rãi cho các ngành.
Nội dung chính của đề tài là nghiên cứu nền tảng công nghệ GIS, từ đó đưa ra
các giải pháp về bản đồ trực tuyến, khả năng xây dựng ứng dụng bản đồ trên cơ sở mã
nguồn mở và từ đó xây dựng website bản đồ trực tuyến về các địa điểm du lịch trên
thành phố Hà Nội.
Khóa luận được chia thành các phần chính sau:
Mở đầu: Đặt vấn đề và đưa ra mục tiêu nghiên cứu.
Chương 1: Giới thiệu về bản đồ, nghiên cứu về công nghệ GIS và ứng dụng
công nghệ GIS trên nền web.
Chương 2: Tìm hiểu một số giải pháp về bản đồ trực tuyến, đi xâu nghiên
cứu giải pháp sử dụng phần mền mã nguồn mở MapServer.
Chương 3: Xây dựng ứng dụng bản đồ trực tuyến phục vụ nhu cầu du lịch
thành phố Hà Nội.
Kết luận: Kết quả đạt được và định hướng phát triển trong tương lai.
LỜI CẢM ƠN
Lời đầu tiên cho em được cảm ơn chân thành tới thầy Nguyễn Hải Châu, người
đã trực tiếp hướng dẫn tận tình và đóng góp những ý kiến quý báu trong suốt quá trình
em làm khóa luận tốt nghiệp này.
Em xin cảm ơn và gửi những lời chúc tốt đẹp nhất đến các thầy cô giáo trường
Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội, đã tận tâm truyền đạt những kiến
thức quý báu làm nền tảng để em bước vào đời.
Cuối cùng, em xin được cảm ơn gia đình, bạn bè và người thân đã giúp đỡ em,
là chỗ dựa tinh thần vững chắc giúp em hoàn thành tốt khóa luận tốt nghiệp này.
Người thực hiện
NGUYỄN ĐỨC PHUƠNG
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ .8
DANH MỤC BẢNG 10
MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ .11
MỞ ĐẦU .12
1. Đặt vấn đề 12
2. Nội dung và mục tiêu nghiên cứu 13
CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG NGHỆ GIS TRÊN NỀN WEB 14
1.1 Giới thiệu về bản đồ .14
1.2 Các phương pháp biểu diễn bản đồ .14
1.2.1 Phân loại bản đồ 14
1.2.2 Các thành phần của bản đồ 15
1.2.3 Độ chính xác của bản đồ .16
1.2.4 Các chú giải trên bản đồ 16
1.2.5 Phương pháp thể hiện thông tin trên bản đồ .18
1.2.6 Sự khái quát hóa và sự phóng đại .19
1.3 Công nghệ GIS trên nền Web .19
1.4 Sơ đồ hoạt động của ứng dụng GIS trên nền Web 20
1.5 Dữ liệu về GIS .21
1.5.1 Các khái niệm cơ bản 21
1.5.2 Các dạng dữ liệu của GIS 24
1.5.3 Mô hình thông tin không gian .24
1.5.4 Mô hình thông tin phi không gian .30
CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN .33
2.1 Một số giải pháp bản đồ trực tuyến .33
2.1.1 MapBender 33
2.1.2 MapGuide Open Source 33
2.1.3 OpenLayers .34
2.2 Phần mềm mã nguồn mở MapServer 34
2.2.1 Giới thiệu về Mapserver .34
2.2.2 Thành phần và mô hình xử lý của Mapserver .36
2.2.3 Tìm hiểu Mapfile .39
2.2.4 Xử lý kết nối các loại dữ liệu 48
CHƯƠNG 3: XÂY DỰNG WEBSITE BẢN ĐỒ TRỰC TUYẾN VỀ CÁC ĐỊA
ĐIỂM DU LỊCH TRÊN THÀNH PHỐ HÀ NỘI 52
3.1 Phân tích .52
3.1.1 Hiện trạng và nhu cầu của thông tin .52
3.1.2 Phân tích hệ thống và định hướng công nghệ 52
3.2 Thiết kế 53
3.2.1 Thiết kế kiến trúc 53
3.2.2 Thiết kế cơ sở dữ liệu 54
3.2.3 Thiết kế chức năng 64
3.2.4 Thiết kế giao diện 66
3.3 Xây dựng 70
3.3.1 Xây dựng máy chủ cung cấp dữ liệu .70
3.4 Cài đặt và thử nghiệm 70
KẾT LUẬN 72
1. Kết quả đạt được .72
2. Hướng phát triển đề tài .72
PHỤ LỤC .73
Phụ lục 1: Một số giao diện người dùng người dùng 73
Phụ lục 2: Giao diện quản trị .79
TÀI LIỆU THAM KHẢO .81
DANH MỤC CÁC HÌNH VẼ
Hình 1: Bản đồ dạng đường nét .14
Hình 2: Bản đồ dạng ảnh .15
Hình 3: Sơ đồ hoạt động của WebGIS 20
Hình 4: Số liệu vector được biểu thị dưới dạng điểm (Point). 25
Hình 5: Số liệu vector được biểu thị dưới dạng đường .26
Hình 6: Số liệu vector được biểu thị dưới dạng vùng (Polygon) 26
Hình 7: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ. 27
Hình 8: Sự biểu thị kết quả bản đồ dưới dạng Raster 29
Hình 9: Sự chuyển đổi dữ liệu giữa raster và vector .30
Hình 10: Sơ đồ hoạt động của Mapserver .36
Hình 11: Quy trình xử lý của Mapserver .38
Hình 12: Mô hình đối tượng trong Mapfile .39
Hình 13: Chồng xếp các Layer 39
Hình 14: Danh sách font sử dụng 40
Hình 15: Thứ tự được vẽ các Layer .43
Hình 16: Mô hình 3 tầng trong thiết kế kiến trúc 53
Hình 17: Quan hệ giữa thực thể Phường/Xã và Quận/Huyện .55
Hình 18: Quan hệ giữa thực thể Đường giao thông và Bảo tàng 55
Hình 19: Quan hệ giữa thực thể Đường giao thông và Khách sạn 55
Hình 20: Quan hệ giữa thực thể Đường giao thông và Nhà hàng .55
Hình 21: Quan hệ giữa thực thể Đường giao thông và Di tích danh lam 56
Hình 22: Quan hệ giữa thực thể Đường giao thông và Công ty lữ hành .56
Hình 23: Quan hệ giữa thực thể Quận/Huyện và Bảo tàng .56
Hình 24: Quan hệ giữa thực thể Quận/Huyện và Khách sạn 56
Hình 25: Quan hệ giữa thực thể Quận/Huyện và Nhà hàng 56
Hình 27: Quan hệ giữa thực thể Phường/Xã và Bảo tàng .57
Hình 28: Quan hệ giữa thực thể Phường/Xã và Khách sạn .57
Hình 29: Quan hệ giữa thực thể Phường/Xã và Nhà hàng 57
Hình 30: Quan hệ giữa thực thể Phường/Xã và Di tích danh lam .57
Hình 31: Quan hệ giữa thực thể Phường/Xã và Công ty lữ hành 58
Hình 32: Lược đồ mô tả các thực thể và mối quan hệ giữa các thực thể 63
Hình 33: Sơ đồ các chức năng .64
Hình 34: Sơ đồ quản trị .66
Hình 35: Sơ đồ web dành cho người dùng 67
Hình 36: Giao diện trang chủ 68
Hình 37: Giao diện Danh sách bảo tàng 68
Hình 38: Giao diện chi tiết bảng tàng 69
Hình 39: Giao diện bản đồ .69
DANH MỤC BẢNG
Bảng 1: Các phương pháp thể hiện bản đồ 18
Bảng 2: Bảng lớp dữ liệu không gian 59
Bảng 3: Chi tiết bảng Quản trị .59
Bảng 4: Chi tiết bảng bảo tàng 60
Bảng 5: Chi tiết bảng Công ty lữ hành 60
Bảng 6: Chi tiết bảng Danh lam 61
Bảng 7: Chi tiết bảng khách sạn 61
Bảng 8: Chi tiết bảng Nhà hàng 62
Bảng 9: Chi tiết bảng Quận .62
Bảng 10: Chi tiết bảng Phường .62
Bảng 11: Chi tiết bảng Đường giao thông .63
Bảng 12: Kết quả kiểm thử 71
MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ
Thuật ngữ Từ tiếng Anh Định nghĩa tiếng Việt
API
Application Program Interface Giao diện lập trình ứng
dụng
Cartogram
Biểu đồ diện tích
CGI
Common Gateway Interface Chuẩn để kết nối chương
trình ứng dụng với Web
server
GDAL
Geospatial Data Abstraction Library
Là thư viện biên dịch định
dạng dữ liệu địa lý[15]
GIS
Geography Information System Hệ thống thông tin địa lý.
Sử dụng công nghệ này là
một công nghệ dựa trên
máy tính để xây dựng bản
đồ, phân tích và xử lý các
đối tượng tồn tại và các sự
kiện xảy ra trên trái đất.
GML
Geography Markup Language Ngôn ngữ đặc tả về dữ liệu
địa lý.
OGC
Open Geospatial Consortium Là tổ chức tập hợp các nhà
phát triển nghiên cứu đưa
ra các chuẩn cho hệ địa lý
SDE Spatial Database Enginee Cơ sở dữ liệu không gian
tập trung
MỞ ĐẦU
1. Đặt vấn đề
Mục đích của mạng Internet, như những người tiền sáng lập và đặt nền móng
cho nó công bố là phổ cập tri thức toàn cầu. Người sử dụng dù ở bất kỳ đâu, đều có thể
truy cập, khai thác những gì cần cho công việc trong kho tàng tri thức chung nhân loại.
Bản đồ học là một ngành của khoa học tự nhiên, cũng chịu sự chi phối đó. Mặt
khác, mọi thông tin trong tất cả các lĩnh vực cuộc sống, ngành khoa học, kinh tế, xã
hội . cũng đều gắn với các yếu tố không gian địa lý.
Những yếu tố đó đã gắn kết, trở thành xu hướng tất yếu cho mọi ngành, mọi
nghề, cho các nhà kinh doanh . vô hình chung, mỗi chủ thể đều tiến tới xây dựng hệ
quản trị cơ sở dữ liệu (GIS) của mình để quảng bá, giao dịch. Mọi hệ GIS đều cần có
nền là dữ liệu địa lý. Cũng có thể vì lý do này, mà các phần mềm về dữ liệu địa lý nền
trở nên rất đa dạng. Các phần mềm dữ liệu địa lý nền này hoạt động được trên mạng
Internet, tạm gọi là Web bản đồ trực tuyến.
Hiện nay, có rất nhiều giải pháp bản đồ trực tuyến được các nhà phát triển đưa
ra như Mapbender, MapBuilder, MapGuide Open Source, MapServer, OpenLayers,
chúng đều là các phần mềm mã nguồn mở hỗ trợ xây dựng các ứng dụng về bản đồ
trên nền web.
Du lịch là một trong những dịch vụ mang lại thú vui, sự thư giãn cho con người,
là nơi mà con người khám phá ra vẻ đẹp thiên nhiên, vẻ đẹp về văn hóa, những phong
tục tập quán, vẻ đẹp về truyền thống văn hóa ở những vùng đất khác nhau, nhất là
trong thời đại công nghiệp như hiện nay. Để có một chuyến du lịch thuận lợi, thoải
mái thì những thông tin liên quan đến địa điểm du lịch, các thông tin về dịch vụ do các
công ty du lịch cung cấp là điều mà bất cứ người đi du lịch nào cũng cần phải biết
trước. Hiện nay, với cuộc sống bận rộn, người đi du lịch có thể có các thông tin bằng
việc truy cập các trang web thông qua mạng internet.
Trong những năm gần đây, GIS đã được ứng dụng rất nhiều trong các ngành
khoa học có liên quan đến dữ liệu không gian. Với khả năng quản lý, chia sẻ các ứng
dụng thông tin địa lý qua mạng internet/intranet. Bằng việc kết hợp GIS và web để tạo
thành WebGIS, người đi du lịch sẽ truy cập được các thông tin du lịch kết hợp với các
bản đồ động để có được cái nhìn trực quan về các địa điểm mà mình sẽ đến thông qua
trình duyệt web mà không cần phải học sử dụng các phần mềm GIS. Bên cạnh đó, nếu
kết hợp xây dựng WebGIS trên phần mềm mã nguồn mở thì sẽ có được các lợi ích mà
phần mềm mã nguồn mở mang lại như chi phí đầu tư về phần mềm giảm, tận dụng
được các thành quả ý tưởng chung của cộng đồng, tính chất an toàn cao.
2. Nội dung và mục tiêu nghiên cứu
Nghiên cứu về công nghệ GIS, ứng dụng công nghệ GIS trên nền Web, đưa ra
các giải pháp về bản đồ trực tuyến, từ đó xây dựng website bản đồ trực tuyến về các
địa điểm du lịch trên thành phố Hà Nội dựa trên nền sản phẩm mã nguồn mở
MapServer.
81 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 5028 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng công nghệ GIS xây dưng bản đồ trực tuyến các địa điểm du lịch tại Thành Phố Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nếu là bên chẵn thì cả hai đều phải là các số chẵn
kề nhau. Quan hệ Topology cũng là một quan hệ không gian. Các quan hệ không
gian có thể được mã hoá như các thông tin thuộc tính hoặc ứng dụng thông qua giá
trị toạ độ của các thực thể.
32
• Mối quan hệ giữa dữ liệu không gian và phi không gian: thể hiện phương
pháp chung để liên kết hai loại dữ liệu đó thông qua bộ xác định, lưu trữ đồng thời
trong các thành phần không gian và phi không gian. Các bộ xác định có thể đơn giản
là một số duy nhất liên tục, ngẫu nhiên hoặc các chỉ báo địa lý hay số liệu xác định vị
trí lưu trữ chung. Bộ xác định cho một thực thể có thể chứa toạ độ phân bố của nó, số
hiệu mảnh bản đồ, mô tả khu vực hoặc con trỏ đến vị trí lưu trữ của số liệu liên quan.
Bộ xác định được lưu trữ cùng với các bản ghi toạ độ hoặc mô tả số khác của các
hình ảnh không gian và cùng với các bản ghi số liệu thuộc tính liên quan.
33
CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN
2.1 Một số giải pháp bản đồ trực tuyến
2.1.1 MapBender
Mapbender là kết quả của dự án thành lập tổ chức mã nguồn mở về không gian
địa lý. Mapbender là một phần mềm để quản lý dữ liệu địa lý, phần mền cung cấp
công nghệ web để quản lý dữ liệu địa lý được thực thi với ngôn ngữ PHP, JavaScript
và cơ sở dữ liệu XML, nó cung cấp mẫu dữ liệu và giao diện để hiển thị, xa hơn nữa
Mapbender cung cấp dịch vụ xác định thẩm quyền và quyền hạn, quản lý giao diện
người, nhóm người sử dụng, và quản trị dịch vụ trong một dữ án về bản đồ trực tuyến.
Đặc trưng
• Phần mềm vào dịch vụ quản trị cho bản đồ của OGC kiến trúc web
• Thực thi những công nghệ web mới nhất sử dụng, PHP, JavaScritp và XML
• Cung cấp một dữ liệu mẫu và dạng hiển thị, tìm vị trí và truy vấn
• Thẩm quyền vào quyền hạn dịch vụ
• Chức năng bảo mật proxy.
• Quản lý giao diện người dùng, nhóm người hay dịch vụ quản trị.
2.1.2 MapGuide Open Source
Cũng như Mapbender, phần mềm mã nguồn mở MapGuide là một nền tảng dựa
trên cơ sở web, chúng được sử dụng để phát triển và triển khai những ứng dụng trên
trang web về bản đồ và những dịch vụ web về địa lý một cách nhanh chóng.
MapGuide bao gồm một cơ sở dữ liệu XML để quản lý nội dung và nó hỗ trợ
phần lớn các dịnh dạng file địa lý, cơ sở dữ liệu về địa lý thông dụng.
MapGuide có thể được triển khai trên hệ điều hành Window hoặc Linux, hỗ trợ
Web server Apache và IIS, có thể được nhúng vào các ngôn ngữ PHP,.NET, Java, và
JavaScript API để phát triển các ứng dụng.
Đặc trưng
• Triển khai trên hệ điều hành Window và Linux, dùng máy chủ Apache và
ISS, sử dụng trên các trình duyệt web khác nhau.
• Hiển thị bản đồ chất lượng.
34
• Xây dựng cơ sở dữ liệu được lưu trữ trên XML.
• Mềm dẻo để phát triển các ứng dụng với PHP,.NET, Java
• Mở rộng và bảo mật cho phía server
2.1.3 OpenLayers
OpenLayers là một thư viện JavaScript thuần túy cho việc thể hiện dữ liệu bản
đồ trong phần lớn các trình duyệt web hiện đại, không phụ thuộc vào phía server,
OpenLayers thực thi một JavaScript API để xây dựng một ứng dụng địa lý trên nền
web một cách hiệu quả, tương tự với Google Maps. OpenLayers được phát triển bởi
cộng đồng phần mềm mã nguồn mở, được viết bởi MetaCarta và sau đó được phát
triển như một thư viện mã nguồn mở.
Và xa hơn nữa, OpenLayers thực thi các chuẩn công nghiệp về những phương
thức để truy xuất dữ liệu địa lý. OpenLayers được viết trên ngôn ngữ JavaScript hướng
đối tượng, sử dụng những thành phần từ file Prototype.js, những mã OpenLayers đã
trải qua hàng trăm lần test đơn vị.
Như một FrameWork được dự đoán sẽ chia những công cụ bản đồ từ dữ liệu
bản đồ, vì tất cả những công cụ có thể điều kiển trên tất cả các nguồn dữ liệu
Đặc trưng
• Hỗ trợ cho hàng loạt các nguồn dữ liệu
• Hỗ trợ cho việc hiện thị những đặc tính địa lý, đánh dấu và hiện bản đồ.
• Dễ dàng xây dựng và cấu hình, được thiết kế để giúp đỡ xây dựng OpenLayers
nhúng vào các ứng dụng khác.
2.2 Phần mềm mã nguồn mở MapServer
2.2.1 Giới thiệu về Mapserver
Hiện nay ở Việt Nam, MapServer được sử dụng khá phổ biến, MapServer có
tính năng hỗ trợ nhiều ngôn ngữ lập trình như.Net, PHP, và có thể thao tác với nhiều
loại cơ sở dữ liệu khác nhau, Nhiều công ty phần mềm ở Việt Nam đã lựa chọn
MapServer làm công cụ phát triển. So với các giải pháp khác, giải pháp sử dụng phần
mềm mã nguồn mở MapServer được sử dụng rỗng rãi hơn, và đặc biệt, có rất nhiều tài
liệu nghiên cứu về giải pháp này, chính vì thế trong luận văn này tôi đi sâu vào nghiên
cứu về giải pháp sử dụng phần mềm mã nguồn mở Mapserver.
35
MapServer là phần mềm mã nguồn mở cho phép tạo các bản đồ động và trình
bày dữ liệu không gian trên Web. Đây là sản phẩm của trường đại học Minnesota
(University of Minnesota - UMN) trong dự án kết hợp giữa NASA và bộ tài nguyên
Minnesota.[12].
MapServer có thể hoạt động ở hai chế độ CGI và API. Ở chế độ CGI, các chức
năng của MapServer trong môi trường WebServer là CGI MapScript. Đây là cách thức
dễ dàng để khởi tạo và phát triển một ứng dụng. Ở chế độ API, có thể truy cập
MapServer bằng PHP, Perl hoặc Python, chế độ này cho phép xây dựng các ứng dụng
uyển chuyển, giàu các chức năng và có khả năng truy cập các cơ sở dữ liệu mở rộng
khác.
MapServer hoạt động dựa vào các mẫu là chính. Trước khi thực thi yêu cầu của
web, MapServer đọc tệp tin cấu hình (mapfile) mô tả các lớp và các thành phần khác
của bản đồ. Nó sẽ vẽ và lưu lại bản đồ. Tiếp theo, nó sẽ đọc một hoặc nhiều tệp tin
mẫu HTML mà nó nhận diện trong tệp tin cấu hình. Mỗi tệp tin mẫu sẽ chứa đựng các
thẻ (tags) HTML và các chuỗi MapServer đặc biệt. Các chuỗi này sẽ được sử dụng, ví
dụ chuỗi chỉ đường dẫn để lưu ảnh bản đồ do Mapserver tạo ra, hoặc chuỗi dùng để
nhận diện các lớp nào sẽ được sắp xếp…MapServer thay thế các giá trị hiện tại vào
các các chuỗi này và gửi luồng dữ liệu về cho WebServer để WebServer tiếp tục
chuyển về cho trình duyệt. Khi có một yêu cầu mới phát sinh, MapServer sẽ nhận yêu
cầu từ WebServer với các giá trị mới và chu trình cứ thế tiếp diễn.
36
Sơ đồ hoạt động của Mapserver
Hình 10: Sơ đồ hoạt động của Mapserver
2.2.2 Thành phần và mô hình xử lý của Mapserver
a. Các thành phần của Mapserver
Ứng dụng Mapserver sử dụng chuẩn giao tiếp CGI để giao tiếp với các thành
phần và với HTTP Server, nên đôi khi ta gọi ứng dùng Mapserver là ứng dụng
Mapserver CGI. Do có mã nguồn mở nên cũng có những ứng dụng được biên dịch thể
có thể dùng mapscript truy xuất trực tiếp các hàm API của MapServer.
Ứng dụng Mapserver CGI sử dụng các tài nguyên như sau:
- Một HTTP Server như Apache hoặc IIS-Internet Information Server(Có vài
trò Web server).
- Phần mềm Mapserver(Vai trò WebGIS Application).
- File khởi tạo(initialization file) dùng để cấu hình và tùy biến các thông số của
ứng dùng Mapserver.
- Một file text được gọi là mapfile, điều khiển các tương tác với dữ liệu. Như
lấy dữ liệu gì, ở đâu, sắp xếp theo thứ tự như thế nào?..
- Một template file được dùng để định dạng kết quả được trình bày trên cửa sổ
trình duyệt.
37
- Tập dữ liệu GIS.
i. Initialization file(file khởi tạo).
Mapserver “không có trạng thái ” nghĩa là mỗi khi http server nhận yêu cầu từ
client thông qua URL thì http server sẽ gọi Mapserver và thực thi. Bằng cách sử dụng
file khởi tạo ta định nghĩa các tham số cơ bản cần thiết để mapserver có thể được thực
thi.
Thông qua chuỗi URL nhận được, sử dụng file khởi tạo này Mapserver biết
được các tham số cơ bản này. Các tham số này còn được Mapserver gửi trả kèm trong
kết quả cho phía client.
ii. Mapfile.
Mapfile định nghĩa dữ liệu sẽ được dùng như thế nào trong ứng dụng, cách hiển
thị và các tham số cho truy vấn. Mapfile có thể xem như là một file cấu hình cho ứng
dụng. Mapfile có thể bao gồm cả thông tin về vẽ bản đồ như thế nào, ghi chú trên bản
đồ ra sao và vẽ kết quả của câu truy vấn. Mapfile có phần mở rộng là.map.
iii. Template file.
Template file điều kiển các hình bản đồ và các ghi chú trả về bởi Mapserver sẽ
xuất hiện trên trang html. Cách làm của Mapserver như sau. Trước hết Mapserver đọc
từ file template này và nếu gặp các từ khóa hoặc các từ mẫu thì nó sẽ nó sẽ thay thế
các giá trị tương ứng lấy từ chuỗi kết quả trả về, cuối cùng file html này được gửi về
cho trình duyệt. Bởi vì template file sẽ được dùng để tạo ra một trang html nên thông
thường template file sẽ được lưu dưới dạng một trang html với phần mở rộng là.html.
iv. GIS Dataset.
Về dữ liệu Vector. Mapserver sử dụng shapefile làm định dạng dữ liệu mặc
định. Bên cạnh đó hầu hết các định dạng dữ liệu GIS phổ biến trên thê giới hiện nay.
Mapserver đều có thể hiểu và tương tác được. Như PostGIS, ArcGIS, MapInfo…và
nhiều định dạng khác.
38
b. Quy trình xử lý
Hình 11: Quy trình xử lý của Mapserver
Sai
Đúng
Tạo đối tượng bản đồ
Tính phạm vi bản đồ
Ccu: Thu nhỏ
Ccu: Phóng to
Ccu: Dịch chuyển
Ccu: Xác định
Ccu: Vẽ lại
Ccu: Truy vấn
Mặc định: Truy vấn
Tạo mới đối tượng
điểm từ điểm click
chuột
Công cụ=Xác
đinh
Lấy chỉ số
đối tượng
hình
Chọn công cụ
Tính phạm vi bản dồ
mới
Vẽ bản đồ
Truy vấn CSDL
Đếm số bản ghi
=0
=1
Hiển thị
bản ghi >1
Chọn 1 bản ghi
Hiển thị bản ghi
39
2.2.3 Tìm hiểu Mapfile
Mapfile được xem như file cấu hình cho ứng dụng dùng MapServer. Trong
phần này ta sẽ tìm hiểu về những đối tượng trong Mapfile, thiết lập các giá trị cho
chúng.
Trong Mapfile có nhiều đối tượng như MAP, PROJECTION, LAYER,
CLASS…mỗi đối tượng định nghĩa cách thức tạo nên ảnh bản đồ hoặc đối tượng để
MapServer truy xuất dữ liệu cho các câu truy vấn.
Ví dụ:
Hình 12: Mô hình đối tượng trong Mapfile
Trong hình vẽ minh họa trên, ảnh bản đồ (đối tượng MAP) là sự chồng xếp do
bốn layer tạo thành, trong đó có một layer sử dụng Raster (ảnh đồ họa) còn lại ba
layer được vẽ từ dữ liệu vectơ: polygon, line, Diễn giải…
Hình 13: Chồng xếp các Layer
Mỗi layer được vẽ, cần được chỉ ra nguồn dữ liệu (vectơ hay raster), hệ quy
chiếu cho mỗi layer...loại đối tượng được vẽ (line, label, polygon…). Tất cả được định
nghĩa trong từng đối tượng của mapfile.
40
a. Map Object(Đối tượng bản đồ)
Trong file MapFile thì MAP chính là đối tượng gốc,chứa trong nó các đối
tượng khác.
• CONFIG [key] [value]
Tham số này được dùng để định nghĩa vị trí đặt file EPSG dùng cho thư viện
PROJ.4 [X]). Giá trị [key] là PROJ_LIB và [value] là đường dẫn đến EPSG file. Tham
số ONFIG được thiết lập để tránh việc phải thiết lập biến môi trường PROJ_LIB đòi
hỏi quyền Admin.
Ví dụ:
CONFIG PROJ_LIB /tmp/proj/
• DEBUG [on|off]
Cho phép thực hiện debug trên các đối tượng map. Ngoài kết quả, MapServer
sẽ ghi các kết quả debug vào logfile nếu như logfile được chỉ ra trong tham số LOG
của đối tượng.
WEB.
• EXTENT [minx] [miny] [maxx] [maxy]
Không gian phạm vi của ảnh bản đồ được tạo ra. Nếu giá trị EXTENT không
được gán thì MapServer cũng có thể nội suy ra một giá trị từ dữ liệu và vị trí trung tâm
của ảnh bản đồ.
• FONTSET [filename]
Tập tin liệt kê danh sách các font được dùng. Định dạng rất đơn giản. Mỗi dòng
chứa hai thành phần: một bí danh và một là đường dẫn đến font được phân cách bằng
khoảng trắng. Alias đơn giản là tên mà ta dùng để chỉ font này trong mapfile. Các font
sử dụng được với MapServer là các True Font Type.
Ví dụ:
Hình 14: Danh sách font sử dụng
41
• IMAGECOLOR [r] [g] [b]
Màu được dùng làm background cho ảnh bản đồ. Khi mà thuộc tính
Transparency (trong suốt ) được chọn. thì màu này sẽ được đánh dấu như là màu trong
suốt trong bảng màu. Khi đó thành phần nào của ảnh bản đồ sử dụng màu này để vẽ
cũng trong suốt. Vì thế trong khi tạo ảnh bản đồ nếu chọn ảnh bản đồ trong suốt thì
nên chọn màu Imagecolor là màu không được dùng để vẽ các thành phần khác trên bản
đồ.
• IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]
Định dạng ảnh bản đồ được tạo ra.
• LAYER
Bắt đầu cho đối tượng LAYER.
• LEGEND
Bắt đầu cho đối tượng LEGEND.
• NAME [name]
Xác định tiền tố cho tên ảnh bản đồ, ảnh kích thước tỉ lệ, ghi chú được tạo ra từ
Mapfile này.
Ví dụ:
NAME VN_
Các ảnh bản đồ tạo ra sẽ có tiền tố là VN_ như VN_11197048662768.png,
VN_11197048992800.png, VN_1119719302224.png…
• PROJECTION
Bắt đầu cho đối tượng PROJECTION.
• QUERYMAP
Bắt đầu khai báo đối tựong QUERYMAP.
• REFERENCE
Bắt đầu đối tượng REFERENCE.
• RESOLUTION [int]
42
Định độ phân giải cho ảnh kết quả, độ phân giải sẽ ảnh hưởng đến việc tính toán tỉ lệ.
Mặc định là 72.
• SCALE [double]
Tính toán tỉ lệ của bản đồ.
• SHAPEPATH [filename]
Đường dẫn đến dữ liệu dạng vectơ.
• SIZE [x][y]
Kích thước theo đơn vị pixel của ảnh bản đồ.
• STATUS [on|off]
Trong mapfile ta có thể định nghĩa: ảnh bản đồ, thước tỉ lệ, ảnh tham chiếu
(dạng ảnh nhỏ toàn cục). STATUS cho phép ta lựa chọn có kích hoạt ảnh bản đồ
không? Nếu không được kích hoạt MapServer sẽ không tạo ra ảnh bản đồ khi sử dụng
mapfile này.
• SYMBOLSET [filename]
File name chứa tập hợp các biểu tượng được dùng trên bản đồ. Trên bản đồ, các
biểu tượng(symbol) được dùng để đánh dấu các đối tượng nhằm làm nổi bật và tăng
thêm ngữ nghĩa.
• SYMBOL
Dấu hiệu bắt đầu của đối tượng SYMBOL.
• TEMPLATEPATTERN [regular expression] và DATAPATTERN [regular
expression] Trong yêu cầu(request) được gởi lên từ trình duyệt gồm có 2 dạng tham số
là DATA và TEMPLATE. Như đã biết các tham số đều là các từ khóa được
MapServer quy định trước và thường khó nhớ. Tuy nhiên bằng cách sử dụng
TEMPLATEPATTERN và DATAPATTERN ta có thể định nghĩa một tên khác cho
các từ khóa này.
Ví dụ:
mapserv40?map=/data/projects/tutorial/example1-1.map&mode=map
Bằng cách sử dụng TEMPLATEPATTERN và DATAPATTERN với định nghĩa
43
anh_ban_do=map.
che_do_ban_do=mode
Ta có chuỗi URL dễ nhớ hơn
mapserv40?anh_ban_do=/data/projects/tutorial/example1-
1.map&che_do_ban_do=map
• TRANSPARENT [on|off]
Thiết lập nền trong suốt cho ảnh bản đồ hay không?Mặc định là off.
• UNITS [feet|inches|kilometers|meters|miles|dd]
Đơn vị của hệ tọa độ ảnh bản đồ. Được sử dụng cho thước tỉ lệ và các tính toán.
• WEB
Dấu hiệu bắt đầu đối tượng WEB.
b. Layer Object(Đối tượng lớp)
Đây chính là đối tượng được sử dụng nhiều nhất trong một MapFile, mỗi đối
tượng layer mô tả một layer được dùng để tạo ra ảnh bản đồ. Các layer được vẽ theo
thứ tự xuất hiện trong MapFile (layer đầu tiên ở dưới cùng,layer cuối dùng ở trên).
Hình 15: Thứ tự được vẽ các Layer
Các layer được vẽ ra còn được tính thêm thứ tự ưu tiên. Raster độ ưu tiên thấp
sẽ được vẽ trước và đặt ở phía dưới, tiếp đến là Vùng (Polygon), Đường (Line), Điểm
(Point) và Chú thích (Label). Thứ tự này đảm bảo các layer khi xếp chồng thì không
che khuất nhau.
• CLASS
44
Bắt đầu đối tượng CLASS. Trong các định dạng vectơ, mỗi Layer được vẽ lấy
dữ liệu từ một bảng dữ liệu. Mỗi bảng dữ liệu có nhiều trường thuộc tính, mỗi thuộc
tính được xem như một CLASS.
• CLASSITEM [attribute]
Ứng với tên của trường thuộc tính trong bảng dữ liệu, được định nghĩa trong
MapFile.
• CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]
Kiểu kết nối, mặc định là local. Kiểu kết nối OGR được dùng cho các loại dữ
liệu khác ngoài dữ liệu mặc định là shapfile của ESRI. Thực chất OGR là một thư viện
được viết bằng C++, hỗ trợ các kết nối nhiều loại dữ liệu như: MapInfo,Microstation
DGN, ArcInfo…
• CONNECTION [string]
Câu kết nối CSDL để nhận về dữ liệu đối với dữ liệu nằm trên các server hoặc
các hệ DBMS.
Ví dụ:
Câu kết nối đến SDE bao gồm hostname, instance name, database name,
username và password được phân cách bằng dấu phẩy.
Câu kết nối đến PostGIS có dạng “user=nobody password=*****
dbname=dbname host=localhost port=5432”.
Còn câu kết nối đến Oracle: user/pass[@db].
• DATA [filename]|[sde parameters][postgis table/column][oracle table/column]
Tên file đầy đủ của dữ liệu để xử lý. Đối với dữ liệu là shapefiles không cần chỉ
rõ phần mở rộng. Đường dẫn có thể là tuyệt đối hoặc tương đối so với giá trị được chỉ
ra bởi tham số SHAPEPATH của đối tượng MAP.
Nếu đây là một SDE layer, thì [sde parameters] cần bao gồm cả tên layer cũng
như cột dữ liệu địa lý ví dụ: "mylayer,shape". Nếu đây là một PostGIS layer,thì tham
số ở dạng “ from ". Với "columnname" là tên của trường
chứa đối tượng địa lý cần thể hiện và "tablename" là tên của bảng dữ liệu cần đọc. Đối
với Oracle, sử dụng “shape FROM table” hoặc là "shape FROM (SELEC statement)"
hoặc thậm chí có thể sử dụng các câu truy vấn phức tạp.
• DUMP [true|false]
Cho phép Mapserver trả dữ liệu về dưới định dạng GML.
• FILTER [string]
45
Tham số này cho phép định nghĩa điều kiện lọc dữ liệu. Đối với dữ liệu
shapfiles hoặc các loại dữ liệu được kết nối thông qua OGR, điều kiện lọc dữ liệu đơn
giản là một chuỗi điều kiện. Còn đối với các loại dữ liệu được trích xuất từ cơ sở dữ
liệu thông qua chuỗi kết nối thì điều kiện lọc chính là chuỗi mệnh đề SQL WHERE.
Ví dụ: FILTE "type='road' and size <2".
• FILTERITEM [attribute]
Trường dữ liệu dùng cho câu chuỗi lọc dữ liệu FILTER, chỉ dùng cho OGR và
shapefiles.
• MAXSCALE [double]
Tỉ lệ lớn nhất mà layer được vẽ
• METADATA
Được dùng với OGC WMS để định nghĩa nhiều thứ chẳng hạn như tiêu đề của
layer, hoặc được dùng để tạo ra các template linh động hơn. Những dữ liệu được đặt
trong Metadata sẽ được truy xuất thông qua các thẻ(tag) của tập tin template.
Ví dụ:
METADATA
title "Lớp địa hình "
author "Trung tâm bản đồ Việt Nam"
create date “1/2/1996”
END
• MINSCALE [double]
Tỉ lệ nhỏ nhất mà layer được vẽ.
• NAME [string]
Tên ngắn cho layer. Giới hạn trong khoảng 20 kí tự. Tên layer được dùng để
liên kết giữa giao diện web và mapfile. Ảnh bản đồ là kết quả của nhiều layer chồng
lắp lên nhau. Từ giao diện web có thể cho phép người dùng chọn lựa layer hiển thị.
Khi đó tên layer được chọn (trong source code) và tên layer được định nghĩa trong
mapfile phải là một để có thể hiển thị được. Tên layer nên là duy nhất, trừ khi có một
layer khác cùng tên nhưng khác tỉ lệ. Có thể sử dụng GROUP để nhóm các layer lại
với nhau.
• PROJECTION
Bắt đầu đối tượng PROJECTION
• STATUS [on|off|default]
46
Đặt trạng thái của layer. Nếu giá trị là default, layer luôn được vẽ ra. Thông
thường layer phụ có trạng thái là off, và để vẽ layer này ra ta có thể thêm vào chuỗi
URL tên layer này.
Ví dụ:
Chuỗi URL: …& layername=”dia hinh”& …
• TOLERANCEUNIT [double] và TOLERANCE [double]
Đối với trường hợp cần lấy thông tin đối tượng trên bản đồ, ta cần chỉ ra đối
tượng được chọn (thường là bằng cách click chuột). Tuy nhiên không phải khi nào
cũng có thể click chính xác vị trí của đối tượng trên bản đồ. TOLERANCE được dùng
để quy định phạm vi đối tượng thuộc về với tâm là vị trí click
chuột.TOLERANCEUNIT chỉ ra đơn vị của
TOLERANCE, mặc định TOLERANCEUNIT có giá trị là 3 pixel.
Ví dụ:
TOLERANCE 3
TOLERANCE 6
Khi người dùng click chuột lên bản đồ. MapServer xác định được vị trí click
chuôt là (X,Y), sau đó tìm kiếm trong cơ sở dữ liệu xác định có đối tượng nào trong có
vị trí trong hình tròn tâm (X,Y), bán kính là 6*3. Lưu ý là các giá trị đều được qui
chuyển về cùng một hệ toạ độ.
• TRANSPARENCY [integer|alpha]
Đặt mức độ trong suốt của layer. Giá trị có thể là số nguyên (0 - 100) hoặc là
giá trị hằng “ALPHA”. Mặc dù tham số này tên là mang nghĩa là trong suốt, nhưng giá
trị nguyên mới thật sự là giá trị độ mờ (sáng). Giá trị 0 là trong suốt hoàn toàn. Giá trị
hằng “ALPHA” được dùng khi ảnh bản đồ xuất ra dưới dạng RGB.
• TRANSFORM [true|false]
Báo cho MapServer chuyển từ hệ toạ độ địa lý sang hệ toạ độ đồ hoạ (ảnh đồ
hoạ ). Mặc định là True. Đối với hệ toạ độ đồ họa, gốc toạ độ luôn là điểm góc trái trên
của ảnh khác với các hệ toạ độ địa lý(mô tả thể giới thực).
• TYPE [point|line|polygon|circle|Diễn giải|raster|query]
47
Quy định các dữ liệu được vẽ ra. Không cần phải cùng loại với dữ liệu. Ví dụ:
các đối tượng polygon có thể được vẽ như là một tập các điểm, ngược lại một điểm
không thể vẽ như là tập các polygon.Việc chỉ ra TYPE là cần thiết bởi vì đôi khi một
file dữ liệu vectơ (shapefile ) không chỉ chứa đơn thuần một loại đối tượng, mà có thể
nhiều đối tượng. Giả sử có đối tượng Point và Polygon, chọn kiểu TYPE là polygon
thì các đối tượng kiểu Point sẽ không được vẽ. Query chỉ ra rằng layer được truy vấn
thông tin, không cần phải vẽ lại. Nếu giá trị là đường tròn(Circle) thì 2 điểm (thường là
một line) sẽ xác định hình chữ nhật chứa đường tròn.
c. Query Map Object (Đối tượng truy vấn bản đồ)
Định nghĩa cơ chế thực hiện câu lệnh truy vấn từ bản đồ.
• COLOR [r] [g] [b]
Khi xác định được đối tượng trên bản đồ, được chọn để truy vấn, MapServer sẽ
vẽ lại đối tượng này với màu là Color.
• SIZE [x][y]
Phạm vi thực hiện truy vấn, ngoài phạm vi này các đối tượng sẽ không được chọn để
truy vấn dữ liệu. Mặc định là kích thước của cả bản đồ, được quy định trong đối tượng
Map.
• STATUS [on|off]
Giá trị off thì sau khi thực hiện truy vấn, ảnh bản đồ sẽ không được vẽ lại.
• STYLE [normal|hilite|selected]
Qui định cách thức vẽ lại các đối tượng được chọn cho truy vấn, các đối tượng
khác vẫn được vẽ lại như bình thường. Normal: vẽ lại các đối tượng này bình thường
theo các giá trị thiết lập cho layer. Hilite: vẽ lại các đối tượng được chọn theo màu
COLOR. Selected: chỉ vẽ lại các đối tượng được chọn, các đối tượng khác không được
vẽ.
d. Projection Object(Phép chiếu)
Để thiết lập phép chiếu cần xác định một phép chiếu chung cho đối tượng Map,
và mỗi layer cũng cần chỉ ra một phép chiếu để vẽ các đối tượng trong layer đó. Đối
tượng phép chiếu bao gồm tập các từ khoá của PROJ.4 (thư viện các phép chiếu được
dùng hiện nay trên thế giới).
Ví dụ:
48
Phép chiếu UTM khu vực 15, NAD83:
PROJECTION
"proj=utm"
"ellps=GRS80"
"zone=15"
"north"
"no_defs"
END
Và phép chiếu địa lý
PROJECTION
"proj=latlong"
END
2.2.4 Xử lý kết nối các loại dữ liệu
Ảnh bản đồ được tạo từ nhiều layer, mỗi layer có thể được vẽ từ các loại dữ liệu
khác nhau lấy từ nhiều nguồn khác nhau. MapServer sử dụng các thư viện riêng cho
mỗi loại kết nối, hơn nữa với mã nguồn mở MapServer cho phép biên dịch thêm vào
các thư viện xử lý dữ liệu.
Ở đây ta chỉ tìm hiểu vể kết nối dữ liệu Raster.
a Kết nối dữ liệu Raster
• Biên dịch thư viện GDAL trên môi trường Window
GDAL có thể được biên dịch trên môi trường Windows sử dụng MS V++6.x và
MS Visual Studio.NET (C++) dưới dạng command line theo các bước sau đây:
i. Chạy file VCVAR32.BAT từ dòng lệnh command line.VCVAR32.BAT là
tập tin khởi tạo môi trường Microsoft Studio, đi kèm với trình biên dịch.
ii. Khi môi trường cài đặt đã được thiết lập, chuyển đến thư mục chứa thư viện
GDAL,và thực hiện dòng lệnh sau:
C:\GDAL> nmake /f makefile.vc
iii. Khi quá trình xây dựng hoàn thành,sử dụng makefile cào đặt các files cần
thiết để cho thư viện GDAL. Cần thiết lập lại đường dẫn cho BINDIR,DATADIR
49
trong nmake.opt. Với BINDIR là thư mục chứa các file exe, dll tạo ra khi biên dịch với
dòng lệnh dưới đây,DATADIR thư mục chứa các file cần thiết cho GDAL.
C:\GDAL> nmake /f makefile.vc install
• Khai báo layer dùng dữ liệu Raster
Để sử dụng ảnh raster như một layer, cần phải khai báo một đối tượng layer
trong Mapfile và xác định các tham số kèm theo. Đơn giản nhất chỉ cần khai báo ví dụ
như sau:
LAYER
NAME "Dia_hinh"
DATA "DiahinhVN.tif"
TYPE RASTER
STATUS ON
END
Trong đó DATA chỉ ra đường dẫn file ảnh raster,có thể là đường dẫn tuyêt đối
hoặc là tương đối theo SHAPEPATH khai báo trong đối tượng Map. Ngoài các tham
số như trên một đối tượng layer dạng raster còn có thể có thêm thông tin
PROJECTION, METADATA, PROCESSING, MINSCALE, và MAXSCALE.
• Chọn lọc dữ liệu Raster
Dữ liệu Raster dưới dạng các pixel (điểm ảnh) do đó để lọc dữ liệu cần dựa vào
giá trị của các pixel, hoặc dựa theo bảng màu giá trị của pixel theo bộ ba giá trị
([“red”], [“green”],[“blue”]). Khai báo chọn lọc dữ liệu raster như ví dụ sau:
Ví dụ:
LAYER
NAME "Quan huyen"
STATUS ON
DATA "Districts.shp"
TYPE POLYGON
CLASSITEM "DISTRICTNA"
LABELITEM "DISTRICTNA"
MAXSCALE 2000000
50
#MINSCALE 49000
TRANSPARENCY 30
CLASS
EXPRESSION /Ba Dinh/
STYLE
COLOR 200 255 255
OUTLINECOLOR 110 110 110
END
LABEL
ANGLE AUTO
COLOR 115 0 0
FONT "vntimei"
TYPE truetype
SIZE 12
POSITION Cc
PARTIALS false
BUFFER 30
END
END
CLASS
EXPRESSION /Hoan Kiem/
STYLE
COLOR 252 210 241
OUTLINECOLOR 110 110 110
END
LABEL
ANGLE AUTO
COLOR 115 0 0
FONT "vntimei"
#OUTLINECOLOR 255 255 255
51
TYPE truetype
SIZE 12
POSITION Cc
PARTIALS false
BUFFER 30
END
END
Việc chọn lọc dữ liệu thường được tiến hành như sau: đọc và phân loại trước
các giá trị pixel vào một bảng gọi là bảng tìm kiếm, khi đó các pixel có giá trị lân cận
được xếp gần nhau. Cuối cùng là khi vẽ sẽ đọc được từng nhóm pixel từ bảng tìm
kiếm dựa vào các chọn lọc dữ liệu trong định nghĩa các class của đối tượng layer.
Cách làm việc như thế này nhanh hơn so với việc đọc và so sánh giá trị từng pixel một
của ảnh raster thường lên đến hàng triệu pixel.
Tuy nhiên việc lọc dữ liệu pixel chỉ có thể tiến hành tốt trên các loại raster dạng
8bit (giá trị pixel thuộc 0-255) còn đối với các ảnh raster dạng khác như 16 bit (0-
65535) cần định nghĩa thêm giá trị cho tham số PROCESSING để quy định phạm vi
chọn lọc các pixel.
52
CHƯƠNG 3: XÂY DỰNG WEBSITE BẢN ĐỒ TRỰC
TUYẾN VỀ CÁC ĐỊA ĐIỂM DU LỊCH TRÊN
THÀNH PHỐ HÀ NỘI
3.1 Phân tích
3.1.1 Hiện trạng và nhu cầu của thông tin
Qua quá trình khảo sát các trang web cung cấp thông tin về du lịch, đa số các
thông tin về du lịch mà người đi du lịch cần biết là các thông tin về vị trí địa lý của các
địa điểm du lịch, các danh lam thắng cảnh, làng quê, làng nghề, điều kiện tự nhiên xã
hội, lịch sử văn hóa, các lễ hội, các địa điểm mua sắm, vui chơi, giải trí, nhà hàng,
khách sạn, bệnh viện, bến xe, bảo tàng, thư viện, các công ty lữ hành, các dịch vụ du
lịch do các công ty lữ hành cung cấp. Ngoài ra, còn có các thông tin về thời tiết, tỷ giá
hối đoái, chương trình truyền hình địa phương …
Việc tìm kiếm thông tin về một đối tượng thường dựa vào tiêu chí tên đối tượng
là chính, ngoài ra còn dựa vào địa chỉ, số điện thoại...
Ở nước ta, thành phố Hà Nội là một thành phố phát triển, là thủ đô trung tâm
của cả nước, Hà nội cũng là một thành phố có truyền thống lịch sử văn hóa lâu đời, ở
đây có rất nhiều các địa điểm du lịch như bảo tàng, di tích văn hóa, ẩm thực, hàng năm
Hà Nội đón hàng triệu lượt khách du lịch đến thăm quan, vì thế nhu cầu thông tin về
các địa điểm du lịch ở Hà Nội luôn được khách du lịch quan tâm. Từ ý tưởng đó trong
đề tài này, tôi quyết định xây dựng ứng dụng bản đồ trực tuyến nhằm phục phụ nhu
cầu du lịch thành phố Hà Nội.
3.1.2 Phân tích hệ thống và định hướng công nghệ
Từ nhiều năm nay, dữ liệu GIS đã được các cơ quan thu thập, lưu trữ và xây
dựng thành các hệ thống GIS. Trong tương lai, dữ liệu sẽ được chia sẻ để dùng chung
dưới dạng các dịch vụ cung cấp bản đồ và dữ liệu. Người dùng có thể kết nối đến các
máy chủ cung cấp các dịch vụ bản đồ và dữ liệu này để tích hợp thành bản đồ mong
muốn. Vì thế, việc xây dựng ứng dụng công nghệ GIS trên nền Web phục vụ du lịch sẽ
nhắm vào việc tích hợp các nguồn dữ liệu này. Hệ thống trong phạm vi đề tài sẽ tiến
hành giả lập các máy chủ cung cấp dữ liệu dưới định dạng thống nhất, đồng thời xây
dựng ứng dụng truy cập, tích hợp dữ liệu từ các máy chủ này để tạo bản đồ du lịch
53
cung cấp cho người dùng. Đồng thời, ngôn ngữ ASP.NET được sử dụng để phát triển
các công cụ và với cơ sở dữ liệu Microsoft SQL 2000 được dùng để lưu dữ liệu thuộc
tính, Shape file dùng để lưu trữ các thuộc tính không gian của đối tượng.
3.2 Thiết kế
3.2.1 Thiết kế kiến trúc
Hệ thống được thiết kế với 3 tầng khác nhau như sau:
Hình 16: Mô hình 3 tầng trong thiết kế kiến trúc
Công nghệ GIS trên nền web phục vụ du lịch nhắm đến người sử dụng là những
người truy cập web bình thường, không đòi hỏi có kiến thức nhiều về lĩnh vực GIS. Vì
thế, hệ thống được xây dựng dựa trên kiến trúc Client – Server.
¾ Tầng client: được xây dựng bằng Javascirpt, HTML và DHTML, thực hiện
nhiệm vụ xử l ý các thao tác, lưu trữ thông tin ứng với từng người sử dụng, đảm
nhận vai trò trung gian, truyền nhận dữ liệu, giữa người sử dụng với web server.
¾ Tầng ứng dụng: chia làm 2 thành phần: WebForm và MapServer. Cả 2 đều
được phát triển dựa trên công nghệ.NET (ASP.NET và VB.NET)
- WebForm: đảm nhận trách nhiệm phát sinh giao diện và các đoạn script để
tương tác với client, đóng vai trò trung gian giữa client và MapServer, nó sẽ
gởi yêu cầu của client tới MapServer và nhận dữ liệu trả về để gởi ngược
cho client.
54
- MapServer: xử lý các thao tác về phát sinh bản đồ, phóng to, thu nhỏ,dịch
chuyển, tra cứu thông tin trên bản đồ. Nó là thành phần trung gian giữa
WebForm và tầng cơ sở dữ liệu, tiếp nhận yêu cầu từ WebForm rồi gọi
xuống tầng cơ sở dữ liệu để rút trích thông tin sau đó tiến hành xử lý rồi trả
kết quả về cho WebForm.
¾ Tầng cơ sở dữ liệu: đóng vai trò trung gian giữa tầng ứng dụng với cơ sở dữ liệu.
3.2.2 Thiết kế cơ sở dữ liệu
a. Phân tích
Trong một cơ sở dữ liệu GIS thường bao gồm các lớp dữ liệu. Trong mỗi lớp
dữ liệu bao gồm dữ liệu không gian và thuộc tính. Cơ sở dữ liệu phục vụ du lịch sẽ có
các lớp không gian và thuần thuộc tính sau:
Các thực thể và các thuộc tính liên quan cần lưu trữ
(1) Quận/ huyện: Lưu trữ các thuộc tính tên quận/ huyện, dạng hình học của quận/ huyện.
(2) Phường/ xã: Lưu trữ các thuộc tính tên phường/ xã, dạng hình học của phường/xã.
(3) Đường giao thông: Lưu trữ các thuộc tính tên đường giao thông.
(4) Danh lam thắng cảnh: Lưu trữ các thuộc tính tên danh lam thắng cảnh, địa chỉ, điện
thoại, fax, email, website, mô tả vắn tắt, mô tả chi tiết, vị trí, hình ảnh, trích từ nguồn.
(5) Di tích: Lưu trữ các thuộc tính tên di tích, địa chỉ, điện thoại, fax, email, website,
mô tả vắn tắt, mô tả chi tiết, hình ảnh, trích từ nguồn.
(6) Nhà hàng: Lưu trữ các thuộc tính tên nhà hàng, địa chỉ, điện thoại, fax, email,
website, mô tả vắn tắt, mô tả chi tiết, vị trí, hình ảnh, ngày cập nhật, trích từ nguồn.
(7) Khách sạn: Lưu trữ các thuộc tính tên khách sạn, địa chỉ, điện thoại, fax, email,
website, mô tả vắn tắt, mô tả chi tiết, vị trí, hình ảnh, ngày cập nhật, trích từ nguồn.
(8) Bảo tàng: Lưu trữ các thuộc tính tên bảo tàng, địa chỉ, điện thoại, fax, email,
website, mô tả vắn tắt, mô tả chi tiết, loại, hình ảnh, ngày cập nhật, trích từ nguồn.
(9) Công ty lữ hành: Lưu trữ các thuộc tính tên công ty lữ hành, địa chỉ, điện thoại,
fax, email, website, mô tả vắn tắt, mô tả chi tiết, hình ảnh, trích từ nguồn.
55
Quan hệ giữa các thực thể
Hình 17: Quan hệ giữa thực thể Phường/Xã và Quận/Huyện
Mô tả: Một quận/ huyện có nhiều phường/xã, một phường/xã thuộc một
quận/huyện. Dạng hình học của phường/xã được biểu diễn dạng vùng (polygon). Dạng
hình học của quận/huyện được biểu diễn dạng vùng (polygon). Mối quan hệ giữa lớp
phường/xã và lớp quận/huyện là mối quan hệ 1- * (một - nhiều).
Hình 18: Quan hệ giữa thực thể Đường giao thông và Bảo tàng
Mô tả: Một đường giao thông có nhiều bảo tàng, một bảo tàng nằm trên một
đường giao thông. Dạng hình học của đường giao thông được biểu diễn dạng
đường(pointline). Dạng hình học của bảo tàng được biểu diễn dạng điểm (point). Mối
quan hệ giữa lớp bảo tàng và lớp đường giao thông là mối quan hệ 1- * ( một-nhiều).
Hình 19: Quan hệ giữa thực thể Đường giao thông và Khách sạn
Mô tả: Một đường giao thông có nhiều khách sạn, một khách sạn nằm trên một
đường giao thông. Mối quan hệ giữa lớp khách sạn và lớp đường giao thông là mối
quan hệ 1- * ( một-nhiều).
Hình 20: Quan hệ giữa thực thể Đường giao thông và Nhà hàng
Mô tả: Một đường giao thông có nhiều nhà hàng, một nhà hàng nằm trên một
đường giao thông. Mối quan hệ giữa lớp nhà hàng và lớp đường giao thông là mối
quan hệ 1- * ( một-nhiều).
PHUONGXA QUANHUYEN 1*
DUONGGIAO
THONG
BAOTANG 1*
DUONGGIAO
THONG
KHACHSAN 1*
DUONGGIAO
THONG
NHAHANG 1*
56
Hình 21: Quan hệ giữa thực thể Đường giao thông và Di tích danh lam
Mô tả: Một đường giao thông có nhiều di tích danh lam, một di tích danh lam
nằm trên một đường giao thông. Mối quan hệ giữa lớp di tích danh lam và lớp đường
giao thông là mối quan hệ 1- * ( một-nhiều).
Hình 22: Quan hệ giữa thực thể Đường giao thông và Công ty lữ hành
Mô tả: Một đường giao thông có nhiều công ty lữ hành, một công ty lữ hành
nằm trên một đường giao thông. Mối quan hệ giữa lớp công ty lữ hành và lớp đường
giao thông là mối quan hệ 1- * ( một-nhiều).
Hình 23: Quan hệ giữa thực thể Quận/Huyện và Bảo tàng
Mô tả: Một quận/huyện có nhiều bảo tàng, một bảo tàng nằm trên một
quận/huyện. Mối quan hệ giữa lớp bảo tàng và lớp quận/huyện là mối quan hệ 1- * (
một-nhiều).
Hình 24: Quan hệ giữa thực thể Quận/Huyện và Khách sạn
Mô tả: Một quận/huyện có nhiều khách sạn, một khách sạn nằm trên một
quận/huyện. Mối quan hệ giữa lớp khách sạn và lớp quận/huyện là mối quan hệ 1- * (
một-nhiều).
Hình 25: Quan hệ giữa thực thể Quận/Huyện và Nhà hàng
DUONGGIAO
THONG
DITICHDANHLAM 1*
QUANHUYEN BAOTANG 1*
QUANHUYEN NHAHANG 1*
QUANHUYEN KHACHSAN 1*
DUONGGIAO
THONG
CONGTYLUHANH 1*
57
Mô tả: Một quận/huyện có nhiều nhà hàng, một nhà hàng nằm trên một
quận/huyện. Mối quan hệ giữa lớp nhà hàng và lớp quận/huyện là mối quan hệ 1- * (
một-nhiều).
Hình 26: Quan hệ giữa thực thể Quận/Huyện và Công ty lữ hành
Mô tả: Một quận/huyện có nhiều công ty lữ hành, một công ty lữ hành nằm trên
một quận/huyện. Mối quan hệ giữa lớp công ty lữ hành và lớp quận/huyện là mối quan
hệ 1- * ( một-nhiều).
.
Hình 27: Quan hệ giữa thực thể Phường/Xã và Bảo tàng
Mô tả: Một phường/xã có nhiều bảo tàng, một bảo tàng trên một phường/xã.
Mối quan hệ giữa lớp bảo tàng và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).
.
Hình 28: Quan hệ giữa thực thể Phường/Xã và Khách sạn
Mô tả: Một phường/xã có nhiều khách sạn, một khách sạn trên một phường/xã.
Mối quan hệ giữa lớp khách sạn và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).
.
Hình 29: Quan hệ giữa thực thể Phường/Xã và Nhà hàng
Mô tả: Một phường/xã có nhiều nhà hàng, một nhà hàng trên một phường/xã.
Mối quan hệ giữa lớp nhà hàng và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).
.
Hình 30: Quan hệ giữa thực thể Phường/Xã và Di tích danh lam
PHUONGXA DITICHDANHLAM 1*
QUANHUYEN CONGTYLUHANH 1*
PHUONGXA KHACHSAN 1*
PHUONGXA NHAHANG 1*
PHUONGXA BAOTANG 1*
58
Mô tả: Một phường/xã có nhiều dic tích danh lam, một di tích danh lam trên
một phường/xã. Mối quan hệ giữa lớp di tích danh lam và lớp phường/xã là mối quan
hệ 1- * ( một-nhiều).
Hình 31: Quan hệ giữa thực thể Phường/Xã và Công ty lữ hành
Mô tả: Một phường/xã có nhiều công ty lữ hành, một công ty lữ hành trên một
phường/xã. Mối quan hệ giữa lớp công ty lữ hành và lớp phường/xã là mối quan hệ 1-
* ( một-nhiều).
b. Thiết kế
Cơ sở dữ liệu được thiết kế theo kiến trúc đối ngẫu: phần không gian được cài
đặt trong các lớp dữ liệu ở định dạng Shapefile, phần thuộc tính được cài đặt trong cơ
sở dữ liệu SQL 2000. Các thực thể trong hai phần quan hệ với nhau thông qua mã
nhận dạng (ID).
Đặc điểm không gian của các lớp:
(1) QUAN (Quận): Polygon.
(2) PHUONG (Phường): Polygon.
(3) DUONGGIAOTHONG (Đường giao thông): PolyLine.
(4) BAOTANG (Bảo tàng): Point.
(5) CONGTYLUHANH (Công ty lữ hành): Point.
(6) DANHLAM (Danh lam thắng cảnh): Point.
(8) DITICH (Di tích): Point.
(9) KHACHSAN (Khách sạn): Point.
(10) NHAHANG (Nhà hàng): Point.
Lớp dữ liệu không gian.
Phần không gian được cài đặt trong các lớp dữ liệu dưới dạng Shape file. File
cấu hình HaNoi.map là file chứa các thông tin quy định về cách hiển thị các đối tượng
trên bản đồ như mầu sắc, đường nét, hình thể...
Lớp dữ liệu không gian chứa các thực thể là điểm du lịch bao gồm: Shape (lưu
dạng hình học của thực thể dạng Point ), ID (lưu mã nhận dạng thực thể), Loai(Loại
PHUONGXA CONGTYLUHANH 1*
59
thực thể tương ứng như bảo tàng, khác sạn…) TEN (lưu trữ tên đối tượng), tọa độ X,
tọa độ Y.
Bảng 2: Bảng lớp dữ liệu không gian
Tên
thuộc
tính
Diễn giải Loại giá trị
Kiểu
giá trị
Miền
giá trị
Chiều
dài Ghi chú
Shape Point B Blog
Định dạng
riêng của
ShapeFile
ID
Mã nhận
dạng
B
Numbe
r
>0 4
Loại Mã loại B
Numbe
r
>0 4
TEN
Tên thực
thể
B Text 100
X Tọa độ X K
Numbe
r
>0 20
Y Tọa độ Y K
Numbe
r
>0 20
… … … … … … …
Lớp dữ liệu phi không gian.
Ghi chú: B: Bắt buộc ; K: Không bắt buộc.
(1) QUANTRI (Quản trị).
Bảng 3: Chi tiết bảng Quản trị
Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị
Miền giá
trị
Chiều
dài
Quantri_id* Mã quản trị B Int >0 4
Tendangnhap Tên đăng nhập B Text 20
Matkhau Mật khẩu K Text 20
60
(2) BAOTANG(Bảo tàng).
Bảng 4: Chi tiết bảng bảo tàng
Tên thuộc
tính Diễn giải
Loại giá
trị Kiểu giá trị
Miền giá
trị
Chiều
dài
Baotang_id* Mã nhận dạng B Int >0 4
Ten Tên bảo tàng B Text 100
Sonha Số nhà K Text 30
DuongGiaoTh
ong_id Mã đường K Text 10
Phuong_id Mã phường K Text 7
Quan_id Mã quận K Text 5
Dienthoai Điện thoại K Text 14
Fax K Text 14
Email K Text 50
Soluoc Mô tả vắn tắt K Text 300
ChiTiet Mô tả chi tiết K Text
Hinhanh Dẫn hình ảnh K Text 100
Trichtunguon Trích từ nguồn K Text 100
(3)CONGTYLUHANH (Công ty lữ hành).
Bảng 5: Chi tiết bảng Công ty lữ hành
Tên thuộc tính Diễn giải Loại giá
trị
Kiểu giá
trị
Miền giá
trị
Chiều
dài
Congtyluhanh_id* Mã nhận dạng B Int >0 4
Ten Tên công ty B Text 100
Sonha Số nhà K Text 30
DuongGiaoThong_id Mã đường K Text 10
Phuong_id Mã phường K Text 7
Quan_id Mã quận K Text 5
Dienthoai Điện thoại K Text 14
Fax Fax K Text 14
Email Email K Text 50
Soluoc Mô tả vắn tắt K Text 300
ChiTiet Mô tả chi tiết K Text
Hinhanh Đường dẫn
hình ảnh
K Text 100
Trichtunguon Trích từ nguồn K Text 100
61
(4)DANHLAM (Danh lam).
Bảng 6: Chi tiết bảng Danh lam
Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị
Miền giá
trị
Chiều
dài
Danhlam_id* Mã nhận dạng B Int >0 4
Ten Tên danh lam B Text 100
Sonha Số nhà K Text 30
Duong
GiaoThong_id Mã đường K Text 10
Phuong_id Mã phường K Text 7
Quan_id Mã quận K Text 5
Dienthoai Điện thoại K Text 14
Fax K Text 14
Email K Text 50
Soluoc Mô tả vắn tắt K Text 300
ChiTiet Mô tả chi tiết K Text
Hinhanh Đường dẫn hình ảnh K Text 100
Trichtunguon Trích từ nguồn K Text 100
(5)KHACHSAN (Khách sạn).
Bảng 7: Chi tiết bảng khách sạn
Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị
Miền giá
trị
Chiều
dài
Khachsan_id* Mã nhận dạng B Int >0 4
Ten Tên khách sạn B Text 100
Sonha Số nhà K Text 30
DuongGiaoThong_id Mã đường K Text 10
Phuong_id Mã phường K Text 7
Quan_id Mã quận K Text 5
Dienthoai Điện thoại K Text 14
Fax K Text 14
Email K Text 50
Soluoc Mô tả vắn tắt K Text 300
ChiTiet Mô tả chi tiết K Text
Hinhanh Đường dẫn hình ảnh K Text 100
Trichtunguon Trích từ nguồn K Text 100
62
(6)NHAHANG (Nhà hàng).
Bảng 8: Chi tiết bảng Nhà hàng
Tên thuộc tính Diễn giải Loại giá trị
Kiểu giá
trị
Miền giá
trị
Chiều
dài
Nhahang_id* Mã nhận dạng B Int >0 4
Ten Tên nhà hàng B Text 100
Sonha Số nhà K Text 30
DuongGiaoThong_id Mã đường K Text 10
Phuong_id Mã phường K Text 7
Quan_id Mã quận K Text 5
Dienthoai Điện thoại K Text 14
Fax K Text 14
Email K Text 50
Soluoc Mô tả vắn tắt K Text 300
ChiTiet Mô tả chi tiết K Text
Hinhanh Đường dẫn hình ảnh K Text 100
Trichtunguon Trích từ nguồn K Text 100
(7)QUAN (Quận).
Bảng 9: Chi tiết bảng Quận
Tên thuộc tính Diễn giải Loại giá trị
Kiểu giá
trị
Miền giá
trị
Chiều
dài
Quan_id* Mã nhận dạng B Text 5
Ten Tên quận B Text 50
Dientich Diện tích K Float 10.2
(8)PHUONG (Phường).
Bảng 10: Chi tiết bảng Phường
Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị
Miền giá
trị
Chiều
dài
Phuong_id* Mã nhận dạng B Text 7
Quan_id Mã quận B Text 5
Ten Tên phường B Text 100
Dientich Diện tích K Float 10.2
63
(9)DUONGGIAOTHONG (Đường giao thông).
Bảng 11: Chi tiết bảng Đường giao thông
Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị
Miền giá
trị
Chiều
dài
Duonggiaothong_id* Mã nhận dạng B Int >0 10
Ten Tên đường B Text 100
Chieudai Chiều dài K Float 10.2
Chieurong Chiều rộng K Float 10.2
Hình 32: Lược đồ mô tả các thực thể và mối quan hệ giữa các thực thể
Lược đồ trên mô tả các thực thể và các quan hệ giữa các thực thể đã được phân
tích ở phần trên.
64
3.2.3 Thiết kế chức năng
a. Sơ đồ các chức năng chính
Hình 33: Sơ đồ các chức năng
b. Mô tả chức năng
Quản trị
(1.1) Đăng nhập: Chức năng này dùng để đăng nhập vào hệ thống. Chỉ có
người quản trị được cấp quyền mới được cho đăng nhập và xử lý dữ liệu. Để đăng
nhập, người đăng nhập cần phải nhập tên đăng nhập và mật khẩu.
(1.2) Quản lý và cập nhật dữ liệu: Sau khi đăng nhập, người quản trị sẽ sử dụng
chức năng này để cập nhật dữ liệu của website. Chức năng này cho phép xem danh
sách các đối tượng trong một lớp, cho phép thêm, xóa, sửa và cập nhật các đối tượng.
Người dùng
(2.1) Các công cụ tương tác với bản đồ:
(2.1.1) Phóng to: Phóng to bản đồ theo phạm vi hình chữ nhật do người dùng vẽ
trên bản đồ.
(1)
Quản trị
(1.1)
Đăng nhập
(1.2)
Quản lý và
cập nhật dữ
liệu
(2)
Người dùng
(2.1)
Tương tác
bản dồ
(2.1.1)
Phóng to
(2.1.2)
Thu nhỏ
(2.1.3)
Xem toàn phần
(2.1.4)
Dịch chuyển theo hướng
(2.1.5)
Xem thông tin
(2.2.1)
Tìm kiếm theo tiêu chí
nhập vào
(2.2.2)
Hiển thị kết quả
tìm kiếm
(2.2)
Tìm kiếm
65
(2.1.2) Thu nhỏ: Thu nhỏ bản đồ theo phạm vi hình chữ nhật do người dùng vẽ
trên bản đồ.
(2.1.3) Xem toàn phần: Vẽ mới bản đồ có phạm vi bao phủ các lớp.
(2.1.4) Dịch chuyển theo hướng: Dịch chuyển bản đồ theo các hướng (đông,
tây, nam, bắc, đông bắc, tây bắc, đông nam, tây nam).
(2.1.5) Xem thông tin: Xem thông tin chi tiết của một thực thể do người dùng
chọn trên bản đồ. Để xem thông tin, người dùng cần phải chọn lớp và chọn đối tượng
cần xem.
(2.2) Thao tác hiển thị thông tin các thực thể
(2.2.1) Xem thông tin: Xem thông tin mô tả của mỗi loại thưc thể, người dùng
chọn mỗi lớp thực thể bên danh sách bên trái, danh sách về các đối tượng thuộc một
loại thực thể sẽ được hiện lên với những thông tin cơ bản về mỗi đối tường đó.
(2.2.2) Xem thông tin chi tiết: Với mỗi thông tin chung đó người dùng chọn để
xem chi tiết thông tin về đối tượng đó.
(2.2) Tìm kiếm:
(2.2.1) Tìm kiếm theo tiêu chí nhập vào: Cho phép người dùng chọn lớp thực
thể và nhập các tiêu chí cần tìm để tìm các đối tượng. Kết quả tìm sẽ trả về danh sách
được mô tả sơ lược. Đồng thời cho phép người dùng chọn xem chi tiết từng đối tượng
trong danh sách kết quả.
66
3.2.4 Thiết kế giao diện
a. Sơ đồ quản trị
Hình 34: Sơ đồ quản trị
Sơ đồ web dành cho người quản trị bao gồm các trang: đăng nhập, quản trị các
chuyên đề (thêm, xóa, sửa từng chuyên đề).
Thêm Dữ liệu
Thêm dữ liệu căn cứ vào tọa độ (X, Y) mà người quản trị click trên bản đồ, tương
ứng với tọa độ (X,Y) đó người dùng sẽ bổ xung thông tin chi tiết cho đối tượng đó.
Xóa dữ liệu, Cập nhật dữ liệu
Trên bản đồ có chứa các điểm đó là các đối tượng người dùng có thể xóa hoặc
cập nhật thông tin cho đối tượng này bằng các click chuột vào đối tường đó. Thông tin
của đối tượng đó được hiện lên cho quản trị viên thao tác, có thể xóa đối tượng đó đi
hay cập nhật thông tin thuộc tính cho đối tượng đó.
67
b. Sơ đồ giao diện người dùng
Sơ đồ Web dành cho người dùng
Hình 35: Sơ đồ web dành cho người dùng
Trang chủ
Trang chủ Bản đồ Giới thiệu Hướng dẫn
Bảo tàng Khách sạn Di tích
Chi tiết
Bảo tàng
Chi tiết
Khách san
Chi tiết di
tích
Danh lam
Chi tiết
danh lam
Nhà hàng
Chi tiết
nhà hàng
Công ty lữ
hành
68
(1) Trang chủ:
HEADER(LOGO)
Giới thiệu | Sơ đồ | Hướng dẫn
Trang chủ
Bản đồ
Bảo tàng
Khách sạn
………
Giới thiệu
Liên kết web
Bottom
Tìm kiếm
Hình 36: Giao diện trang chủ
(2) Bảo tàng
HEADER(LOGO)
Trang chủ | Sơ đồ | Hướng dẫn
Bảng tàng
Tìm kiếm
Tiêu đề Chuyên đề
Hình ảnh Nội dung sơ lược ---Tên---
Chi tiết
Tiêu đề
Giới thiệu
Bản đồ
Bảo tang
Khách sạn
………
Hình ảnh Nội dung sơ lược
Liên kết web Chi tiết
Trang 1 2 3
Tìm
Bottom
Hình 37: Giao diện Danh sách bảo tàng
69
(3) Chi tiết bảo tàng
HEADER(LOGO)
Trang chủ | Sơ đồ | Hướng dẫn
Bảng tang
Tìm kiếm
Tiêu đề Chuyên đề
Hình ảnh Nội dung chi tiết ---Tên---
Chi tiết
Giới thiệu
Bản đồ
Bảo tang
Khách sạn
………
Liên kết web
Tìm
Bottom
Hình 38: Giao diện chi tiết bảng tàng
(4) Bản đồ
HEADER(LOGO)
Giới thiệu
Bản đồ
Bảo tang
Khách sạn
………
Liên kết web
Bản đồ
Chú giải
Bottom
Hình 39: Giao diện bản đồ
Các tin khác
Tin 1
Tin 2
Tin 3
Công cụ
70
Các giao diện cho các chuyên đề khác như khách sạn, nhà hàng… cũng tương
tự như giao diện về chuyên đề bảo tàng.
3.3 Xây dựng
3.3.1 Xây dựng máy chủ cung cấp dữ liệu
Hệ thống giả lập một máy chủ cung cấp dữ liệu, hệ quản trị cơ sở dữ liệu được
dùng là Hệ quản trị cơ sở dữ liệu Microsoft SQL 2000, server sẽ cung cấp dữ liệu về
quận, huyện, đường giao thông, bảo tàng, khách sạn....
Vị trí cụ thể của đối tượng sẽ được lưu vào một Mapfile với các thuộc tính, loại
đối tượng, các thông tin về đối tượng, tọa độ hiển thị trên bản đồ, một Mapfile chứa
các Layer là các Polygon và PointLine tương ứng với Quận(Huyện), Phường(Xã),
Đường giao thông của Hà Nội.
3.4 Cài đặt và thử nghiệm
Chương trình được cài đặt trên 2 máy trong mạng LAN. Hai máy được cài đặt
các trang ASP.NET để đảm nhiệm chức năng tích hơp dữ liệu và phân tích xử lý yêu
cầu(Application Server). Máy chủ Server được cài Hệ quản trị CSDL Microsoft SQL
2000, Mapfile chứa các thông tin về các lớp được lưu trữ trên máy chủ.
71
Kết quả thử nghiệm như sau:
Bảng 12: Kết quả kiểm thử
STT Tính năng Đánh giá
1 Hiển thị trang web bản đồ. Hiển thị chậm trong lần đầu tiên,
các lần sau tương đối nhanh.
2 Các thao tác phóng to, thu nhỏ,
xem toàn phần.
Thực hiện nhanh.
3 Các thao tác dịch chuyển theo
các hướng.
Thực hiện nhanh. Tuy nhiên, màn
hình hơi bị giật khi hiển thị.
4 Tìm kiếm thông tin thuộc tính. Thực hiện nhanh.
5 Xem đối tượng trên bản đồ. Thực hiện tốt. Tuy nhiên, cần phóng
to đến vị trí đối tượng khi người
dùng kích chuột để chọn.
72
KẾT LUẬN
1. Kết quả đạt được
Đề tài đã thực hiện được các nội dung sau:
- Nghiên cứu về công nghệ GIS trên nền web: cách thức hoạt động, phân loại và
các chiến lược phát triển.
- Tìm hiểu và ứng dụng các phần mềm mã nguồn mở vào việc xây dựng GIS trên
nền web: WebServer, MapServer, hệ quản trị cơ sở dữ liệu.
- Thiết kế và xây dựng bản đồ trực tuyến phục vụ nhu cầu du lịch Xây dựng máy
chủ cung cấp dịch vụ web. Website hiển thị trực quan, cung cấp thông tin và bản đồ
động cùng với các công cụ khai thác bản đồ tiện.
- Cài đặt và vận hành thử nghiệm thành công website trên mạng Intranet.
2. Hướng phát triển đề tài
Mặc dù đã thực hiện các nội dung cơ bản và xây dựng bản đồ trực tuyến vận hành
trên mạng Intranet. Tuy nhiên, để có thể hoàn thiện tốt hơn, đề tài cần nghiên cứu bổ
sung thêm các nội dung sau:
- Nghiên cứu ứng dụng công nghệ cải thiện tốc độ vào website như AJAX
(Asynchronous JavaScript and XML).
- Nghiên cứu các chế độ bảo mật khi đưa website lên Internet, giảm thiểu khả
năng bị hacker phá hoại.
- Phát triển thêm các chức năng hỗ trợ người dùng như tìm đường đi ngắn nhất
giữa hai điểm trên bản đồ …
73
PHỤ LỤC
Phụ lục 1: Một số giao diện người dùng người dùng
1 Giao diện trang chủ
74
2 Giao diện Bản đồ
3 Giao diện bản đồ phóng to
75
4. Giao diện bản đồ thu nhỏ
76
5 Giao diện Bảo tàng
77
6 Giao diện chi tiết Bảo tàng
78
7 Giao diện Công ty lữ hành
79
Phụ lục 2: Giao diện quản trị
1 Giao diện Đăng nhập hệ thống
2 Giao diện chính
80
3 Giao diện thêm một đối tượng
4 Giao diện Cập nhật, Xóa một đối tượng
81
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt
[1] Đặng văn Đức, Hệ thống thông tin địa lý. NXB Khoa học và Kỹ Thuật. Hà Nội, 2001.
[2] Lê Huỳnh, Lê Ngọc Nam. Bản đồ học chuyên đề. NXB Giáo dục. Hà Nội. 2001.
[3] Bùi Hữu Mạnh, Hướng dẫn sử dụng MapInfo Professional Version 7.0: xuất bản
tháng 1 năm 2006
[4] Nguyễn Trường Sinh, Hướng dẫn thiết kế trang web tương tác bằng JavaScript,
NXB Giáo Dục, 2001.
[5] Trương Công Thành, Trần Văn Tán. Nghiên cứu công nghệ WebGIS và xây dựng
trang Web dự báo thời tiết khu vực nam bộ. Luân văn tốt nghiệp đại học Khoa học tự
nhiên năm 2005.
[6] Ngọc Anh Thư, ASP.NET kỹ thuật và ứng dụng, 2001
[7] Trần Quốc Vương. Nghiên cứu WebGIS phục vụ du lịch. Luận văn thạc sĩ Đại học
Bách khoa Hồ Chí Minh 2006.
[8] Trung tâm công nghệ thông tin. Tập bài giảng “Một số khái niệm cơ bản về GIS”.
Trường Đại học mỏ và địa chất. Hà nội. 1996.
[9]Tài liệu GIS, giáo trình giảng dạy ArcGIS do Trung tâm công nghệ thông tin địa lý
biên soạn và cung cấp.
Tài liệu tiếng Anh
[10] Christian Wenz, JavaScript™ Phrasebook: Essential Code and Commands,
August 2006.
[11] Fritz Onion, Essential ASP.NET with Examples in C#, 2003.
Website
[12]
[13]
[14]
[15]
82
[16]
[17]
[18]
[19] MapInfo homepage,
[20] MapServer homepage,
[21] MapServer Projects ,
[22]
[23]
Các file đính kèm theo tài liệu này:
- Ứng dụng công nghệ GIS xây dưng bản đồ trực tuyến các địa điểm du lịch tại Thành Phố Hà Nội.pdf