geoserver sld阅读笔记

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

简介SLD@H_403_2@

地理空间数据没有内在的可视化组件。@H_403_2@为了能看到的数据,必须风格。@H_403_2@样式指定颜色,厚度和用于呈现在地图数据等可见属性。@H_403_2@

在GeoServer的,造型是使用一种标记语言,称为实现样式化图层描述符,或SLD的简称。@H_403_2@SLD是一种基于XML的标记语言,是非常强大的,虽然有些复杂。@H_403_2@页面提供了一个介绍SLD以及它是如何工作的范围内的GeoServer的能力。@H_403_2@

记@H_403_2@

GeoServer使用SLD专门用于造型,术语“SLD”和“风格”会经常被互换使用。@H_403_2@

SLD概念@H_403_2@

在GeoServer的造型是最经常使用XMLSLD样式文件@H_403_2@中规定。@H_403_2@风格文件与GeoServer的层(featuretypes)@H_403_2@相关的指定应如何呈现@H_403_2@。@H_403_2@样式文档指定一个单一命名图层@H_403_2@,并为它用户风格@H_403_2@。@H_403_2@层和风格可以具有元数据元素,如名称@H_403_2@识别它们,显示它们一个标题@H_403_2@,和描述它们的细节的抽象@H_403_2@。@H_403_2@内的顶层样式是一个或多个特征类型的风格@H_403_2@,其充当“虚层”,以提供对描绘顺序(允许的造型效果,如套管线道路)的控制。@H_403_2@每个要素类型样式包含一个或多个规则@H_403_2@,它们控制如何基于功能属性和缩放级别样式被应用。@H_403_2@规则通过使用过滤器@H_403_2@,它是包含谓词@H_403_2@,表达式@H_403_2@和过滤功能@H_403_2@逻辑条件选择适用的功能。@H_403_2@以指定的样式为单独的特征的细节,规则包含任意数量symbolizers@H_403_2@的。@H_403_2@Symbolizers指定样式的点@H_403_2@,线@H_403_2@和多边形@H_403_2@,以及栅格@H_403_2@和文本标签@H_403_2@。@H_403_2@

欲了解更多信息,请参阅SLD参考@H_403_2@。@H_403_2@

风格类型@H_403_2@

矢量数据的GeoServer可以服务包括三类形状:点,线和多边形@H_403_2@。@H_403_2@线(一维形状)是最简单的,因为它们仅具有边缘样式(也称为“stroke”)。@H_403_2@多边形的二维形状,有一个边缘和一个内部(也称为“fill”),这两者都可以有不同的样式。@H_403_2@尽管他们缺乏维度,他们都具有edge和fill(更不用说size),能够修改样式。@H_403_2@对于填充,颜色可指定;@H_403_2@对于stroke(笔划),颜色(color)和厚度(thickness@H_403_2@)可以被指定。@H_403_2@

GeoServer的同时也是栅格数据。@H_403_2@这可以装饰有各种各样的过彩色调色板,不透明度,对比度和其它参数的控制。@H_403_2@

更先进的样式是可能的。@H_403_2@点可以与众所周知的形状,如圆形,方形,星形,甚至是自定义的图形或文字来指定。@H_403_2@线可以风格以短线风格(dash styles .@H_403_2@)和散列(hashes@H_403_2@)来修饰。@H_403_2@多边形可以填充自定义平铺图形。@H_403_2@样式可以基于在数据属性,因此,某些特征是不同的样式。@H_403_2@基于属性的文本标签也可以被修饰(style)。@H_403_2@造型(styling)也可以通过缩放水平来确定,从而使功能显示在适合其表观大小的方法。@H_403_2@可能性是巨大的。@H_403_2@

一个基本的风格例子@H_403_2@

了解SLD的一个好方法是学习风格的例子。@H_403_2@@H_403_2@下面是可应用到包含分的层,样式它们作为红色圆圈为6像素的大小的简单的SLD。@H_403_2@@H_403_2@(这是在Points@H_403_2@指导书中的@H_403_2@第一个例子@H_403_2@)。@H_403_2@@H_403_2@

  1@H_403_2@
  2@H_403_2@
  3@H_403_2@
  4@H_403_2@
  5
  6@H_403_2@
  7@H_403_2@
  8@H_403_2@
  9@H_403_2@
 10@H_403_2@
 11@H_403_2@
 12@H_403_2@
 13@H_403_2@
 14@H_403_2@
 15@H_403_2@
 16@H_403_2@
 17@H_403_2@
 18@H_403_2@
 19@H_403_2@
 20@H_403_2@
 21@H_403_2@
 22@H_403_2@
 23@H_403_2@
 24@H_403_2@
 25@H_403_2@
 26@H_403_2@
 27@H_403_2@
 28@H_403_2@
 29@H_403_2@ 
  <?XMLversion="1.0" encoding="ISO-8859-1"?@H_403_2@>@H_403_2@@H_403_2@
 <StyledLayerDescriptor@H_403_2@ version@H_403_2@@H_403_2@@H_403_2@=“1.0.0”@H_403_2@
@H_403_2@     XSI:schemaLocation =“http://www.opengis.net/sld@H_403_2@@H_403_2@ StyledLayerDescriptor.xsd”@H_403_2@@H_403_2@
     xmlns =“http://www.opengis.net/sld”@H_403_2@@H_403_2@@H_403_2@
     xmlns:OGC =“http://www.opengis.net/ogc”@H_403_2@@H_403_2@@H_403_2@
     xmlns:XLink=“http://www.w3.org/1999/xlink”@H_403_2@@H_403_2@@H_403_2@
     XMLNS:XSI =“http://www.w3.org/2001/XMLSchema-instance”>@H_403_2@@H_403_2@@H_403_2@@H_403_2@
   <NamedLayer>@H_403_2@@H_403_2@
     <Name>@H_403_2@Simple point@H_403_2@</Name@H_403_2@@H_403_2@>@H_403_2@ @H_403_2@@H_403_2@     <UserStyle>@H_403_2@@H_403_2@
       <Title>@H_403_2@GeoServer SLD Cook Book: Simple point@H_403_2@</Title>@H_403_2@@H_403_2@
       <FeatureTypeStyle>@H_403_2@@H_403_2@
         <Rule>@H_403_2@@H_403_2@
           <PointSymbolizer>@H_403_2@@H_403_2@
             <Graphic@H_403_2@>@H_403_2@@H_403_2@
               Mark@H_403_2@>@H_403_2@@H_403_2@
                 <WellKnownName>@H_403_2@circle@H_403_2@</ WellKnownName>@H_403_2@@H_403_2@
                 <Fill>@H_403_2@@H_403_2@
                   <CssParameter@H_403_2@ name=@H_403_2@@H_403_2@"fill"@H_403_2@>@H_403_2@#FF0000@H_403_2@</ CssParameter>@H_403_2@@H_403_2@
                 </Fill>@H_403_2@@H_403_2@
               </Mark@H_403_2@>@H_403_2@@H_403_2@
               <Size>@H_403_2@ 6 </Size>@H_403_2@@H_403_2@
             Graphic@H_403_2@>@H_403_2@@H_403_2@
           </ PointSymbolizer>@H_403_2@@H_403_2@
         </Rule>@H_403_2@@H_403_2@
       </ FeatureTypeStyle>@H_403_2@@H_403_2@
     </ UserStyle>@H_403_2@@H_403_2@
   </ NamedLayer>@H_403_2@@H_403_2@
 </ StyledLayerDescriptor>@H_403_2@@H_403_2@

虽然这个例子看上去很长,只有几行是真正重要的是理解。第14行@H_403_2@指出了“PointSymbolizer”被用来style的数据点。线15-17@H_403_2@状态点都将使用指定的图形形状样式通过一个“公知的名称”,在这种情况下,一个圆。@H_403_2@SLD提供的名字为许多形状,如“square”,“star”,“triangle@H_403_2@”等行18-20@H_403_2@指定要填充的#FF0000(@H_403_2@红色)颜色的形状。@H_403_2@这是一个RGB颜色代码,写入十六进制,在#RRGGBB的形式。@H_403_2@最后,第22行@H_403_2@指定形状的大小为6个像素的宽度。@H_403_2@该结构的其余部分包含关于样式的元数据,如名称标识的样式和在图例使用的标题。@H_403_2@

记@H_403_2@

在SLD文件的一些标签都有前缀,如OGC。@H_403_2@@H_403_2@这是因为它们是在XML命名空间@H_403_2@来定义。@H_403_2@顶级StyledLayerDescriptor@H_403_2@标签(2-7行@H_403_2@)指定了两个XML命名空间,一个叫的xmlns,@H_403_2@和一个叫的xmlns:OGC。@H_403_2@@H_403_2@第一空间是默认的文档,所以属于它的标签不需要前缀。@H_403_2@属于第二标记所需要的前缀OGC:。@H_403_2@@H_403_2@实际上,该命名空间前缀可以是任何标识符。@H_403_2@第一名字空间可以被称为的xmlns:SLD(@H_403_2@因为它往往是),然后在这个例子中所有的标签都需要一个SLD:@H_403_2@前缀。@H_403_2@关键的一点是,标签需要有前缀,它们属于命名空间。@H_403_2@

猜你在找的XML相关文章