[Geotiff] Are false eastings and northings in meters *required*?
Jim Lacy
lacy at wisc.edu
Wed Nov 10 12:05:27 EST 2010
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
More information about the Geotiff
mailing list