I have recently started using GeoServer 2.9 RC1 to present a traffic network using the shiny PerpendicularOffset feature of LineSymbolizer.
Each link (road section) in the network dataset has two features, identical in shape, opposite in direction. I am using perpendicularoffset to split the lines and present the traffic flows in a left-side traffic system (Vehicles run on the left side of the roads in my country).
The following documatation says the parameter shifts the lines to the left side.
(Offset line section)
However, it seems to me that when positive perpendicular offset was given, the lines are shifted to the right side of the roads and negative shifts them to the left side. (right means the right when viewed from the startpoint towards the endpoint of each line)
So, if I set a linesymbolizer with perpendicularoffset = 5 and then apply a textsymbolizer with forceLeftToRight = false and perpendicularoffset = 10 to the same dataset, the lines come to the right of the roads and the labels left. I had to set the linesymbolizer's perpendicularoffset to -5 to make both come on the same side of the roads. (ie. positive and negative in perpendicularoffset behaves differently between linesymbolizer and textsymbolizer)
I think the documentation is a bit confusing. Perhaps more accurate wording?
Amazon Linux (Linux version 4.1.17-22.30.amzn1.x86_64 (mockbuild@gobi-build-60009))
Oracle JRE 1.8.0 Update 92