I encountered a strange behaviour in Openlayers(2) while transforming a point from EPSG:4326 to EPSG:31467.
The Input lat/lon in EPSG 4326 is: 48.002718, 7.841573
This is the output in Openlayers:
OpenLayers with latest proj4.js: EPSG 31467: 3413629.117584194 5318941.910572025
https://jsfiddle.net/cag5n970/4/
OpenLayers with proj4.js 1.1.0: EPSG 31467: 3413629.117584194 5318941.910572027
https://jsfiddle.net/cpwqA/75/
This is the output of epsg.io:
With different desktop-GIS-systems I also get the correct coordinates:
GlobalMapper: EPSG 31467: 3413632.71674 5318940.01018
FME: EPSG 31467: 3413632.7176193688 5318940.0085047819
ArcGIS: EPSG31467: 3413633,330872 5318935,858400
OpenJump: EPSG31467: 3413633.0419754055 5318938.324243281
QGIS: EPSG31467: 3413633.35 5318938.35
Here you can see the shift of up to 7.5 meters between the transformed OpenLayers coordinate and the result of the other transformations:
Any idea why Openlayers or the used proj4.js has a wrong output of the transformation?
cs2cs
gives me3413633.36 5318938.36
, but if I tell it to assume that the inputs are already on the Bessel spheroid, I get3413567.63 5318836.81
instead. Mind you, that's a distance of 139 metres, which is rather larger than the error you are seeing.