Giới thiệu về MapServer

Một phần của tài liệu TÀI LIỆU TẬP HUẤN SỬ DỤNG QGIS CƠ BẢN (Trang 59 - 62)

CHƯƠNG III: TỔNG QUAN VỀ MÃ NGUỒN MỞ VÀ OPENGIS

5- Giới thiệu về MapServer

MapServer là môi trường (mã nguồn mở) được phát triển cho việc xây dựng các ứng dụng GIS thông qua Web. Trong mô hình kiến trúc WebGIS, MapServer đóng vai trò là ứng dụng GIS được đặt trên web server. Chúng ta có thể sử dụng phần mềm này để xây dựng với các ứng dụng ở dạng mã nguồn mở hoặc phi lợi nhuận.

MapServer được phát triển bởi trường đại học Minesota, dưới sự tài trợ của NASA và Sở tài nguyên môi trường bang Minesota thông qua các dự án ForNet và sau đó là dự án Terraship. Hiện nay số lượng các nhà phát triển tham gia phát triển ngày càng nhiều trên thế giới.

MapServer có thể chạy trên nhiều môi trường, điều mà các phần mềm thương mại khác chưa làm được. MapServer với mã nguồn được viết bằng C++ được biên dịch để có thể chạy trên các version của UNIX/Linux, Microsoft Windows, MacOS, Solaris, v.v..

Để giao tiếp với các thành phần khác trên môi trường WebGIS, MapServer sử dụng chuẩn giao tiếp CGI (Common Gateway Interface).

MapServer hỗ trợ các chuẩn của tổ chức OGC ( tổ chức phát triển các chuẩn WebGIS) như :WMS, WFS, WCS, WMC,SLD, GML v.v.. Hệ thống MapServer bao gồm cả MapScript, cho phép các ngôn ngữ kịch bản khác như PHP, Perl, Python và Java có thể truy xuất các hàm API của MapServer.

MapScript cung cấp môi trường thuận lợi cho việc phát triển các ứng dụng tích hợp các dữ liệu phân tán. Ta có thể lấy dữ liệu không gian thông qua các các ngôn ngữ kịch bản kể trên và dựa vào MapScript ta có thể tạo được một ảnh bản đồ.

Ví dụ sử dụng module Perl’s DBI, cho phép tích hợp dữ liệu từ cơ sở dữ liệu của nhiều hãng (Oracle, Sybase, MySQL) với dữ liệu GIS truyền thống trong một ảnh bản đồ hoặc trang web.

MapServer không hẳn là một ứng dụng WebGIS hoàn chỉnh tuy nhiên MapServer cung cấp những chức năng cốt lõi đủ mạnh để đáp ứng cho các ứng dụng web khác nhau. Ngoài việc tương tác với các dữ liệu GIS, MapServer còn cho phép người dùng điều khiển và tùy biến việc tạo ra ảnh bản đồ, có thể dưới dạng trang web, file ảnh, report…Nói cách khác

MapServer đóng vai trò như “map engine” được cung cấp nội dung để tạo ảnh bản đồ khi cần đến.

Ứ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. Cho nên đôi khi còn gọi ứng dụng MapServer là ứng dụng MapServer CGI. Do là mã nguồn mở nên cũng có những ứng dụng được biên dịch để 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:

Mapfile: là file text định nghĩa dữ liệu dưới sẽ được dùng như thế nào trong ứng dụng của MapServer. Mapfile có thể xem như là một file cấu hình cho ứng dụng trong đó chỉ ra vùng làm việc, file chứa dữ liệu GIS và cách hiển thị bản đồ. Mapfile cũng bao gồm cả thông tin về các lớp bản đồ cùng các dữ liệu kèm theo, phép chiếu bản đồ và cách biểu kiến thông tin kết quả truy vấn qua hình ảnh. Mapfile có phần mở rộng là .map

Hình 28: Cấu trúc cơ bản của ứng dụng MapServer

GeoGraphic Data: MapServer đều có thể hiểu và tương tác được với hầu hết các định dạng dữ liệu vectơ GIS phố biến trên thế giới hiện nay như:

PostGIS, ESRI ArcSDE, MapInfo v.v và nhiều định dạng khác thông qua thư viện OGR. MapServer sử dụng shapefile (của ESRI )làm định dạng dữ liệu mặc định. Về dữ liệu raster, MapServer hỗ trợ TIFF/GeoTIFF,EPPL7 v.v và các định dạng khác thông qua thư viện GDAL.

HTML page: trang HTML là hình thức giao tiếp giữa người dùng và MapServer. Đây là trang web gốc. Trong hình thức đơn giản nhất, MapServer là nơi chuyển hình ảnh bản đồ tĩnh trên một trang html. Để thực hiện bản đồ tương tác, hình ảnh bản đồ được đặt trong định dạng html của trang web.

CGI là một chuẩn để kết nối chương trình ứng dụng với Web server. Dữ liệu do người dùng điền vào trên trang Web được chuyển cho ứng dụng CGI, ứng dụng này sau đó sẽ gửi trả nội dung Web được tạo ra theo yêu cầu ngược về cho trình duyệt của người dùng. Vì lý do này, mỗi khi ứng dụng của bạn sẽ gửi một yêu cầu cho MapServer, nó cần phải vượt qua các thông tin ngữ cảnh GIS (nằm trong lớp nào, vị trí ở đâu trên bản đồ, v.v.) ẩn chứa trong biến mẫu hoặc các biến URL.

Một MapServer CGI ứng dụng đơn giản, có thể bao gồm hai trang html:

File khởi tạo (Initialization File): sử dụng mẫu là các biến ẩn để gửi một truy vấn ban đầu cho máy chủ http và MapServer. Mẫu này có thể được đặt trên một trang khác hoặc được thay thế bằng cách khởi tạo các thông tin như các biến trong một URL.

File khuôn mẫu (Template File): Có nhiệm vụ điều khiển cách thể hiện các bản đồ và bản chú giải mà MapServer sẽ thể hiện trong trình duyệt.

Tham chiếu các biến của MapServer CGI trong các file khuôn mẫu dạng html này, cho phép MapServer xác định được các thông tin liên quan đến tình trạng của ứng dụng để tạo ra trang html cho trình duyệt đọc được. Các mẫu cũng xác định cách sử dụng có thể tương tác với các ứng dụng của MapServer như xem, phóng to, thu nhỏ, dịch chuyển, tìm kiếm.

MapServer CGI – là file thực hiện mà khi nhận được yêu cầu sẽ trả về hình ảnh, dữ liệu, vv. Nó nằm trong các cgi-bin hoặc thư mục script của máy chủ http. Người sử dụng máy chủ web phải có quyền thao tác với các thư mục chứa file này, vì lý do an ninh nên nó không nằm trong thư mục gốc web.

Theo mặc định, chương trình này được gọi là MapSerev.

HTTP Server: Có chức năng đưa lên các trang html khi người dùng tác động lên trình duyệt. Như vậy cần phải có một máy chủ làm công việc HTTP web (ví dụ như Apache hay Microsoft Internet Information Server) cài đặt trên máy mà bạn đang cài đặt MapServer.

Một phần của tài liệu TÀI LIỆU TẬP HUẤN SỬ DỤNG QGIS CƠ BẢN (Trang 59 - 62)

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

(133 trang)