[Geotiff] User defined datum: Transformation parameters

Christian Zietz czietz at gmx.net
Fri Feb 29 14:36:51 EST 2008


Below is what I implemented now. I wrote some documentation so that
other people facing the same problem can use this solution. The key ID
was chosen at random but since there is no registry for geokeys I can't
guarantee that it is not in use elsewhere.

GeogToWGS84GeoKey

KeyID = 35459
Type = 7 * DOUBLE
Values = dX, dY, dZ, Rx, Ry, Rz, dS

This key allows the specification of a position vector 7 parameter
transformation (as defined by EPSG:9606) between the coordinate
reference system of the file and the WGS84 system. dX, dY and dZ define
the translation vector and are given in meters. Rx, Ry and Rz define the
rotation in seconds of an arc. dS is the scale correction expressed in
parts per million.

Note that there exists another 7 parameter transformation (the
coordinate frame rotation, EPSG:9607) which differs from the method used
here only in the signs of the rotation parameters Rx, Ry, Rz.

Also the more simple 3 parameter transformation (geocentric translation,
EPSG:9603) can be expressed with this geokey by simply setting Rx, Ry,
Rz and dS to zero.

------

Cookbook for expressing a user defined datum:

Step 1: Set the GeogGeodeticDatumGeoKey to KvUserDefined (32767).

Step 2: Set the GeogEllipsoidGeoKey either to a well known ellipsoid
        code or to KvUserDefined (32767). In the latter case define the
        ellipsoid by setting GeogSemiMajorAxisGeoKey and either
        GeogSemiMinorAxisGeoKey or GeogInvFlatteningGeoKey.

Step 3: Define the transformation parameters between your coordinate
        system and WGS84 by setting GeogToWGS84GeoKey.

Step 4: Give a textual description of the datum in GeogCitationGeoKey.

------

Note for libgeotiff users:

The GTIFKeySet function expects a pointer to an array containg the 7
parameters as last argument, not the 7 parameters itself. Correct syntax
to set GeogCitationGeoKey:

double data[7];
// set the parameters, dX is data[0], dS is data[6]
GTIFKeySet(gtif, 35459, TYPE_DOUBLE, 7, data);

------

Revision 0.1 - Christian Zietz - czietz(at)gmx.net
-- 
Christian Zietz  -  CHZ-Soft  -  czietz(at)gmx.net
WWW: http://www.chzsoft.com.ar/
PGP/GnuPG-Key-ID: 0x6DA025CA


More information about the Geotiff mailing list