THÔNG TIN ĐỊA LÝ - GIAO DIỆN MÁY CHỦ BẢN ĐỒ TRÊN NỀN WEB
Geographic information - Web map server interface
Giới thiệu
Dịch vụ bản đồ trên nền web (WMS) dùng để xuất bản bản đồ dữ liệu không gian tham chiếu động từ thông tin địa lý. Tiêu chuẩn này định nghĩa một bản đồ mô tả các thông tin địa lý dưới dạng các tập tin hình ảnh phù hợp để hiển thị trên màn hình máy tính. Các bản đồ được xuất bản nói chung sẽ theo các định dạng hình ảnh như PNG, GIF, JPEG hoặc đôi khi dưới dạng vector dựa trên các yếu tố đồ họa định dạng SVG hoặc WebCGM.
Tiêu chuẩn này định nghĩa 3 thao tác: một thao tác sẽ trả về siêu dữ liệu ở mức dịch vụ, thao tác thứ hai sẽ trả về một bản đồ địa lý với các tham số chiều được xác định rõ ràng, thao tác cuối cùng không bắt buộc sẽ trả về thông tin về các thuộc tính đặc biệt được hiển thị trên bản đồ. Các thao tác mà dịch vụ bản đồ trong môi trường web cung cấp có thể được gọi bằng cách sử dụng trình duyệt web gửi các truy vấn dưới dạng URLs, nội dung của các URLs này phụ thuộc vào các thao tác được truy vấn. Đặc biệt, khi truy vấn một bản đồ, URLs sẽ chỉ ra những thông tin nào sẽ hiển thị trên bản đồ, những phần của Trái Đất sẽ được ánh xạ, hệ quy chiếu sẽ được sử dụng và chiều rộng, chiều cao của hình ảnh đầu ra. Khi hai hoặc nhiều bản đồ được xuất bản với cùng các thông số địa lý và kích thước hình ảnh đầu ra thì kết quả có thể được chồng xếp một cách chính xác để tạo ra bản đồ tổng hợp. Ngoài ra, có thể truy vấn các bản đồ riêng lẻ từ những máy chủ khác nhau. Do đó dịch vụ bản đồ trong môi trường web cho phép tạo một mạng lưới các máy chủ bản đồ phân tán mà từ đó máy khách có thể truy vấn tạo ra các bản đồ tùy chỉnh.
Tiêu chuẩn này áp dụng với trường hợp dịch vụ bản đồ trong môi trường web được sử dụng để xuất bản bản đồ. Một WMS cơ bản phân các thông tin địa lý vào các lớp và cung cấp một số hữu hạn các cách thức trình bày các lớp này. Tiêu chuẩn này chỉ hỗ trợ các lớp và cách thức trình bày các lớp đã được xác định mà không bao gồm cơ chế cho phép người dùng tự định nghĩa.
Lời nói đầu
TCVN 12266:2018 hoàn toàn tương đương ISO 19128:2005.
TCVN 12266:2018 do Trung tâm Công nghệ phần mềm và GIS và Trung tâm Chuyển giao công nghệ thuộc Cục Công nghệ thông tin và Dữ liệu Tài nguyên môi trường, Bộ Tài nguyên và Môi trường biên soạn, Bộ Thông tin và Truyền thông đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa học và Công nghệ công bố.
THÔNG TIN ĐỊA LÝ - GIAO DIỆN MÁY CHỦ BẢN ĐỒ TRÊN NỀN WEB
Geographic information - Web map server interface
Dịch vụ bản đồ trên nền web (Web Map Service - WMS) cung cấp cho máy khách dịch vụ bản đồ số thông qua việc tham chiếu động đến cơ sở dữ liệu thông tin địa lý của máy chủ. Do vậy chuẩn về dịch vụ bản đồ trong môi trường web sẽ quy định cách thức để xây dựng bản đồ hiển thị được trên máy khách. Tiêu chuẩn này quy định các yếu tố của dịch vụ bản đồ trong môi trường web như sau:
- Quy định cách thức máy khách lấy các thông tin mô tả về bản đồ do máy chủ cung cấp.
- Quy định các tham số trong truy vấn mà máy khách gửi đến máy chủ.
- Quy định về các phản hồi của máy chủ.
2.1 Các lớp và các yêu cầu cần tuân thủ
Tiêu chuẩn này định nghĩa hai lớp cần tuân thủ, một cho dịch vụ bản đồ trên nền web cơ bản, và một cho dịch vụ bản đồ trên nên web có thể truy vấn. Mỗi lớp sẽ có 2 lớp con, một cho máy chủ và một cho máy khách.
2.2 Dịch vụ bản đồ trên nền web cơ bản
Dịch vụ bản đồ trên nền web cơ bản sẽ hỗ trợ những yếu tố cơ bản của dịch vụ (xem Mục 6), thao tác GetCapabilities (xem mục 8.1) và thao tác GetMap (xem mục 8.2). Để tuân thủ được tiêu chuẩn này, dịch vụ bản đồ trên nền web cơ bản sẽ đáp ứng các yêu cầu A.1 của Phụ lục A.
2.3 Dịch vụ bản đồ trên nền web có thể truy vấn
Dịch vụ bản đồ trên nền web có thể truy vấn sẽ đáp ứng đầy đủ những yêu cầu đối với một Dịch vụ bản đồ trên nền web cơ bản, ngoài ra sẽ hỗ trợ thao tác GetFeatureInfo (xem mục 8.3). Để tuân thủ được tiêu chuẩn này, dịch vụ bản đồ trên nền web có thể truy vấn sẽ đáp ứng đầy đủ những yêu cầu ở Phụ lục A.
Các tài liệu viện dẫn sau đây là cần thiết để áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất, bao gồm cả các sửa đổi, bổ sung (nếu có).
ISO 19111:2007 Geographic information - Spatial referencing by coordinates.
ISO 8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times.
Những thuật ngữ và định nghĩa sau được dùng với mục đích áp dụng cho tiêu chuẩn này.
4.1 Bản đồ (map)
Kết quả trình bày dữ liệu địa lý một cách trực quan (bằng hình ảnh).
4.2 Dịch vụ (service)
Một chức năng xác định do một thực thể cung cấp thông qua giao diện.
4.3 Giao diện (interface)
Tên gọi của tập các thao tác mô tả hành vi của một thực thể nào đó.
4.4 Hệ quy chiếu tọa độ (Coordinate reference system)
Hệ tọa độ có quan hệ với đối tượng thông qua tham số hoặc tập các tham số định nghĩa vị trí điểm gốc, tỷ lệ và hướng của hệ tọa độ (các tham số hoặc tập các tham số được gọi là datum).
4.5 Hệ tọa độ (Coordinate system)
Tập các quy tắc toán học xác định cách thức ấn định tọa độ cho các điểm.
4.6 Lớp (layer)
Một khối các thông tin địa lý cơ sở, có thể được gọi ra từ máy chủ để phục vụ việc hiển thị bản đồ.
4.7 Máy chủ (server)
Nơi triển khai và thực thi dịch vụ.
4.8 Máy khách (client)
Hợp phần phần mềm có thể gọi một thao tác từ máy chủ.
4.9 Phản hồi (response)
Kết quả của một thao tác, được máy chủ trả về cho máy khách.
4.10 Siêu dữ liệu dịch vụ (service metadata)
Siêu dữ liệu mô tả các thao tác và các thông tin địa lý trên máy chủ.
4.11 Thao tác (operation)
Đặc tả kỹ thuật của quá trình truy vấn, vận chuyển đối tượng Quá trình này có thể được thực thi khi có yêu cầu.
4.12 Trình bày (portrayal)
Biểu diễn thông tin đối với con người.
4.13 Truy vấn (request)
Gọi một thao tác từ một máy khách.
CRS |
Coordinate Reference Systems |
Hệ quy chiếu không gian |
CS |
Coordinate Systems |
Hệ tọa độ |
GIF |
Graphics Interchange Format |
Định dạng trao đổi hình ảnh |
GIS |
Geographic Information System |
Hệ thống thông tin địa lý |
HTTP |
Hypertext Transfer Protocol |
Giao thức truyền siêu văn bản |
URL |
Uniform Resource Locator |
Định vị tài nguyên thống nhất (Địa chỉ web hay liên kết mạng) dùng để tham chiếu tới các tài nguyên trên Internet |
URI |
Uniform Resource Identifier |
Định danh tài nguyên |
JPEG |
Joint Photographic Experts Group |
Tên một phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh đến vài chục lần nhưng chất lượng hình ảnh sẽ suy giảm sau khi giải nén |
PNG |
Portable Network Graphics |
Phương pháp nén ảnh không làm mất dữ liệu gốc |
RFC |
Request for Comments |
Tập hợp những tài liệu về kiến nghị, đề xuất và những lời bình luận liên quan đến công nghệ |
SVG |
Scalable Vector Graphics |
Khả năng mở rộng của vector đồ họa |
UCUM |
Unified Code for Units of Measure |
Mã thống nhất cho đơn vị đo lường |
WebCGM |
Web Computer Graphics Metafile |
Web siêu dữ liệu đồ họa máy tính |
WMS |
Web Map Service |
Dịch vụ bản đồ trong môi trường web |
XML |
Extensible Markup Language |
Ngôn ngữ đánh dấu mở rộng |
6 Các thành phần cơ bản của dịch vụ
6.1 Giới thiệu
Phần này quy định các hành vi độc lập của dịch vụ bản đồ trên nền web với các hoạt động cụ thể hoặc phổ biến đối với một số thao tác.
6.2 Số phiên bản
6.2.1 Định dạng và giá trị của số phiên bản
Dịch vụ bản đồ trên nền web định nghĩa số phiên bản của giao thức, số phiên bản áp dụng cho lược đồ XML và yêu cầu mã hóa được định nghĩa trong tiêu chuẩn. Số phiên bản bao gồm ba chữ số nguyên không âm, phân tách nhau bằng dấu chấm (.), theo dạng “x.y.z”. Lưu ý số “y” và “z” không vượt quá 99.
6.2.2 Thay đổi số phiên bản
Số phiên bản của giao thức được thay đổi đối với mỗi phiên bản của tiêu chuẩn. Số phiên bản sẽ tăng dần và không nhiều hơn ba số nguyên dương được phân cách nhau bằng dấu chấm, với số nguyên đầu tiên là số quan trọng nhất. Có thể có khoảng trống trong dãy số. Một số số có thể biểu thị phiên bản nháp. Ngoài ra, máy chủ và máy khách không cần hỗ trợ tất cả các phiên bản được định nghĩa, nhưng phải tuân theo các quy tắc dưới đây.
6.2.3 Vị trí
Số phiên bản xuất hiện ít nhất tại hai vị trí: trong siêu dữ liệu dịch vụ và trong danh sách tham số của máy khách gửi đến máy chủ. Số phiên bản được sử dụng tại yêu cầu của máy khách đối với một máy chủ cụ thể phải bằng với số phiên bản mà máy chủ có khai báo là hỗ trợ (ngoại trừ việc điều hướng, như được mô tả bên dưới).
6.2.3 Thương lượng
Máy khách dịch vụ bản đồ trên nền web có thể thương lượng với máy chủ để xác định một phiên bản được sử dụng. Quá trình thương lượng được thực hiện sử dụng thao tác GetCapabilities (xem mục 8.2) theo các quy tắc dưới đáy.
Tất cả các siêu dữ liệu dịch vụ sẽ bao gồm số phiên bản giao thức và tuân thủ XML DTD hoặc lược đồ được định nghĩa cho phiên bản đó. Trong phản hồi đối với yêu cầu GetCapabilities (mà tham số VERSION là Tùy chọn) không xác định số phiên bản, máy chủ sẽ phản hồi sử dụng phiên bản cao nhất được hỗ trợ. Trong các phản hồi đối với yêu cầu GetCapabilities chứa số phiên bản mà máy chủ triển khai, máy chủ sẽ gửi số phiên bản đó. Nếu máy chủ không hỗ trợ phiên bản được yêu cầu, máy chủ sẽ phản hồi với phiên bản được hỗ trợ, tuân theo những quy tắc sau:
- Nếu phiên bản yêu cầu không được máy chủ hỗ trợ và cao hơn phiên bản thấp nhất được yêu cầu, máy chủ sẽ gửi phiên bản cao nhất hỗ trợ và thấp hơn phiên bản được yêu cầu.
- Nếu phiên bản được yêu cầu thấp hơn tất cả những phiên bản máy chủ hỗ trợ, khi đó máy chủ sẽ phản hồi với phiên bản thấp nhất mà nó hỗ trợ.
- Nếu máy khách không hỗ trợ những phiên bản mà máy chủ gửi, có thể ngừng thực hiện truy vấn đến máy chủ hoặc gửi lại yêu cầu truy vấn với số phiên bản khác mà máy khách hỗ trợ.
Quá trình này có thể được lặp lại đến khi nào đạt được phiên bản phù hợp đối với cả máy chủ và máy khách, hoặc đến khi máy khách quyết định không thể giao tiếp được với máy chủ.
Phần này sẽ xây dựng các yêu cầu chung trong phương thức giao tiếp giữa máy chủ và máy khách, đưa ra các tham số cơ bản khi xây dựng truy vấn và quy định về kết quả trả về hoặc thông báo không hợp lệ do máy chủ đưa ra.
7.1 Chuẩn truy vấn HTTP
7.1.1 Giới thiệu
Tiêu chuẩn quy định việc trao đổi thông tin giữa máy chủ và máy khách. Các tài nguyên trực tuyến của máy chủ sẽ được tham chiếu đến thông qua địa chỉ URL. Cấu trúc một URL bao gồm nhiều thành phần và được quy định trong tiêu chuẩn HTTP 1.1, tại tài liệu này sẽ đề cập chi tiết phần truy vấn bao gồm các tham số riêng đối với dịch vụ bản đồ trong môi trường web.
Máy chủ WMS hỗ trợ hai phương thức truy vấn: GET và POST. Một máy chủ có thể hỗ trợ một hoặc cả hai phương thức trên, việc sử dụng URL sẽ khác nhau trong từng trường hợp. Việc hỗ trợ phương thức GET là bắt buộc còn hỗ trợ phương thức POST là tùy chọn.
7.1.2 Chuẩn các kí tự trong HTTP GET URLs
Quy định kỹ thuật về URL (trong IETF RFC 2396) dành riêng các ký tự đặc biệt. Tiêu chuẩn này giới hạn các kí hiệu cần sử dụng khi xây dựng truy vấn đến dịch vụ bản đồ. Nội dung chi tiết về các kí tự cơ bản sử dụng trong dịch vụ bản đồ được thể hiện trong Bảng 1.
Bảng 1 - Các kí tự sử dụng trong chuỗi truy vấn WMS
Kí tự |
Ý nghĩa sử dụng |
? |
Bắt đầu chuỗi truy vấn |
& |
Phân cách giữa các tham số trong chuỗi truy vấn |
= |
Phân cách giữa tên và giá trị của tham số |
‘ |
Phân cách giữa các giá trị đặc biệt trong danh sách các tham số (ví dụ như: BBOX, LAYERS và STYLES trong truy vấn GetMap) |
+ |
Ký tự trống |
7.1.3 Chuẩn cấu trúc URL phương thức HTTP GET
Dịch vụ bản đồ trong môi trường web sẽ cung cấp phương thức GET cho giao thức HTTP. Đối với phương thức GET, cấu trúc cơ bản của URL sẽ bao gồm tiền tố URL và các tham số để xác định các thao tác cần thực hiện. Theo tiêu chuẩn quốc tế IETF RFC 2396 quy định về cú pháp chung của các URI, cấu trúc một URL sẽ là một chuỗi kí tự bao gồm:
- Tên giao thức (http, https, fpt)
- Tên miền hoặc địa chỉ IP
- Cổng (có thể không có)
- Đường dẫn tuyệt đối trên máy chứa tài nguyên
- Kí tự “?”
- Truy vấn với chuỗi tham số phân cách nhau bằng kí tự “&” (có thể không có)
Đối với mỗi thao tác WMS nói riêng, trong truy vấn sẽ bao gồm một số tham số bắt buộc hoặc tham số tùy chọn. Mỗi tham số có tên được xác định và một (hoặc một vài) giá trị do tiêu chuẩn quy định hoặc do người dùng lựa chọn. Để xây dựng truy vấn của URL, người dùng sẽ thêm các thông số theo hình thức “tên=giátrị&” (tên tham số, kí tự giá trị tham số, kí tự “&”).
Khi phương thức GET được sử dụng, phần truy vấn máy khách xây dựng sẽ được nối thêm vào tiền tố URL được xác định bởi máy chủ, URL hoàn chỉnh sẽ được gọi tuân theo quy định của tiêu chuẩn HTTP 1.1
Chi tiết các thành phần của một URL được xây dựng khi sử dụng phương thức HTTP GET được nêu ra trong Bảng 2.
Bảng 2 - Cấu trúc truy vấn WMS theo phương thức HTTP GET
Thành phần |
Mô tả |
http://tênmiền[:cổng]/đườngdẫn[?{tên[=giátrị]&}] |
Tiền tố URL của các thao tác dịch vụ [] thể hiện tùy chọn có thể không xuất hiện hoặc chỉ xuất hiện một lần {} thể hiện tùy chọn có thể không xuất hiện hoặc có thể xuất hiện nhiều lần |
tên=giátrị& |
Một hoặc nhiều cặp tham số truy vấn theo quy định của tiêu chuẩn |
7.1.4 Chuẩn cấu trúc URL phương thức HTTP POST
Dịch vụ bản đồ trong môi trường web có thể hỗ trợ cả phương thức POST.
URL dành cho các truy vấn HTTP POST là một URL đầy đủ, máy khách sẽ truyền thông số truy vấn theo cơ chế riêng.
Đối với phương thức POST, WMS sẽ không gửi yêu cầu đến máy khách với truy vấn có các tham số bổ sung được nối vào URL. Khi cơ chế POST được sử dụng, truy vấn sẽ được xây dựng dưới dạng tài liệu XML.
7.2 Chuẩn phản hồi HTTP
Cùng với việc nhận yêu cầu từ máy khách, máy chủ sẽ gửi thông tin phản hồi chính xác theo chuẩn được quy định trong mục 8 của tài liệu này, hoặc gửi một thông báo không hợp lệ nếu không đáp ứng được yêu cầu của dịch vụ.
Đối tượng phản hồi sẽ được gửi đi kèm với kiểu MIME phù hợp. Cấu trúc cơ bản của một định dạng MIME là một chuỗi có dạng “type/subtype”, ngoài ra MIME còn cho phép thêm các thông số theo định dạng “type/subtype; param1=value1; param2=value2”.
7.3 Các giá trị kiểu số và kiểu Boolean
Các số nguyên phụ thuộc vào các thông số kĩ thuật được đề cập trong tài liệu về XML Schema DataType. Tiêu chuẩn này chỉ quy định và chỉ rõ khi nào giá trị số nguyên là bắt buộc.
Các số thực phụ thuộc vào các thông số kĩ thuật về kiểu số thực có độ chính xác (double-precision), áp dụng cho số nguyên, số thập phân, số mũ. Giá trị thực chấp nhận đại diện cho tất cả các kiểu số được định nghĩa trong tiêu chuẩn này, trừ khi giá trị quy định phải là số nguyên.
Các giá trị dương, giá trị âm và giá trị 0 đều được chấp thuận trừ khi bị quy định một cách rõ ràng.
Giá trị Boolean phụ thuộc vào các thông số kĩ thuật về kiểu Boolean được đề cập trong tài liệu về XML Schema DataType. Giá trị “0” và “false” là tương đương, “1” và “true” là tương đương. Sự vắng mặt của một giá trị tùy chọn tương đương với việc sai về mặt logic. Tiêu chuẩn này sẽ quy định rõ ràng khi nào giá trị Boolean là bắt buộc.
7.4 Chuẩn định dạng đầu ra của tập tin phản hồi
Phản hồi của một dịch vụ bản đồ trong môi trường web thường là một tập tin được truyền từ máy chủ đến máy khách thông qua mạng Internet. Các tập tin này có thể chứa văn bản hoặc là một tập tin ảnh chứa hình ảnh về bản đồ. Như đã nêu rõ ở phần 7.2, các định dạng của tập tin phản hồi sẽ được chỉ ra bởi chuỗi định dạng theo chuẩn MIME.
Định dạng đầu ra của văn bản thường là định dạng XML (định dạng MIME: text/xml). Định dạng văn bản được sử dụng để truyền tải siêu dữ liệu của dịch vụ, mô tả các lỗi hoặc là phản hồi cho các tính năng khác trên bản đồ.
Đối với định dạng đầu ra là bản đồ thì thường là dạng hình ảnh hoặc các yếu tố đồ họa.
Các định dạng hình ảnh bao gồm các loại tập tin: Graphics Interchange Format (GIF - định dạng MIME “image/gif”), Portable Network Graphics (PNG - định dạng MIME “image/png”), Joint Photographics Expert Group (JPEG - định dạng MIME “image/jpeg”).
Định dạng các yếu tố đồ họa bao gồm các loại tập tin: Scalable Vector Graphics (SVG - định dạng MIME “image/svg+xml”), Web Computer Graphics Metafile (WebCGM - định dạng MIME “image/cgm; Version=4; Profileld=WebCGM”)
Máy chủ có thể hỗ trợ
nhiều định dạng bản đồ, các định dạng này được liệt kê trong yếu tố
7.5 Hệ tọa độ
Trong phần này của tiêu chuẩn sẽ định nghĩa các tham số liên quan đến hệ tọa độ được sử dụng trong dịch vụ. Tiêu chuẩn này sử dụng hai lớp chính liên quan đến hệ tọa độ: Hệ tọa độ của bản đồ (Map CS) được sử dụng để mô tả bản đồ tạo ra bởi WMS, lớp hệ quy chiếu tọa độ (Layer CRS) cho khung giới hạn (bounding box) áp dụng cho dữ liệu nguồn. Trong mỗi thao tác mô tả lại bản đồ, WMS sẽ chuyển đổi thông tin địa lý từ Layer CRS sang Map CS để hiển thị.
7.5.1 Hệ tọa độ của bản đồ (Map CS)
Map CS là hệ quy chiếu tọa độ cho bản đồ được xuất bản bởi WMS. Một bản đồ WMS là một mạng lưới rất nhiều điểm ảnh hiển thị trên màn hình máy tính (hoặc một tập tin có thể hiển thị được). Map CS có trục ngang kí hiệu là i, trục dọc kí hiệu là j (i, j phải là những số nguyên không âm). Giá trị (i,j) = (0,0) là điểm ảnh ở góc trên bên trái của bản đồ, giá trị i tăng dần về phía bên phải còn giá trị j tăng dần khi hướng xuống dưới. Map CS được định nghĩa theo chuẩn ISO 19111. Map CS được xác định bởi nhãn “CRS:1” (xem phụ lục B).
Thông thường, Map CS sẽ được xây dựng với trục i song song với trục có hướng từ Đông sang Tây của lớp CRS và tăng về hướng Đông, trục j song song với trục hướng Bắc đến Nam và tăng về phía Nam. Định hướng này sẽ không thể thực hiện được trong một vài trường hợp, ví dụ như phép chiếu tại Nam Cực.
Tham số WIDTH (chiều rộng) và HEIGHT (chiều cao) được sử dụng trong truy vấn GetMap (xem phần 8.2) và đưa vào truy vấn GetFeatureInfo (xem phần 8.3) tương ứng với các thông số i và j như sau:
- WIDTH biểu thị kích thước hình ảnh bản đồ bằng pixel theo trục i.
- HEIGHT biểu thị kích thước hình ảnh bản đồ bằng pixel theo trục j
Tham số I và J sử dụng trong truy vấn GetFeatureInfo biểu thị giá trị số nguyên theo trục i và j tương ứng trên bản đồ CS.
7.5.2 Lớp hệ quy chiếu tọa độ (Layer CRS)
7.5.2.1 Giới thiệu
Layer CRS là hệ tọa độ phẳng cho dữ liệu thông tin địa lý nguồn của bản đồ. Layer CRS xuất hiện trong các đối tượng liên quan đến WMS như sau:
- Yếu tố về khung giới hạn trong siêu dữ liệu dịch vụ.
- Tham số CRS trong truy vấn GetMap.
- Tham số CRS trong một phần truy vấn về bản đồ của thao tác GetFeatureInfo.
Một dịch vụ WMS phải hỗ trợ ít nhất một hệ quy chiếu tọa độ (CRS), các bản đồ được truy vấn từ nhiều nguồn máy chủ khác nhau chỉ được chồng xếp lên nhau nếu tất cả các máy chủ đều hỗ trợ ít nhất một hệ quy chiếu tọa độ giống nhau. Tiêu chuẩn này không bắt buộc máy chủ phải hỗ trợ một lớp CRS đặc biệt nào mà chỉ định nghĩa cách xác định và một số tùy chọn của tham số CRS. Để tối đa hóa khả năng tương tác giữa các máy chủ, các nhà cung cấp nên hỗ trợ những hệ tọa độ địa lý cơ bản như “CRS:65”, “EPSG:4326” và “EPSG:3405”, “EPSG:3407” của VN2000.
Tham số CRS được xác định bằng một chuỗi ký tự, có hai cách xác định một Layer CRS như sau:
- Nhãn: bao gồm định danh, dấu hai chấm, một mã số hoặc chuỗi kí tự, trong một số trường hợp sẽ có thêm dấu phẩy và các thông số bổ sung kèm theo.
- URL: một URL đầy đủ tham chiếu đến một tập tin có chứa định nghĩa lớp CRS theo tiêu chuẩn ISO 19111.
Layer CRS có hai trục được ký hiệu là x và y, được định hướng tùy theo từng CRS. Tọa độ sẽ được ánh xạ một cách thích hợp đến trục i và trục j của Hệ tọa độ Map CS.
7.5.2.2 Định danh CRS
Định danh “CRS” đề cập đến hệ quy chiếu tọa độ được xác định tại phụ lục B của tiêu chuẩn, dựa trên tiêu chuẩn ISO 19111. Các hệ quy chiếu tọa độ được đề cập đến bao gồm WGS 84, VN2000.
Một nhãn của hệ quy chiếu tọa độ bao gồm định danh “CRS”, dấu hai chấm và mã số hoặc chuỗi kí tự.
Ví dụ: “CRS:84” là hệ quy chiếu WGS 84 với kinh độ và vĩ độ thể hiện dạng số thập phân, kinh độ từ -180 độ đến 180 độ, vĩ độ từ -90 độ đến 90 độ.
7.5.2.3 Định danh EPSG
Định danh “EPSG” là một sản phẩm của tổ chức cùng tên - Liên đoàn khảo sát Trắc địa Dầu khí Châu Âu - quy định các phép chiếu bản đồ và hệ quy chiếu tọa độ có liên quan.
Một nhãn CRS của EPSG bao gồm định danh “EPSG”, dấu hai chấm và mã số.
Ví dụ: “EPSG:4326” là hệ quy chiếu dựa vào WGS 84 với vĩ độ rồi đến kinh độ, với trục x tương ứng với vĩ độ và trục y tương ứng với kinh độ.
7.5.2.4 Định danh AUTO2
Định danh này sử dụng cho hệ quy chiếu tọa độ tự động, do người dùng tự chọn và được làm rõ trong phụ lục B. Một nhãn đầy đủ của hệ quy chiếu tọa độ định danh AUTO2 bao gồm tiền tố “AUTO2”, số nguyên tham chiếu từ định danh AUTO2, chỉ số áp dụng chuyển đổi giữa các đơn vị khung giới hạn (bounding box) với các đơn vị của hệ quy chiếu tọa độ AUTO2, giá trị kinh độ và vĩ độ:
AUTO2: auto_crs_id, factor, lon0, lat0
Chỉ số chuyển đổi factor là số dương khác 0. Nếu factor = 1, các giá trị BBOX và các giá trị được định nghĩa trong CRS là như nhau. Ngược lại, giá trị BBOX và các giá trị của CRS sẽ tỷ lệ với nhau. Trong yêu cầu GetMap, các thông tin về kinh độ, vĩ độ và đơn vị được xác định hoàn chỉnh, còn trong dịch vụ metadata, các thông số trên được bỏ qua vì chúng sẽ được lựa chọn bởi máy khách đính kèm trong yêu cầu.
7.5.2.5 Thông tin địa lý với CRS không xác định
Một máy chủ có thể cung cấp thông tin địa lý với hệ quy chiếu không xác định. Ví dụ như, một bản đồ vẽ tay có thể đại diện cho một khu vực thuộc Trái Đất tuy nhiên lại không sử dụng hệ quy chiếu tọa độ xác định nào. Những loại thông tin đồ họa này được coi là một hình ảnh, và nhãn của Map CS sẽ là “CRS:1” để khai báo Layer CRS của một đối tượng như vậy. Máy khách không nên
7.5.3 Khung giới hạn
Tham số về khung giới hạn sẽ giới hạn một phần Trái Đất được ánh xạ bởi 2 cặp tọa độ theo tham số CRS. Cặp tọa độ đầu tiên là giá trị tọa độ nhỏ nhất, cặp thứ hai có giá trị lớn nhất.
Đối với dịch vụ bản đồ
trong môi trường web, các giá trị về khung giới hạn sẽ xuất hiện trong các trường
hợp sau: yếu tố
7.5.4 Hệ quy chiếu độ cao
Một số thông tin địa lý có thể có một số thông tin về độ cao (ví dụ như nồng độ ozone tại các độ cao khác nhau trong khí quyển). Máy chủ dịch vụ bản đồ trong môi trường web có thể công bố độ cao có sẵn trong siêu dữ liệu dịch vụ của mình, thao tác GetMap sẽ bao gồm thêm một tham số tùy chọn để yêu cầu độ cao đặc biệt. Một giá trị đơn về chiều cao hoặc độ sâu là một giá trị số có đơn vị, tăng dần theo định hướng và được khai báo thông qua hệ quy chiếu độ cao một chiều. Tùy thuộc vào bối cảnh, giá trị độ cao có thể xuất hiện như một giá trị duy nhất, một danh sách các giá trị, trong một khoảng thời gian...theo quy định tại phụ lục C.
Một máy chủ có thể yêu cầu nhiều nhất một hệ quy chiếu độ cao cho mỗi lớp. Với mục đích của tiêu chuẩn này, các hệ quy chiếu ngang và hệ quy chiếu độ cao được coi là yếu tố siêu dữ liệu và các tham số yêu cầu độc lập.
Một truy vấn về một bản đồ tại một độ cao cụ thể sẽ gồm một giá trị độ cao nhưng không bao gồm định danh của hệ quy chiếu độ cao. Khi cung cấp thông tin về độ cao, một máy chủ sẽ khai báo một giá trị mặc định trong siêu dữ liệu dịch vụ và sẽ phản hồi với giá trị mặc định này nếu truy vấn gửi từ máy khách không có.
Định danh của hệ quy chiếu độ cao được biểu dưới dưới một trong hai dạng sau:
- Nhãn: bao gồm định danh, dấu hai chấm và một chuỗi hoặc mã số.
- URL: một URL đầy đủ tham chiếu đến một tập tin có chứa định nghĩa lớp CRS theo tiêu chuẩn ISO 19111.
Nếu chiều cao là trục thẳng đứng của hệ quy chiếu 3 chiều thì định danh của hệ quy chiếu độ cao (Vertical CRS) phải là chiều thứ 3.
7.5.5 Hệ tọa độ thời gian
Một số thông tin địa lý có thể khác nhau trong từng khoảng thời gian nhất định (ví dụ như bản đồ thời tiết). Một dịch vụ WMS có thể bao gồm thông tin về thời gian trong dịch vụ metadata, và máy khách có thể truyền tham số và thực hiện các yêu cầu GetMap theo thời gian cụ thể. Định dạng tham số thời gian được làm rõ trong phụ lục D. Tùy thuộc vào từng yêu cầu, giá trị tham số thời gian có thể là một giá trị duy nhất, danh sách các giá trị hoặc một khoảng thời gian nhất định (xem phụ lục C). Khi máy khách gửi yêu cầu bản đồ có tính tạm thời nhưng không truyền tham số trong yêu cầu, máy chủ sẽ gửi phản hồi theo giá trị mặc định trong hệ thống.
7.5.6 Các hệ tọa độ khác
Một số thông tin địa lý có thể có những thông tin về các chiều khác nhau (ví dụ như hình ảnh vệ tinh ở những dải bước sóng khác nhau). Máy chủ WMS sẽ công bố các chiều có sẵn trong siêu dữ liệu dịch vụ của mình, truy vấn GetMap sẽ bao gồm thông tin yêu cầu về các giá trị chiều. Mỗi chiều có sẵn sẽ có tên và một vài giá trị hợp lệ. Việc khai báo và sử dụng chiều mẫu được quy định tại phụ lục C.
7.6 Chuẩn các tham số truy vấn
7.6.1 Thứ tự và quy định cách viết đối với các tham số
Tên các tham số không phân biệt chữ hoa chữ thường, nhưng giá trị các tham số có phân biệt chữ hoa chữ thường. Trong tiêu chuẩn này, tên các tham số thường được viết hoa để rõ ràng trong đánh máy, tuy nhiên đây không phải là quy định.
Các tham số trong truy vấn không yêu cầu thứ tự xác định.
Khi tham số yêu cầu bị nhân đôi với các giá trị mâu thuẫn, phản hồi từ máy chủ có thể sẽ không được xác định.
Trong thực tế, máy chủ WMS sẽ được chuẩn bị để phản hồi đối với các tham số bổ sung không được đưa ra trong tiêu chuẩn này. Trong điều kiện tiêu chuẩn, máy khách WMS không được yêu cầu các tham số bổ sung như vậy.
7.6.2 Quy định trình bày danh sách các tham số
Các tham số được liệt kê dưới dạng danh sách (ví dụ như BBOX, LAYERS, STYLES trong truy vấn GetMap), sử dụng dấu phẩy (“,”) là dấu phân cách giữa các mục trong một danh sách.
Dấu cách không được sử dụng để phân định các tham số.
Đối với một số tham số đặc biệt có giá trị rỗng sẽ được thể hiện bằng chuỗi rỗng (“”).
7.6.3 Các tham số truy vấn chung
7.6.3.1 Tham số “VERSION”
Xác định số phiên bản giao thức, xuất hiện trong nội dung các siêu dữ liệu dịch vụ và trong danh sách các tham số khi gửi truy vấn. Số phiên bản xuất hiện trong truy vấn của máy khách đến một máy chủ phải trùng với số phiên bản dịch vụ mà máy chủ có hỗ trợ. Một máy chủ có thể hỗ trợ nhiều phiên bản khác nhau.
Đối với truy vấn GetCapabilities không được khai báo tham số VERSION, máy chủ sẽ phản hồi với phiên bản WMS cao nhất mà nó hỗ trợ. Nếu phiên bản trong truy vấn do máy khách gửi không được hỗ trợ, máy chủ sẽ đưa ra phản hồi phù hợp với một phiên bản có hỗ trợ theo các quy tắc sau:
- Phiên bản trong truy vấn cao hơn phiên bản thấp nhất được hỗ trợ, máy chủ sẽ gửi phản hồi với phiên bản cao nhất nó hỗ trợ nhưng nhỏ hơn phiên bản được truy vấn.
- Nếu phiên bản được truy vấn thấp hơn tất cả những phiên bản máy chủ có hỗ trợ thì máy chủ sẽ gửi phản hồi phù hợp với phiên bản thấp nhất nó hỗ trợ.
- Nếu máy khách không hỗ trợ phiên bản đối với phản hồi do máy chủ gửi thì nó có thể ngừng giao tiếp với máy chủ hoặc gửi truy vấn mới với số phiên bản khác.
Các phiên bản WMS có thể được máy khách và máy chủ hỗ trợ bao gồm: 1.0.0, 1.0.7, 1.1.0, 1.1.1 và 1.3.0.
7.6.3.2 Tham số “REQUEST”
Tham số chỉ ra dịch vụ được truy vấn. Giá trị là tên của thao tác được máy chủ cung cấp.
7.6.3.3. Tham số “FORMAT”
Tham số xác định định dạng đầu ra của phản hồi đối với một thao tác.
Một WMS chỉ hỗ trợ một bộ định dạng xác định cho mỗi loại thao tác. Máy chủ sẽ cung cấp thông tin về các bộ định dạng sẽ hỗ trợ trong siêu dữ liệu dịch vụ và chỉ chấp nhận những truy vấn hợp lệ.
Các định dạng được xác định trong siêu dữ liệu dịch vụ và trong các truy vấn đều tuân theo kiểu MIME. Mỗi thao tác sẽ có một danh sách riêng các định dạng được hỗ trợ.
7.6.3.4 Tham số “EXCEPTIONS”
Tham số xác định định dạng sẽ thông báo lỗi, được làm rõ ở mục 7.8.
7.6.3.5 Khả năng và các thao tác mở rộng
Các khả năng và thao tác mở rộng được xác định bằng các yếu tố trừu tượng <_ExtendedCapabilities> hoặc <_ExtendedOperations> trong lược đồ XML của siêu dữ liệu dịch vụ (được chỉ ra trong phụ lục E).
Các khả năng mở rộng cung cấp siêu dữ liệu bổ sung cho dịch vụ, và có thể bao gồm cả các tham số cần thiết trong truy vấn. Các thao tác mở rộng cho phép bổ sung thêm các thao tác cho một truy vấn.
Tên của các thao tác hoặc các dịch vụ mở rộng phải được đặt tránh sự xung đột với các trường trong siêu dữ liệu, các tham số và các thao tác.
7.7 Kết quả dịch vụ
Các giá trị trả về của một truy vấn dịch vụ hợp lệ tương ứng với tham số quy định định dạng của truy vấn (tham số FORMAT). Trong môi trường HTTP, phần tiêu đề về kiểu dữ liệu của thông tin phản hồi phải có cùng định dạng MIME như ở truy vấn.
7.8 Các trường hợp không hợp lệ
Khi nhận được một truy vấn không hợp lệ như quy định, máy chủ sẽ đưa ra thông báo lý do mà truy vấn không hợp lệ. Tham số không hợp lệ (EXCEPTIONS) trong truy vấn sẽ xác định định dạng của thông báo mà máy khách muốn nhận được.
8 Các thao tác cơ bản của Dịch vụ bản đồ trong môi trường web
Các thao tác cơ bản của dịch vụ bản đồ trong môi trường web bao gồm: GetCapabilities, GetMap và GetFeatureInfo. Đối với mỗi thao tác này, tiêu chuẩn sẽ quy định về các tham số cần có khi xây dựng truy vấn, quy định về các phản hồi của máy chủ. Đối với thao tác GetCapabilities, tiêu chuẩn còn quy định phần nội dung với các yếu tố, các thẻ cần có trong phản hồi.
8.1 GetCapabilities (bắt buộc)
Truy vấn GetCapabilities trả về các siêu dữ liệu mô tả máy chủ WMS, 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à máy chủ WMS có thể nhận.
8.1.1 Các thành phần truy vấn GetCapabilities
Hình thức chung của một truy vấn WMS được chỉ ra trong phần 7.7. Đối với truy vấn GetCapabilities nói riêng, các tham biến được làm rõ trong Bảng 3.
Bảng 3 - Các tham số của truy vấn GetCapabilities
Tham số |
Bắt buộc/ Tùy chọn |
Mô tả |
VERSION |
Tùy chọn |
Phiên bản. |
SERVICE=WMS |
Bắt buộc |
Kiểu dịch vụ |
REQUEST=GetCapabilities |
Bắt buộc |
Tên truy vấn |
FORMAT |
Tùy chọn |
Định dạng đầu ra của siêu dữ liệu dịch vụ |
UPDATESEQUENCE |
Tùy chọn |
Số thứ tự hoặc chuỗi để kiểm soát bộ nhớ đệm |
8.1.1.1 Tham số “VERSION”
Tham số tùy chọn “VERSION”, được dùng để xác định phiên bản.
8.1.1.2 Tham số “SERVICE”
Tham số bắt buộc “SERVICE” chỉ ra loại dịch vụ được gọi là một máy chủ cụ thể. Khi gọi GetCapailities trên một máy chủ WMS sử dụng chuẩn này, giá trị tham số sẽ là “WMS”.
8.1.1.3 Tham số “REQUEST”
Tham số bắt buộc “REQUEST” được quy định tại 7.6.3.2 của tiêu chuẩn. Để thực hiện thao tác GetCapabilities, giá trị “GetCapabilities” sẽ được sử dụng.
8.1.1.4 Tham số “FORMAT”
Tham số tùy chọn “FORMAT”
chỉ rõ định dạng mong muốn của siêu dữ liệu dịch vụ. Giá trị hỗ trợ cho một
truy vấn GetCapabilities trên máy chủ WMS được liệt kê trong một hoặc nhiều phần
tử
8.1.1.5 Tham số “UPDATESEQUENCE”
Tham số tùy chọn “UPDATESEQUENCE” dùng để duy trì sự ổn định và nhất quán của bộ nhớ cache. Giá trị của nó có thể là một số nguyên, hoặc một chuỗi đại diện cho một mốc thời gian trong định dạng của TCVN ISO 8601:2004 (xem phụ lục D).
8.1.2 Phản hồi đối với truy vấn GetCapabilities
Khi gọi đến một máy chủ WMS, phản hồi của một truy vấn GetCapabilities sẽ là một tài liệu XML chứa các siêu dữ liệu dịch vụ được định dạng theo lược đồ XML trong phụ lục E. Thứ tự các thẻ trong tài liệu XML được liệt kê trong các phần sau.
8.1.2.1 Tên và tiêu đề
Một số phản hồi bao gồm
cả thẻ Tên
8.1.2.2 Siêu dữ liệu dịch vụ chung
Phần đầu của siêu dữ
liệu dịch vụ là một yếu tố
Tên
Tiêu đề
Các yếu tố
Các yếu tố
Một danh sách các từ khóa hoặc cụm từ khóa mô tả các máy chủ nói chung, hỗ trợ việc tìm kiếm theo danh mục.
Thông tin liên lạc nên được đi kèm trong phản hồi.
Các yếu tố tùy chọn
Các yếu tố tùy chọn
8.1.2.3 Siêu dữ liệu Capability
Yếu tố
8.1.2.4 Lớp bản đồ và cách thức trình bày
Phần quan trọng nhất
của các siêu dữ liệu dịch vụ WMS là các yếu tố
Mỗi bản đồ có sẵn được
thông báo bởi một phần tử
Một máy chủ cần có ít
nhất một phần tử
8.1.2.5 Các thuộc tính lớp
Các yếu tố
8.1.2.5.1 Tiêu đề
Tất cả các lớp đều bắt buộc phải có tiêu đề, là một chuỗi kí tự mà con người có thể đọc hiểu, dùng để hiển thị trong danh mục. Các lớp con không thừa kế tiêu đề từ lớp trên.
8.1.2.5.2 Tên
Một lớp bản đồ chỉ được
truy vấn bằng Tên trong tham số
Máy chủ sẽ sinh một thông báo không hợp lệ với mã “LayerNotDefined” nếu một lớp không hợp lệ được truy vấn.
Tên không được thừa kế bởi các Lớp con.
8.1.2.5.3 Mô tả thông tin và danh sách từ khóa
Hai phần tử
8.1.2.5.4 Cách thức trình bày lớp bản đồ
Cách thức trình bày lớp bản đồ có thể được thông báo cho một Lớp hoặc một tập hợp các lớp bằng các yếu tố