Khái niệm
WMS là một trong các chuẩn phổ biến nhất của OGC . WMS ta ̣o ra các bản đồ dưới da ̣ng ảnh. Các bản đồ này tự bản thân chúng không chứa dữ liệu .
Web Map Service (WMS) là một kỹ thuật phân bố thông tin địa lý dưới dạng bản đồ trên mạng. Những bản đồ ở dạng ảnh như PNG, GIF, JPEG hoặc là các phần tử đồ họa dựa trên véc-tơ trong đồ họa véc-tơ mở rộng, các bản đồ này tự bản thân chúng không chứa dữ li ệu th ực sự vì chỉ xem được dưới dạng ảnh và không thao tác được trên các đối tượng địa lý cụ thể [11].
Phƣơng thức hoạt động
Các thao tác của WMS có thể gọi để sử dụng từ trình duyệt web (web browser) khi người dùng gửi yêu cầu (địa chỉ URLs). Kết quả trả về phụ thuộc vào các thao tác được yêu cầu. Nói cụ thể là, khi có những yêu cầu (request) về bản đồ những thông tin kết quả sau khi thực hiện các thao tác sẽ được trình diễn lại trên màn hình dưới dạng ảnh bản đồ. Khi có 2 hay nhiều bản đồ được xuất với cùng 1 tham số đồ họa và cùng kích cỡ xuất, kết quả sẽ là một bản đồ tổng hợp với các hình ảnh bản đồ ở dạng (GIF, PNG..) có nền trong suốt [11].
Mô ̣t WMS cơ bản cho phép máy khách kết nối và lấy bản đồ thông qua các thao
tác của WMS.
Các yêu cầu Get và Post
HTTP hỗ trợ hai phương thức là GET và POST, hai phương thức này được đưa từ phía máy chủ, trong đó phương thức GET là bắt buộc còn POST là tùy chọn, chúng sử dụng địa chỉ URL trực tuyến.
Máy chủ giải mã các ký tự trong truy vấn của WMS, bảng ký tự như sau
Ký tự Nội dung sử dụng
? Bắt đầu chuỗi truy vấn
& Ngăn cách giữa các tham số truy vấn
= Giữa tên và giá trị tham số
’ Giữa các giá trị trong danh sách tham số
như BBOX, LAYERS, STYLES trong
yêu cầu GetMap
+ Viết tắt đại diện cho một ký tự không
gian
Bảng 1.2.Các ký tự trong truy vấn WMS [11]
Cấu trúc của yêu cầu HTTP GET như bảng sau
Địa chỉ URL Mô tả
http://host[:port]/path[?{name[=value]&}] Tiền tố URL của thao tác dịch vụ, tùy chọn 0 hoặc 1.
name=value& Cặp tên/giá trị cho
các thao tác
Bảng 1.3.Tham số trong yêu cầu HTTP GET [11]
Các thao tác (Operations)
Một WMS bao gồm ba thao tác: GetCapabilities, GetMap, GetFeatureInfo
trong đó thao tác GetCapabilities và GetMap là bắt buộc, còn GetFeatureInfo là tùy chọn.
GetCapabilities
Thao tác GetCapabilities lấy về dịch vụ metadata diễn tả các nội dung thông tin của server máy chủ và chấp nhận các yêu cầu về tham số [11].
Khi tạo một yêu cầu GetCapabilities, máy chủ WMS sẽ cung cấp các kiểu dịch vụ và các thông tin đối với từng kiểu dịch vụ. Vì vậy các tham số của yêu cầu phải có giá trị như bảng sau:
Tham số yêu cầu Bắt buôc/ tùy chọn
Mô tả
VERSION=version Tùy chọn Yêu cầu phiên bản
SERVICE=WMS Bắt buộc Kiểu dịch vụ
REQUEST=GetCapabilities Bắt buộc Tên thao tác
FORMAT=MIME_type Tùy chọn Đầu ra của dịch vụ metadata UPDATESEQUENCE=string Tùy chọn Là kiểu số, hoạc chuỗi ký tự để
kiểm soát bộ nhớ cache
Bảng 1.4.Các tham số yêu cầu của thao tác GetCapabilities [11].
Formatted Table
Formatted: Indent: First line: 0,5"
Kết quả của thao tác GetCapabilities sẽ là một tài liệu dạng XML bao gồm các dịch vụ metadata được mã hóa dưới dạng XML, tài liệu này bao gồm một phần tử gốc có tên “WMS_Capabilities” trong không gian têm http://www.opengis.net/wms chứa lược đồ thuộc tính XML. <?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="http://www.opengis.net/wms" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wms="http://www.opengis.net/wms" xmlns:xlink="http://www.w3.org/1999/xlink" <!--**Phần tử gốc ** --> <element name="WMS_Capabilities"> ….
service metadata: hay còn gọi là siêu dữ liệu cho dịch vụ siêu dữ liệu, chính là định nghĩa các lớp( layers) và các kiểu (styles), nội dung thông tin Địa địa lý được cung cấp cho máy chủ WMS server và được tổ chức thành các lớp [11].
GetMap
Thao tác GetMap trả về một bản đồ, khi nhận được một yêu cầu GetMap, WMS hoặc là đáp ứng yêu cầu hoặc là trả lại một ngoại lệ.
Các tham số của yêu cầu GetMap được liệt kê dưới bảng sau:
Tham số yêu cầu Bắt
buộc/tùy chọn
Mô tả
VERSION=1.3.0 Bắt buộc Yêu cầu phiên bản
REQUEST=GetMap Bắt buộc Tên yêu cầu
LAYERS=layer_list Bắt buộc Danh sách của một hoặc nhiều lớp, được phân cách nhau bằng dấu phẩy
STYLES=style_list Bắt buộc Danh sách của một hoặc nhiều kiểu trên một lớp, được phân cách nhau bằng dấu phẩy
CRS=namespace:identifier Bắt buộc Tham chiếu các hệ thống
BBOX=minx,miny,maxx,maxy Bắt buộc Quy định các góc khối hợp trong các đơn vị CRS (dưới bên trái,
trên bên phải)
WIDTH=output_width Bắt buộc Chiều rộng tính bằng pixels của ảnh bản đồ
HEIGHT=output_height Bắt buộc Chiều cao tính bằng pixels của anh bản đồ
FORMAT=output_format Bắt buộc Định dạng đầu ra của bản đồ TRANSPARENT=TRUE|FALSE Tùy chọn Nền trong suốt cảu bản đồ, mặc
định là FALSE
BGCOLOR=color_value Tùy chọn Màu nền ở giá trị hexa red- green-blue (mặc định là 0xFFFFFF)
EXCEPTIONS=exception_for mat
Tùy chọn Các định dạng ngoại lệ trả về cảu WMS, mặc định là XML
TIME=time Tùy chọn Thời gian của lớp được trả về
ELEVATION=elevation Tùy chọn Độ cao của lớp mong muốn
Other sample
dimension(s)
Tùy chọn Các giá trị không gian khác cho phù hợp
Bảng 1.5.Các tham số của thao tác GetMap [11].
Cho phép tìm kiếm và hiển thị bản đồ từ máy chủ webweb server. Người dùng cung cấp khung bao (bouding box), kích cỡ hình ảnh, định dạng…Server Máy chủ trả về các bản đồ dạng ảnh có định dạng GIF, PNG, TIFF. Kết quả trả về là 1 bản đồ dựa vào yêu cầu GetMap.
GetFeatureInfo
Thao tác GetFeatureInfo là một thao tác tùy chọn, nó chỉ hỗ trợ với những lớp có thuộc tính queryable = “1” đã được định nghĩa hoặc kế thừa.
Thao tác này được thiết kế để cung cấp cho ứng dụng client thêm các thông tin về các đối tượng trong ảnh bản đồ, chỉ thêm các thông tin về bản đồ cho người dùng bằng việc thêm vào các tham số như bảng dưới đây
Các tham số yêu cầu Bắt buộc/tùy
chọn
Mô tả
VERSION=1.3.0 Bắt buộc Yêu cầu phiên bản
REQUEST=GetFeatureInfo Bắt buộc Tên yêu cầu
map request part Bắt buộc Bản sao các thông số mong muốn của bản đồ
Formatted: Font: Comic Sans MS Formatted: Indent: First line: 0,5"
QUERY_LAYERS=layer_list Bắt buộc Danh sách của một hoặc nhiều lớp được yêu cầu, phân cách bằng dấu phẩy INFO_FORMAT=output_format Bắt buộc Định dạng thông tin feature FEATURE_COUNT=number Tùy chọn Số lượng các feature muốn
lấy thông tin
I=pixel_column Bắt buộc Phối hợp các cột pixels của feature trong Map CS
J=pixel_row Bắt buộc Phối hợp các dòng pixels
của feature trong Map CS EXCEPTIONS=exception_format Tùy chọn Định dạng ngoại lệ trả về
(mặc định là XML)
Bảng 1.6.Các tham số của thao tác GetFeatureInfo[11].
Tóm lại thông qua WMS, người sử dụng có thể dùng các trình duyệt webWeb Browser chuẩn để gửi thông điệp yêu cầu đến máy chủ WMS Server và hiển thị kết quả trả về. Không giống như WFS cho phép chọn lựa đối tượng cụ thể để trả về dưới dạng GML mà không quan tâm đến cách thức trình bày dữ liệu như thế nào, WMS cho phép người sử dụng hiển thị dữ liệu theo ý muốn và tạo ra bản đồ. Một đặc tả hỗ trợ cho WMS tạo ra bản đồ theo ý muốn là SLD (Styled Layer Descriptor). SLD mô tả các đối tượng dưới dạng các ký hiệu.
Khuyết điểm: WMS chỉ cung cấp chỉ là hình ảnh chứ không là dữ liệu thực sự, bị
giới hạn trong việc quản lý kiểu dữ liệu khác nhau, đặc biệt giới hạn trong việc gán nhãn (labeling), cung cấp ít chức năng.