Web Map Service

## Web Map Service-WMS (Dịch vụ bản đồ)

* Là một dịch vụ cung cấp bản đồ số trên Web. Hiện nay, dịch vụ bản đồ theo chuẩn mở WMS của hiệp hội OpenGIS là một hướng nghiên cứu khá mới mẻ nhưng đầy tiềm năng tại Việt Nam.
* WMS bao gồm 2 thành phần chính là Web Map Server và Web Map Client.

## Web Map Server
* Web Map Server là phần dịch vụ bản đồ chạy trên Server, nó có nhiệm vụ cung cấp các chức năng chính như:
** Tạo bản đồ (dưới dạng đồ họa, ảnh, tập tin dữ liệu địa lý...).
** Trả lời các câu truy vấn của Web Map Client về nội dung bản đồ.
## Web Map Client
* Web Map Client (Web Browser hay 1 Application) có chức năng gửi các yêu cầu (Request) đến Web Map Server về các thuộc tính của Bản đồ hay yêu cầu hiển thị bản đồ dưới dạng 1 URL. Nội dung của URL phụ thuộc rất nhiều vào dịch vụ do Web Map Server cung cấp:
** Yêu cầu tạo bản đồ, tham số URL chỉ ra phạm vi địa lý của bản đồ, hệ tọa độ, kiểu thông tin được sử dụng, dạng lưu trữ bản đồ, kích thước, kết quả...
** Yêu cầu truy vấn nội dung bản đồ, tham số URL phải chỉ ra lớp thông tin bản đồ cần truy vấn, vị trí cần truy vấn.
** Yêu cầu cung cấp thông tin về khả năng phục vụ của WMS Server.

## Cơ chế hoạt động của WMS
* **Communication** (truyền thông giữa các máy tính): Ờ tầng dưới cùng của mô hình truyền thông, thông tin được truyền nhận bởi các tín hiệu điện tương ứng với cơ chế mã hóa nhị phân (0/1). Ở tầng tiếp theo là TCP/IP; tầng ứng dụng là giao thức HTTP, thông tin ở tầng này được mã hóa bởi ngôn ngữ HTML.
* **Requests** (các Yêu cầu): Trình duyệt gửi yêu cầu đến trang Web bằng 1 GetRequest, GetRequest được định dạng bởi 1 URL.
* **Response** (Trả lời): WebServer kiểm tra sự tồn tại của các trang Web, nếu tồn tại và người dùng có quyền truy cập thì sẽ trả về trang Web cho người dùng, nếu không sẽ báo thông điệp lỗi. Các trang Web được mã hóa HTML, ngôn ngữ này bao gồm các thẻ mô tả thành phần của một trang.
* **Display** (Hiển thị): Trình duyệt hiển trị trang Web, mỗi khi trình duyệt chuyển đổi các thẻ HTML thành các đối tượng đồ họa, nó sẽ vẽ lên màn hình và chờ người dùng thao tác.
## Đặc tả WMS
* Đặc tả WMS là một tài liệu mô tả cách thức một Server đáp ứng (Response) các yêu cầu cụ thể từ một Client. Khi cả Client và Server còn thực thi đặc tả này thì chúng còn có thể trao đổi với nhau.
* Đặc tả WMS quy định cách thức mà các WMS client liên lạc với WMS Server, và cách thức mà WMS Server đáp ứng yêu cầu của WMS Client. Có hai loại Request *bắt buộc* và một số loại Request *tùy chọn* khác. Mỗi loại yêu cầu giống như 1 trang Web, cho dù thực tế nó hoàn toàn là một chương trình đơn nhận các tham số khác nhau:
** **GetMap**: **Yêu cầu GetMap** trả về một bản đồ dưới dạng ảnh (ảnh bản đồ) trong một phạm vi địa lý và theo các tham số được định nghĩa cụ thể. *GetMap* được yêu cầu bởi một Client để nhận về một tập hợp các pixels. Các pixels này chứa ảnh của một bản đồ trong vùng địa lý (không gian) hoặc một tập các đối tượng đồ họa nằm trong vùng địa lý cụ thể. **Yêu cầu GetMap** cho phép các WMS Client chỉ ra một lớp thông tin cụ thể: hệ qui chiếu không gian (SRS),l khu vực địa lý, các tham số khác quy định định dạng dữ liệu trả về... Trên cơ sở các **Yêu cầu GetMap**, WMS Server sẽ trả về kết quả là một bản đồ (nếu có), hoặc trả về một Exception theo các chỉ dẫn trong **Yêu cầu GetMap**.
** **GetCapabilities**: **Yêu cầu GetCapabilities** trả về các siêu dữ liệu mô tả WMS Server, các mô tả bao gồm nội dung thông tin mà WMS có thể phục vụ, các tham số mà WMS Server có thể nhận.
** **GetFeatureInfo**(tùy chọn): **Yêu cầu GetFeatureInfo** trả về thông tin đối tượng địa lý cụ thể được hiển thị trên bản đồ. Nếu một WMS Server hỗ trợ dịch vụ này thì bản đồ mà nó trả về được gọi là bản đồ có khả năng truy vấn thông tin và một WMS Client có thể yêu cầu thông tin về đối tượng trên một bản đồ bằng cách thêm vào URL các tham số chỉ ra một vị trí (X,Y) và số đối tượng có thể trả về thông tin.

## Tham khảo