Alignment Methods

Within the AGTEK Android ecosystem the apps need to provide a means for converting the GPS coordinates Latitude,Longitude,Altitude (LLA) triplet into a Northing,Easting,Elevation (NEZ) Cartesian Coordinates triplet. (Coordinate transformation).

LLA → XYZ → UVW → NEZ

The first step is to convert LLA into ECEF (Earth-Centered-Earth-Fixed) Cartesian-Coordinates or LLA to XYZ. Then XYZ is converted to UVW (aka ENU or Cartesian Coordinates (U/V/W) on a plane tangent to the Ellipse (approx. model of the world) at a given point. These Cartesian Coordinates are then converted to Map coordinates (Cartesian) where the map may or may not be aligned with the UVW coordinates.

Most likely there is a slight rotation and possibly even scaling of the coordinates.

(Reference document http://www.hydrometronics.com/downloads/Ellipsoidal%20Orthographic%20Projection.pdf by Noel Zinn at Hydrometronics June 2011)

Where we differ is that we add an additional step of scale and rotation to fit to CAD data which can be something other than due north or 1:1 scale.

The process by which we setup the coordinate transformation is call Alignment. Alignment is done in one of three ways: Default alignment, Shooting Benchmarks, Recovery from a previous alignment.

Default Alignment
In a default alignment the the last step of the coordinate transformation UVW → NEZ is just a straight translation to local coordinates. Typically this is done by using the center of the project as the tangent point or the base station location if there is no project data

Shooting Benchmarks
Shooting Benchmarks is what it says. The user places the GPS instrument on the one benchmark and several shots are taken. This location is used to establish the tangent point. The user then places the GPS instrument on a second Benchmark and takes more shots. This location position is used to establish scaling and rotation. Typically the app displays the deviation from the relative position of the two benchmarks between what has been calculated and what is in the project data. After having performed an alignment, the data used for the alignment can be stored as a recovery block for future use.

Recovery
Recovery is the process of using the recovery block information to establish the coordinate conversion without shooting in the benchmarks. If the base station location is changed then the recovery block should not be used for alignment.

App Specific alignment
In an app like SmartDirt we require that the ADF file contain at least two Benchmarks that have both LLA and NEZ data. On read we perform an auto-alignment using this data setting the first benchmark as the tangent point and base location.

For SmartGrade the user can create a new file and immediately start collecting data since we perform a default alignment on the base location. If you read a data file that does not contain a default recovery block then you must perform a shooting alignment or recovery using benchmarks in the project data. For a shooting alignment the benchmarks must have NEZ data but not necessarily LLA data. The last option would be to use recovery data to establish the coordinate transformation. Note that in SmartGrade if you use a default alignment, but then create 2 or more BM's in the file then on subsequent reads you will be required to use the benchmarks in the alignment.