在geoserver中,有时我们需要给线条增加标注,这时,为了美观我们一般会让标注沿着线条的方向显示,那么如何做到这个呢?只需要在标注样式标签TextSymbolizer里面加个VendorOption标签,并设置为true就行了,完整样式代码如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"
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">
<NamedLayer>
<Name>vectorline</Name>
<UserStyle>
<Title>A cyan line style</Title>
<FeatureTypeStyle>
<Rule>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#fffc00</CssParameter>
</Stroke>
</LineSymbolizer>
<TextSymbolizer>
<Label>
<ogc:PropertyName>cell_name</ogc:PropertyName><!-- 标注名称对应字段 -->
</Label>
<Font>
<CssParameter name="font-family">微软雅黑</CssParameter>
<CssParameter name="font-size">13</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">bold</CssParameter>
</Font>
<Fill>
<CssParameter name="fill">#ff0000</CssParameter><!-- 字体颜色 -->
</Fill>
<LabelPlacement><!-- 设置标注偏移 -->
<PointPlacement>
<AnchorPoint>
<AnchorPointX>0</AnchorPointX>
<AnchorPointY>0</AnchorPointY>
</AnchorPoint>
<Displacement>
<DisplacementX>2</DisplacementX>
<DisplacementY>5</DisplacementY>
</Displacement>
</PointPlacement>
</LabelPlacement>
<VendorOption name="followLine">true</VendorOption><!-- 文字沿着直线方向显示 -->
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
效果如下图所示: