GeoServer中利用SLD配图之矢量图层配图

阅读: 评论:0

GeoServer中利⽤SLD配图之⽮量图层配图
1 背景
我们在ArcMap中可以直接通过symbol功能对图层进⾏定制化配图。但是,如果我们将配好图的shp图层在GeoServer中发布时,会发现图层样式完全丢失了。其实原因很简单,⽤ArcMap配好的图层,其样式⽂件并不是保存在shp中,⽽是保存在mxd或者msd中。
那么如何才能让GeoServer发布的图层也能达到定制化配图的效果呢?
2 SLD简介
SLD是风格化图层描述器(Styled Layer Descriptor)的简称,是2005年OGC提出的⼀个标准,这个标准在⼀定条件下允许WMS服务器对地图可视化的表现形式进⾏扩展。在没有SLD之前,只能使⽤⼀些已经在服务器上规定好的样式来对地图进⾏可视化。⽽当使⽤了实现了SLD标准之后,它允许我们从客户端来对地图进⾏定义⾃⼰的样式,分级显⽰等操作,极⼤的扩展了地图可视化的灵活性。
该SLD-规范是采⽤XML定义地图显⽰样式,通过⾃定义SLD来配置地图图层渲染的可视化风格,可以设置过滤器,⾃定义图例等。rule是SLD最重要的⼀个元素,因为她允许根据给定的某个参数(使⽤过滤器)对数据集进⾏分类,所有的与分类有关的重要参数都必须在rule元素中设置。
对于使⽤SLD来进⾏地图的⾃定义样式,则必须结合使⽤SE(Symbology Encoding)这个标准。SE是OGC的另⼀个标准,这个也是基于XML模式定义的,这个标准允许我们⾃定义不同的符号样式来表达地图上不同的要素。SLD⽂件使⽤这种语⾔,这样在地图渲染时地图服务可以解释由⽤户定义的样式。
SLD⽂档的元素架构如下:
⼀个SLD样式⽂档⼀般包含⼀个部分,⽽最重要的如下:
FeatureTypeStyle:这⼀部分是整个样式⽂档的根节点,并说明什么是它的样式将被应⽤的特征类型。FeatureTypeStyle包含⼀个或者多个Rule元素,Rule元素允许有条件的映射。
RULE(规则):规则是根据属性条件和地图⽐例尺来对要素进⾏分组渲染,⼀般RULE中只允许渲染⼀种类型的要素,即点,线,⾯等其中的⼀种,但是可以和注记同时使⽤。
Symbolizer(符号):Symbolizer指定数据应该如何可视化,在1.0的标准中包含五忠类型的Symbolizer,分别是PointSymbolizer(点符号)、LineSymbolizer(线符号)、PloygonSymbolizer(⾯符号)、TextSymbolizer(注记)、RasterSymbolizer(栅格)。
通过SLD可以设置的不仅仅是简单的颜⾊和厚度。点可以设置成常⽤的形状,如圆形,⽅形,星形,甚⾄可以是⾃定义的图⽚图形或⽂字来指定;线可以渲染成虚线或者点虚线等,多边形可以填充⾃定义的平铺图像,样式可以基于数据的属性给定,以⾄于要素能够
被渲染成不同的风格。
常⽤参数说明:
符号含义
<Name>样式名称
<FeatureTypeStyle>要素样式
<Rule>规则
<ogc:Filter>过滤器
<ogc:Filter>过滤器
<ogc:PropertyIsBetween>⽤来定义在两个属性值之间的过滤器<ogc:PropertyIsLessThan>⽤来定义在⼩于某个属性值的过滤器<ogc:PropertyIsGreaterThan>⽤来定义在⼤于某个属性值的过滤器<ogc:PropertyName>属性字段名
<ogc:Literal>属性值
<PointSymbolizer>点标记器
<LineSymbolizer>线标记器
<PolygonSymbolizer>⾯标记器
<CssParameter  name="fill">填充颜⾊
<CssParameter  name="font-family">字体
<CssParameter  name="font-style">字体样式
<CssParameter  name="font-size">字体⼤⼩
3 以polygon图层为例,详细讲解
3.1基本颜⾊填充
3.1.1 结构
…PolygonSymbolizer
……Fill填充
………CssParameter  name="fill"颜⾊
………CssParameter  name="fill-opacity"透明度
……Stroke边界
……CssParameter  name="stroke"颜⾊
………CssParameter  name="stroke-width"宽度
3.1.2⽰例
带有边界透明的多边形
SLD:
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
<CssParameter  name="fill">#AAAAAA</CssParameter>        <CssParameter  name="fill-opacity">0.5</CssParameter>      </Fill>
<Stroke>
<CssParameter  name="stroke">#000000</CssParameter>        <CssParameter  name="stroke-width">1</CssParameter>      </Stroke>
效果:
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
3.2图⽚填充
3.2.1结构
…PolygonSymbolizer
十二五科技成就展……Fill
………GraphicFill
…………Graphic
……………ExternalGraphic ………………OnlineResource图⽚来源………………Format图⽚格式……………Size⼤⼩
3.2.2⽰例
带有使⽤图⽚填充的多边形
SLD:
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
星象图
<GraphicFill>
<Graphic>
<ExternalGraphic>
<OnlineResource xlink:type="simple"  xlink:href="20101.gif" />                  <Format>image/gif</Format>
</ExternalGraphic>
<Size>20</Size>
</Graphic>
</GraphicFill>
</Fill>
<Stroke>
<CssParameter  name="stroke">#000000</CssParameter>
<CssParameter  name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
效果:
3.3注记显⽰
3.2.1结构
世界人体艺术鉴赏大典TextSymbolizer
……Label
………ogc:PropertyName注记的属性字段名称……Font字体………CssParameter  name="font-family"字体类型………CssParameter  name="font-size"字体⼤⼩………CssParameter  name="font-style"字体样式………CssParameter  name="font-weight"字体加粗……LabelPlacement注记的位置
………PointPlacement注记点位置…………AnchorPoint
……………AnchorPointX
……………AnchorPointY
…………Displacement
……………Displacement X
周荣鑫……………Displacement Y
…………Rotation设置旋转⾓度
……Fill填充
………CssParameter  name="fill"填充颜⾊
3.2.2⽰例
带有注记的填充⾊透明的多边形
SLD:
绥化学院学报<TextSymbolizer>
<Label>
<ogc:PropertyName>COMNAME</ogc:PropertyName>
</Label>
<Font>
<CssParameter name="font-family">微软雅⿊</CssParameter>            <CssParameter name="font-size">15</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>0.5</AnchorPointX>
<AnchorPointY>0.5</AnchorPointY>
明溪蓝宝石</AnchorPoint>
</PointPlacement>
</LabelPlacement>
<Fill>
<CssParameter name="fill">#FF5226</CssParameter>
</Fill>
<VendorOption name="followLine">true</VendorOption>
</TextSymbolizer>

本文发布于:2023-07-05 07:27:22,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/172297.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地图   样式   定义   图层   可视化   允许   渲染   属性
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图