Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 2
lượt xem 11
download
Chương 2. Web Map Service (WMS) Tiền tố URL bao gồm giao thức, tên host, số port, đường dẫn và dấu chấm hỏi “?”. Các tham số là các cặp tên/giá trị và phân cách nhau bởi dấu “&” Một HTTP GET URL sẽ có dạng như sau: http://host[:port]/path?{name[=value]&} 2.2.2.2. HTTP POST Các request cho operation sử dụng HTTP POST chưa được định nghĩa trong WMS. 2.2.3. Những quy tắc chung trong HTTP response Khi nhận được một request hợp lệ, dịch vụ sẽ gửi về một response tương ứng đúng với những gì request yêu cầu ngọai trừ trường hợp xảy ra...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 2
- Chương 2. Web Map Service (WMS) Tiền tố URL bao gồm giao thức, tên host, số port, đường dẫn và dấu chấm hỏi “?”. Các tham số là các cặp tên/giá trị và phân cách nhau bởi dấu “&” Một HTTP GET URL sẽ có dạng như sau: http://host[:port]/path?{name[=value]&} 2.2.2.2. HTTP POST Các request cho operation sử dụng HTTP POST chưa được định nghĩa trong WMS. 2.2.3. Những quy tắc chung trong HTTP response Khi nhận được một request hợp lệ, dịch vụ sẽ gửi về một response tương ứng đúng với những gì request yêu cầu ngọai trừ trường hợp xảy ra thỏa thuận phiên bản thì có thể cho kết quả khác. Khi nhận được một request không hợp lệ, dịch vụ sẽ gửi về một ngoại biệt dịch vụ (Service Exception). Các đối tượng trả về trong response phải theo kiểu MIME (Multipurpose Internet Mail Extensions). 2.2.4. Những quy tắc về tham số trong câu request Tên tham số không phân biệt hoa thường. Giá trị của tham số có phân biệt hoa thường. Trật tự các tham số có thể tùy ý. Các tham số có giá trị là một danh sách thì các giá trị được phân cách nhau bởi dấu phẩy “,”, không được dùng khoảng trắng để phân cách. Các tham số có giá trị là một danh sách thì khi có một giá trị nào đó là trống thì để trống giá trị đó (“,,”) 8
- Chương 2. Web Map Service (WMS) 2.2.5. Các tham số thông dụng trong câu request 2.2.5.1. VERSION Tham số VERSION đặc tả số phiên bản. Định dạng và quá trình thỏa thuận phiên bản đã được đề cập ở trên. 2.2.5.2. REQUEST Tham số REQUEST chỉ ra operation nào trong dịch vụ cần được thực thi. Giá trị của nó là tên của một trong các operation mà OWS hỗ trợ. 2.2.5.3. FORMAT Tham số FORMAT chỉ ra định dạng trả về của response cho một operation. Một dịch vụ có thể chỉ hỗ trợ một tập con các định dạng được biết của các kiểu trong operation. Server sẽ quảng cáo các định dạng mà nó hỗ trợ trong tài liệu Capabilities XML và chấp nhận đáp ứng tất cả các request yêu cầu các định dạng mà nó hỗ trợ. Nếu như request có một định dạng không được cung cấp bởi server thì server sẽ gửi đi một biệt lệ dịch vụ (với mã “InvalidFormat”). Ngược lại, một client cũng có thể chỉ chấp nhận được một tập con các định dạng được biết của các kiểu trong operation. Nếu client và dịch vụ không cùng đưa ra được một định dạng chung (cùng hỗ trợ) thì hoặc là client ngừng liên lạc với dịch vụ đó, hoặc là tìm một nhà cung cấp dịch vụ trung gian có khả năng chuyển đổi các định dạng, hoặc là dùng phương pháp khác (chẳng hạn như lưu xuống bộ nhớ hoặc chuyển qua ứng dụng giúp đỡ). Các định dạng trong cả tài liệu Capabilities XML và trong request đến operation đều có kiểu MIME. Mỗi operation có một danh sách các định dạng hỗ trợ riêng biệt. 9
- Chương 2. Web Map Service (WMS) Kiểu MIME Nội dung tài liệu application/vnd.ogc.wms_xml WMS Capabilities XML application/vnd.ogc.gml Geography Markup Language XML application/vnd.ogc.se_xml Service Exception XML application/vnd.ogc.se_inimage Hình với các thông điệp biệt lệ application/vnd.ogc.se_blank Hình trắng do biệt lệ xảy ra Bảng 2.2.Danh sách các kiểu MIME 2.2.5.4. EXCEPTIONS Tham số EXCEPTIONS chỉ ra định dạng để thông báo lỗi. 2.2.5.5. Hệ quy chiếu không gian (Spatial Reference System (SRS)) SRS là một tham số text dùng để chỉ hệ trục tọa độ nằm ngang. Nó bao gồm một tiền tố namespace, một dấu hai chấm “:”, và một con số. Có hai loại namespace: EPSG và AUTO. Một dịch vụ có thể không hỗ trợ hết tất cả các SRS. Server sẽ quảng cáo các SRS mà nó hỗ trợ trong tài liệu Capabilities XML và chấp nhận đáp ứng tất cả các request yêu cầu các SRS mà nó hỗ trợ. Nếu như request có một SRS không được cung cấp bởi server thì server sẽ gửi đi một biệt lệ dịch vụ (với mã “InvalidSRS”). Ngược lại, một client cũng không cần hỗ trợ hết tất cả các SRS. Nếu client và dịch vụ không cùng đưa ra được một SRS chung (cùng hỗ trợ) thì hoặc là client ngừng liên lạc với dịch vụ đó, hoặc là tìm một nhà cung cấp dịch vụ trung gian có khả năng chuyển đổi hệ trục tọa độ, hoặc là dùng phương pháp khác. 2.2.5.5.1. Không gian tên EPSG Không gian tên EPSG được dựa trên các bảng dữ liệu của Nhóm Khảo sát Dầu hỏa Châu Âu (European Petroleum Survey Group). Nó định nghĩa những con số đặc trưng cho các phép chiếu, hệ trục tọa độ chuẩn, đơn vị đo, kinh tuyến gốc,... 10
- Chương 2. Web Map Service (WMS) Ví dụ, khi tham số SRS chỉ ra Hệ qui chiếu Tọa độ Địa lý (Geographic Coordinate Reference System) thì sẽ là “EPSG:4326”. 2.2.5.5.2. Không gian tên AUTO Không gian tên AUTO được dùng cho các phép chiếu tự động, đó là tập các phép chiếu với tâm chiếu tùy ý. Một request chứa tham số SRS chỉ ra một phép chiếu tự động sẽ bao gồm tiền tố không gian tên AUTO, một con số định danh cho không gian tên AUTO, một con số định danh cho không gian tên EPSG mà chỉ ra đơn vị cho hình chữ nhật bao trong SRS này, và giá trị của kinh độ và vĩ độ trung tâm. Nó có dạng: AUTO:auto_proj_id,epsg_units_id,lon0,lat0 Ví dụ: một dịch vụ hỗ trợ phép chiếu trực giao tự động (Auto Orthographic projection) sẽ thêm vào element "AUTO:42003" trong tài liệu Capabilities XML của nó. 2.2.5.5.3. SRS không xác định Server cũng có thể đưa ra thông tin địa lý mà hệ quy chiếu không gian của nó không được xác định một cách chính xác. Chẳng hạn như tập hợp các bản đồ lịch sử vẽ bằng tay được số hóa có thể biểu diễn một vùng trên trái đất nhưng không theo một hệ tọa độ hiện đại nào. Trong trường hợp này, giá trị “NONE” (viết hoa) sẽ được dùng khi muốn chỉ ra SRS của tập hợp các bản đồ này. 2.2.5.6. Hình chữ nhật bao Hình chữ nhật bao là một tập bốn con số nguyên được phân cách bởi dấu phẩy “,”. Nó biểu diễn các giá trị minX, minY, maxX, maxY theo đơn vị của SRS trong request. Trong đó, X biểu diễn cho các trục kinh tuyến, Y biểu diễn cho các trục vĩ tuyến. Mối quan hệ giữa hình chữ nhật bao và ma trận các điểm ảnh được biểu diễn trong hình dưới đây: hình chữ nhật bao sẽ bao chung quanh các điểm ảnh của ảnh chứ không đi qua tâm của các điểm ảnh ngòai rìa. Trong ngữ cảnh này, mỗi một điểm ảnh đều có diện tích. 11
- Chương 2. Web Map Service (WMS) Hình 2.1.Hình chữ nhật bao Một hình chữ nhật bao không thể có diện tích bằng 0. Nếu một request đưa ra một hình chữ nhật bao không hợp lệ (ví dụ minX ≥ maxX hay minY ≥ maxY) thì server sẽ đưa ra một biệt lệ. Nếu một request đưa ra một hình chữ nhật bao không hề giao nhau với hình chữ nhật bao được đưa ra trong tài liệu Capabilities XML cho đối tượng thông tin địa lý được yêu cầu, thì server sẽ trả về giá trị rỗng (ví dụ: một bản đồ trắng, ...) cho element này. Bất kỳ element nào nằm một phần hoặc toàn bộ trong hình chữ nhật bao sẽ được trả về với định dạng tương ứng. 2.2.5.7. Chiều thời gian Một vài thông tin địa lý có thể có giá trị trong nhiều thời điểm khác nhau, ví dụ như bản đồ thời tiết theo giờ. Dịch vụ cần phải thông báo các giờ có thể trong tài liệu Capabilities XML , và một vài operation cần có thêm tham số để yêu cầu lấy thông tin về thời gian. Tùy theo ngữ cảnh, giá trị thời gian có thể là một giá trị đơn, danh sách các giá trị, khoảng thời gian,… 12
- Chương 2. Web Map Service (WMS) 2.2.5.8. Chiều cao Một vài thông tin địa lý có thể có giá trị trong nhiều độ cao khác nhau, ví dụ như bản đồ mật độ tầng ozone tại các độ cao khác nhau trong khí quyển. Dịch vụ cần phải thông báo các độ cao có thể trong tài liệu Capabilities XML , và một vài operation cần có thêm tham số để yêu cầu lấy thông tin về độ cao. Một giá trị độ cao đơn là một số nguyên hoặc số thực mà đơn vị của nó được đưa ra trong dữ liệu của EPSG. Tùy theo ngữ cảnh, giá trị độ cao có thể là một giá trị đơn, danh sách các giá trị, khoảng cách,… 2.2.5.9. Các chiều khác Một vài thông tin địa lý có thể có thêm nhiều chiều khác, chẳng hạn như ảnh vệ tinh ở các dải bước sóng khác nhau. Các chiều khác ngoài bốn chiều không gian được xem như là các “chiều mẫu”. Dịch vụ cần phải thông báo các chiều mẫu có thể trong tài liệu Capabilities XML , và một vài operation cần có thêm cơ chế để thêm các tham số chiều mẫu. Mỗi một chiều mẫu có môt tên và một hoặc nhiều giá trị hợp lệ. 2.2.6. Kết quả dịch vụ Giá trị trả về của môt request hợp lệ sẽ tương ứng với kiểu được yêu cầu trong tham số FORMAT. Trong môi trường HTTP, header kiểu nội dung của response sẽ chính xác là kiểu MIME được đưa ra trong request. 2.2.7. Biệt lệ dịch vụ Khi nhận được một request không hợp lệ, dịch vụ sẽ đưa ra một biệt lệ dịch vụ. Biệt lệ này sẽ giải thích cho ứng dụng client hoặc người sử dụng biết lý do tại sao request không hợp lệ. 13
- Chương 2. Web Map Service (WMS) 2.3. Các operation của Web Map Service 2.3.1. GetCapabilities 2.3.1.1. Chức năng Lấy dữ liệu ở tầng dịch vụ, đó là những mô tả cho máy và cả con người về nội dung thông tin của WMS và các tham số request chấp nhận được. Response của một GetCapabilities request là thông tin chung về bản thân dịch vụ và thông tin riêng biệt của các bản đồ có thể yêu cầu. 2.3.1.2. GetCapabilities request Khi tạo ra loại request này, cần phải chỉ ra rằng client đang có nhu cầu tìm kiếm thông tin về WMS. Do đó, tham số SERVICE trong câu request có giá trị là “WMS”. Bắt buộc/ Tham số request Mô tả Tùy chọn VERSION = version Tùy chọn Phiên bản yêu cầu SERVICE = WMS Bắt buộc Loại dịch vụ REQUEST = GetCapabilities Bắt buộc Tên request UPDATESEQUENCE = string Tùy chọn Dãy số/chuỗi đề điều khiển cache Bảng 2.3.Các tham số trong GetCapabilities request URL 2.3.1.2.1. VERSION Tham số VERSION là một tham số tùy chọn, được sử dụng trong quá trình thỏa thuận phiên bản. 2.3.1.2.2. SERVICE Tham số SERVICE là một tham số bắt buộc, dùng để chỉ kiểu dịch vụ nào cần được thực thi. Khi gọi thực thi GetCapabilities trên một WMS, giá trị của tham số này phải là “WMS”. 14
- Chương 2. Web Map Service (WMS) 2.3.1.2.3. REQUEST Tham số REQUEST là một tham số bắt buộc. Để thực thi operation GetCapabilities, giá trị “GetCapabilities” sẽ được sử dụng. 2.3.1.2.4. UPDATESEQUENCE Tham số UPDATESEQUENCE là một tham số tùy chọn nhằm giữ tính ổn định của cache. Giá trị của nó là một số nguyên, một timestamp có định dạng hoặc là một chuỗi. Server có thể có giá trị UpdateSequence trong tài liệu Capabilities XML . Giá trị này sẽ được tăng lên khi có theo đổi trong tài liệu Capabilities XML (ví dụ có bản đồ mới được thêm vào dịch vụ). Client có thể thêm tham số này vào trong request GetCapabilities của nó. Server sẽ trả về một response dựa trên mối quan hệ giữa giá trị UpdateSequence tương ứng trong câu request của client và thông tin trong metadaa của server, mối quan hệ này được biểu diễn thông qua bảng sau: Giá trị Giá trị UpdateSequence UpdateSequence trong trong thông tin metadata Response của server request của client của server Tài liệu Capabilities XML none any mới nhất Tài liệu Capabilities XML any none mới nhất Biệt lệ: equal equal code=CurrentUpdateSequence Tài liệu Capabilities XML lower higher mới nhất Biệt lệ: higher lower code=InvalidUpdateSequence Bảng 2.4.Mối quan hệ giữa giá trị UpdateSequence trong client và server 15
- Chương 2. Web Map Service (WMS) 2.3.1.3. GetCapabilities response Mục “Các element cơ sở “ đã chỉ ra các quy tắc chung cho response của GetCapabilities. Cấu trúc tài liệu XML của response sẽ tuân theo chuẩn được đưa ra trong tài liệu DTD. DTD này đặc tả các nội dung bắt buộc và tùy chọn của response và định dạng của các nội dung ấy. 2.3.1.3.1. Name và Title Có nhiều element mà định dạng của nó bao gồm một cặp và . Trong đó, Name có ý nghĩa trong giao tiếp giữa máy với máy, còn Title có ý nghĩa cho người sử dụng. Ví dụ , một dataset có thể có Title như sau “Nhiệt độ khí quyển cực đại” và được yêu cầu với Name là “ATMAX”. 2.3.1.3.2. Thông tin metadata của dịch vụ Phần đầu của tài liệu Capabilities XML là element cung cấp thông tin metadata chung của dịch vụ. Nó bao gồm trong đó các element khác như Name, Title, OnlineResourceURL, Abstract, KeywordList, ContactInformation, Fees và Access Constraints. Ý nghĩa của các element này như sau. Element Name của dịch vụ là “OGC:WMS”. Element Title của dịch vụ là tùy thuộc vào nhà cung cấp, nó là một mô tả ngắn gọn về dịch vụ. Element Abstract cho phép mô tả thêm thông tin về các đối tượng có trong dịch vụ. Element OnlineResourceURL dùng để chỉ ra website của nhà cung cấp dịch vụ. Có các element OnlineResourceURL khác nhau cho tiền tố URL với mỗi operation hỗ trợ. Element KeywordList là danh sách các từ hỗ trợ cho việc phân loại tìm kiếm. Element ContactInformation nên được thêm vào để cho biết thêm thông tin liên lạc cần thiết. 16
- Chương 2. Web Map Service (WMS) Giá trị “none” (viết thường) được dùng để chỉ ra rằng không có phí hay ràng buộc truy cập đối với dịch vụ này. Nó được viết như sau: none, none. 2.3.1.3.3. Layer và Style Phần quan trọng nhất trong tài liệu Capabilities XML là phần định nghĩa các lớp và kiểu. Mỗi một bản đồ được đưa ra bởi một element trong tài liệu Capabilities XML. Một lớp cho có thể bao gồm trong đó nhiều lớp con, các lớp này có tính kế thừa. Một số thuộc tính được định nghĩa ở lớp cha được kế thừa lại ở các lớp con của nó. Các thuộc tính kế thừa này có thể được định nghĩa lại hoặc không được định nghĩa lại ở lớp con. Một Map Server có ít nhất một element cho mỗi lớp bản đồ mà nó hỗ trợ. Do không có quy định nào nên hiện tại, việc đặt tên lớp, tên kiểu, tiêu đề và từ khóa là túy ý. 2.3.1.3.4. Các property của layer Element bao gồm các element con trong đó nhằm cung cấp thông tin metadata về lớp này. Giá trị của một số element sẽ được kế thừa lại theo quy tắc được định nghĩa ở mục 3.1.3.7. Dưới đây là ý nghĩa của các element này. 2.3.1.3.4.1. Title Element là bắt buộc đối với mọi lớp, nó là chuỗi có ý nghĩa cho người dùng và để hiển thị trong thực đơn. Title không được kế thừa lại bởi các lớp con. 2.3.1.3.4.2. Name Khi và chỉ khi một lớp có element thì lớp đó mới có thể được yêu cầu bằng cách sử dụng giá trị tên này trong tham số LAYERS của request GetMap. Nếu một lớp có Title nhưng không có Name, thì lớp này chỉ có ý nghĩa phân mục cho các lớp con của nó. Một Map Server có thông báo trong đặc tả của nó một lớp có element thì nó sẽ đồng ý trả về một bản đồ tương ứng khi client gửi một 17
- Chương 2. Web Map Service (WMS) request GetMap với đối số LAYERS có giá trị là giá trị của element này. Client sẽ không thể gửi request đến lớp chỉ có Title mà không có Name. Server sẽ gửi một biệt lệ có mã là “LayerNotDefined” nếu client gửi request đến một lớp không hợp lệ. Khi gửi request đến một lớp cha thông qua element của nó thì tất cả các lớp con sẽ cùng được truy xuất. Ví dụ khi gửi request đến lớp cha là lớp “Đường” thì các lớp con là lớp “Đường Phố” và “Đường Quốc Lộ” cũng cho phép gửi request đến từng lớp con hoặc gửi đến cả hai cùng lúc. Thành phần không được kế thừa lại bởi các lớp con. 2.3.1.3.4.3. Abstract và KeywordList Tuy và là hai element tùy chọn nhưng khuyến cáo là nên dùng. Abstract cho mô tả chi tiết về lớp bản đồ. Còn KeywordList có từ 0 đến nhiều từ khóa nhằm hỗ trợ cho việc phân loại tìm kiếm. Hai element Abstract và KeywordList không được kế thừa lại bởi các lớp con. 2.3.1.3.4.4. Style Có thể không có hoặc có nhiều kiểu được mô tả cho một hoặc tập các lớp bằng cách dùng các element . Mỗi một element chứa trong đó một cặp element và . Giá trị Name được sẽ được sử dụng khi client gửi request GetMap, nó nằm trong tham số STYLES. Title là một chuỗi có ý nghĩa cho người sử dụng. Nếu lớp hoặc tập lớp đó chỉ có một kiểu thì kiểu này được xem là kiểu mặc định và không cần được đặc tả tại server. Element có thể chứa trong đó thêm nhiều element khác như là dùng để mô tả chi tiết về kiểu, trong khi cho biết vị trí của ảnh ghi chú của bản đồ tương ứng với kiểu này. Element trong cho biết kiểu MIME của ảnh đó và các thuộc tính chiều rộng, chiều cao của ảnh theo đơn vị pixel. 18
- Chương 2. Web Map Service (WMS) Các được kế thừa lại bởi các lớp con. Lớp con không được định nghĩa lại kiểu mà nó kế thừa từ lớp cha, song nó có thể định nghĩa một kiểu mới với một tên mới mà không có trong lớp cha. 2.3.1.3.4.5. SRS Mỗi một lớp có thể được dùng trong một hoặc nhiều hệ quy chiếu không gian. Mỗi một lớp có ít nhất một element được định nghĩa mới hoặc kế thừa lại từ lớp cha. Lớp gốc sẽ chứa tất cả các element có thể được dùng trong các lớp con. Sử dụng một element với nội dung trống nếu như không có SRS nào cả. Khi một lớp có nhiều element thì có hai cách để biểu diễn danh sách các giá trị SRS, cách đầu tiên được dùng trong phiên bản 1.1.1 , cách thứ hai tuy không còn được sử dụng song các dịch vụ vẫn hiểu được do tính tương thích lùi. 1)Danh sách các giá trị SRS được đặt trong các element liên tiếp nhau, và mỗi element chỉ có một giá trị. Ví dụ: EPSG:1234 EPSG:5678. 2)Danh sách các giá trị SRS được đặt trong cùng một element và được phân cách bởi khoảng trắng. Ví dụ: EPSG:1234 EPSG:5678. 2.3.1.3.4.6. LatLonBoundingBox Mỗi lớp có duy nhất một element được tạo mới hoặc kế thừa lại từ lớp cha. Nó chỉ ra hình chữ nhật bao nhỏ nhất cho dữ liệu bản đồ trong hệ tọa độ địa lý EPSG:4326. LatLonBoundingBox được hộ trợ bất chấp Map Server hỗ trợ SRS nào đi chăng nữa, tuy nhiên nó chỉ có giá chị xấp sỉ nếu như EPSG:4326 không được hỗ trợ. Mục đích của nó nhằm giúp cho việc tìm kiếm thông tin địa lý được thực hiện một cách dễ dàng mà không cần các bộ máy tìm kiếm phải chuyển hệ tọa độ. Element LatLonBoundingBox và element BoundingBox (được định nghĩa ở mục sau) có một mối quan hệ với tham số BBOX trong câu request GetMap. Thông tin metadata về BoundinhBox trong tài liệu Capabilities XML đặc tả hình chữ nhật 19
- Chương 2. Web Map Service (WMS) bao xung quanh lớp bản đồ. Còn tham số BBOX lại đặc tả hình chữ nhật sẽ vẽ trên bản đồ. Hình chữ nhật BBOX có thể giao, chứa hoặc chứa trong hình chữ nhật BoundingBox. 2.3.1.3.4.7. BoundingBox Một lớp có thể không có hoặc có nhiều element được định nghĩa mới hoặc kế thừa từ lớp cha. Mỗi một BoundingBox định nghĩa một hình chữ nhật bao xung quanh dữ liệu bản đồ trong một hệ quy chiếu không gian nhất định, trong đó thuộc tính SRS sẽ chỉ ra hệ quy chiếu không gian nào được áp dụng. Nếu diện tích của vùng dữ liệu bản đồ có hình dạng bất thường thì BoundingBox sẽ chỉ ra hình chữ nhật bao có diện tích nhỏ nhất. Các thuộc tính minx, miny, maxx, maxy chỉ ra tọa độ của các cạnh của hình chữ nhật bao trong hệ quy chiếu. Các thuộc tính tùy chọn resx, resy chỉ ra độ độ phân giải không gian của dữ liệu với đơn vị của hệ quy chiếu trên. Như vậy, là một Bounding Box đặc biệt với thuộc tính SRS=”EPSG:4326”, tuy nhiên LatLonBoundingBox không có thuộc tính resx, resy. Khi đó, nếu có thêm BoundingBox cho EPSG:4326 thì nó nhằm mục đích cung cấp thêm thông tin về độ phân giải. Mỗi một lớp có thể có nhiều element song mỗi element này chỉ cho một SRS riêng biệt mà thôi. Một lớp sẽ kế thừa tất cả các giá trị BoundingBox được định nghĩa ở lớp cha. Song, giá trị BoundingBox này sẽ được thay thế nếu lớp con định nghĩa lại một BoundingBox mới trên cùng một SRS của BoundingBox định nghĩa ở lớp cha. Khi lớp con định nghĩa một BoundingBox cho một SRS mới chưa được định nghĩa ở lớp cha thì BoundingBox này sẽ được thêm vào danh sách các BoundingBox ở lớp con. Một lớp không được định nghĩa nhiều hơn một BoundingBox cho cùng một SRS. Trong một lớp, với cùng một SRS, ta không thể định nghĩa các hình chữ nhật bao rời nhau. Ví dụ, giả sử như có một dataset mô tả hai vùng diện tích cách xa nhau, khi đó, server không thể tách ra thành hai hình chữ nhật bao để diễn tả hai vùng diện tích này trong cùng một SRS và trên cùng một lớp bản đồ. Để giải quyết 20
- Chương 2. Web Map Service (WMS) trường hợp này, server sẽ định nghĩa một hình chữ nhật bao duy nhất bao trùm lên cả hai vùng diện tích này, hoặc là định nghĩa hai hình chữ nhật bao trên hai lớp bản đồ khác nhau (có tên lớp và giá trị BoundingBox khác nhau). Nếu server có khả năng chuyển đổi dữ liệu trên các SRS khác nhau thì nó sẽ không chọn giải pháp cung cấp các BoundingBox riêng biệt cho từng SRS được hỗ trợ trên mỗi lớp. Server sẽ chỉ cung cấp thông tin BoundingBox cho ít nhất một SRS cơ bản của mỗi lớp mà thôi. 2.3.1.3.4.8. ScaleHint Mỗi lớp có thể có một element để cung cấp thông tin về tỉ lệ tối thiểu và tỉ lệ tối đa để hiển thị lớp bản đồ này. ScaleHint được kế thừa lại ở các lớp con. Nếu lớp con định nghĩa một ScaleHint mới thì giá trị này sẽ thay thế cho giá trị được kế thừa từ lớp cha. 2.3.1.3.4.9. Dimension và Extent Hai element tùy chọn và chứa thông tin metadata cho dữ liệu đa chiều. Dimension được kế thừa lại ở các lớp con. Nó có thể định nghĩa thêm nhiều mới song không được định nghĩa lại kế thừa từ lớp cha. Extent được kế thừa lại ở các lớp con. Khi lớp con định nghĩa một với thuộc tính Name có cùng giá trị vói thuộc tính Name của mà nó kế thừa lại từ lớp cha, thì giá trị mới sẽ được thay thế cho giá trị cũ. 2.3.1.3.4.10. MetadataURL Một Map Server có thể sử dụng một hoặc nhiều element để cung cấp các thông tin metadata chuẩn và chi tiết bên dưới lớp đó. MetadataURL không được kế thừa lại ở các lớp con. 2.3.1.3.4.11. Attribution Element tùy chọn cung cấp cách để định danh nguồn của dữ liệu bản đồ của một lớp hoặc một tập các lớp. Element chứa trong nó các 21
- Chương 2. Web Map Service (WMS) element tùy chọn khác như: cho biết URL của nhà cung cấp dịch vụ, cho biết tên của nhà cung cấp dịch vụ, chuỗi này chỉ có ý nghĩa với người dùng, cho biết URL của ảnh logo. Element trong element cho biết kiểu MIME của ảnh logo, thuộc tính width và heigth cho biết kích thước của ảnh tính theo đơn vị pixel. Attribute có thể được kế thừa ở các lớp con. Bất cứ định nghĩa lại nào ở lớp con sẽ thay thế giá trị cũ được kế thừa. 2.3.1.3.4.12. Identifier và AuthorityURL Một Map Server có thể không có hoặc có nhiều element để liệt kê các số định danh hoặc các nhãn trong element . Thuộc tính authority trong element tương ứng với giá trị của thuộc tính name trong element . Trong có element chỉ ra URL của tài liệu định nghĩa ý nghĩa của các giá trị Identifier. Ví dụ: id_value AuthorityURL đuợc kế thừa bởi các lớp con. Lớp con không được định nghĩa lại các AuthorityURL được kế thừa này. Identifier không được kế thừa lại ở các lớp con. Một lớp không được định nghĩa element nếu chưa định nghĩa hay kế thừa element nào. 2.3.1.3.4.13. FeatureListURL Một Map Server có thể dùng element để chỉ ra danh sách các feature được biểu diễn trong lớp. FeatureListURL không được kế thừa lại ở các lớp con. 22
- Chương 2. Web Map Service (WMS) 2.3.1.3.4.14. DataURL Một Map Server có thể dùng element để chỉ ra URL nhằm cung cấp thêm thông tin về dữ liệu biểu diễn trong lớp. DataURL không được kế thừa lại ở các lớp con. 2.3.1.3.5. Các attribute của layer Một có thể không có hoặc có nhiều attribute như: queryable, cascaded, opaque, noSubsets, fixedWidth, fixedHeight. Tất cả các attribute này là tùy chọn và mặc định đều có giá trị là 0. Mỗi attribute này có thể được kế thừa hoặc định nghĩa lại ở các lớp con. Bảng sau mô tả ý nghĩa của các attribute này. Attribute Miền giá trị Ý nghĩa (default=0) queryable 0, 1 0: không truy vấn được. 1: truy vấn được. cascaded 0, nguyên 0: lớp không được yêu cầu bởi Cascading Map Server dương n: lớp được yêu cầu n lần bởi các Cascading Map Server. opaque 0, 1 0: dữ liệu bản đồ biểu diễn các feature dạng vector mà không có miền tô. 1: dữ liệu bản đồ là các miền tô đặc. noSubsets 0, 1 0: WMS có thể vẽ tập con nằm trong bounding box. 1: WMS chỉ có thể vẽ toàn bộ bounding box. fixedWidth 0, nguyên 0: WMS có thể chỉnh lại chiều rộng bản đồ. dương n: bản đồ được cố định chiều rộng và WMS không thể thay đổi. fixedHeight 0, nguyên 0: WMS có thể chỉnh lại chiều cao bản đồ. dương n: bản đồ được cố định chiều cao và WMS không thể thay đổi. Bảng 2.5.Thuộc tính lớp 23
- Chương 2. Web Map Service (WMS) 2.3.1.3.5.1. Lớp có thể truy vấn Lớp được gọi là có thể truy vấn nếu như server hỗ trợ operation GetFeatureInfo trên lớp này. Một server có thể hỗ trợ GetFeatureInfo trên một vài lớp của nó chứ không hỗ trợ tất cả. Server sẽ gửi ra biệt lệ có mã là “LayerNotQueryable” nếu như operation GetFeatureInfo được yêu cầu trên lớp không truy vấn được. 2.3.1.3.5.2. Lớp tầng Lớp được gọi là “cascaded” nếu nó được gọi sử dụng bởi một server và được hỗ trợ trong tài liệu Capabilities XML của một server khác. Nếu một WMS hỗ trợ môt lớp do một WMS khác cung cấp thì nó sẽ tăng giá trị của thuộc tính cascaded của lớp đó lên 1. 2.3.1.3.5.3. Lớp đục và lớp trong suốt Nếu attribute tùy chọn opaqued của một lớp không có hoặc có giá trị “0” thì các bản đồ từ lớp này sẽ không có dữ liệu bề mặt, client sẽ hiển thị nó trong suốt. Chỉ hiển thị các feature dạng vector như điểm, đường, đa giác (tuy nhiên nếu hiển thị các feature này liên tục nhau thì xem như nó có miền tô). Nếu có giá trị là “1”, thì lớp này sẽ biểu diễn cả các bề mặt. Attribute opaqued thường được đặt cho lớp ở đáy ngăn xếp các lớp khi hiển thị bản đồ. Attribute này chỉ mô tả nội dung dữ liệu của lớp chứ không mô tả định dạng của ảnh bản đồ 2.3.1.3.5.4. Lớp có tập con và lớp có thể chỉnh kích thước Nếu thông tin metadata của lớp có thêm ba attribute tùy chọn là noSubset, fixedWidth, fixedHeight (tức là giá trị của các attribute này là “1”) thì Map Server này ít chức năng hơn một WMS thông thường do nó không thể xuất ra một ảnh của tập con của dữ liệu địa lý gốc hoặc nó chỉ phục vụ các bản đồ có kích thước cố định và không thể chỉnh lại kích thước. Ví dụ, một WMS chỉ hỗ trợ các ảnh số hóa từ bản đồ lịch sử, hoặc các hình ảnh chụp từ vệ tinh, chúng không thể lấy ra tập con hoặc chỉnh lại kích thước. Tuy nhiên, vẫn thực thi được request GetMap với dữ liệu trả về là toàn bộ bản đồ với kích thước nguyên thủy. 24
- Chương 2. Web Map Service (WMS) Khi attribute noSubsets=1 thì server không thể cắt dữ liệu hoặc bản đồ thành một vùng dữ liệu địa lý có diện tích nhỏ hơn hình chữ nhật bao. Khi có giá trị khác “0”, thì hai attribute fixedWidth và fixedHeight chỉ ra rằng server không thể chỉnh lại kích thước bản đồ. 2.3.1.3.6. Sự kế thừa các thuộc tính của lớp Bảng sau đây cho biết cách mà các lớp con kế thừa các thuộc tính từ lớp cha như thế nào. Có thuộc tính không được kế thừa, có thuộc tính được kế thừa, có thuộc tính được cài đặt lại. Trong bảng dưới đây, cột “Số lượng” cho biết số lượng element có thể xuất hiện trong lớp. Trong đó, “1” có nghĩa là chỉ xuất hiện duy nhất một lần trong mỗi lớp, “0/1” có nghĩa là không xuất hiện hoặc xuất hiện một lần, “0+”có nghĩa là không xuất hiện hoặc xuất hiện nhiều lần, “1+” có nghĩa là xuất hiện ít nhất một lần. Cột “Kế thừa” cho biết element có được kế thừa ở lớp con hay không và được kế thừa như thế nào. Trong đó, “không” có nghĩa là không được kế thừa, “thêm” có nghĩa là được kế thừa và các lớp con có thể thêm nhiều element, “thay thế” có nghĩa là được kế thừa và lớp con có thể định nghĩa lại element này. 25
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn