Select to view content in your preferred language

Combining Coordinate Frame transformation method and grid-based NTV2 method?

2349
3
01-05-2011 12:07 AM
VojkanGajovic
Emerging Contributor
Hello!

Is there a way to combine Coordinate Frame transformation method and custom grid-based NTV2 method into single transformation method? Right now, in ArcGIS Desktop there is only possibility to choose either first or second method, but have anybody tried to combine these two into singular one?

Thanks in advance!

Many greets,

Vojkan Gajovic,
GISDATA Belgrade
Serbia
Tags (2)
0 Kudos
3 Replies
MelitaKennedy
Esri Notable Contributor
Hello!

Is there a way to combine Coordinate Frame transformation method and custom grid-based NTV2 method into single transformation method? Right now, in ArcGIS Desktop there is only possibility to choose either first or second method, but have anybody tried to combine these two into singular one?

Thanks in advance!

Many greets,

Vojkan Gajovic,
GISDATA Belgrade
Serbia


Hi Vojkan,

We plan to add this functionality at 10.1 to ArcMap--at least to combine two existing transformations. If they're new, you could then define them with the GP tool, Create Custom Geographic Transformation, and then use them in ArcMap. For now, the only in ArcMap is to create a tool/script. I'll post a VBA sample, but I haven't made a similar add-in for ArcGIS 10 yet.

Melita

Sub twoGT()
  
  '1)Create our factory
  Dim pSpatRefFact As ISpatialReferenceFactory2
  Set pSpatRefFact = New SpatialReferenceEnvironment
  Dim pGeoTrans_A As IGeoTransformation
  Dim pGeoTrans_B As IGeoTransformation
  
  '2)Use the factory to create our geotransformation objects
  Set pGeoTrans_A = _
    pSpatRefFact.CreateGeoTransformation(esriSRGeoTransformation_ED1950_To_WGS1984_1)
  Set pGeoTrans_B = _
    pSpatRefFact.CreateGeoTransformation(esriSRGeoTransformation_Belge_1972_To_WGS_1984_1)
  
  '3)Create a composite geotransformation object
  Dim pGeoTransComposite As ICompositeGeoTransformation
  Set pGeoTransComposite = New CompositeGeoTransformation
  
  '4)Add the two separate geotransformations to the composite
  pGeoTransComposite.Add esriTransformForward, pGeoTrans_A
  pGeoTransComposite.Add esriTransformReverse, pGeoTrans_B

  '5)Give the new transformation a name.
  Dim pNewGeoTrans as IGeoTransformation
  Set pNewGeoTrans = pGeoTransComposite
  pNewGeoTrans.Name = "ED_1950_To_BD_1972"
    

End Sub
0 Kudos
VojkanGajovic
Emerging Contributor
Dear Melita,

Thank you for VBA sample, it did help us. While exploring this combination of transformations, we have spotted some problems. We are trying to do transformations from Gauss-Kruger to ETRS89 using combination of Helmert transformation of 7 parameters and custom grid-based transformation. Grid has cells of 1000x1000 meters, and covers entire territory of Serbia, is based on residuals from Helmert transformation, while for gridding method was used Inverse Distance to a Power, with radius of 10000 meters. Doing such transformations, we got results that differs from results we got using other software (non-GIS) that calculates transformations: 95% of coordinates were exact, whilst 5% were wrong (not satisfying standards of our client, since coordinates must have error not larger than 10 cm). By researching all the methods we have used, we spotted that NTV2 custom grid in ArcGIS is in arc-seconds. Is it possible to have custom NTV2 grid in Cartesian coordinates rather than in arc-seconds, in ArcGIS? Also, is there a tool that can convert grid from ASCII to GSB format in ArcGIS?

Thank you in advance!

Best regards,

Vojkan Gajovic,
GISDATA Belgrade
Serbia
0 Kudos
MelitaKennedy
Esri Notable Contributor
Dear Melita,

Thank you for VBA sample, it did help us. While exploring this combination of transformations, we have spotted some problems. We are trying to do transformations from Gauss-Kruger to ETRS89 using combination of Helmert transformation of 7 parameters and custom grid-based transformation. Grid has cells of 1000x1000 meters, and covers entire territory of Serbia, is based on residuals from Helmert transformation, while for gridding method was used Inverse Distance to a Power, with radius of 10000 meters. Doing such transformations, we got results that differs from results we got using other software (non-GIS) that calculates transformations: 95% of coordinates were exact, whilst 5% were wrong (not satisfying standards of our client, since coordinates must have error not larger than 10 cm). By researching all the methods we have used, we spotted that NTV2 custom grid in ArcGIS is in arc-seconds. Is it possible to have custom NTV2 grid in Cartesian coordinates rather than in arc-seconds, in ArcGIS? Also, is there a tool that can convert grid from ASCII to GSB format in ArcGIS?

Thank you in advance!

Best regards,

Vojkan Gajovic,
GISDATA Belgrade
Serbia


Dear Vojkan,

Unfortunately, the software is set up so that a 'geographic transformation' (datum transformation) must be between two geographic coordinate systems.

Werner Flacke at ESRI-Germany wrote tools a few years ago (for 9.1 and 9.2) that could convert a shapefile to an NTv2 file (it's still in ArcScripts), but I don't believe the source code was released.

There was a thread recently on the PROJ4 mailing about converting some Dutch information into an NTv2 file:

http://lists.maptools.org/pipermail/proj/2011-April/thread.html#5634

It mentions that a recent version of GDAL now supports NTv2 as a format.

Melita
0 Kudos