geoserver sld阅读笔记

前端之家收集整理的这篇文章主要介绍了geoserver sld阅读笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

简介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 @H_502_256@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:前缀。关键的一点是,标签需要有前缀,它们属于命名空间。

猜你在找的XML相关文章