geoserver学习(一)图层样式sld

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

SLD概念

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

样式类型

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

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

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

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

<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
                       xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
                       xmlns="http://www.opengis.net/sld"
                       xmlns:ogc="http://www.opengis.net/ogc"
                       xmlns:xlink="http://www.w3.org/1999/xlink"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <NamedLayer>
        <Name>Simple point</Name>
        <UserStyle>
            <Title>GeoServer SLD Cook Book: Simple point</Title>
            <FeatureTypeStyle>
                <Rule>
                    <PointSymbolizer>
                        <Graphic>
                            <Mark>
                                <WellKnownName>circle</WellKnownName>
                                <Fill>
                                    <CssParameter name="fill">#FF0000</CssParameter>
                                </Fill>
                            </Mark>
                            <Size>6</Size>
                        </Graphic>
                    </PointSymbolizer>
                </Rule>
            </FeatureTypeStyle>
        </UserStyle>
    </NamedLayer>
</StyledLayerDescriptor>

效果如下图:

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

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值