Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#6675 closed defect (fixed)

elevation unit for geotif files not detected correctly

Reported by: adamgeo Owned by: warmerdam
Priority: high Milestone: 2.2.0
Component: GDAL_Raster Version: unspecified
Severity: major Keywords:
Cc: adam@…

Description

Gdal always reads the elevation unit of the geotiff files as meter even if the elevation unit is in feet and causes scale up in height. Sample data is attached.

Attachments (1)

Elevation_feet.tif (676.3 KB ) - added by adamgeo 7 years ago.

Download all attachments as: .zip

Change History (6)

by adamgeo, 7 years ago

Attachment: Elevation_feet.tif added

comment:1 by Jukka Rahkonen, 7 years ago

How do you use GDAL for reading the elevation?

comment:2 by Even Rouault, 7 years ago

If you explicitly set the GTIFF_REPORT_COMPD_CS=YES configuration option, you'll get a COMPD_CS reported with vertical units = US survey foot

$ GTIFF_REPORT_COMPD_CS=YES gdalinfo Elevation_feet.tif
Driver: GTiff/GeoTIFF
Files: Elevation_feet.tif
Size is 509, 356
Coordinate System is:
COMPD_CS["unknown",
    PROJCS["GCS_WGS_1984",
        GEOGCS["WGS 84",
            DATUM["WGS_1984",
                SPHEROID["WGS 84",6378137,298.2572235604902,
                    AUTHORITY["EPSG","7030"]],
                AUTHORITY["EPSG","6326"]],
            PRIMEM["Greenwich",0],
            UNIT["degree",0.0174532925199433],
            AUTHORITY["EPSG","4326"]],
        PROJECTION["Transverse_Mercator"],
        PARAMETER["latitude_of_origin",0],
        PARAMETER["central_meridian",-153],
        PARAMETER["scale_factor",0.9996],
        PARAMETER["false_easting",1640416.666666667],
        PARAMETER["false_northing",0],
        UNIT["US survey foot",0.3048006096012192,
            AUTHORITY["EPSG","9003"]]],
    VERT_CS["unknown",
        VERT_DATUM["unknown",2005],
        UNIT["US survey foot",0.3048006096012192,
            AUTHORITY["EPSG","9003"]],
        AXIS["Up",UP]]]
Origin = (649119.524002539925277,7223949.479605697095394)
Pixel Size = (2.457814315667396,-2.457814315667140)
Metadata:
  AREA_OR_POINT=Point
Image Structure Metadata:
  COMPRESSION=LZW
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (  649119.524, 7223949.480) (155d53' 7.84"W, 19d53'22.88"N)
Lower Left  (  649119.524, 7223074.498) (155d53' 7.68"W, 19d53'14.21"N)
Upper Right (  650370.551, 7223949.480) (155d52'54.74"W, 19d53'23.09"N)
Lower Right (  650370.551, 7223074.498) (155d52'54.58"W, 19d53'14.42"N)
Center      (  649745.038, 7223511.989) (155d53' 1.21"W, 19d53'18.65"N)
Band 1 Block=509x1 Type=Float32, ColorInterp=Gray
  NoData Value=-32767

We could perhaps use that to feed that into the more easy to use GDALRasterBand::GetUnits() interface.

comment:3 by adamgeo, 7 years ago

Thanks, the config option was helpful and helped a lot!

comment:4 by Even Rouault, 7 years ago

Resolution: fixed
Status: newclosed

In 37085:

GTiff: make GetUnitType() use VERT_CS unit as a fallback (fixes #6675)

comment:5 by Even Rouault, 7 years ago

Milestone: 2.2.0
Note: See TracTickets for help on using tickets.