Một số WebServer phổ biến

Một phần của tài liệu Nghiên cứu giải pháp biểu diễn cơ sở dữ liệu địa chính trên nền web bằng một số công cụ mã nguồn mở (Trang 49 - 59)

STT WebServer Công ty sở hữu Tỷ lệ trang web sử dụng 1 Apache Apache 48.50%

2 nginx NGINX, Inc. 35.40%

3 IIS Microsoft 10.80% 4 LiteSpeed Web Server LiteSpeed Technologies 2.90% 5 GWS Google 1.10%

2.4 Ƣu điểm của công nghệ WebGIS mã nguồn mở

Khi tìm kiếm từ khóa GIS trên internet thì kết quả trả về sẽ cho thấy số lƣợng các ứng dụng thƣơng mại và mã nguồn mở là tƣơng đƣơng nhau. Ngày nay, các phần mềm mã nguồn mở rất đa dạng và đang ngày càng hoàn thiện, do đó nó ngày càng đƣợc sử dụng rộng rãi trong các công tác biên tập, biểu diễn, quản lý bản đồ. Bảng so sánh giữa các công cụ WebGIS thƣơng mại và mã nguồn mở (Rinaudo và nnk, 2007; Golhani và nnk, 2015).

Bảng 2.5: So sánh giữa WebGIS mã nguồn mở và WebGIS sử dụng các phần mềm thƣơng mại

Chỉ tiêu Thƣơng mại Mã nguồn mở

Bản

quyền Trả phí Miễn phí

Cập nhật

Phải trả phí cập nhật khoảng 20-30% phí bản quyền ban đầu,

thơng thƣờng mỗi năm một đợt cập nhật phiên bản mới

Miễn phí, cập nhật thƣờng xuyên

Sử dụng Dễ sử dụng

Khó sử dụng, giao diện thƣờng khơng thân thiện với

ngƣời dùng

Phát triển thêm

chức năng

Cho phép phát triển thêm các tính năng, nhƣng thƣờng bị hạn

chế

Khơng giới hạn, ngƣời dùng có thể chỉnh sửa, viết thêm mã

phần mềm tùy ý Khả năng hoạt động Khả năng xử lý dữ liệu mạnh mẽ, ổn định hơn Trong một số trƣờng hợp công cụ mã nguồn mở hoạt động

không ổn định, tuy nhiên nhƣợc điểm này đƣợc khắc phục dần qua các đợt cập nhật Nhƣ vậy, so với cơng cụ thƣơng mại thì các cơng cụ mã nguồn mở có ƣu điểm nổi bật nhất là hồn tồn miễn phí và ngƣời dùng có thể tùy chỉnh tùy ý để tạo ra các ứng dụng nhƣ ý muốn.

Phần mềm WebGIS thƣơng mại có một số nhƣợc điểm nhƣ: Chi phí cao, khó tích hợp với cơ sở hạ tầng cơng nghệ thơng tin hiện có, các chức năng xử lý

khơng gian chỉ bị giới hạn (không thể tùy chỉnh hoặc thêm bớt theo ý ngƣời dùng). Do đó, phần mềm mã nguồn mở có thể khắc phục các nhƣợc điểm này để hỗ trợ công tác phát triển các ứng dụng webGIS (Heda và Chikurde, 2016).

2.5 Tình hình nghiên cứu ứng dụng cơng nghệ WebGIS mã nguồn mở

WebGIS nói chung là xu hƣớng phổ biến thông tin mạnh mẽ trên internet khơng chỉ dƣới góc độ thơng tin thuộc tính thuần túy mà nó kết hợp đƣợc với thơng tin khơng gian hữu ích cho ngƣời sử dụng. Nhƣ đã phân tích ở mục 2.4 WebGIS mã nguồn mở có nhiều ƣu điểm nổi bật, do đó nó có một cộng đồng rất đông các nhà nghiên cứu quan tâm và chia sẻ các nghiên cứu của mình.

Golhani và nnk (2015) đã nghiên cứu ứng dụng bộ phần mềm GIS mã nguồn mở để xây dựng hệ thống WebGIS hiển thị các thông tin thay đổi thời tiết nhằm phục vụ cho công tác ra quyết định trong nơng nghiệp. Nghiên cứu cho thấy hệ thống có hiệu quả kinh tế cao do chỉ sử dụng các phần mềm mã nguồn mở hoàn toàn miễn phí, các thơng tin cung cấp bởi hệ thống cho phép các chuyên gia nông nghiệp xác định thời điểm cần phải tiến hành các hoạt động canh tác, qua đó giúp tiết kiệm thời gian và tăng sản lƣợng cây trồng. Swain và nnk (2015) đánh giá các giải pháp WebGIS mã nguồn mở trong công tác xây dựng ứng dụng quản lý nguồn nƣớc. Sigh và Gambhir (2014) đã đƣa ra giải pháp kết hợp CSDL PostGIS và phần mềm mã nguồn mở Mapserver, pmapper để tạo ứng dụng WebGIS với giao diện ngƣời dùng gần giống nhƣ phần mềm GIS trên máy tính cá nhân. Bên cạnh đó, các thƣ viện mã nguồn mở nhƣ Openlayer, Leaflet cũng đƣợc sử dụng rộng rãi trên nhiều trang web nhƣ USGS NetQuakes Data (https://earthquake.usgs.gov), https://foursquare.com/, http://www.city- data.com/city/Iowa2.html, https://www.mapbox.com/, v.v…

Ở Việt Nam, vài năm gần đây, công nghệ WebGIS mã nguồn mở cũng là lĩnh vực đƣợc quan tâm, một số ví dụ tiêu biểu nhƣ: Phát triển ứng dụng WebGIS sử dụng phần mềm mã nguồn mở của tác giả Trần Nam Phong và nnk (2014) hay xây dựng hệ thống tra cứu thơng tin địa chính trực tuyến khu vực

thành phố Long Xuyên, An Giang của tác giả Phạm Thế Hùng (2015). Bên cạnh WebGIS mã nguồn mở cũng đã đƣợc ứng dụng để xây dựng trang web thơng tin hành chính thành phố Hồ Chí Minh, xây dựng trang web quảng bá du lịch, biểu diễn thông tin về môi trƣờng, v.v...

3. CHƢƠNG 3. PHƢƠNG PHÁP BIỂU DIỄN CSDL ĐỊA CHÍNH TRÊN NỀN WEB BẰNG CÔNG CỤ MÃ NGUỒN MỞ

3.1 Giới thiệu một số thƣ viện mã nguồn mở sử dụng trong WebGIS:

3.1.1. Mapnik

Mapnik (http://mapnik.org/) là một thƣ viện mã nguồn mở đƣợc viết bởi Artem Pavlenko trên ngôn ngữ C++ cho phép ngƣời dùng biểu diễn dữ liệu không gian dƣới dạng dữ liệu raster (PNG) hoặc vector (SVG). Mapnik kết hợp với Python cho phép tích hợp dễ dàng với các công cụ FLOSS GIS dựa trên Python khác.

Mapnik có thể làm việc với nhiều định dạng dữ liệu không gian nhƣ PostGIS, ESRI Shape, TIFF, Oracle Spatial, SpatialeLite. Mapnik có thể biểu diễn hầu hết các định dạng dữ liệu hỗ trợ bởi GDAL/OGR. Để biểu diễn dữ liệu raster Mapnik sử dụng thƣ viện AGG ( Anti Grain Geometry) hoặc thƣ viện Cairo. Dữ liệu đầu ra cuối cùng đƣợc định nghĩa dƣới dạng dữ liệu XML. Dự án lớn nhất sử dụng Mapnik để biểu diễn dữ liệu vector là OpenStreetMap. OpenStreetMap sử dụng Mapnik là trình biểu diễn dữ liệu mặc định.

3.1.2. OpenLayers

OpenLayer là một công cụ mã nguồn mở biểu diễn bản đồ trên web đƣợc viết trên ngôn ngữ JavaScript. OpenLayers cung cấp một API theo ngôn ngữ JavaScript chop phép nó dễ dàng gắn bản đồ từ nhiều nguồn khác nhau vào trang web hoặc ứng dụng tƣơng tự nhƣ Google Maps và Bing Maps. Hiện tại, OpenLayers hỗ trợ OGC WMS, WFS, GML và nhiều công cụ về lớp (layers), icon, ký hiệu đánh dấu (markers), v.v… Là một công cụ mã nguồn mở, OpenLayers mở ra một thị trƣờng mở cho tất cả các loại dữ liệu địa lý. Nó cho phép bất kỳ ai có thể nhanh chóng xây dựng ứng dụng sử dụng các lớp dữ liệu từ nhiều nhà cung cấp dữ liệu địa lý khác nhau. Một trong những điểm mạnh của OpenLayers là liên tục cập nhật phiên bản mới, và có nhiều ví dụ giúp các nhà phát triển dễ dàng nắm bắt sách sử dụng thƣ viện này.

3.1.3. ExtJS

ExtJS là công cụ JavaScript phía máy khách (client-side) để xây dựng các ứng dụng trên Internet. ExtJS cho phép những ngƣời phát triển ứng dụng web dễ dàng triển khai các chức năng nhƣ của máy tính để bàn trên web. Nó cung cấp một khung làm việc cơ sở cho việc giải đoán các đố tƣợng DOM (Document Object Model), tạo truy vấn AJAX, quản lý các sự kiện xảy ra trên web, và đặc biệt nó tạo ra giao diện tƣơng tự nhƣ một máy tính để bàn trên web.

3.1.4. GeoExt

GeoExt (https://geoext.github.io/geoext3/) là phần mở rộng của ExtJS kết hợp những thành phần cơ bản của ExtJS với OpenLayers để tạo nên thƣ viện nền cho việc tạo ra các ứng dụng bản đồ web. GeoExt cung cấp tính năng về dữ liệu khơng gian của OpenLayers với một giao diện của ExtJS để giúp tạo nên những ứng dụng GIS tƣơng tự nhƣ trên máy tính để bàn nhƣng hoạt động trên nền web. Nó là một bộ công cụ cho phép ExtJS và OpenLayers hoạt động cùng với nhau nhƣ một nền tảng đơn.

3.1.5. Leaflet

Cũng tƣơng tự nhƣ OpenLayer, Leaflet (https://leafletjs.com/) là một thƣ viện JavaScript mã nguồn mở hiện đại phục vụ cho việc tạo ra bản đồ tƣơng tác trên web hoặc trên thiết bị di động mà không cần cài đặt thêm công cụ hỗ trợ nào (Peterson, 2012). Nó đƣợc phát triển bởi Valdimir Agfonkin và hiện tại đƣợc triển khai bởi Mapbox. Nó đơn giản hơn nhiều so với OpenLayers và tập trung cải thiện khả năng hoạt động, độ ổn định, sự đơn giản, dung lƣợng của thƣ viện nhỏ và hỗ trợ các thiết bị di động. Nó đƣợc sử dụng trên trang web của OSM, Flickr, Craigslist, Washington Post, và nhiều trang web cần hiển thị bản đồ khác, v.v… (Leaflet, 2018)

3.2 Biểu diễn CSDL địa chính trên nền web bằng cơng cụ mã nguồn mở

3.2.1 Cấu trúc hệ thống biểu diễn CSDL địa chính trên nền web

Về cơ bản hệ thống web-GIS biểu diễn CSDL địa chính cũng tƣơng tự nhƣ các hệ thống web-GIS khác, nó bao gồm 3 tầng: (1) Dữ liệu; (2) Web server; (3) Ngƣời dùng. Dựa trên các đánh giá ở mục, tôi lựa chọn các thành phần của hệ thống này là các công cụ/thƣ viện mã nguồn mở đƣợc minh họa nhƣ hình dƣới đây.

Desktop CSDL

Trình duyệt web

Hình 3.1: Các thành phần cơ bản của hệ thống bản đồ web

Tầng dữ liệu: bao gồm hệ quản trị CSDL không gian PostgreSQL và QGIS. Tầng này có nhiệm vụ lƣu trữ và đảm bảo sự toàn vẹn của dữ liệu. QGIS có chức năng biên tập dữ liệu địa chính phù hợp để hiển thị trên web, sau đó kết nối và nhập dữ liệu vào CSDL PostGIS (phần mở rộng của PostgreSQL).

Tầng Web server: bao gồm GeoServer và GeoWebCache. Tầng này có nhiệm vụ nhận và phản hồi yêu cầu từ ngƣời dùng. Dữ liệu từ CSDL PostGIS sẽ đƣợc nhập vào GeoServer, sau đó GeoServer sẽ tạo dữ liệu bản đồ theo định dạng web và thiết đặt các định dạng hiển thị dữ liệu trên web (nhƣ màu sắc,

đƣờng nét, font chữ, v.v…). Việc gửi yêu cầu và phản hồi giữa máy chủ và ngƣời dùng đƣợc tăng tốc thông qua GeoWebCache.

Tầng ngƣời dùng: gồm trình duyệt web (Chrome, Mozila Firefox, Internet Explorer, v.v…) và thƣ viện mã nguồn mở Leaflet. Tầng này đảm nhận vai trò hiển thị CSDL địa chính và tƣơng tác với ngƣời dùng. Thƣ viện Leaflet đƣợc nạp vào trang web đã xây dựng, từ đó có thể sử dụng các điều khiển của Leaflet để hiển thị và tƣơng tác với dữ liệu bản đồ trên web

3.2.2 Các thành phần chính của WebGIS biểu diễn CSDL địa chính

1. QGIS

QGIS (trƣớc kia gọi là Quantum GIS) là một phần mềm GIS mã nguồn mở cho phép hiển thị, chỉnh sửa và phân tích dữ liệu địa lý dƣới dạng raster, vector, và cơ sở dữ liệu (https://www.qgis.org/en/site/). Dự án phát triển QGIS đƣợc khởi động từ năm 2002 và từ đó QGIS ngày càng đƣợc hoàn thiện hơn, phiên bản mới nhất hiện nay là QGIS 3.2.0 (tính đến tháng 7 năm 2018). QGIS có khả năng tích hợp với nhiều gói phần mềm GIS mã nguồn mở khác nhƣ PostGIS, Geoserver từ đó nó có thể tạo ra nhiều cơng cụ mở rộng. Chức năng của QGIS có thể đƣợc mở rộng dễ dàng thơng qua các cơng cụ tích hợp thêm đƣợc viết trên ngơn ngữ Python hoặc C++. QGIS hỗ trợ nhiều định dạng dữ liệu khác nhau bao gồm cả vector, raster và CSDL nhƣ: shapefile, WMS, WFS, PostGIS, GeoTiff, JPG, PNG, v.v… (Agrawal và Gupta, 2014)

2. PostGIS

Đƣợc phát triển bởi Refraction Research Inc, là một CSDL không gian GIS của hệ quản trị CSDL quan hệ PostGRES, có thể lƣu chữ cả dữ liệu vector và raster (Peterson, 2012). PostGIS là một công cụ mã nguồn mở theo giấy phép GNU General Public License (GLP) (Swain, 2015). Dữ liệu từ CSDL PostGIS có thể đƣợc sử dụng nhƣ dữ liệu nguồn cho các phần mềm hoạt động nhƣ máy chủ dữ liệu khơng gian, ví dụ nhƣ MapServer, GeoServer (https://postgis.net/docs/manual-2.4/).

3. GeoServer và GeoWebCache:

Geoserver là một phần mềm máy chủ dựa trên ngôn ngữ Java nó cho phép tạo và chia sẻ dữ liệu bản đồ, và là một phần mềm mã nguồn mở theo chuẩn OGC. Geoserver hỗ trợ WMS, WFS, WFS-T, Web Coverage Service (WCS) cho phép hiển thị, chia sẻ dữ liệu không gian trên web. Geoserver là một thành phần quan trọng của ứng dụng WebGIS, nó lƣu trữ dữ liệu trên máy chủ và cung cấp các dữ liệu bản đồ theo yêu cầu của ứng dụng WebGIS. GeoWebCache đƣợc tích hợp sẵn trên GeoServer, cho phép tăng tốc quá trình trao đổi dữ liệu giữa ngƣời dùng và máy chủ. GeoServer đƣợc lựa chọn vì nó hồn tồn miễn phí và đƣợc sử dụng rộng rãi trong các dịch vụ bản đồ web (Swain, 2015), nó cho phép ngƣời phát triển dễ dàng thiết lập dữ liệu, phù hợp với chuẩn OGC, và có sự hỗ trợ của một cộng đồng ngƣời dùng đơng đảo (Peterson, 2012).

4. Leaflet và trình duyệt web

Leaflet là một thƣ viện JavaScript mã nguồn mở nhƣ đã trình bày ở mục. Nó là thƣ viện ở phía máy ngƣời dùng (Client side). Nó tƣơng tích với các trình duyệt web phổ biến hiện nay nhƣ Google Chrome, Mozila Firefox, Internet Explorer. Khi ngƣời dùng truy cập vào trang web. Thƣ viện Leaflet sẽ đƣợc tải lên để hiển thị dữ liệu địa chính nhƣ đã thiết kế. Leaftet đƣợc lựa chọn vì nó là thƣ viện mã nguồn mở hồn tồn miễn phí, cho hiển thị bản đồ web trên cả máy tính lẫn thiết bị di động, ngồi ra thƣ viện này đơn giản và có dung lƣợng nhỏ hơn nhiều so với OpenLayers. Phiên bản mới nhất (tính đến 08/08/2018) là Leaflet 1.3.3 có dung 138KB (https://leafletjs.com/download.html), so với OpenLayers là OpenLayers 5.1.3 có dung lƣợng 624KB (https://openlayers.org/download/).

Trình duyệt web chính là ứng dụng ngƣời dùng (Client application) cho phép tải trang web đã thiết kế để hiển thị dữ liệu và tƣơng tác với dữ liệu. Có thể sử dụng các trình duyệt phổ biến hiện nay là Google Chrome, Internet Explorer, Mozila FireFox, v.v…

4. CHƢƠNG 4: THỰC NGHIỆM 4.1 Khu vực và dữ liệu thực nghiệm

Khu vực thực nghiệm là phƣờng Tân Bình, thành phố Hải Dƣơng. Đây là khu vực đơ thị có dân cƣ đông đúc. Các thửa đất thổ cƣ đều đã đƣợc cấp GCNQSDĐ. Dữ liệu sử dụng trong phần thực nghiệm là CSDL địa chính của phƣờng Tân Bình, đƣợc thành lập năm 2014 do Trung tâm Công nghệ thông tin cung cấp.

4.2 Quy trình thực nghiệm và các cơng cụ/thƣ viện sử dụng

Quy trình thực nghiệm gồm 5 bƣớc chính đƣợc minh họa nhƣ Hình 4.1: (1). CSDL địa chính đƣợc chuẩn hóa và đƣa về dạng shapefile; (2) Tạo CSDL PostGIS và nhập dữ liệu CSDL địa chính đã chuẩn hóa ở bƣớc 1; (3) Tải dữ liệu từ CSDL PostGIS lên Geoserver; (4) Thiết kế trang web hiển thị dữ liệu địa chính với sự hỗ trợ của công cụ QGIS2WEB; (5) Chạy trang web trên trình duyệt. CSDL địa chính QGIS CSDL PostGIS Thiết kế website Trình duyệt web + Leaflet QGIS2WEB Geoserver Chuẩn hóa dữ liệu Hình 4.1: Quy trình thực nghiệm

Các cơng cụ và thƣ viện mã nguồn mở sử dụng để thực nghiệm quy trình trên đƣợc liệt kê trong Bảng 4.1.

Một phần của tài liệu Nghiên cứu giải pháp biểu diễn cơ sở dữ liệu địa chính trên nền web bằng một số công cụ mã nguồn mở (Trang 49 - 59)

Tải bản đầy đủ (PDF)

(79 trang)