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

67 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: SLD图层样式描述
date: 2021-09-05
author: ac
tags:
- SLD
categories:
- GIS
---
## 1. 简介
地理空间数据没有内置可视化组件,为了让数据显示必须添加样式,对各个要素进渲染。渲染过程可以根据要素的其它属性进行筛选和指定要素的颜色等外观。
Style Layer Descriptor(`SLD`)继承`WMS`服务标准,允许用户定义地理要素和`Coverage`数据的符号和颜色。
`SLD`定义的样式规则是一种客户端和服务器都能理解的样式语言,解决了用户和软件能够控制地理空间数据的可视化描绘的需求。
## 2. SLD 概念
在`GeoServer`中,样式最常使用`SLD`样式文档指定。`SLD`样式文档与`GeoServer`的`layers`层(`featuretypes`)相关联用于指定它们应该如何呈现。一个样式文件指定单个图层layer和其用户样式style其中layer和style中可以包含其它元数据用于标识和过滤要素如name、title等。
文档中每个`FeatureTypeStyle`要素类型样式都包含一个或多个规则`rule`,这些规则控制如何基于要素属性和缩放级别应用样式。`rule`通过使用过滤器`filters`选择适用的`feature`,过滤器是包含谓词、表达式和过滤器函数的逻辑条件。如果要指定单个要素的样式细节,`rule`规则包含任意数量的符号符`symbolizers`.
## 3. sld示例
```xml
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`