Geoserver图层样式标牌制作案例记录下,如下:
<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<sld:StyledLayerDescriptor version="1.0.0" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink">
<sld:NamedLayer>
<sld:Name>point</sld:Name>
<sld:UserStyle>
<sld:Name>point</sld:Name>
<sld:FeatureTypeStyle>
<sld:FeatureTypeName>point</sld:FeatureTypeName>
<sld:Rule>
<sld:Name>point</sld:Name>
<sld:Title>point</sld:Title>
<sld:MinScaleDenominator>1</sld:MinScaleDenominator>
<sld:MaxScaleDenominator>5000000</sld:MaxScaleDenominator>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>CODE_TYPE</ogc:PropertyName>
<ogc:Literal>aaa</ogc:Literal>
</ogc:PropertyIsEqualTo>
<!--<ogc:PropertyIsEqualTo>
<ogc:PropertyName>CODE_TYPE</ogc:PropertyName>
<ogc:Literal>bbb</ogc:Literal>
</ogc:PropertyIsEqualTo>-->
</ogc:Filter>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#16A316</CssParameter>
<CssParameter name="stroke-width">0.5</CssParameter>
</Stroke>
</Mark>
<Size>50</Size>
<rotation>45</rotation>
<sld:Displacement>
<sld:DisplacementX>-25</sld:DisplacementX>
<sld:DisplacementY>25</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#16A316</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>56</Size>
<rotation>90</rotation>
<sld:Displacement>
<sld:DisplacementX>-96</sld:DisplacementX>
<sld:DisplacementY>100</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#16A316</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>30</Size>
<rotation>0</rotation>
<sld:Displacement>
<sld:DisplacementX>-154</sld:DisplacementX>
<sld:DisplacementY>82</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#16A316</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</Mark>
<Size>30</Size>
<rotation>0</rotation>
<sld:Displacement>
<sld:DisplacementX>-36</sld:DisplacementX>
<sld:DisplacementY>82</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#16A316</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>20</Size>
<rotation>90</rotation>
<sld:Displacement>
<sld:DisplacementX>-140</sld:DisplacementX>
<sld:DisplacementY>60</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#16A316</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>20</Size>
<rotation>90</rotation>
<sld:Displacement>
<sld:DisplacementX>-50</sld:DisplacementX>
<sld:DisplacementY>60</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
<ogc:PropertyName>TXT_NAME</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>-64</ogc:DisplacementX>
<ogc:DisplacementY>-45</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#16A316</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
<ogc:PropertyName>VAL_FREQ</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>-78</ogc:DisplacementX>
<ogc:DisplacementY>-60</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#16A316</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
<ogc:PropertyName>POINT_IDEN</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>-45</ogc:DisplacementX>
<ogc:DisplacementY>-60</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#16A316</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
N<ogc:PropertyName>POINT_LATI</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>-90</ogc:DisplacementX>
<ogc:DisplacementY>-82</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#16A316</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
E<ogc:PropertyName>POINT_LONG</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>-40</ogc:DisplacementX>
<ogc:DisplacementY>-82</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#16A316</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
</sld:Rule>
<sld:Rule>
<sld:Name>airway_points_mark</sld:Name>
<sld:Title>airway_points_mark</sld:Title>
<sld:MinScaleDenominator>1</sld:MinScaleDenominator>
<sld:MaxScaleDenominator>5000000</sld:MaxScaleDenominator>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>CODE_TYPE</ogc:PropertyName>
<ogc:Literal>bbb</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#BBB</CssParameter>
<CssParameter name="stroke-width">0.5</CssParameter>
</Stroke>
</Mark>
<Size>50</Size>
<rotation>-45</rotation>
<sld:Displacement>
<sld:DisplacementX>30</sld:DisplacementX>
<sld:DisplacementY>30</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#BBB</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>56</Size>
<rotation>90</rotation>
<sld:Displacement>
<sld:DisplacementX>101</sld:DisplacementX>
<sld:DisplacementY>105</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#BBB</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>40</Size>
<rotation>0</rotation>
<sld:Displacement>
<sld:DisplacementX>41</sld:DisplacementX>
<sld:DisplacementY>95</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#BBB</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</Mark>
<Size>40</Size>
<rotation>0</rotation>
<sld:Displacement>
<sld:DisplacementX>159</sld:DisplacementX>
<sld:DisplacementY>95</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#BBB</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>20</Size>
<rotation>90</rotation>
<sld:Displacement>
<sld:DisplacementX>55</sld:DisplacementX>
<sld:DisplacementY>65</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:PointSymbolizer>
<sld:Graphic>
<Mark>
<WellKnownName>shape://vertline</WellKnownName>
<Stroke>
<CssParameter name="stroke">#BBB</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>20</Size>
<rotation>90</rotation>
<sld:Displacement>
<sld:DisplacementX>145</sld:DisplacementX>
<sld:DisplacementY>65</sld:DisplacementY>
</sld:Displacement>
</sld:Graphic>
</sld:PointSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
<ogc:PropertyName>TXT_NAME</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>65</ogc:DisplacementX>
<ogc:DisplacementY>-45</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FFF</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
<ogc:PropertyName>VAL_FREQ</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>51</ogc:DisplacementX>
<ogc:DisplacementY>-65</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FFF</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
<ogc:PropertyName>POINT_IDEN</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>86</ogc:DisplacementX>
<ogc:DisplacementY>-65</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FFF</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
CH
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>51</ogc:DisplacementX>
<ogc:DisplacementY>-85</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FFF</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
<ogc:Function name="strSubstringStart">
<ogc:PropertyName>CODE_CHANN</ogc:PropertyName>
<ogc:Literal>2</ogc:Literal>
</ogc:Function>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>85</ogc:DisplacementX>
<ogc:DisplacementY>-85</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FFF</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
N<ogc:PropertyName>POINT_LATI</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>41</ogc:DisplacementX>
<ogc:DisplacementY>-97</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FFF</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
<sld:TextSymbolizer>
<sld:Label>
E<ogc:PropertyName>POINT_LONG</ogc:PropertyName>
</sld:Label>
<sld:Font>
<sld:CssParameter name="font-family">.PingFang SC Medium</sld:CssParameter>
<sld:CssParameter name="font-size">9</sld:CssParameter>
<sld:CssParameter name="font-style">normal</sld:CssParameter>
</sld:Font>
<ogc:LabelPlacement>
<ogc:PointPlacement>
<ogc:AnchorPoint>
<ogc:AnchorPointX>0.5</ogc:AnchorPointX>
<ogc:AnchorPointY>0.0</ogc:AnchorPointY>
</ogc:AnchorPoint>
<ogc:Displacement>
<ogc:DisplacementX>91</ogc:DisplacementX>
<ogc:DisplacementY>-97</ogc:DisplacementY>
</ogc:Displacement>
</ogc:PointPlacement>
</ogc:LabelPlacement>
<sld:Fill>
<sld:CssParameter name="fill">#FFF</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1.0</sld:CssParameter>
</sld:Fill>
<!-- label重叠设置为负值为允许重叠
<VendorOption name="spaceAround">10</VendorOption>-->
</sld:TextSymbolizer>
</sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>
</sld:NamedLayer>
</sld:StyledLayerDescriptor>
以上配置仅供参考,如有错误或更优方案,请留言指正。