[gdal-dev] Projections & Datums
Frank Warmerdam
warmerdam at pobox.com
Wed Dec 19 14:48:51 EST 2007
Chris Howell wrote:
> Is there a documented list somewhere that outlines the projections and
> datums that GDAL knows about ? I've seen reference to some in the code
> on GDAL trac but I haven't been able to find a good list documented
> somewhere
Chris,
The list of projection methods in theory understood by GDAL is defined by
the methods for setting them on OGRSpatialReference:
/** Albers Conic Equal Area */
OGRErr SetACEA( double dfStdP1, double dfStdP2,
double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Azimuthal Equidistant */
OGRErr SetAE( double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Bonne */
OGRErr SetBonne( double dfStdP1, double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
/** Cylindrical Equal Area */
OGRErr SetCEA( double dfStdP1, double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
/** Cassini-Soldner */
OGRErr SetCS( double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Equidistant Conic */
OGRErr SetEC( double dfStdP1, double dfStdP2,
double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Eckert I-VI */
OGRErr SetEckert( int nVariation, double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
OGRErr SetEckertIV( double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
OGRErr SetEckertVI( double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
/** Equirectangular */
OGRErr SetEquirectangular(double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Geostationary Satellite */
OGRErr SetGEOS( double dfCentralMeridian, double dfSatelliteHeight,
double dfFalseEasting, double dfFalseNorthing );
/** Goode Homolosine */
OGRErr SetGH( double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
/** Gall Stereograpic */
OGRErr SetGS( double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
/** Gnomonic */
OGRErr SetGnomonic(double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
OGRErr SetHOM( double dfCenterLat, double dfCenterLong,
double dfAzimuth, double dfRectToSkew,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
OGRErr SetHOM2PNO( double dfCenterLat,
double dfLat1, double dfLong1,
double dfLat2, double dfLong2,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
/** Krovak Oblique Conic Conformal */
OGRErr SetKrovak( double dfCenterLat, double dfCenterLong,
double dfAzimuth, double dfPseudoStdParallelLat,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
/** Lambert Azimuthal Equal-Area */
OGRErr SetLAEA( double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Lambert Conformal Conic */
OGRErr SetLCC( double dfStdP1, double dfStdP2,
double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Lambert Conformal Conic 1SP */
OGRErr SetLCC1SP( double dfCenterLat, double dfCenterLong,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
/** Lambert Conformal Conic (Belgium) */
OGRErr SetLCCB( double dfStdP1, double dfStdP2,
double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Miller Cylindrical */
OGRErr SetMC( double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Mercator */
OGRErr SetMercator( double dfCenterLat, double dfCenterLong,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
OGRErr SetMercator2SP( double dfStdP1,
double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Mollweide */
OGRErr SetMollweide( double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
/** New Zealand Map Grid */
OGRErr SetNZMG( double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Oblique Stereographic */
OGRErr SetOS( double dfOriginLat, double dfCMeridian,
double dfScale,
double dfFalseEasting,double dfFalseNorthing);
/** Orthographic */
OGRErr SetOrthographic( double dfCenterLat, double dfCenterLong,
double dfFalseEasting,double dfFalseNorthing);
/** Polyconic */
OGRErr SetPolyconic( double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Polar Stereographic */
OGRErr SetPS( double dfCenterLat, double dfCenterLong,
double dfScale,
double dfFalseEasting, double dfFalseNorthing);
/** Robinson */
OGRErr SetRobinson( double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Sinusoidal */
OGRErr SetSinusoidal( double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Stereographic */
OGRErr SetStereographic( double dfCenterLat, double dfCenterLong,
double dfScale,
double dfFalseEasting,double dfFalseNorthing);
/** Swiss Oblique Cylindrical */
OGRErr SetSOC( double dfLatitudeOfOrigin, double dfCentralMeridian,
double dfFalseEasting, double dfFalseNorthing );
/** Transverse Mercator */
OGRErr SetTM( double dfCenterLat, double dfCenterLong,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
/** Transverse Mercator variants. */
OGRErr SetTMVariant( const char *pszVariantName,
double dfCenterLat, double dfCenterLong,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
/** Tunesia Mining Grid */
OGRErr SetTMG( double dfCenterLat, double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Transverse Mercator (South Oriented) */
OGRErr SetTMSO( double dfCenterLat, double dfCenterLong,
double dfScale,
double dfFalseEasting, double dfFalseNorthing );
/** Two Point Equidistant */
OGRErr SetTPED( double dfLat1, double dfLong1,
double dfLat2, double dfLong2,
double dfFalseEasting, double dfFalseNorthing );
/** VanDerGrinten */
OGRErr SetVDG( double dfCenterLong,
double dfFalseEasting, double dfFalseNorthing );
/** Universal Transverse Mercator */
OGRErr SetUTM( int nZone, int bNorth = TRUE );
int GetUTMZone( int *pbNorth = NULL ) const;
/** State Plane */
OGRErr SetStatePlane( int nZone, int bNAD83 = TRUE,
const char *pszOverrideUnitName = NULL,
double dfOverrideUnit = 0.0 );
The datums supported is not really listable as datum support is mostly
parametric. That is if you want datum shifts you need to provide the
TOWGS84[] parameters you want to use. There are a few special "builtin"
cases, including special handling of NAD27.
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | President OSGeo, http://osgeo.org
More information about the gdal-dev
mailing list