简介SLD
地理空间数据没有内在的可视化组件。为了能看到的数据,必须风格。样式指定颜色,厚度和用于呈现在地图数据等可见属性。
在GeoServer的,造型是使用一种标记语言,称为实现样式化图层描述符,或SLD的简称。SLD是一种基于XML的标记语言,是非常强大的,虽然有些复杂。该页面提供了一个介绍SLD以及它是如何工作的范围内的GeoServer的能力。
记
GeoServer使用SLD专门用于造型,术语“SLD”和“风格”会经常被互换使用。
SLD概念
在GeoServer的造型是最经常使用XMLSLD样式文件中规定。风格文件与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个像素的宽度。该结构的其余部分包含关于样式的元数据,如名称标识的样式和在图例使用的标题。