## Understanding Transformations

This section explains the process used by the GeoLab Coordinate Transformer when transforming coordinates. Understanding this process is key to understanding the significance of such things as applying 7-parameters to a reference ellipsoid versus specifying a set of 7-parameters to the coordinates.

Any transformation performed by the GeoLab Coordinate Transformer is done in two major steps:

The following abbreviations are used in describing transformations below:

Any transformation performed by the GeoLab Coordinate Transformer is done in two major steps:

- Transform the input coordinates to geocentric Cartesian coordinates;
- Transform the resulting geocentric Cartesian coordinates from step one to the desired output coordinate type.

The following abbreviations are used in describing transformations below:

**E**- Easting (map projection x-coordinate)**H**- Ellipsoidal height**L**- Ellipsoidal longitude**N**- Northing (map projection y-coordinate)**O**- Orthometric height (elevation)**P**- Ellipsoidal latitude**U**- Geoid undulation (U = H - O)**X**- Geocentric Cartesian X-coordinate**Y**- Geocentric Cartesian Y-coordinate**Z**- Geocentric Cartesian Z-coordinate**n**- North-south component of the deflection of the vertical.**e**- East-west component of the deflection of the vertical.

**Step 1: Transforming Input Coordinates to Geocentric Cartesian Coordinates**

If the input is from GeoLab adjustment files, the Geocentric Cartesian coordinates are read directly from those files.

If the input is from a GeoLab text file, then the Geocentric Cartesian coordinates are computed as follows:

**NE**: Compute PL from NE using specified map projection; Set H to zero, and O to H - U; Compute geocentric XYZ from PLH (PLH is relative to the specified reference ellipsoid for from-coordinates).**NEO**: Same as NE, except that O is given and H is set to O + U.**NEH**: Same as NE, except that H is given and O is set to H - U.**PL**: Set H to zero, and O to H - U; Compute geocentric XYZ from PLH (PLH is relative to the specified reference ellipsoid for from-coordinates).**PLO**: Same as PL, except that O is given and H is set to O + U.**PLH**: Same as PL, except that H is given and O is set to H - U.**XYZ**: Compute PLH (relative to the specified reference ellipsoid for from-coordinates) from the given XYZ.

At this point we know the PLH coordinates (relative to the possibly non-geocentric reference ellipsoid specified for from-coordinates) and the geocentric Cartesian coordinates XYZ. If 4-parameter and/or 7-parameter values are specified, these transformations are now applied to produce the final geocentric XYZ coordinates to start with in Step 2 below (i.e. the specified 4-parameter and/or 7-parameter values are used to transform the near-geocentric XYZ coordinates to geocentric XYZ coordinates).

**Step 2: Transforming the Geocentric Cartesian Coordinates to Output Coordinates**

Now that we have geocentric Cartesian coordinates XYZ and geoid values (U, e, n), we can compute the to-coordinates. The following transformations are performed (in the given order) to produce the to-coordinates:

- If the to-coordinate type is PLO, NEO, or GEOI, we must transform the geoid values (U, e, n) from the from-ellipsoid to the to-ellipsoid.
- If the to-coordinate type is PL, PLH, PLO, NE, NEH, or NEO, we must transform XYZ to PLH relative to the to-ellipsoid.
- If the to-coordinate type is NE, NEO, or NEH, we must transform PLH (relative to the to-ellipsoid) to NE map projection coordinates relative to the to-map projection.
- If the to-coordinate type is NEO or PLO, we set O to H - U.