Khái niệm
SLD là một kiểu mô tả về bản đồ của người dùng bằng cách sử dụng XML dể mô tả về hình dángviệc hiển thị, trình bày bản đồ[10].
Một tài liệu SLD bao gồm chuỗi các kiểu mô tả lớp thông tin (style layers) trong đó phần tử gốc StyledLayerDescriptor XML chứa một chuỗi các thẻ XML sau: <xsd:element name="StyledLayerDescriptor">
<xsd:complexType> <xsd:sequence>
<xsd:element ref="se:Name" minOccurs="0"/>
<xsd:element ref="sld:UseSLDLibrary" minOccurs="0" maxOccurs="unbounded"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="sld:NamedLayer"/>
<xsd:element ref="sld:UserLayer"/> </xsd:choice>
</xsd:sequence>
<xsd:attribute name="version" type="se:VersionType" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="UseSLDLibrary"> <xsd:complexType> <xsd:sequence> <xsd:element ref="se:OnlineResource"/> </xsd:sequence> </xsd:complexType> </xsd:element>
Các phần tử cơ bản trong tài liệu SLD
Named layers
“Layer” được định nghĩa là một tập các đối tượng có khả năng sẽ tạo thành kiểu đối tượng.“Named layers” là một lớp thông tin (layer) được truy cập từ OGC Web Server sử dụng tên phổ biến , ví dụ như giao diện WMS sử dụng tham số LAYERS để tham chiếu đến tên các lớp là LAYERS=Rivers,Roads,Houses.[10]
Named layers trong SLD được định nghĩa như sau: <xsd:element name="NamedLayer"> <xsd:complexType>
<xsd:sequence>
<xsd:element ref="se:Name"/>
<xsd:element ref="se:Description" minOccurs="0"/> <xsd:element ref="sld:LayerFeatureConstraints" minOccurs="0"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="sld:NamedStyle"/>
</xsd:choice> </xsd:sequence> </xsd:complexType> </xsd:element>
User-defined layers
Phần tử này xác định các đối tượng được sử dụng do người dùng định nghĩa, tất cả các đối tượng được sử dụng này đều phải tương ứng với các đối tượng trong WFS hoặc WCS[10].
<xsd:element name="UserLayer"> <xsd:complexType>
<xsd:sequence>
<xsd:element ref="se:Name" minOccurs="0"/>
<xsd:element ref="se:Description" minOccurs="0"/> <xsd:choice minOccurs="0"> <xsd:element ref="sld:RemoteOWS"/> <xsd:element ref="sld:InlineFeature"/> </xsd:choice> <xsd:choice minOccurs="0"> <xsd:element ref="sld:LayerFeatureConstraints"/> <xsd:element ref="sld:LayerCoverageConstraints"/> </xsd:choice> <xsd:element ref="sld:UserStyle" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> Feature Constraints
Phần tử này được dùng để xác định các đối tượng, kiểu đối tượng trong layer mà người dùng định nghĩa, nó phải tương ứng với mã nguồn WFS.
Coverage Constraints
Phần tử này để đặc tả các tập con coverage trong layer mà người dùng định nghĩa nó phải tương ứng với mã nguồn WCS.
User-defined styles
Phần tử này cho phép người dùng định kiểu bản đồ tương thích với định dạng tương ứng.
<xsd:complexType> <xsd:sequence>
<xsd:element ref="se:Name" minOccurs="0"/>
<xsd:element ref="se:Description" minOccurs="0"/> <xsd:element ref="sld:IsDefault" minOccurs="0"/> <xsd:choice maxOccurs="unbounded"> <xsd:element ref="se:FeatureTypeStyle"/> <xsd:element ref="se:CoverageStyle"/> <xsd:element ref="se:OnlineResource"/> </xsd:choice> </xsd:sequence> </xsd:complexType> </xsd:element>
<xsd:element name="IsDefault" type="xsd:boolean"/>
Đặc tả hướng đến việc đáp ứng các yêu cầu của khách hàng sử dụng dữ liệu không gian (con người hoặc máy) để có thể điều khiển việc tạo ra bản đồ trực quan từ những dữ liệu đang sử dụng. Đặc tả OpenGIS Web Map Service (WMS) hỗ trợ khả năng cung cấp thông tin nào đó dựa vào những chọn lựa cụ thể về ký hiệu, kiểu dáng cơ bản đối với một tập dữ liệu sẵn có. Một vấn đề quan trọng hiện nay, người sử dụng không có cách nào định nghĩa những luật để tạo ra hình ảnh bản đồ theo cách riêng của mình khi sử dụng các WEBGIS web-gis không theo chuẩn OGC. Điều đó có nghĩa, OGC cần cung cấp 1 ngôn ngữ mô tả ký hiệu để người sử dụng (client) có khả năng tự định nghĩa hình thức trình bày các đối tượng Địa lý theo quan điểm riêng của mình. Ngôn ngữ đó chính là Styled Layer Descriptor (SLD). SLD dùng để định nghĩa hình dáng, màu sắc đầu ra (dữ liệu) của các WFS (Web Feature Servers), Web Map Servers và Web Coverage. Trong rất nhiều trường hợp, các Clients máy khách cần một vài thông tin về dữ liệu đang có sẵn tại các máy chủ từ xa trước khi đưa ra những yêu cầu thích hợp.
Có hai cách cơ bản để tạo hình cho dữ liệu. Đơn giản nhất là tạo màu cho tất cả các đối tượng theo cùng một cách. Ví dụ: tất cả sông suối 1 nét (line), 2 nét (polygon) đều được tô màu theo cùng một cách: người sử dụng có thể muốn nói với server tô màu bên trong tất cả các polygon (sông 2 nét) màu xanh dương nhạt, còn đường viền và sông suối một nét là màu xanh dương đậm. Kiểu tạo hình này không cần biết các thuộc tính (no-graphic data) của dữ liệu phía dưới. Những yêu cầu tạo hình cho 1 lớp dữ liệu được định nghĩa trong phần tử FeatureTypeStyle của tài liệu đặc tả SLD.
thuộc tính. Ví dụ: đối với lớp dữ liệu giao thông đường quốc lộ sẽ được tạo hình có độ dày lớn hơn, đường phố sẽ có độ dày nhỏ hơn, đường mòn có hình dạng đứt quãng (dash-dash). Để tạo được hình dáng như vậy người sử dụng phải dựa vào thuộc tính Kiểu đường (Style) của tập dữ liệu giao thông. Để biết tập dữ liệu có các thuộc tính gì, có thể tìm hiểu qua các lệnh (operation) như DescribeLayer của WMS hay DescribeFeatureType của WFS.