[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