官方文档地址:https://docs.geoserver.org/latest/en/user/styling/sld/introduction.html

SLD概念

在GeoServer中,样式通常是使用XML SLD样式文档指定的。样式文件与相关的GeoServer 层(featuretypes)来指定它们应该如何呈现。样式文档指定一个命名图层 和一个用户样式。的层和风格可以具有元数据元素,诸如名称鉴定它们,一个标题,用于显示它们,并一个抽象描述它们的细节。顶层样式中包含一种或多种要素类型样式,充当“虚拟层”以提供对渲染顺序的控制(允许样式效果,例如道路的套管线)。每种要素类型样式都包含一个或多个规则,这些规则可根据要素属性和缩放级别来控制样式的应用方式。规则通过使用过滤器选择适用的功能, 过滤器是包含谓词,表达式 和过滤器功能的逻辑条件。要指定单个要素样式的详细信息,规则包含任意数量的符号器。符号器为点,线和多边形以及栅格和多边形指定样式。文字标签。

样式类型

GeoServer可以提供的矢量数据包括三类形状: 点,线和多边形。线(一维形状)是最简单的,因为它们只有样式的边缘(也称为“笔画”)。具有二维形状的多边形具有边和内部(也称为“填充”),两者的样式可以不同。点即使没有尺寸,也具有可以设置样式的边和填充(更不用说大小)了。对于填充,可以指定颜色。对于笔画,可以指定颜色和粗细。

GeoServer还提供栅格数据。可以通过对调色板,不透明度,对比度和其他参数的多种控制来设置样式。

也可以使用更高级的样式。可以使用众所周知的形状(例如圆形,正方形,星形,甚至自定义图形或文本)来指定点。可以使用破折号样式和哈希样式设置线条。可以使用自定义平铺图形填充多边形。样式可以基于数据中的属性,以便某些特征的样式不同。功能上的文本标签也是可以的。样式还可以通过缩放级别来确定,以便以适合其外观大小的方式显示要素。可能性是巨大的。

学习SLD的一种好方法是研究样式示例。以下是一个简单的SLD,可以将其应用于包含点的图层,以将其设置为大小为6像素的红色圆圈。

  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>

效果如下图:

 

 

尽管该示例看起来很长,但是只有几行是真正重要的理解。 第14行指出,将使用“ PointSymbolizer”将数据设置为点样式。 第15-17行指出要使用“well known name”指定的图形形状(在这种情况下为圆形)来设置点的样式。SLD提供了许多形状的名称,例如“square”, “star”, “triangle”等。 第18-20行指定形状应使用#FF0000(红色)颜色填充。这是十六进制编写的RGB颜色代码,格式为#RRGGBB。最后,第22行指定形状的大小为6像素宽。结构的其余部分包含有关样式的元数据,例如标识样式的名称和用于图例的标题。

 转自:https://blog.csdn.net/u014572215/article/details/108749967