[Geotiff] Are false eastings and northings in meters *required*?
Max Martinez
Max.Martinez at erdas.com
Wed Nov 10 13:49:02 EST 2010
The ProjFalseEastingGeoKey and ProjFalseNorthingGeoKey are required to
have units of the ProjLinearUnit. The required units is listed for each
key in its definition in the GeoTIFF specification in section 2.7.2 (the
definition for these keys appears on page 39).
Max
-----Original Message-----
From: geotiff-bounces at lists.maptools.org
[mailto:geotiff-bounces at lists.maptools.org] On Behalf Of Jim Lacy
Sent: Wednesday, November 10, 2010 12:05 PM
To: geotiff at lists.maptools.org
Subject: [Geotiff] Are false eastings and northings in meters
*required*?
All-
So here is a deceptively simple question: does the GeoTIFF standard
*require* false eastings and northings to be in meters, regardless of
how the linear units are defined?
If the answer is "yes", stop reading now. If it's "no" or "maybe" read
on...
I'm trying to troubleshoot a user problem involving GeoTIFF images
projected to Lambert Conformal Conic (1SP). The linear units should be
the U.S. Survey Foot. When viewed in ArcGIS 10, the false
eastings/northings are offset by a factor 3.28083333. That happens to
be the conversion factor of meters to US Survey Foot. More on this
later.
I started to dig into the issue by examining the header, but I'm
confused by the conflicting results I'm getting from listgeo and
gdalinfo. First, I should mention the correct false eastings/northings
for this particular coordinate system are 187147.5744 meters (614000
feet) and 107746.7522 meters (353499.136 feet), respectively.
Listgeo reports false eastings/northings as being defined in meters
(even though ProjLinearUnitsGeoKey says Linear_Foot_US_Survey), but you
see the actual values listed are for feet:
PCSCitationGeoKey (Ascii,89): "Projection: Lambert Conformal
Conic; Datum: North American 1983 - HARN; Ellipsoid: GRS80"
ProjectionGeoKey (Short,1): User-Defined
ProjCoordTransGeoKey (Short,1): CT_LambertConfConic_1SP
ProjLinearUnitsGeoKey (Short,1): Linear_Foot_US_Survey
ProjNatOriginLongGeoKey (Double,1): -90.4833333
ProjNatOriginLatGeoKey (Double,1): 45.1778221
ProjFalseEastingGeoKey (Double,1): 614000
ProjFalseNorthingGeoKey (Double,1): 353499.136
ProjScaleAtNatOriginGeoKey (Double,1): 1.00005976
End_Of_Keys.
End_Of_Geotiff.
Projection Method: CT_LambertConfConic_1SP
ProjNatOriginLatGeoKey: 45.177822 ( 45d10'40.16"N)
ProjNatOriginLongGeoKey: -90.483333 ( 90d29' 0.00"W)
ProjScaleAtNatOriginGeoKey: 1.000060
ProjFalseEastingGeoKey: 614000.000344 m
ProjFalseNorthingGeoKey: 353499.136000 m
GCS: 4152/(unknown)
Datum: 6152/(unknown)
Ellipsoid: 7019/GRS 1980 (6378137.00,6356752.31) Projection Linear
Units: 9003/(unknown) (1.000000m)
Gdalinfo on the same file correctly reports the units as feet, as I
would expect, BUT the false easting/northing values are incorrect. they
are multiplied by 3.28+.
PROJCS["Projection: Lambert Conformal Conic; Datum: North American 1983
- HARN; Ellipsoid: GRS80",
GEOGCS[,
DATUM["unknown",
SPHEROID["GRS 1980",6378137,298.2572221010002,
AUTHORITY["EPSG","7019"]],
AUTHORITY["EPSG","6152"]],
PRIMEM["Greenwich",0],
UNIT[,0.0174532925199433],
AUTHORITY["EPSG","4152"]],
PROJECTION["Lambert_Conformal_Conic_1SP"],
PARAMETER["latitude_of_origin",45.17782208583334],
PARAMETER["central_meridian",-90.48333333333335],
PARAMETER["scale_factor",1.0000597566],
PARAMETER["false_easting",2014431.667795273],
PARAMETER["false_northing",1159771.748693332],
UNIT["US survey foot",0.3048006096012192,
AUTHORITY["EPSG","9003"]]]
Origin = (626452.779999999680000,316640.203999999790000)
Pixel Size = (1.499999999999999,-1.499999999999999)
Lastly, here is what QGIS has to say:
+proj=lcc +lat_1=45.17782208583334 +lat_0=45.17782208583334
++lon_0=-90.48333333333335 +k_0=1.0000597566 +x_0=614000.0003439998
++y_0=353499.1359999996 +ellps=GRS80 +to_meter=0.3048006096012192
++no_defs
What I suspect is happening is the false eastings and northings values
MUST be in meters in the header. In my case, it appears 614,000 and
353,499 are stored in the header, but GDAL and ArcGIS look at the units
and multiply by the conversion factor to report the easting/northings in
the desired linear units. However, if the easting/northings are
*already* in the desired linear unit, everything is offset by the
conversion factor.
Are you with me? :)
In fact, if I redefine the header by manually editing the false
easting/northings values and changing to 187147.5744 meters and
107746.7522 meters, but leave units set to U.S. Survey Foot, everything
lines up just dandy in ArcGIS. Likewise, gdalinfo reoports values I
would expect:
PROJCS["Lambert_Conformal_Conic_1SP",
GEOGCS["GCS_North_American_1983_HARN",
DATUM["unknown",
SPHEROID["GRS_1980",6378137,298.257222101,
AUTHORITY["EPSG","0"]],
AUTHORITY["EPSG","6152"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Lambert_Conformal_Conic_1SP"],
PARAMETER["latitude_of_origin",45.17782208583334],
PARAMETER["central_meridian",-90.48333333333335],
PARAMETER["scale_factor",1.0000597566],
PARAMETER["false_easting",614000],
PARAMETER["false_northing",353499.136],
UNIT["US survey foot",0.3048006096012192,
AUTHORITY["EPSG","9003"]]]
Origin = (626452.779999999680000,316640.203999999790000)
Pixel Size = (1.499999999999999,-1.499999999999999)
Thus my question: should we always be using meters in the TIFF headers
for eastings/northings?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
James P. Lacy, GISP
Associate State Cartographer
Wisconsin State Cartographer's Office
384 Science Hall, 550 N. Park St.
Madison, WI 53706-1491
(608) 262-6850
Lacy at wisc.edu
www.sco.wisc.edu
_______________________________________________
Geotiff mailing list
Geotiff at lists.maptools.org
http://lists.maptools.org/mailman/listinfo/geotiff
More information about the Geotiff
mailing list