geoserver sld阅读笔记
目录
简介SLD
地理空间数据没有内在的可视化组件。 为了能看到的数据,必须风格。 样式指定颜色,厚度和用于呈现在地图数据等可见属性。
在GeoServer的,造型是使用一种标记语言,称为实现样式化图层描述符 ,或SLD的简称。 SLD是一种基于XML的标记语言,是非常强大的,虽然有些复杂。 该页面提供了一个介绍SLD以及它是如何工作的范围内的GeoServer的能力。
记
GeoServer使用SLD专门用于造型,术语“SLD”和“风格”会经常被互换使用。
SLD概念
在GeoServer的造型是最经常使用XML SLD样式文件中规定。 风格文件与GeoServer的层(featuretypes)相关的指定应如何呈现 。 样式文档指定一个单一命名图层 ,并为它的用户风格 。 层和风格可以具有元数据元素,如名称识别它们,显示它们一个标题 ,和描述它们的细节的抽象 。 内的顶层样式是一个或多个特征类型的风格 ,其充当“虚层”,以提供对描绘顺序(允许的造型效果,如套管线道路)的控制。 每个要素类型样式包含一个或多个规则,它们控制如何基于功能属性和缩放级别样式被应用。 规则通过使用过滤器 ,它是包含谓词 , 表达式和过滤功能逻辑条件选择适用的功能。 以指定的样式为单独的特征的细节,规则包含任意数量symbolizers的。 Symbolizers指定样式的点 , 线和多边形 ,以及栅格和文本标签 。
欲了解更多信息,请参阅SLD参考 。
风格类型
矢量数据的GeoServer可以服务包括三类形状: 点,线和多边形 。 线(一维形状)是最简单的,因为它们仅具有边缘样式(也称为“stroke”)。 多边形的二维形状,有一个边缘和一个内部(也称为“fill”),这两者都可以有不同的样式。 尽管他们缺乏维度,他们都具有edge和fill(更不用说size),能够修改样式。 对于填充,颜色可指定; 对于stroke(笔划),颜色(color)和厚度(thickness)可以被指定。
GeoServer的同时也是栅格数据。 这可以装饰有各种各样的过彩色调色板,不透明度,对比度和其它参数的控制。
更先进的样式是可能的。 点可以与众所周知的形状,如圆形,方形,星形,甚至是自定义的图形或文字来指定。 线可以风格以短线风格(dash
styles .)和散列(hashes)来修饰。 多边形可以填充自定义平铺图形。 样式可以基于在数据属性,因此,某些特征是不同的样式。 基于属性的文本标签也可以被修饰(style)。 造型(styling)也可以通过缩放水平来确定,从而使功能显示在适合其表观大小的方法。可能性是巨大的。
一个基本的风格例子
了解SLD的一个好方法是学习风格的例子。 下面是可应用到包含分的层,样式它们作为红色圆圈为6像素的大小的简单的SLD。 (这是在Points指导书中的第一个例子)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?XMLversion="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”被用来style的数据点。线15-17状态点都将使用指定的图形形状样式通过一个“公知的名称”,在这种情况下,一个圆。 SLD提供的名字为许多形状,如“square”,“star”,“triangle”等行18-20指定要填充的#FF0000(红色)颜色的形状。 这是一个RGB颜色代码,写入十六进制,在#RRGGBB的形式。 最后, 第22行指定形状的大小为6个像素的宽度。 该结构的其余部分包含关于样式的元数据,如名称标识的样式和在图例使用的标题。
记
在SLD文件的一些标签都有前缀,如OGC。 这是因为它们是在XML命名空间来定义。 顶级StyledLayerDescriptor标签(2-7行 )指定了两个XML命名空间,一个叫的xmlns,和一个叫的xmlns:OGC。第一空间是默认的文档,所以属于它的标签不需要前缀。 属于第二标记所需要的前缀OGC:。 实际上,该命名空间前缀可以是任何标识符。 第一名字空间可以被称为的xmlns:SLD(因为它往往是),然后在这个例子中所有的标签都需要一个SLD:前缀。 关键的一点是,标签需要有前缀,它们属于命名空间。
转载自:https://blog.csdn.net/supernever/article/details/40621033