Geodetic system
From Wikipedia, the free encyclopedia
- This article describes a concept from surveying and geodesy. Datum is also the singular form of data. For the Austrian magazine, see Datum.
Geodetic systems or geodetic data are used in geodesy, navigation, surveying by cartographers and satellite navigation systems to translate positions indicated on their products to their real position on earth.
The systems are needed because the earth is not a perfect sphere.
Examples of map data are:
- WGS 84, 72, 64 and 60 of the World Geodetic System
- NAD83, the North American Datum which is very similar to WGS84
- NAD27, the older North American Datum, of which NAD83 was basically a readjustment [1]
- OSGB36 of the Ordnance Survey of Great Britain
- ED50 : the European Datum
The difference in co-ordinates between data is commonly referred to as datum shift. The datum shift between two particular datums can vary from one place to another within one country or region, and can be anything from zero to hundreds of metres (or several kilometres for some remote islands). The North Pole, South Pole and Equator may be assumed to be in different positions on different datums, so True North may be very slightly different. Different datums use different estimates for the precise shape and size of the Earth (reference ellipsoids).
The difference between WGS84 and OSGB36 is up to 140 metres / 450 feet, which for some navigational purposes is an insignificant error. For most applications, such as surveying and dive site location for SCUBA divers, 140 metres is an unacceptably large error.
The main reason that there are a number of datums is that before the advent of GPS positioning, national map making organisations did not have a common surveying reference point and only produced maps for their locality.
[edit] Datum
In surveying and geodesy, a datum is a reference point or surface against which position measurements are made, and an associated model of the shape of the earth for computing positions. Horizontal datums are used for describing a point on the earth's surface, in latitude and longitude or another coordinate system. Vertical datums are used to measure elevations or underwater depths.
[edit] Horizontal datums
The horizontal datum is the model used to measure positions on the earth. A specific point on the earth can have substantially different coordinates, depending on the datum used to make the measurement. There are hundreds of locally-developed horizontal datums around the world, usually referenced to some convenient local reference point. Contemporary datums, based on increasingly accurate measurements of the shape of the earth, are intended to cover larger areas. The WGS84 datum, which is almost identical to the NAD83 datum used in North America, is a common standard datum.
[edit] Vertical datum
A vertical datum is used for measuring the elevations of points on the earth's surface. Vertical data are either tidal, based on sea levels, gravimetric, based on a geoid, or geodetic, based on the same ellipsoid models of the earth used for computing horizontal datums.
In common usage, elevations are often cited in height above sea level; this is a widely used tidal datum. Because ocean tides cause water levels to change constantly, the sea level is generally taken to be some average of the tide heights. Mean lower low water — the average of the lowest points the tide reached on each day during a measuring period of several years — is the datum used for measuring water depths on some nautical charts, for example; this is called the chart datum. Whilst the use of sea-level as a datum is useful for geologically recent topographic features, sea level has not stayed constant throughout geological time, so is less useful when measuring very long-term processes.
A geodetic vertical datum takes some specific zero point, and computes elevations based on the geodetic model being used, without further reference to sea levels. Usually, the starting reference point is a tide gauge, so at that point the geodetic and tidal datums might match, but due to sea level variations, the two scales may not match elsewhere. One example of a geoid datum is NAVD88, used in North America, which is referenced to a point in Quebec, Canada.
--Sam.drake 05:24, 1 March 2007 (UTC)
[edit] Geodetic coordinates
In geodetic coordinates the Earth's surface is approximated by an ellipsoid and locations near the surface are described in terms of latitude (φ), longitude (λ) and height (h). The ellipsoid is completely parameterised by the semi-major axis a and the flattening f.
[edit] Geodetic versus geocentric latitude
It is important to note that geodetic latitude (φ) is different to geocentric latitude (φ'). The geodetic latitude is determined by the normal to the ellipsoid whereas geocentric latitude is determined from the centre of the spheroid (see figure). Unless otherwise specified latitude is geodetic latitude.
[edit] Geodetic defining parameters
Parameter | Symbol |
---|---|
Semi-major axis | a |
Reciprocal of flattening | 1/f |
[edit] Geodetic derived geometric constants
From a and f it is possible to derive the semi-minor axis b, first eccentricity e and second eccentricity e' of the ellipsoid
Parameter | Value |
---|---|
semi-minor axis | b = a(1-f) |
First eccentricity squared | e2 = 1-b2/a2 = 2f-f2 |
Second eccentricity | e'2 = a2/b2 - 1 = f(2-f)/(1-f)2 |
[edit] Parameters for some geodetic systems
A more comprehensive list of geodetic systems can be found here
[edit] Australian Geodetic Datum 1966 [AGD66] and Australian Geodetic Datum 1984 (AGD84)
AGD66 and AGD84 both use the parameters defined by Australian National Spheroid (see below)
[edit] Australian National Spheroid (ANS)
Parameter | Notation | Value |
---|---|---|
semi-major axis | a | 6378160.000m |
Reciprocal of Flattening | 1/f | 298.25 |
[edit] Geocentric Datum of Australia 1994 (GDA94) and Geocentric Datum of Australia 2000 (GDA2000)
Both GDA94 and GDA2000 use the parameters defined by GRS80 (see below)
[edit] Geodetic Reference System 1980 (GRS80)
Parameter | Notation | Value |
---|---|---|
semi-major axis | a | 6378137m |
Reciprocal of Flattening | 1/f | 298.257222101 |
see GDA Technical Manual document for more details.
[edit] World Geodetic System 1984 (WGS84)
The global positioning system (GPS) uses the world geodetic system 1984 (WGS84) to determine the location of a point near the surface of the Earth.
Parameter | Notation | Value |
---|---|---|
semi-major axis | a | 6378137.0m |
Reciprocal of Flattening | 1/f | 298.257223563 |
Constant | Notation | Value |
---|---|---|
Semi-minor axis | b | 6356752.3142m |
First Eccentricity Squared | e2 | 6.69437999014x10-3 |
Second Eccentricity Squared | e'2 | 6.73949674228x10-3 |
see The official World Geodetic System 1984 document for more details.
[edit] Other Earth based coordinate systems
[edit] Earth Centred Earth Fixed (ECEF) coordinates
The Earth centred Earth fixed (ECEF) coordinate system rotates with the Earth and has its origin at the centre of the Earth. The X axis passes through the equator at the prime meridian. The Z axis passes through the north pole. The Y axis can be determined by the right hand rule to be passing through the equator at 90o longitude.
[edit] Local east, north, up (ENU) coordinates
In many targeting and tracking applications the local East, North, Up (ENU) Cartesian coordinate system is far more intuitive and practical than ECEF or Geodetic coordinates. By convention the east axis is labeled x, the north y and the up z.
[edit] Local north, east, down (NED) coordinates
In an aeroplane most objects of interest are below you, it is therefore sensible to define down as a positive number, the NED coordinates allow you to do this. By convention the north axis is labeled x', the east y' and the down z'. To avoid confusion between x and x', etc in this web page we will restrict the local coordinate frame to ENU.
[edit] From geodetic coordinates to local ENU coordinates
To convert from geodetic coordinates to local ENU up coordinates is a two stage process
- Convert geodetic coordinates to ECEF coordinates
- Convert ECEF coordinates to local ENU coordinates
[edit] From geodetic to ECEF coordinates
Geodetic coordinates (latitude φ, longitude λ, height h) can be converted into ECEF coordinates using the following formulae:
Where a and e2 are the semi-major axis and the square of the first numerical eccentricity of the ellipsoid respectively
[edit] From ECEF to ENU Coordinates
To transform from ECEF coordinates to the local coordinates we need a local reference point, typically this might be the location of the radar. If a radar is located at {Xr,Yr,Zr} and an aircraft at {Xp,Yp,Zp} then the vector pointing from the radar to the aircraft in the ENU frame is
Note: φ' is the geocentric latitude and is calculated by
The geocentric and geodetic longitude have the same value
Note: Unambiguous determination of φ' and λ requires knowledge of which quadrant the coordinates lie in.
[edit] From local ENU coordinates to geodetic coordinates
As before it is done in two stages
- Convert local ENU coordinates to ECEF coordinates
- Convert ECEF coordinates to GPS coordinates
[edit] From ENU to ECEF
This is just the inversion of the ECEF to ENU transformation so
[edit] From ECEF to geodetic coordinates
The conversion of ECEF coordinates to geodetic coordinates (such WGS84) is a much harder problem. A number of techniques are available but the most accurate according to Zhu (Ref 8), is the following 15 step procedure summarised by Kaplan. It is assumed that geodetic parameters {a,b,e,e'} are known
Note: Unambiguous determination of λ requires knowledge of the quadrant
[edit] Converting GPS measurements to ENU measurements: sample code
This code was written in MATLAB
[edit] Step 1: Convert GPS to ECEF
- function [X,Y,Z] = llh2xyzTest(lat,long, h)
- % Convert lat, long, height in WGS84 to ECEF X,Y,Z
- a = 6378137.0; % earth semimajor axis in meters
- f = 1/298.257223563; % reciprocal flattening
- e2 = 2*f -f^2; % eccentricity squared
- chi = sqrt(1-e2*(sin(lat)).^2);
- X = (a./chi +h).*cos(lat).*cos(long);
- Y = (a./chi +h).*cos(lat).*sin(long);
- Z = (a*(1-e2)./chi + h).*sin(lat);
[edit] Step 2: Convert ECEF to ENU
- function [e,n,u] = xyz2enuTest(Xr, Yr, Zr, X, Y, Z)
- % convert ECEF coordinates to local east, north, up
- phiP = atan2(Zr,sqrt(Xr^2 + Yr^2));
- lambda = atan2(Yr,Xr);
- e = -sin(lambda).*(X-Xr) + cos(lambda).*(Y-Yr);
- n = -sin(phiP).*cos(lambda).*(X-Xr) - sin(phiP).*sin(lambda).*(Y-Yr) + cos(phiP).*(Z-Zr);
- u = cos(phiP).*cos(lambda).*(X-Xr) + cos(phiP).*sin(lambda).*(Y-Yr) + sin(phiP).*(Z-Zr);
[edit] Converting ENU measurements to GPS measurements: sample code
This code was written in MATLAB
[edit] Step 1: Convert ENU to ECEF
- function [X, Y, Z] = enu2xyz(refLat, refLong, refH, e, n, u)
- % Convert east, north, up coordinates (labelled e, n, u) to ECEF
- % coordinates. The reference point (phi, lambda, h) must be given. All distances are in metres
- [Xr,Yr,Zr] = llh2XYZ(refLat,refLong, refH); % location of reference point
- phiP = atan2(Zr,sqrt(Xr^2+Yr^2)); % Geocentric latitude
- X = -sin(refLong)*e - cos(refLong)*sin(phiP)*n + cos(refLong)*cos(phiP)*u + Xr;
- Y = cos(refLong)*e - sin(refLong)*sin(phiP)*n + cos(phiP)*sin(refLong)*u + Yr;
- Z = cos(phiP)*n + sin(phiP)*u + Zr;
[edit] Step 2: Convert ECEF to GPS
- function [phi, lambda, h] = xyz2llh(X,Y,Z)
- a = 6378137.0; % earth semimajor axis in meters
- f = 1/298.257223563; % reciprocal flattening
- b = a*(1-f);% semi-minor axis
- e2 = 2*f-f^2;% first eccentricity squared
- ep2 = f*(2-f)/((1-f)^2); % second eccentricity squared
- r2 = X.^2+Y.^2;
- r = sqrt(r2);
- E2 = a^2 - b^2;
- F = 54*b^2*Z.^2;
- G = r2 + (1-e2)*Z.^2 - e2*E2;
- c = (e2*e2*F.*r2)./(G.*G.*G);
- s = ( 1 + c + sqrt(c.*c + 2*c) ).^(1/3);
- P = F./(3*(s+1./s+1).^2.*G.*G);
- Q = sqrt(1+2*e2*e2*P);
- ro = -(e2*P.*r)./(1+Q) + sqrt((a*a/2)*(1+1./Q) - ((1-e2)*P.*Z.^2)./(Q.*(1+Q)) - P.*r2/2);
- tmp = (r - e2*ro).^2;
- U = sqrt( tmp + Z.^2 );
- V = sqrt( tmp + (1-e2)*Z.^2 );
- zo = (b^2*Z)./(a*V);
- h = U.*( 1 - b^2./(a*V));
- phi = atan( (Z + ep2*zo)./r );
- lambda = atan2(Y,X);
Note: atan2(Y,X) uses quadrant information to return a value of lambda between − π and π.
[edit] Sample Implementation Code
- clear all
- close all
- clc
- %% reference point
- refLat = 39*pi/180;
- refLong = -132*pi/180;
- refH = 0;
- %% Points of interest
- lat = [39.5*pi/180; 39.5*pi/180;39.5*pi/180];
- long = [-132*pi/180;-131.5*pi/180;-131.5*pi/180];
- h = [0;0;1000];
- disp('lat long height')
- for i = 1:length(lat)
- disp([num2str(lat(i)*180/pi),' ', num2str(long(i)*180/pi), ' ',num2str(h(i))])
- end
- % lat = [39.5*pi/180];
- % long = [-132*pi/180];
- % h = [0];
- %% convering llh to enu
- [Xr,Yr,Zr] = llh2xyz(refLat,refLong,refH);
- [X,Y,Z] = llh2xyz(lat,long,h);
- disp('X Y Z')
- for i = 1:length(X)
- disp([num2str(X(i)),' ', num2str(Y(i)), ' ',num2str(Z(i))])
- end
- [e,n,u] = xyz2enu(Xr, Yr, Zr, X, Y, Z);
- disp('e n u')
- for i = 1:length(e)
- disp([num2str(e(i)),' ', num2str(n(i)), ' ',num2str(u(i))])
- end
- %% Converting enu to llh
- [X, Y, Z] = enu2xyz(refLat, refLong, refH, e, n, u);
- disp('X Y Z')
- for i = 1:length(X)
- disp([num2str(X(i)),' ', num2str(Y(i)), ' ',num2str(Z(i))])
- end
- [phi, lambda, h] = xyz2llh(X,Y,Z);
- disp('\phi \lambda h')
- for i = 1:length(X)
- disp([num2str(phi(i)*180/pi),' ', num2str(lambda(i)*180/pi), ' ',num2str(h(i))])
- end
[edit] Reference Material
- List of geodetic parameters for many systems
- Kaplan, Understanding GPS: principles and applications, 1 ed. Norwood, MA 02062, USA: Artech House, Inc, 1996.
- GPS Notes
- Introduction to GPS Applications
- P. Misra and P. Enge, Global Positioning System Signals, Measurements, and Performance. Lincoln, Massachusetts: Ganga-Jamuna Press, 2001.
- J. Zhu, "Conversion of Earth-centered Earth-fixed coordinates to geodetic coordinates," Aerospace and Electronic Systems, IEEE Transactions on, vol. 30, pp. 957-961, 1994.
- P. Misra and P. Enge, Global Positioning System Signals, Measurements, and Performance. Lincoln, Massachusetts: Ganga-Jamuna Press, 2001.
- Peter H. Dana: Geodetic Datum Overview - Large amount of technical information and discussion.
- UK Ordnance Survey
- US National Geodetic Survey