View
216
Download
2
Category
Preview:
Citation preview
Class 19: 3D Cartesian Coordinate Computations
GISC-332526 March 2009
Class Update
Remember Article Reviews (2) are due 16 April 2009.
Coordinates
Geodetic reference systems use curvilinear and Cartesian (rectangular) coordinate systems that are referred to the ellipsoid. Curvilinear values: geodetic latitude, longitude and
ellipsoid surface. Right-handed, earth-fixed, 3-D coordinate system. Cartesian [ X;Y;Z ]
Cartesian Coordinates
Earth-Centered-Earth-Fixed (ECEF) Orientation of axes is identical to spherical
earth model. X lies in equatorial plane intersecting Greenwich Y in equatorial plane at 90deg E longitude Z coincident with earth's spin axis
Origin Earth Center of Mass (COM) corresponds to the center of the ellipsoid.
GPS vectors
Represent differences in geocentric coordinates.
GPS Vector
Local Geodetic Horizon Coordinates LGH is an earth-fixed, right-handed, orthogonal,
3-D coordinates system having its origin at any point specified.
N axis in meridian plane Positive north
U axis along the normal to the ellipsoid. Positive up
E axis right-handed system perpendicular to meridian plane Positive east
Local Geodetic Coordinates
Referred to origin of the local geodetic system using Geodetic azimuth Vertical angle or zenith angle Mark-to-mark sland range from the origin
Geocentric ↔ Geodetic
Radius of curvature of prime vertical
Algorithms
Geocentric to Geodetic
• XYZ to Lat, Lon, ellipsoid height
• Longitude is computed as in spherical case.
• Both height above ellipsoid and latitude must be iterated.
– Ellipsoid height requires we know latitude and radius of curvature of prime vertical
– Latitude requires we know radius of curvature of prime vertical and ellipsoid height
– Radius of curvature of prime vertical requires we know latitude.
Iteration required• Required because latitude and ellipsoid
height are dependent upon one another.
• One approach (used in text) is to first set ellipsoid height to 0 then solve for latitude.
• Then solve for h then lat again... then again
Coordinate transformations by Molodensky (translation)
The values DX, DY, DZ above show the difference in origin between datums and WGS 84. Also shown are ellipsoid parameter differences.
Bursa-Wolf Transformation
• For geographic transformations between two geocentric datums.
• Applied to geocentric coordinates.
– X axis points to Greenwich
– Y is 90 deg east
– Z is to north
• Consists of three translation, three rotations and scale change.
Rotations
• Rotations preserve the length of a vector.
• When we rotate the point stays fixed by the coordinate axes are moved resulting in new coordinate values.
– A counter-clockwise (CCW) rotation is considered positive with respect to the old system.
Rotations
• Coordinates for a point in 2-D space are computed using plane trigonometry.
• Where r is length and theta is azimuth
– X = r * cos(theta)
– Y = r * sin(theta)
• Rotations either add or subtract an angle (gamma) from the azimuth (theta).
– X' = r * cos(gamma – theta)
– Y' = r * sin(gamma - theta)
Underlying trigonometry
• X' = r * cos(gamma – theta).
• We apply the difference formula (see below)
Rotation angles (detail) • X' = r * cos(gamma – theta)
– = r(cos(gamma)*cos(theta)+sin(gamma)sin(theta))
– = r cos(gamma)cos(theta) + r sin(gamma)sin(theta)
– Since X = r * cos(gamma) and Y = r * sin(gamma)
• X' = X cos(theta) + Y sin(theta)
• Y' = r*sin(gamma – theta)
– = r(sin(gamma)cos(theta)-cos(gamma)sin(theta))
– = r(sin(gamma)cos(theta) – r cos(gamma)sin(theta)
• Y' = -X*sin(theta) + Y*cos(theta)
Matrix form• We can translate the previous page into matrix
form:
Transformations
• Translation: coordinates are derived by merely subtracting the translations from their corresponding coordinates.
– X' = X – T where T is translation vector
• Scale change
– Can be used for feet to meter conversions.
– X' = s*X where s is scale factor
Transformations• Four parameter (2D)- Apply translations,
rotations, and scale in two dimensions only.
• Seven-parameter transformation (3D) – apply three translations, three rotations and one scale change.
– X' = s*R*X+T' (in alternate form below)
Matrix rotations
• A single axis rotation matrix is the rotation matrix that describes the effect of rotating the entire coordinate system about an axis through a specified angle.
• Rotation matrices are square, normal orthogonal matrices.
• Transpose of an normal orthogonal matrix is equivalent to its inverse.
Euler Angles• D, C, B rotations retain the values for Z, Y
and X respectively.
Rotations
• The order in which single axis rotations are performed is critical.
• Algebraic sign of the rotation angle is considered positive if the rotation is viewed as a counterclockwise rotation from the positive end of the axis when looking toward the origin.
Transformation Parameters
Note: milli-arcseconds (mas) = (1/3600)*(pi/180)
Local <-> Geocentric• We cannot transform directly from local
geodetic coordinates to geodetic coordinates.
– We must use geocentric coordinates.
• Perform two rotations to align local system with geocentric.
– Make U-axis parallel with Z-axis geocentric
– Then align all corresponding axes with one another.
• Rotation matrix consists of geodetic coordinates of standpoint (origin).
Geocentric to Local
The transpose of this rotation matrix can be used to transpose from local to geocentric. Result [ X;Y;Z] input [ E;N;U]
Matlab code
Recommended