Does anybody know if MapInfo (or MapBasic) is capable to do coordinate transformation using the NTv2 (National Transformation version 2) method?
Currently Switzerland changes their national coordinate reference system from CH1903 to CH1903+. For transformation the authoritiy provides a CHENYX06a.gsb file in NTv2 Format. Can I use this in MapInfo?
When I check the MapInfo Program folder it already contains a couple of .gsb files (but not the swiss one, CHENYX06a.gsb) and a file called NTv2.xml
where you can see some reference data. So, in principle MapInfo should be capable to perform such transformation but I don't know how to trigger their usage.
When I try the normal conversion from CH1903 to CH1903+ the coordinates are shifted but the errors are up to 0.8 meters. Just for comparison, when I do the conversion in PROJ.4 using the CHENYX06a.gsb file, then the errors are in the range of Millimeters!
Appendix:
Looks like solution from Peter Horsbøll Møller does not work. Here the result of my test:
Easting Northing New Easting MI New Northing MI New Easting correct New Northing correct Delta meters
602030.68 191775.03 2602030.4 1191775.2 2602030.74 1191775.03 0.380
617306.30 268507.30 2617306.6 1268507.9 2617306.92 1268507.87 0.321
776668.10 265372.68 2776669.3 1265372.2 2776668.59 1265372.25 0.712
497313.29 145625.44 2497312.1 1145626.0 2497312.65 1145626.14 0.568
722758.81 87649.67 2722758.5 1087648.6 2722759.06 1087648.19 0.694
"correct" values are taken from Swisstopo sample data. In case somebody likes to reproduce the issue, here you can download the GSB-File: CHENyx06 dataset
Maybe one problem is, both coordinates are using the Datum (as far as I understand). In PROJ4 I use this string for transformation.
cs2cs -f "%.3f" +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +nadgrids=CHENYX06a.gsb +units=m
+to +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +nadgrids=@null +units=m
The results are matching in range of Millimeters to the officaly values provided by Swisstopo.
Best Answer
I asked internally here at Pitney Bowes and got this reply:
You can run some testing using these MapBasic statements from the MapBasic window:
I now get these values:
The last two values are the difference in Y and Y compared to the values from the document.