CHƯƠNG 2: QUY TRÌNH XÂY DỰNG VÀ SỬ DỤNG WEBGIS MÃ NGUỒN MỞ TRONG DẠY HỌC ĐỊA LÍ 12 TRUNG HỌC PHỔ THÔNG
2.4. Ứng dụng các mã nguồn mở để xây dựng WebGIS
GeoServer là ứng dụng bản đồ phía máy chủ (Server side) cung cấp hình ảnh về các đối tượng địa lí, độc lập hệ thống, được xây dựng dựa trên thư viện mã mở Geotools [107]. GeoServer có khả năng kết nối với các nguồn cơ sở dữ liệu thông qua hầu hết các hệ quản trị cơ sở dữ liệu phổ biến như:
PostgreSQL/PostGIS, Microsoft SQL Server 2008, MySQL, … hoặc các tập tin dữ liệu không gian như Shapfile, GeoTiff … GeoServer hỗ trợ các quá trình thực thi các yêu cầu từ máy khách theo chuẩn OGC (WMS, WFS, …).
GeoServer có thể hiển thị dữ liệu trên các ứng dụng bản đồ phổ biến như Google Maps, Google Earth, Microsoft Virtual Earth…
Tác giả chọn GeoServer làm Map server, tổ chức dữ liệu thông qua kết nối với PostgreSQL/PostGIS (hình 2.4).
Hình 2.4. Tổ chức dữ liệu (A) và tạo ảnh bản đồ bằng WMS (B) trên GeoServer
Mặt khác, GeoServer trợ giúp biên tập các kiểu dạng (styles) hiển thị của dữ liệu không gian, trực quan hóa các đối tượng trên các lớp bản đồ.
Thông qua phần mở rộng CSS Styles của Geoserver, tác giả đã viết các đoạn mã CSS này. Hình 2.5 mô tả đoạn mã tạo kiểu cho các cảng biển.
Hình 2.5. Tạo kiểu dáng của cảng biển bằng CSS 2.4.2. Apache
Apache (còn được gọi là Apache HTTP server) là phần mềm máy chủ Web (Web Server) được sử dụng rộng rãi nhất thế giới. Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation [114].
Tác giả sử dụng Apache để tạo Web Server trên máy tính cá nhân, tạo cổng cho ứng dụng WebGIS (hình 2.6), quản lý kết nối, truyền dữ liệu, truy cập dữ liệu và xử lý tài liệu trên WebGIS.
Hình 2.6. Apache khởi tạo cổng cho ứng dụng WebGIS
2.4.3. PostgreSQL/PostGIS
PostgreSQL là hệ quản trị cơ sở dữ liệu hỗ trợ ngôn ngữ truy vấn SQL.
Tác giả lựa chọn ứng dụng này vì những ưu điểm: tính hiệu quả và tính ổn định , công cụ quản trị đơn giản, dễ sử dụng, phù hợp với nhiều hệ điều hành khác nhau: Windows, Linux, Unix; có khả năng mở rộng hệ thống [117].
PostGIS là một cơ sở dữ liệu không gian được tích hợp vào hệ quản trị cơ sở dữ liệu PostgreSQL. Nó hỗ trợ tất cả các hàm và đối tượng được định nghĩa trong chuẩn OpenGIS. Việc sử dụng những hàm tính toán không gian dựa trên PostGIS thuận lợi cho việc xử lý dữ liệu không gian và truy vấn hoàn toàn dựa trên các câu lệnh SQL.
Tác giả sử dụng PostgreSQL/PostGIS để khởi tạo cơ sở dữ liệu, nhập (import) dữ liệu và quản lí dữ liệu cho sản phẩm WebGIS (hình 2.7).
Hình 2.7. Quản lý cơ sở dữ liệu bằng PostgreSQL
2.4.4. QGIS
QGIS là phần mềm mã nguồn mở có các ưu điểm: giao diện đơn giản, dễ sử dụng; kích thước tập tin nhỏ hơn, tiêu tốn ít tài nguyên và xử lý các yêu cầu tương đối tốt so với phần mềm GIS thương mại; có khả năng mở rộng tính năng thông qua việc sử dụng các plugins; hỗ trợ đa dạng các kiểu dữ liệu [116].
Tác giả sử dụng QGIS trong các khâu: xử lí dữ liệu không gian (hình 2.8), tổ chức dữ liệu thuộc tính, chuyển đổi các định dạng dữ liệu và hệ quy chiếu.
Hình 2.8. Biên tập dữ liệu trên QGIS 2.4.5. Heron MC
Heron MC (The Heron Mapping Client) là mã nguồn mở thuận lợi cho việc tạo ra các ứng dụng bản đồ chạy trên trình duyệt web với bộ công cụ JavaScript GeoExt [118].
GeoExt là một bộ công cụ mạnh mẽ kết hợp thư viện lập trình bản đồ web OpenLayers với kiến thức về giao diện người dùng của Ext JS để giúp xây dựng các ứng dụng GIS mang phong cách mạnh mẽ cho máy tính để bàn (desktop) trên nền web bằng JavaScript.
Heron MC phát triển các khung, sườn (frameworks) này bằng cách cung cấp các thành phần cao cấp và quy ước để lắp ráp nhanh các ứng dụng thông
qua cấu hình. Phát ngôn nổi tiếng của cộng đồng phát triển Heron MC là
"Look ma, no programming!" ngụ ý nói đến sự đơn giản khi tạo WebGIS mà không cần biết đến lập trình đối với người dùng.
Tác giả sử dụng mã nguồn Heron MC để thiết lập giao diện người dùng, cài đặt các thành phần và chức năng của WebGIS.
Hình 2.9. Các tiện ích trong thư viện JavaScript của Heron MC 2.4.6. Leaflet
Leaflet là một thư viện Javascript mã nguồn mở hàng đầu để xây dựng các bản đồ tương tác thân thiện với thiết bị di động [115].
Leaflet kết hợp được với nhiều định dạng dữ liệu nhưng thích hợp nhất là GeoJSON. GeoJSON (Geographic JSON) là một định dạng để mã hóa một loạt các cấu trúc dữ liệu địa lí. GeoJSON đóng vai trò ngày càng quan trọng trong nhiều cơ sở dữ liệu không gian, các API web và các nền tảng dữ liệu mở. GeoJSON đang trở thành một định dạng dữ liệu rất phổ biến trong số rất nhiều công nghệ và dịch vụ GIS bởi sự đơn giản và gọn nhẹ.
Trong luận án này, tác giả sử dụng Leaflet và định dạng dữ liệu GeoJSON để trình bày các lớp thông tin mở rộng, chứa nhiều yếu tố đa phương tiện (hình 2.10).