Ứng dụng công nghệ webgis trong xây dựng và...

8
T¹p chÝ KTKT Má - §Þa chÊt, sè 43/7-2013, tr. 83-87 TRẮC ĐỊA (trang 83-87) NGHIÊN CỨU GIẢI PHÁP CHIA SẺ DỮ LIỆU ĐỊA LÝ TRÊN PHẦN MỀM MÃ NGUỒN MỞ GEOSERVER TRẦN VÂN ANH, Trường Đại học Mỏ - Địa chất MAI VĂN SỸ, Công ty Cổ phần tư vấn thiết kế công trình xây dựng Hải Phòng Tóm tắt: Nội dung bài báo đề cập đến vấn đề đưa dữ liệu thông tin địa lý lên mạng Internet. Các cơ sở dữ liệu đã được sửa chữa, biên tập có thể đưa lên trên Website để cho phép người dùng có thể tra cứu thông tin. Geoserver là một phần mềm mã nguồn mở nhằm mục đích hỗ trợ việc xử lý thông tin không gian địa lý với chất lượng cao và chia sẻ dữ liệu ở nhiều hình thức khác nhau trên Internet. Geosever được kỳ vọng sẽ trở thành một phương thức đơn giản để kết nối những nguồn thông tin có sẵn từ Google Map hay Yahoo map. Bằng việc kết hợp với OpenLayer, một công cụ sử dụng ngôn ngữ Javascript để lập trình làm tăng khả năng cho một trang Web chia sẻ dữ liệu thì Geosever trở nên mạnh và dễ sử dụng hơn. Ứng dụng hai phần mềm này chúng tôi đã đưa lên Website được tập hợp bản đồ về cơ sở dữ liệu địa lý khu vực thành phố Hà Nội. 1. Mở đầu Trong nhiều năm qua, hệ thông tin địa lý đã chứng tỏ được hiệu quả của nó trong việc hoạch định chính sách quản lý tài nguyên thiên nhiên, trong việc qui hoạch sử dụng đất…và có thể đưa các thông tin này lên web. Tuy nhiên các phần mềm hệ thông tin địa lý thương mại thường có giá thành cao và không phải sở, ban ngành nào cũng có đủ tiềm lực kinh tế để trang bị, vậy vấn đề được đặt ra là liệu có một phần mềm hay gói thư viện nào miễn phí và dễ sử dụng để ta có thể phát triển hay không? Những phần mềm như vậy cần phải có khả năng cung cấp cho chúng ta những chức năng để hiển thị, tương tác, tìm kiếm thông tin địa lý trên nền Web. Phần mềm mã nguồn mở Geoserver là một trong những giải pháp có thể đáp ứng được những yêu cầu đặt ra ở trên và có thể giúp chúng ta chia sẻ thông tin trên mạng internet [1]. 2. WebGIS và khả năng ứng dụng đưa cơ sở dữ liệu lên Internet bằng phần mềm mã nguồn mở Geoserver và OpenLayer 2.1. Sơ lược về WebGIS Cho đến nay, người ta đã đưa ra một s định nghĩa về WEBGIS, cụ thể: 83

Upload: others

Post on 03-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ứng dụng công nghệ webGIS trong xây dựng và …tapchi.humg.edu.vn/public/uploads/files/13._Tran_Van_Anh.doc · Web viewBài báo đã nghiên cứu một cách tương

T¹p chÝ KTKT Má - §Þa chÊt, sè 43/7-2013, tr. 83-87

TRẮC ĐỊA (trang 83-87)

NGHIÊN CỨU GIẢI PHÁP CHIA SẺ DỮ LIỆU ĐỊA LÝ TRÊN PHẦN MỀM MÃ NGUỒN MỞ GEOSERVER

TRẦN VÂN ANH, Trường Đại học Mỏ - Địa chấtMAI VĂN SỸ, Công ty Cổ phần tư vấn thiết kế công trình xây dựng Hải Phòng

Tóm tắt: Nội dung bài báo đề cập đến vấn đề đưa dữ liệu thông tin địa lý lên mạng Internet. Các cơ sở dữ liệu đã được sửa chữa, biên tập có thể đưa lên trên Website để cho phép người dùng có thể tra cứu thông tin. Geoserver là một phần mềm mã nguồn mở nhằm mục đích hỗ trợ việc xử lý thông tin không gian địa lý với chất lượng cao và chia sẻ dữ liệu ở nhiều hình thức khác nhau trên Internet. Geosever được kỳ vọng sẽ trở thành một phương thức đơn giản để kết nối những nguồn thông tin có sẵn từ Google Map hay Yahoo map. Bằng việc kết hợp với OpenLayer, một công cụ sử dụng ngôn ngữ Javascript để lập trình làm tăng khả năng cho một trang Web chia sẻ dữ liệu thì Geosever trở nên mạnh và dễ sử dụng hơn. Ứng dụng hai phần mềm này chúng tôi đã đưa lên Website được tập hợp bản đồ về cơ sở dữ liệu địa lý khu vực thành phố Hà Nội.

1. Mở đầuTrong nhiều năm qua, hệ thông tin địa lý đã

chứng tỏ được hiệu quả của nó trong việc hoạch định chính sách quản lý tài nguyên thiên nhiên, trong việc qui hoạch sử dụng đất…và có thể đưa các thông tin này lên web. Tuy nhiên các phần mềm hệ thông tin địa lý thương mại thường có giá thành cao và không phải sở, ban ngành nào cũng có đủ tiềm lực kinh tế để trang bị, vậy vấn đề được đặt ra là liệu có một phần mềm hay gói thư viện nào miễn phí và dễ sử dụng để ta có thể phát triển hay không? Những phần mềm như vậy cần phải có khả năng cung cấp cho chúng ta những chức năng để hiển thị, tương tác, tìm kiếm thông tin địa lý trên nền Web. Phần mềm mã nguồn mở Geoserver là một trong những giải pháp có thể đáp ứng được những yêu cầu đặt ra ở trên và có thể giúp chúng ta chia sẻ thông tin trên mạng internet [1]. 2. WebGIS và khả năng ứng dụng đưa cơ sở dữ liệu lên Internet bằng phần mềm mã nguồn mở Geoserver và OpenLayer2.1. Sơ lược về WebGIS

Cho đến nay, người ta đã đưa ra một sô định nghĩa về WEBGIS, cụ thể:

+ WebGIS là một hệ thông phức tạp cung cấp truy cập trên mạng với những chức năng như là copy hình ảnh, lưu trữ, hợp nhất dữ liệu, điều khiển và thao tác với dữ liệu, phân tích và hiển thị dữ liệu không gian (theo Harder 1998) [2].

+ WebGIS là hệ thông thông tin địa lý được phân bô thông qua hệ thông mạng máy tính phục vụ cho việc thông nhất, phổ biến, giao tiếp với các thông tin địa lý được hiển thị trên World Wide Web (Edward,2000,URL) [3].

Mô hình hoạt động của Web-GIS được thể hiện ở hình 2.1.2.2. Kiến trúc WebGIS

Dịch vụ web thông tin địa lý hay còn được gọi là WebGIS được xây dựng để cung cấp các dịch vụ về thông tin địa lý theo công nghệ web service. Chính vì thế nên bất cứ WebGIS nào cũng phải thỏa mãn kiến trúc ba tầng thông dụng của một ứng dụng web. Sau đó tùy thuộc vào từng loại công nghệ và các cách thức phát triển, mở rộng khác nhau mà WebGIS sẽ trở thành n tầng khác nhau. Kiến trúc 3 tầng của WebGIS được mô tả bao gồm tầng trình bày,

83

Page 2: Ứng dụng công nghệ webGIS trong xây dựng và …tapchi.humg.edu.vn/public/uploads/files/13._Tran_Van_Anh.doc · Web viewBài báo đã nghiên cứu một cách tương

tầng giao dịch và tầng dữ liệu được thể hiện trong hình 2.2

Hình 2.1. Mô hình hoạt động WebGIS

Hình 2.2 Mô hình 3 lớp trong kiến trúc WebGIS

Tầng trình bày: Thông thường chỉ là các trình duyệt Internet Explorer, Mozilla Firefox ... để mở các trang Web theo URL được định sẵn. Các ứng dụng client có thể là một Website, Applet, Flash,… được viết bằng các công nghệ theo chuẩn của World Wide Web. Các Client đôi khi cũng là một ứng dụng desktop tương tự như phần mềm MapInfo, ArcMap,…

Tầng giao dịch: thường được tích hợp trong một Webserver nào đó, ví dụ như Tomcat, Apache, Internet Information Server. Đó là một ứng dụng phía server nhiệm vụ chính của nó thường là tiếp nhận các yêu cầu từ client, lấy dữ liệu từ cơ sở dữ liệu theo yêu cầu client , trình bày dữ liệu theo cấu hình định sẵn hoặc theo yêu cầu của client và trả kết quả về theo yêu cầu. Tùy theo yêu cầu của client mà kết quả trả về khác nhau: có thể là một hình ảnh dạng bimap (jpeg, gif, png) hay dạng vector được mã

hóa như SVG, KML, GML,… Một khi dạng vector được trả về thì việc trình bày hình ảnh bản đồ được đảm nhiệm bởi Client, thậm chí client có thể xử lý một sô bài toán về không gian. Thông thường các response và request đều theo chuẩn HTTP POST hoặc GET.

Tầng dữ liệu: là nơi lưu trữ các dữ liệu địa lý bao gồm cả các dữ liệu không gian và phi không gian. Các dữ liệu này được quản trị bởi các hệ quản trị cơ sở dữ liệu như ORACLE, MS SQL SERVER, ESRI SDE, POSGRESQL,… hoặc là các file dữ liệu như shapefile, tab, XML,… Các dữ liệu này được thiết kế, cài đặt và xây dựng theo từng quy trình, từng quy mô bài toán ... mà lựa chọn hệ quản trị cơ sở dữ liệu phù hợp.2.3. Giới thiệu về GeoServer và OpenLayers2.3.1. Giới thiệu về GeoServer

Người sử dụng

Thông tin trả về

Yêu cầu

Web Server Nơi lưu dữ liệu

84

Trình duyệt Web

Yêu cầu

Ảnh, bản đồ

Máy chủ Web

Đưa yêu cầu về máy chứa BĐ

Máy chủ chứa bản đồ CSDL GIS

Page 3: Ứng dụng công nghệ webGIS trong xây dựng và …tapchi.humg.edu.vn/public/uploads/files/13._Tran_Van_Anh.doc · Web viewBài báo đã nghiên cứu một cách tương

GeoServer là phần mềm dịch vụ mã nguồn mở với mục đích kết nôi những thông tin địa lý có sẵn tới các trang Web địa lý sử dụng chuẩn mở. Được bắt đầu bởi một tổ chức phi lợi nhuận có tên The Open Planning Project (TOPP), nhằm mục đích hỗ trợ việc xử lý thông tin không gian địa lý với chất lượng cao, đơn giản trong sử dụng, là phần mềm mã nguồn mở nhằm cung cấp và chia sẻ dữ liệu. Được kỳ vọng sẽ trở thành một phương thức đơn giản để kết nôi những nguồn thông tin có sẵn từ Google Earth, NASA World Wind nhằm tạo ra các dịch vụ Webmap như Google Maps, Windows Live Local và Yahoo Maps.

GeoServer được viết bằng ngôn ngữ Java, cho phép người sử dụng chia sẻ và chỉnh sử dữ liệu không gian địa lý (geospatial data) [1].

- Là một dự án mang tính cộng đồng, GeoServer được phát triển, kiểm thử và hỗ trợ bởi nhiều nhóm đôi tượng và tổ chức khác nhau trên toàn thế giới. GeoServer là sự phôi hợp các chuẩn hoạt động của Open Geospatial Consortium (OGC), Dịch vụ bản đồ (WMS-Web Map Service), Web Feature Service (WFS). GeoServer là thành phần nền tảng của Geospatial Web.2.3.2. Giới thiệu về OpenLayers

- OpenLayers giúp cho việc đặt một bản đồ động bất kỳ vào một trang web thật là dễ dàng. Nó có thể hiển thị các ô bản đồ và đánh dấu tải từ bất kỳ nguồn nào. OpenLayers được phát triển cho việc sử dụng các thông tin địa lý của các loại dữ liệu.

- OpenLayers thuần là một thư viện JavaScript để hiển thị dữ liệu bản đồ trong các trình duyệt web mà không phụ thuộc phía máy chủ. OpenLayers thực hiện một JavaScript API để xây dựng nhiều ứng dụng dựa trên web địa lý, tương tự như bản đồ Google và MSN Virtual Earth API, với sự khác biệt quan trọng nhất [4].3. Ứng dụng hệ phần mềm mã nguồn mở Geoserver và OpenLayer để đưa cơ sở dữ liệu bản đồ Hà Nội lên mạng Internet.3.1. Xây dựng chương trình ứng dụng3.1.1 Yêu cầu hệ thống

Xây dựng hệ thông tin địa lý trên web cần đáp ứng các yêu cầu sau:

Chức năng hiển thị

Hiển thị toàn bộ tất cả các lớp bản đồ. Hiển thị các lớp bản đồ theo tùy chọn. Thay đổi tỉ lệ hiển thị bản đồ(phóng to,

thu nhỏ). Di chuyển khu vực hiển thị. Hiển thị thông tin về đôi tượng cụ thể.Chức năng tương tac Thực hiện việc tìm kiếm các dữ liệu phù

hợp với yêu cầu. Chỉnh sửa đôi tượng sẵn có thông tin về

màu sắc thông qua chuẩn bản đồ. 3.1.2 Thiết kế hệ thống

a. Kiến trúc hệ thốngHệ thông thiết kế với 3 tầng khác nhau như

sau: Tầng trình bày: được xây dựng bằng

Javascript, 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 hai thành phần là GeoServer và OpenLayer. Cả hai đều được phát triển dựa trên công nghệ Javascript

- GeoServer : Đưa dữ liệu thành dạng có thể đưa lên Web, xử lý các thao tác về bản đồ, phóng to, thu nhỏ,dịch chuyển, tra cứu thông tin trên bản đồ.

- OpenLayer: Giúp cho tập hợp bản đồ của ta có thể liên kết với bản đồ Google Map hoặc yahoo map. Ngoài ra OpenLayer có thể hỗ trợ tạo ra các công cụ có thể cập nhật dữ liệu ngay trên nền web từ những máy khách.

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.

Theo kiến trúc hệ thông được trình bày ở trên thì hai phần chính mà nhóm tác giả muôn đi sâu trình bày đó là “Tầng cơ sở dữ liệu” và “Tầng ứng dụng” 3.2. Cơ sở dữ liệu địa lý sử dụng

Dữ liệu địa lý sử dụng là dữ liệu tỉ lệ 1/50000 có phạm vi địa lý nằm ở khu vực Hà Nội.

Dữ liệu địa lý được cung cấp bởi phòng đo đạc bản đồ thuộc Bộ Tài nguyên và Môi trường. Dữ liệu gồm 6 lớp các lớp thông tin sau:

1) Ranh giới tỉnh, huyện, xã2) Thủy hệ

85

Page 4: Ứng dụng công nghệ webGIS trong xây dựng và …tapchi.humg.edu.vn/public/uploads/files/13._Tran_Van_Anh.doc · Web viewBài báo đã nghiên cứu một cách tương

3) Giao thông đường bộ4) Giao thông đường sắt5) Hệ thống cầu6) Trụ sở ủy ban

3.3. Ứng dung Geoserver và Openlayer để biên tập và đưa dữ liệu lên Web

Hình vẽ 3.1. Quy trình xây dựng Web MapĐể đưa được một tập hợp bản đồ lên Web,

chúng tôi muôn đưa ra một quy trình xây dựng theo cách đơn giản nhất. Dưới đây là hình vẽ mô tả quy trình sử dụng Geoserver và OpenLayer biên tập dữ liệu đưa lên Web.

Tạo mới 1 Workspace: Tạo Workspace giông như một thư mục chứa các nhóm lớp có tính chất giông nhau.

Tạo lớp dữ liệu là thủ tục tiếp theo giông như chúng ta khai báo ra tên của lớp dữ liệu sẽ được hiển thị trên Geoserver.

Khai bao cac thông số: Hệ tọa độ (hệ tọa độ khai báo trong Geoserver là hệ tọa độ của cở sở dữ liệu ban đầu), kiểu dữ liệu khi hiển thị trong Geoserver…

Viết code html để hiển thị bản đồLựa chọn sử dụng phần mềm phù hợp viết

code html kết hợp với việc sử dụng các hàm thư viện OpenLayers, chúng ta có thể hiển thị bản đồ được lưu trữ trong GeoServer lên bất kỳ một trang web nào.

Kết quả ta được một file có định dạng html. Hinh 3.2, 3-3 là một sô ví dụ về việc đưa dữ liệu vào trong một file của Openlayer.

Nguồn dữ liệu: Là những dạng format dữ liệu khác nhau mà Geoserver có thể nhận biết được. Đôi với Geoserver thì những loại dữ liệu sau có thể đọc trực tiếp là: Với raster : Arcgrid, Geotiff, Gtopo30, và một sô loại ảnh ghép. Đôi với dữ liệu vector: ESRI shape file, PosgreSQL…

Hình 3.2. Các lớp bản đồ khi hiển thị trên GeoServer

CSDL đã được xây dựng trên Desktop

Đưa CSDL lên GeoServer

- Tạo Workspace.- Chọn nguồn dữ liệu.- Tạo các lớp dữ liệu.- Khai báo các thông sô cho các lớp dữ liệu.

Viết code HTML, kết hợp với OpenLayer

Tọa độ hiển thị tại mỗi vị trí con trỏ

Ngày, tháng, năm hiển thị

Công cụ phóng to, thu nhỏ

86

Page 5: Ứng dụng công nghệ webGIS trong xây dựng và …tapchi.humg.edu.vn/public/uploads/files/13._Tran_Van_Anh.doc · Web viewBài báo đã nghiên cứu một cách tương

Hình vẽ 3.3. Giao diện bản đồ hiển thị với nền Google Satelite

4. Kết luậnBài báo đã nghiên cứu một cách tương đôi

toàn diện những vấn đề cơ bản có liên quan đến việc xây dựng WebGIS từ hệ thông phần mềm Geoserver có kết hợp với các thư viện javascript của OpenLayer phục vụ công bô, phát hành bản đồ trên Internet như: Cơ sở dữ liệu hệ thông tin địa lý, công nghệ phát hành bản đồ trên mạng.... Đặc biệt, đề tài đã thử nghiệm áp dụng có hiệu quả các kết quả nghiên cứu vào xây dựng cơ sở dữ liệu địa lý khu vực Hà Nội, phát hành trên internet và lập trình, chạy thử thành công trên WebSite. Mô hình này có thể áp dụng cho các loại dữ liệu bản đồ như Bản đồ địa hình, bản đồ

địa chính, bản đồ du lịch, và các loại bản đồ chuyên đề khác.

TÀI LIỆU THAM KHẢO[1]. http://www.geoserver.org[2]. Harder, Christian. 1998. Serving Maps on the Internet: geographic information on the world wide web. Redlands, CA: Environmental Systems Research Institute[3]. Edward Mac Gillavry, Cartographic aspects of WebGIS-software, Department of Cartography Utrecht University URL: http://cartography.geog.uu.nl/students/scripties.html[4]. http://openlayers.org

SUMMARYResearch about Geodata sharing by Open source software Geosever

Tran Van Anh, University of Mining and GeologyMai Van Sy, Hai Phong construction design and consultant joint stock company

The objective of the paper is exploiting the open source GIS softwares for uploading geospatial data to the Internet.The database which has been edited can be published on the website allows users to search information. Geoserver is a free and open source software that helps user manipulate data and connect some sources of data from Internet, such as: Google map or Yahoo Map. It enables to publish all kind of data as vector, raster, text... With supporting of OpenLayer, the Javascript library to programming for increassing of data sharing abilities. Using two these Open source software, we uploaded the Geo-database of Hanoi.

87

Các lớp dữ liệu nền

Các lớp dữ liệu chồng phủ