Spatial Adjustment Transformation Parameters

Discussion created by fridjof on Jan 9, 2012
Hi all,

In a project we are dealing with spatial vector data in local metric Cartesian coordinates, but the details of the coordinate system are unknown. I would like to define a custom local Cartesian coordinate system that I can apply to this kind of data to align with existing data that is available in known Gauss-Krüger projections.

As a general approach, I think we will start with a Spatial Adjustment in ArcMap, defining displacement links between control points in the source data of unknown projection and existing georeferenced data. We then want to apply a similarity transformation with 4 parameters (X/Y shift, rotation, scale). However, once this transformation has been defined interactively, we would like to be able to reuse it on further data from the same source - therefore the idea of defining a Cartesian coordinate system.

I kind of figured out an approach how to get the parameters for a Cartesian coordinate system (lat/lon of center, false easting/northing and azimuth) from the 4 transformation parameters and a user-defined center point, but I haven't found a way to get the similarity transformation parameters from ArcGIS that are used in the Spatial Adjustment. The user interface obviously does not provide them, and the interfaces of the corresponding ArcObjects class ConformalTransformationMethod also do not disclose its parameters. We also found the IRasterGeometryProc3.LeastSquareFit method which has a parameter to optionally return the transformation coefficients, but the supported transformation methods do not include the similarity transformation.

At present we determine the transformation parameters by minimizing the RMS error of the displacement link table using a third-party software package, but this is not an acceptable solution, first because we want to programmatically automate the process of defining the Cartesian coordinate system after the displacement links are defined, and second because we want to be sure to use the same transformation parameters that ArcGIS uses internally. Is there another way to get those parameters from ArcGIS/ArcObjects that I have missed?