procedure geodat: define geodetic conversion procedure nadcon: define NAD data conversion procedure molodensky: define geodetic conversion procedure ellipsoid: return [a, 1/f] for named ellipsoid
link geodat
July 31, 2000; William S. Evans and Gregg M. Townsend
This file is in the public domain.
These procedures provide "projections" that convert among geodetic datums, which relate locations on the earth's surface to longitude and latitude coordinates. As measurement techniques improve, newer datums typically give slightly different values from older ones. The values returned here are used with the project() procedure of cartog.icn. geodat(s1, s2) defines a geodetic datum conversion. molodensky() performs an algorithmic datum conversion. nadcon(s1, s2) uses data files for more precise conversion. ellipsoid(s) return the parameters of the named ellipsoid. ____________________________________________________________ geodat(f, t) returns a projection from longitude and latitude in datum f to longitude and latitude in datum t. f and t are strings. If f and t equal "NAD83", "NAD27", "HARN", or "HPGN", geodat returns a nadcon projection. Failing that, geodat returns a molodensky projection. The input to the projection is a list of signed numeric values, angles measured in degrees, with each pair representing one location; longitude precedes latitude. The output is a list with the same form and length as the input list. ____________________________________________________________ nadcon(f, t) returns a projection from longitude and latitude in datum f to longitude and latitude in datum t. The strings f and t must each be one of "NAD83", "NAD27", "HARN", or "HPGN". The projection uses our implementation of the National Oceanic and Atmospheric Administration's (NOAA's) North American Datum Conversion Utility (NADCON); for more information, see http://www.ngs.noaa.gov/TOOLS/Nadcon/Nadcon.html nadcon() requires data grid (.loa and .laa) files, which must be found in the current directory or along the space-separated path given by the environment variable DPATH. These files can be downloaded from: http://www.cs.arizona.edu/icon/ftp/data/nadcon/ ftp://ftp.cs.arizona.edu/icon/data/nadcon/ The projection's input and output are lists of signed numbers. Output is properly rounded and so may not agree exactly with the equivalent NOAA programs. ____________________________________________________________ molodensky(dx, dy, dz, ain, fin, aout, fout) returns a projection from input longitude and latitude to output longitude and latitude. The projection uses the standard Molodensky transformation. The input datum is specified by an ellipsoid with parameters ain, the equatorial radius in metres, and fin, the flattening; and by three shift values dx, dy, and dz. The output datum is specified by an ellipsoid with parameters aout and fout. If dz is null, then dx and dy are interpreted as the names of an input and output datum. The names are the ID codes specified in NIMA TR 8350.2. The projection's input and output are lists of signed numbers. ____________________________________________________________ ellipsoid(s) return a list [a, 1/f] containing the defining parameters of the standard ellipsoid model named s; a is the equatorial radius and 1/f is the flattening factor. Names are listed in the code; the default is "WGS84". ____________________________________________________________ Ellipsoid and datum parameters are from: Department of Defense World Geodetic System 1984 National Imagery and Mapping Agency Technical Report TR8350.2 Third Edition, Amendment 1 (3 January 2000) ftp://ftp.nima.mil/pub/gg/tr8350.2/