Geoserver style使用(三)——按属性和缩放级别渲染矢量图层
来源:互联网 发布:经传多赢软件 编辑:程序博客网 时间:2024/06/15 11:48
Geoserver style可将矢量图层渲染为按属性分类显示、按缩放级别区别显示。
按属性分类显示
按属性显示可以进行唯一值渲染,即一个值对应一种样式(填充颜色、边线宽度等),也可以进行分段渲染,即某一类型对应一种样式。
例如土地利用分类图,我们需要对不同类进行渲染,地类代码唯一,我们就可以采用唯一值渲染。本例中的土地利用分类数据地类代码字段为“TBLXDM”,类型为int,值分别为1,2,3…9,我们将每种地类赋予不同的颜色。代码如下:
<StyledLayerDescriptor 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" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"> <NamedLayer> <Name>Simple polygon</Name> <UserStyle> <Title>SLD Cook Book: Attribute-based polygon</Title> <FeatureTypeStyle> <Rule> <Name>1</Name> <Title>Crop</Title> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>TBLXDM</ogc:PropertyName> <ogc:Literal>1</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#DAA520</CssParameter> </Fill> </PolygonSymbolizer> </Rule> <Rule> <Name>2</Name> <Title>Gardening trees</Title> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>TBLXDM</ogc:PropertyName> <ogc:Literal>2</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#D2B48C</CssParameter> </Fill> </PolygonSymbolizer> </Rule> <Rule> <Name>3</Name> <Title>Forest</Title> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>TBLXDM</ogc:PropertyName> <ogc:Literal>3</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#2E8B57</CssParameter> </Fill> </PolygonSymbolizer> </Rule> …… </FeatureTypeStyle> </UserStyle> </NamedLayer></StyledLayerDescriptor>
其中省略的部分是因为不同属性值赋予颜色的rule内容结构上只是简单的重复,不同的只是16进制颜色代码,在此就不一一重复,效果图如下。
如果想实现分段显示,只需要修改filter类型,例如将值大于等于3、小于等于5的地类赋予某种颜色,示例代码如下:
<Rule> <Name>Example</Name> <Title>3-5</Title> <ogc:Filter> <ogc:And> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>pop</ogc:PropertyName> <ogc:Literal>3</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyIsLessThan> <ogc:PropertyName>pop</ogc:PropertyName> <ogc:Literal>5</ogc:Literal> </ogc:PropertyIsLessThan> </ogc:And> </ogc:Filter> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#33CC33</CssParameter> </Fill> </PolygonSymbolizer> </Rule>
按缩放级别区别显示
有时地图为了显示需要,在不同的比例尺下要素的样式需要做一些调整,常用的如修改标签的样式。本例中设置了不同比例尺下图斑的填充颜色、线宽、地类名称字段“TBLXMC”的标签样式。代码如下:
<FeatureTypeStyle> <Rule> <Name>Large</Name> <MaxScaleDenominator>20000</MaxScaleDenominator> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#66FF66</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-width">2</CssParameter> </Stroke> </PolygonSymbolizer> <TextSymbolizer> <Label> <ogc:PropertyName>TBLXMC</ogc:PropertyName> </Label> <Font> <CssParameter name="font-size">14</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">#FFFFFF</CssParameter> </Fill> </TextSymbolizer> </Rule> <Rule> <Name>Medium</Name> <MinScaleDenominator>20000</MinScaleDenominator> <MaxScaleDenominator>200000</MaxScaleDenominator> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#0000CC</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-width">3</CssParameter> </Stroke> </PolygonSymbolizer> </Rule> <Rule> <Name>Small</Name> <MinScaleDenominator>200000</MinScaleDenominator> <PolygonSymbolizer> <Fill> <CssParameter name="fill">#990099</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-width">4</CssParameter> </Stroke> </PolygonSymbolizer> </Rule> </FeatureTypeStyle>
效果图如下:
阅读全文
0 0
- Geoserver style使用(三)——按属性和缩放级别渲染矢量图层
- Geoserver Style使用(二)
- 显示栅格图层和矢量图层的属性表(AE开发)
- 显示栅格图层和矢量图层的属性表(AE开发)
- QGis(三)查询矢量图层的要素属性字段值
- ArcEngine 预览矢量图层渲染样式
- ArcEngine开发之矢量图层渲染实现
- QGis(一)加载栅格图层和矢量图层
- IDataSet接口的使用和矢量图层复制
- QGis(五)矢量图层根据指定字段分级渲染显示
- Andrid5.0新特性——SVG(可缩放矢量图)
- OpenLayers 3 之 使用矢量图层(Vector)
- geoserver点样式研究——特定图片渲染点
- 讲述属性动画的使用 —使用动画旋转、平移、渐变和缩放
- QGIS开发之矢量图层的使用
- 矢量图层(FeatureClass)获取和更新Extent
- 在iOS中使用字体文件.ttf(icon font,可缩放矢量图)
- OpenLayers 学习(三)矢量图层上添加点绘制点、线、多边形
- spring boot中spring cache 整合redis
- Character常见方法和转义
- 初识View-SIX
- c++纯虚函数
- 第一次交叉编译基于群晖 213j(CPU:Armada 370)的iperf过程
- Geoserver style使用(三)——按属性和缩放级别渲染矢量图层
- bzoj1500/洛谷P2042 维护数列
- slowlog慢日志切割
- 原生JS实现一个滑动插件
- PhotonServer配置
- Go 文档管理
- Android数据库高手秘籍(三)——使用LitePal升级表
- 笔记51 | Android自定义View(二)
- 镜像文件的下载地址