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

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.

pdf81 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4841 | Lượt tải: 5download
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:

  • pdfỨ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
Luận văn liên quan