meface/docs/article/gis/geoserver/sld.md

2.6 KiB
Raw Blame History

title date author tags categories
SLD图层样式描述 2021-09-05 ac
SLD
GIS

1. 简介

地理空间数据没有内置可视化组件,为了让数据显示必须添加样式,对各个要素进渲染。渲染过程可以根据要素的其它属性进行筛选和指定要素的颜色等外观。

Style Layer Descriptor(SLD)继承WMS服务标准,允许用户定义地理要素和Coverage数据的符号和颜色。

SLD定义的样式规则是一种客户端和服务器都能理解的样式语言,解决了用户和软件能够控制地理空间数据的可视化描绘的需求。

2. SLD 概念

GeoServer中,样式最常使用SLD样式文档指定。SLD样式文档与GeoServerlayers层(featuretypes)相关联用于指定它们应该如何呈现。一个样式文件指定单个图层layer和其用户样式style其中layer和style中可以包含其它元数据用于标识和过滤要素如name、title等。

文档中每个FeatureTypeStyle要素类型样式都包含一个或多个规则rule,这些规则控制如何基于要素属性和缩放级别应用样式。rule通过使用过滤器filters选择适用的feature,过滤器是包含谓词、表达式和过滤器函数的逻辑条件。如果要指定单个要素的样式细节,rule规则包含任意数量的符号符symbolizers.

3. sld示例

1 <?xml version="1.0" encoding="ISO-8859-1"?>
 2 <StyledLayerDescriptor version="1.0.0"
 3     xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
 4     xmlns="http://www.opengis.net/sld"
 5     xmlns:ogc="http://www.opengis.net/ogc"
 6     xmlns:xlink="http://www.w3.org/1999/xlink"
 7     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 8   <NamedLayer>
 9     <Name>Simple point</Name>
10     <UserStyle>
11       <Title>GeoServer SLD Cook Book: Simple point</Title>
12       <FeatureTypeStyle>
13         <Rule>
14           <PointSymbolizer>
15             <Graphic>
16               <Mark>
17                 <WellKnownName>circle</WellKnownName>
18                 <Fill>
19                   <CssParameter name="fill">#FF0000</CssParameter>
20                 </Fill>
21               </Mark>
22               <Size>6</Size>
23             </Graphic>
24           </PointSymbolizer>
25         </Rule>
26       </FeatureTypeStyle>
27     </UserStyle>
28   </NamedLayer>
29 </StyledLayerDescriptor>

参考文章

[1] Styled Layer Descriptor https://www.ogc.org/standards/sld

[2] Introduction to SLD https://docs.geoserver.org/latest/en/user/styling/sld/introduction.html