Xây dựng dịch vụ bản đồ trực tuyến tuân theo chuẩn WMS dựa trên QGIS server và openlayer

64 663 0
Xây dựng dịch vụ bản đồ trực tuyến tuân theo chuẩn WMS dựa trên QGIS server và openlayer

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHÙNG THỊ MINH LÝ XÂY DỰNG DỊCH VỤ BẢN ĐỒ TRỰC TUYẾN TUÂN THEO CHUẨN WMS DỰA TRÊN QGIS SERVER VÀ OPENLAYERS LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHÙNG THỊ MINH LÝ XÂY DỰNG DỊCH VỤ BẢN ĐỒ TRỰC TUYẾN TUÂN THEO CHUẨN WMS DỰA TRÊN QGIS SERVER VÀ OPENLAYERS Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS TS NGUYỄN HẢI CHÂU HÀ NỘI – 2016 LỜI CAM ĐOAN Tôi xin cam đoan nội dung kết luận văn tốt nghiệp tự nghiên cứu dƣới hƣớng dẫn PGS.TS Nguyễn Hải Châu Trong toàn nội dung luận văn, nội dung đƣợc trình bày cá nhân đƣợc tổng hợp từ nhiều nguồn tài liệu khác Tất tài liệu tham khảo đƣợc trích dẫn rõ ràng phần cuối luận văn Tôi xin cam đoan lời thật Nếu sai xin hoàn toàn chịu trách nhiệm Hà Nội, ngày tháng năm Học viên Phùng Thị Minh Lý LỜI CẢM ƠN Tôi xin gửi lời cảm õn sâu sắc tới PGS.TS Nguyễn Hải Châu, ngýời ðã tận tình bảo kiến thức chuyên môn, phýõng pháp nghiên cứu khoa học ðồng thời gýõng mặt sống ðể học tập noi theo Tôi xin chân thành cảm õn thầy, cô giáo bạn bè trýờng Ðại học Công nghệ ðã cung cấp cho kiến thức bổ ích thời gian học tập trýờng Cuối xin gửi lời cảm õn tới gia ðình ðã ủng hộ ðýờng học tập nghiên cứu với nhiều khó khãn, vất vả Mặc dù ðã cố gắng trình làm luận vãn nhýng tránh khỏi thiếu sót, mong nhận ðýợc góp ý thầy cô bạn Hà Nội, ngày tháng năm Học viên Phùng Thị Minh Lý MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CHỮ VIẾT TẮT DANH MỤC HÌNH DANH MỤC BẢNG BIỂU MỞ ĐẦU Chƣơng 1: TỔNG QUAN VỀ GIS 10 1.1 Giới thiệu hệ thống thông tin địa lý 10 1.1.1 GIS gì? 10 1.1.2 Các thành phần GIS 11 1.1.3 Các đối tƣợng GIS 13 1.2 Dữ liệu sử dụng GIS 13 1.2.1 Các kiểu liệu địa lý 13 1.2.2 Các mô hình liệu 14 1.2.2.1 Mô hình liệu Raster 15 1.2.2.2 Mô hình liệu véc tơ 17 1.2.3 Ƣu nhƣợc điểm mô hình 19 1.3 Chức GIS 20 1.4 Kết luận 21 Chƣơng 2: GIỚI THIỆU VỀ WEB MAPPING, OPENLAYER, OGC VÀ CHUẨN WMS 22 2.1 Giới thiệu web mapping 22 2.1.1 Định nghĩa web mapping 22 2.1.2 Các kiểu web mapping 22 2.1.3 Các công nghệ web mapping 24 2.2 Open Geospatial Consortium - OGC 25 2.3 Web Mapping Service - WMS 26 2.3.1 Thế WMS 26 2.3.2 WMS làm việc nhƣ nào? 27 2.3.3 GetMap 28 2.3.4 GetCapabilities 31 2.3.5 GetFeatureInfo (optional Attribute) 32 2.4 Openlayer 33 2.5 So sánh OpenLayers với Google Map API 35 Chƣơng 3: CÁC CÔNG CỤ NGUỒN MỞ HỖ TRỢ ĐỂ XÂY DỰNG BẢN ĐỔ, BÀI TOÁN VÀ THỰC NGHIỆM 37 3.1 PostgreSQL 37 3.2 Postgis 39 3.3 QGIS 39 3.4 QGIS server 40 3.5 QGIS Web Client 41 3.6 Thực nghiệm 42 3.6.1 Sự cần thiết toán 42 3.6.2 Thiết kế chức đồ 42 3.6.3 Xây dựng liệu thực nghiệm 42 3.6.4 Cài đặt xây dựng chƣơng trình 43 3.6.4.1 Cài đặt PostgreSQL, PostGIS, QGIS server, QGIS web client 43 3.6.4.2 Xây dựng liệu phía server 46 3.6.5 Kịch chạy thực nghiệm 50 3.6.6 Kết hiển thị phía web client 55 3.7 Kết đạt đƣợc thực nghiệm 56 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 59 PHỤ LỤC 61 DANH MỤC CHỮ VIẾT TẮT Ký hiệu Diễn giải Tiếng Việt GIS Geographical Information System Hệ thống thông tin ðịa lý WMS Web Mapping Service Dịch vụ ðồ trực tuyến ATM Automatic Teller Machine Máy rút tiền tự ðộng OGC Open Geospatial Consortium Tổ chức không gian ðịa lý QGIS Quantum GIS Phần mềm mã nguồn mở DANH MỤC HÌNH Hình 1.1 Các thành phần GIS 12 Hình 1.2 Raster rời rạc 15 Hình 1.3 Raster liên tục 16 Hình 1.4 Dữ liệc vector điểm 17 Hình 1.5 Dữ liệc vector đƣờng 17 Hình 1.6 Dữ liệc vector đa giác 18 Hình 2.1 WMS làm việc nhƣ nào? 27 Hình 2.2 Cách hoạt động GetCapabilities GetMap 28 Hình 3.1 Dữ liệu điểm ATM trang vietcombank.com 44 Hình 3.2 Thành phần liệu QGIS-web-client 46 Hình 3.3 liệu ATM có tọa độ XY 49 Hình 3.4 chuyển đổi liệu sang tọa độ XY 49 Hình 3.5 Các điểm ATM đồ 50 Hình 3.6 Bảng liệu hành Tỉnh/ Thành Phố 51 Hình 3.7 Bảng liệu hành Quận/ Huyện 51 Hình 3.8 Bảng liệu hành Xã/ Phƣờng 51 Hình 3.9 Kết nối với sở liệu postgresql 52 Hình 3.10 Add layer vào QGIS 53 Hình 3.11 Lớp đồ Tỉnh, Thành Phố 53 Hình 3.12 Lớp đồ Huyện 54 Hình 3.13 Lớp đồ xã 54 Hình 3.14 Lớp đồ đƣờng 55 Hình 3.15 Đo diện tích vùng 56 Hình 3.16 Xem thông tin huyện 56 Hình 3.17 Xem thông tin đƣờng 57 Hình 3.18 Xem thông tin điểm đặt ATM 57 DANH MỤC BẢNG BIỂU Bảng 2.1 Các thông số yêu cầu GetMap 25 Bảng 2.2 Các thông số yêu cầu GetCapabilities 27 Bảng 2.3 Các thông số yêu cầu GetFeatureInfo 29 Bảng 3.1 Các kiểu liệu PostgreSQL 32 MỞ ĐẦU Tính cấp thiết ðề tài Công nghệ thông tin ngành khoa học ðang phát triển mạnh ðýợc áp dụng nhiều ngành khoa học khác, giúp cho ngýời xử lý công việc cách nhanh hõn, xác hõn hiệu hõn Trong nãm gần ðây hệ thống thông tin ðịa lý (GIS) ðã trở thành ngành khoa học ðýợc quan tâm nhiều lĩnh vực nghiên cứu ứng dụng khoa học kỹ thuật toàn cầu Ngày nay, xu ứng dụng ðồ số giúp nâng cao hiệu làm việc mà lại tiết kiệm nhiều công tác lýu trữ chia sẻ Hiện nay, hầu hết ngýời ðều sử dụng tài khoản ngân hàng ðể gửi, trả tiền giúp bạn sử dụng dịch vụ trực tuyến, rút tiền ðâu Do mà việc sử dụng thẻ ATM ðể rút tiền ngày phổ biến hõn Ðể rút gửi tiền bạn ngân hàng ATM ðể rút tiền Sự phổ biến ðồ số việc sử dụng công cụ lập ðồ kỹ thuật số ðã phát triển nhanh chóng nãm gần ðây Bản ðồ trực tuyến hiển thị chi tiết thông tin tọa ðộ, ðịa chỉ, ATM hệ thống ngân hàng Vietcombank Ðồng thời ðâu bạn dễ dàng sử dụng tra cứu cách trực quan Vì lý trên, học viên ðịnh chọn ðề tài “Xây dựng dịch vụ ðồ trực tuyến tuân theo chuẩn WMS dựa QGIS server OpenLayers” Với toán cụ thể xây dựng ðồ hiển thị ðiểm ATM ngân hàng Vietcombank Mục tiêu nhiệm vụ ðề tài Ðúc kết ðýợc vấn ðề lý thuyết cãn ðồ trực tuyến ðại, vấn ðề công nghệ liên quan quy trình xây dựng thành lập phát hành ðồ mạng Biết cách sử dụng công cụ nguồn mở ðể lập ðồ tuân theo chuẩn mở ðã có Hiểu ðýợc quy trình hoạt ðộng phía server client Mục đích luận văn 1- Nghiên cứu sở lý thuyết đồ trực tuyến kiến trúc, cách biểu diễn giới thực, phƣơng pháp để hiển thị liệu không gian, quy trình phát hành đồ trực tuyến 48 "status" : "OK" } - Với liệu trả nhƣ ta viết đoạn chƣơng trình đổi địa thành tọa độ XY (vĩ độ, kinh độ) Viết đoạn chƣơng trình (phụ lục) để lấy địa lat, lon Ghi liệu chuyển đổi file csv Dự liệu thu nhƣ hình 3.3 Hình 3.3 liệu ATM có tọa độ XY (lat, lon) Dùng QGIS desktop để chuyển đổi liệu csv dang sharpfile Trong QGIS desktop vào: Layer/add layer/add delimeted text layer Hình 3.4 chuyển đổi liệu sang tọa độ XY 49 Ta thu đƣợc liệu điểm ATM nhƣ hình 3.5 Hình 3.5 Các điểm ATM đồ Sau xuất liệu dạng sharp file để đẩy vào CSDL Dùng lệnh phg2psql để import lệu $ shp2pgsql -s 4326 -W LATIN1 vnm_adm0.shp|psql $ shp2pgsql -s 4326 -W LATIN1 vnm_adm1.shp|psql $ shp2pgsql -s 4326 -W LATIN1 vnm_adm2.shp|psql $ shp2pgsql -s 4326 -W LATIN1 vnm_adm3.shp|psql $ shp2pgsql -s 4326 -W LATIN1 vnm_adm4.shp|psql $ shp2pgsql -s 4326 -W LATIN1 roads.shp|psql $ shp2pgsql -s 4326 -W LATIN1 vietcombank.shp|psql Sau import liệu ta thu đƣợc bảng nhƣ sau 50 Hình 3.6 Bảng liệu hành Tỉnh/ Thành Phố Hình 3.7 Bảng liệu hành Quận/ Huyện Hình 3.8 Bảng liệu hành Xã/ Phƣờng 3.6.5 Kịch chạy thực nghiệm Sau xây dựng liệu import vào PostgreSQL Ta thực công việc sau để xây dựng đồ: - Tạo project QGIS - Kết nối liệu với PostgreSQL 51 - Biên tập liệu đồ QGIS desktop: chỉnh sửa nội dung hiển thị lên web, style lớp liệu theo dạng chuẩn đồ Hiển thị mô tả đối tƣợng đồi - Xuất liệu file qgs - Cấu hình web server để web trỏ qgis-web-client - Xem chi tiết thong tin đồ trình duyệt Tạo project QGIS Kết nối đến CSDL Hình 3.9 Kết nối với sở liệu postgresql 52 Hình 3.10 Add layer vào QGIS Hình 3.11 Lớp đồ Tỉnh, Thành Phố 53 Hình 3.12 Lớp đồ Huyện Hình 3.13 Lớp đồ xã 54 Hình 3.14 Lớp đồ đƣờng Lƣu project với tên Vietnam.qgs Chỉnh lại tỉ lệ zoom đồ phía client để xem chi tiết Mở file Qmap/client/site/js/GlobalOptions.js chỉnh lại theo nhƣ đoạn code sau: var MapOptions = { projection: new OpenLayers.Projection("EPSG:"+epsgcode), units: "degrees", units: "m", maxScale:250, minScale:8000000, fractionalZoom: true, transitionEffect:"resize", controls: [] }; var OverviewMapOptions = { projection: new OpenLayers.Projection("EPSG:"+epsgcode), units: "degrees", units: "m", maxScale:250, 55 minScale:8000000, transitionEffect:"resize" }; 3.6.6 Kết hiển thị phía web client Hình 3.15 Đo diện tích vùng Hình 3.16 Xem thông tin huyện 56 Hình 3.17 Xem thông tin đƣờng Hình 3.18 Xem thông tin điểm đặt ATM 3.7 Kết đạt đƣợc thực nghiệm Luận văn trình bày công nghệ số hóa đồ nhƣ WMS, OpenLayers, OGC Trình bày công nghệ nguồn mở hỗ trợ lập đồ: PostgreSQL, PostGIS, QGIS (server, desktop, web-client) Xây dựng dịch vụ đồ trực tuyến hỗ trợ hiển thị liệu điểm ATM ngân hàng Vietcombank bao gồm: Thu thập liệu ATM chuyển đổi 57 sang liệu số gắn liền với đồ Sản phẩm demo hoạt động đƣợc đáp ứng yêu cầu đề 58 KẾT LUẬN Luận văn giới thiệu tổng quan hệ thống thông tin địa lý, kiểu liệu mô hình liệu GIS Giới thiệu tổng quan chuẩn mở công nghệ số hóa đồ (WMS, OGC, OpenLayer) Các Layer sử dụng đồ Cách tiếp cận sử dụng công cụ nguồn mở để xây dựng đồ trực tuyến Thực nghiệm cho thấy ứng dụng đồ chạy hiển thị tốt trình duyệt, dễ dàng tìm kiếm hiển thị chi tiết thông tin lớp đồ Kết đạt đƣợc Qua thời gian tìm hiểu nghiên cứu, thu đƣợc kiến thức về: - Tổng quan GIS, WMS, OpenLayer chuẩn mở hỗ trợ việc lập đồ - Cách thực xây dựng đồ - Các công cụ phần mềm mã nguồn mở hỗ trợ việc lập đồ trực tuyến (Qgis Server, Qgis Client, Qgis Desktop, PostgreSQL, GoogleAPI) - Các kiểu liệu không gian, cách thao tác truy vấn liệu sở liệu PostgreSQL phần mở rộng PostGis - Có thể thu thập cập nhật liệu từ nguồn khác - Xây dựng dịch vụ đồ trực tuyến thu đƣợc kết Hƣớng phát triển Bản đồ đáp ứng yêu cầu hiển thị điểm ATM ngân hàng Vietcombank nhƣng liệu dạng đơn thuần, tỉ lệ xác đồ chƣa cao, chức đồ hạn chế Hƣớng nghiên cứu tối ƣu hóa độ xác tọa độ điểm ATM Hiển thị thêm hệ thống ATM ngân hàng khác, thêm chức tự động cập nhật liệu từ website ngân hàng 59 TÀI LIỆU THAM KHẢO Tiếng Việt Nguyễn Hồng Phƣơng, Đinh Văn Ƣu (2007), Hệ thống thông tin địa lý (GIS) số ứng dụng Hải Dương Học, NXB Đại học quốc gia Hà Nội, tr.10,11,14-16 Trần Thị Băng Tâm, Giáo trình hệ thống thông tin địa lý, trƣờng ĐH Nông Nghiệp Hà nội, tr.2, 8, 36-38 Nguyễn Cao Tùng (2014), Tài liệu tập huấn sử dụng QGIS bản, Hà Nội, tr 1-11, 61-63, 88 Đặng Văn Đức (2001), Hệ thông tin địa lý GIS, Nhà xuất Khoa học kỹ thuật Trần Thị Hƣơng (2015), Nghiên cứu giải pháp nâng cao tốc ðộ hiển thị liệu ðồ trực tuyến, Luận vãn Thạc sĩ, Trýờng Ðại học Công nghệ, Ðại học Quốc gia Hà Nội, tr.26,46 Phạm Hữu Ðức (2005), giáo trình Cõ Sở liệu hệ thông tin ðịa lý GIS, Ðại học kiến trúc hà Nội, tr 13-15, 35-39 Lê Bảo Tuấn, Bài giảng hệ thống thông tin ðịa lý, Khoa môi trýờng, ÐH Khoa Học, ÐH Huế, tr -20 Tiếng Anh Erik Hazzard (2011), OpenLayers 2.10, pp 8-10, 12, 105 REGINA O OBE, LEO S HSU (2011), PostGIS in action, pp 3, 33, 80 10 Bruce Momjian, Addison Wesley (2001), PostgreSQL Introduction and Concepts, pp 107-108 11 Karsten Vennemann, Open source tools for spatial analysis and geoprocessing on the desktop, pp 12 Paul Ramsey, Refractions Research (2007), Introduction to PostGis – Installation – tutorial exercises, pp 26-28 13 Regula Stooper, Ionut Iosifescu Enescu, Smuel Wiesmann, Olaf Schnabel (2012), Open Geospatial Consortium (OGC) and Web Services (WMS, WFS), pp 30-35 14 Scott Davis, The Pragmatic Bookshelf, Gis for web developers – Adding where to your web applications, pp 24-25 15 The PostgreSQL Global Development Group PostgreSQL 9.1.13 Documentation, pp 103-104, 109-110, 127-129 16 (2015), QGIS User Guide 2.8, pp 130-133 60 17 (2014), Quantum GIS (QGIS) Web Client, Installation and Configuration Guide, pp 18 PostGIS 2.0.1 manual, pp 74-76, 109-110 19 Sanjeev Kumar Srivastava (2012), Data models for creating (GIS) maps, pp 2-4 20 Jonathan E Campbell, Michael Shin, Geographic information system basics v 1.0, pp 34, 75-94 21 Audrey Randall (2014), Quantum GIS Tutorial for Science On a Sphere, pp 14, 37, 41 22 Geoffery J Meaden, Thang Do Chi (1996), Geographical information systems Applications to marine fisheries, Chapter 23 Regula Stopper, Ionut Iosifescu Enescu, Samuel Wiesmann, Olaf Schnabel (2012), Open Geospatial Consortium (OGC) and Web Services (WMS, WFS) Website 21 https://www.postgresql.org 22 http://www.postgis.net/ 23 http://www.opengeospatial.org/ 24 http://www.qgis.org 25 https://openlayers.org/ 61 PHỤ LỤC public void AnalyzeData(DataTable dt) { for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["addr"].ToString().Trim() == "1") break; string Url = "https://maps.googleapis.com/maps/api/geocode/json?address=" + dt.Rows[i]["addr"].ToString().Replace("\"", "") + "&key=AIzaSyDw_Kz2T6vZKvpMTTOSNhn4OQJJohSCl2I"; label1.Text = GetContentHTML(Url); lblID.Text = i.ToString(); this.Refresh(); if (label1.Text.IndexOf("\"status\" : \"OK\"") >= 0) { string[] strLat = { "\"lat\" : " }; string[] strLng = { "\"lng\" : " }; string[] strPlaceID = { "\"place_id\" : \"" }; string[] straddr = { "\"formatted_address\" : \"" }; string strContent = label1.Text.Substring(label1.Text.IndexOf("\"location\" :")); string[] aLat = strContent.Split(strLat, StringSplitOptions.None); dt.Rows[i]["GeoLat"] = aLat[1].Substring(0, aLat[1].IndexOf(",")); dt.Rows[i]["ELat"] = aLat[2].Substring(0, aLat[2].IndexOf(",")); dt.Rows[i]["SLat"] = aLat[3].Substring(0, aLat[3].IndexOf(",")); 62 string[] aLng = strContent.Split(strLng, StringSplitOptions.None); dt.Rows[i]["GeoLng"] = aLng[1].Substring(0, aLng[1].IndexOf("\n")); dt.Rows[i]["ELng"] = aLng[2].Substring(0, aLng[2].IndexOf("\n")); dt.Rows[i]["SLng"] = aLng[3].Substring(0, aLng[3].IndexOf("\n")); string[] aPlaceID = strContent.Split(strPlaceID, StringSplitOptions.None); dt.Rows[i]["PlaceID"] = aPlaceID[1].Substring(0, aPlaceID[1].IndexOf("\"")); string[] aAddr = label1.Text.Split(straddr, StringSplitOptions.None); dt.Rows[i]["address"] = aAddr[1].Substring(0, aAddr[1].IndexOf("\"")); } } WriteToCSV(dt); } ... QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHÙNG THỊ MINH LÝ XÂY DỰNG DỊCH VỤ BẢN ĐỒ TRỰC TUYẾN TUÂN THEO CHUẨN WMS DỰA TRÊN QGIS SERVER VÀ OPENLAYERS Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật... ðịnh chọn ðề tài Xây dựng dịch vụ ðồ trực tuyến tuân theo chuẩn WMS dựa QGIS server OpenLayers” Với toán cụ thể xây dựng ðồ hiển thị ðiểm ATM ngân hàng Vietcombank Mục tiêu nhiệm vụ ðề tài Ðúc kết... Phƣơng pháp xây dựng đồ trực tuyến mã nguồn mở sử dụng công cụ MapServer, CSDL không gian PostgreSQL, QGIS server, QGIS web client xây dựng quy trình công nghệ thành lập phát hành đồ trực tuyến Intemet

Ngày đăng: 03/03/2017, 09:47

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan