Geoserver SLD: <sld:LineSymbolizer> <sld:Stroke> <sld:CssParameter name="stroke"> <ogc:PropertyName>geo_color</ogc:PropertyName> </sld:CssParameter> <sld:CssParameter name="stroke-width">2</sld:CssParameter> </sld:Stroke> </sld:LineSymbolizer> <TextSymbolizer> <Label> <ogc:Literal>≻</ogc:Literal> </Label> <Font> <CssParameter name="font-family">Lucida Sans</CssParameter> <CssParameter name="font-size">20</CssParameter> </Font> <LabelPlacement> <LinePlacement> <PerpendicularOffset>0</PerpendicularOffset> </LinePlacement> </LabelPlacement> <Fill> <CssParameter name="fill"> <ogc:PropertyName>geo_color</ogc:PropertyName> </CssParameter> </Fill> <VendorOption name="followLine">true</VendorOption> <VendorOption name="forceLeftToRight">false</VendorOption> <VendorOption name="conflictResolution">false</VendorOption> </TextSymbolizer> I have the above style set for a WMS layer containing line strings. For most zoom levels the direction arrow aligns properly with its corresponding line. But on zooming out beyond a point, the arrows seem to be displaced away from their respective lines. Shown here: ![Screenshot showing the issue][1] I am fairly sure that this has to do something with `VendorOption` parameters but unable to put a finger on it. [1]: https://i.sstatic.net/BBKF6.png