geoserver之shp图层标注样式
geoserver之shp图层标注样式
sld代码由udig生成。
sld代码:
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <?xml version= "1.0" encoding= "GBK" ?><sld:StyledLayerDescriptor xmlns= "http://www.opengis.net/sld" xmlns:sld= "http://www.opengis.net/sld" xmlns:gml= "http://www.opengis.net/gml" xmlns:ogc= "http://www.opengis.net/ogc" version= "1.0.0" > <sld:UserLayer> <sld:LayerFeatureConstraints> <sld:FeatureTypeConstraint/> </sld:LayerFeatureConstraints> <sld:UserStyle> <sld:Name>XZQHBZ</sld:Name> <sld:FeatureTypeStyle> <sld:Name>组 0</sld:Name> <sld:FeatureTypeName>Feature</sld:FeatureTypeName> <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier> <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier> <sld:Rule> <sld:Name>XZQHBZ</sld:Name> <sld:PolygonSymbolizer> <sld:Fill> <sld:CssParameter name= "fill" >#1B9E77</sld:CssParameter> <sld:CssParameter name= "fill-opacity" >0.0</sld:CssParameter> </sld:Fill> <sld:Stroke> <sld:CssParameter name= "stroke" >#1B9E77</sld:CssParameter> <sld:CssParameter name= "stroke-opacity" >0.0</sld:CssParameter> </sld:Stroke> </sld:PolygonSymbolizer> <sld:TextSymbolizer> <sld:Geometry> <ogc:Function name= "centroid" > <ogc:PropertyName>the_geom</ogc:PropertyName> </ogc:Function> </sld:Geometry> <sld:Label> <ogc:PropertyName>name</ogc:PropertyName> </sld:Label> <sld:Font> <sld:CssParameter name= "font-family" >黑体</sld:CssParameter> <sld:CssParameter name= "font-size" >12.0</sld:CssParameter> <sld:CssParameter name= "font-style" >normal</sld:CssParameter> <sld:CssParameter name= "font-weight" >bold</sld:CssParameter> </sld:Font> <sld:LabelPlacement> <sld:PointPlacement> <sld:AnchorPoint> <sld:AnchorPointX>0.0</sld:AnchorPointX> <sld:AnchorPointY>0.0</sld:AnchorPointY> </sld:AnchorPoint> <sld:Displacement> <sld:DisplacementX>0.0</sld:DisplacementX> <sld:DisplacementY>0.0</sld:DisplacementY> </sld:Displacement> </sld:PointPlacement> </sld:LabelPlacement> <sld:Halo> <sld:Radius>1</sld:Radius> <sld:Fill> <sld:CssParameter name= "fill" >#FFFFFF</sld:CssParameter> </sld:Fill> </sld:Halo> <sld:Fill> <sld:CssParameter name= "fill" >#000000</sld:CssParameter> </sld:Fill> </sld:TextSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> </sld:UserStyle> </sld:UserLayer> </sld:StyledLayerDescriptor> |
注意事项:
1.若图层中涉及到中文,请将第一行UTF-8改为GBK
2.示例sld中将面边界和填充透明度都设置为0
3.udig不支持设置标签在矢量边界中间,需要自己加入如下代码:
1 2 3 4 5 | <sld:Geometry> <ogc:Function name= "centroid" > <ogc:PropertyName>the_geom</ogc:PropertyName> </ogc:Function> </sld:Geometry> |
若不加入会出现每个切片中心显示一个标注文字的情况(标注重复),如下图:
4.始终显示标注
<sld:VendorOption name="conflictResolution">false</sld:VendorOption>
位置:
钻研不易,转载请注明出处。。。。。。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步