Are false eastings and northings in meters *required*?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Are false eastings and northings in meters *required*?

Wiscmapper
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
[hidden email]
www.sco.wisc.edu


_______________________________________________
Geotiff mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/geotiff
Reply | Threaded
Open this post in threaded view
|

Re: Are false eastings and northings in meters *required*?

Max Martinez
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: [hidden email]
[mailto:[hidden email]] On Behalf Of Jim Lacy
Sent: Wednesday, November 10, 2010 12:05 PM
To: [hidden email]
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
[hidden email]
www.sco.wisc.edu


_______________________________________________
Geotiff mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/geotiff
_______________________________________________
Geotiff mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/geotiff
Reply | Threaded
Open this post in threaded view
|

Re: Are false eastings and northings in meters *required*?

David Burken
In reply to this post by Wiscmapper
James,

This issue has been raised before and I believe if the linear units is
set to U.S. Survey Foot the false easting/northing should be in those
units.  I just verified our ossim tiff reader does a convert from us_ft
to meters if the linear units are such.  I don't think all tools see it
that way though.  Typically for state plane projections you just set the
pcs code and the projection parameters are implied by the code.  So that
kind of gets around the issue.  I know that doesn't answer you question
though...

Dave

On 11/10/2010 12:05 PM, Jim Lacy wrote:

> 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
> [hidden email]
> www.sco.wisc.edu
>
>
> _______________________________________________
> Geotiff mailing list
> [hidden email]
> http://lists.maptools.org/mailman/listinfo/geotiff
>
_______________________________________________
Geotiff mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/geotiff