[gdal-dev] Source SRS is a compound CRS but lacks +geoidgrids

Even Rouault even.rouault at spatialys.com
Tue Jun 16 13:34:23 PDT 2020


On mardi 16 juin 2020 20:22:57 CEST Comer, Alex wrote:
> Hello, I'm having trouble using gdalwarp to adjust the heights in a DEM from
> EGM96 heights to ellipsoidal heights.
> 
> There is an example in the GDAL documentation
> (https://gdal.org/programs/gdalwarp.html#examples<https://urldefense.proofp
> oint.com/v2/url?u=https-3A__slack-2Dredir.net_link-3Furl-3Dhttps-253A-252F-2
> 52Fgdal.org-252Fprograms-252Fgdalwarp.html-2523examples-26v-3D3&d=DwMFAw&c=q
> 
v9gmtOiXdJCj9gMlMKtaw&r=c5qG9R_C_Uk15wO7YCz0Kmxn1feCJcKpkdWjm6OrnHA&m=L
BJGDE
> isk_mehbQp1YF7U2vnpaqKAyB1WlXNejSAiHc&s=SPJdv5gp9MY8S77hKdINBORe-
qDXH6QvCJa4
> mrKxl9c&e=> , near the end of the page):
> 
>   *   To transform a DEM from geoid elevations (using EGM96) to WGS84
> ellipsoidal heights:
> 
> New in version 2.2.
> 
> gdalwarp -overwrite in_dem.tif out_dem.tif -s_srs EPSG:4326+5773 -t_srs
> EPSG:4979
> 
> When I run this command using GDAL 3.1.0 and PROJ 7.0.1, the output is
> unchanged from the input. My expectation is that the heights would be
> adjusted in the output file.
> 
> If I set CPL_DEBUG=ON, I see the message:
> 
> GDALWARP: Source SRS is a compound CRS but lacks +geoidgrids
> 
> Using gdalsrsinfo to examine the SRS "EPSG:4326+5773" shows a WKT that
> notably does not refer to +geoidgrids in the PROJ string:
> 
> $ gdalsrsinfo EPSG:4326+5773
> PROJ.4 : +proj=longlat +datum=WGS84 +vunits=m +no_defsOGC WKT2:2018 :
> COMPOUNDCRS["WGS 84 + EGM96 height",
>     GEOGCRS["WGS 84",
>         DATUM["World Geodetic System 1984",
>             ELLIPSOID["WGS 84",6378137,298.257223563,
>                 LENGTHUNIT["metre",1]]],
>         PRIMEM["Greenwich",0,
>             ANGLEUNIT["degree",0.0174532925199433]],
>         CS[ellipsoidal,2],
>             AXIS["geodetic latitude (Lat)",north,
>                 ORDER[1],
>                 ANGLEUNIT["degree",0.0174532925199433]],
>             AXIS["geodetic longitude (Lon)",east,
>                 ORDER[2],
>                 ANGLEUNIT["degree",0.0174532925199433]],
>         USAGE[
>             SCOPE["unknown"],
>             AREA["World"],
>             BBOX[-90,-180,90,180]],
>         ID["EPSG",4326]],
>     VERTCRS["EGM96 height",
>         VDATUM["EGM96 geoid"],
>         CS[vertical,1],
>             AXIS["gravity-related height (H)",up,
>                 LENGTHUNIT["metre",1]],
>         USAGE[
>             SCOPE["unknown"],
>             AREA["World"],
>             BBOX[-90,-180,90,180]],
>         ID["EPSG",5773]]]
> 
> 
> 
> A colleague using GDAL v2.4.1 had a different result. Note the reference to
> +geoidgrids=egm95_15.gtx and the PROJ4_GRIDS extension:
> 
> 
> 
> $ gdalsrsinfo EPSG:4326+5773
> PROJ.4 : +proj=longlat +datum=WGS84 +geoidgrids=egm96_15.gtx +vunits=m
> +no_defsOGC WKT : COMPD_CS["WGS 84 + EGM96 geoid height",
>     GEOGCS["WGS 84",
>         DATUM["WGS_1984",
>             SPHEROID["WGS 84",6378137,298.257223563,
>                 AUTHORITY["EPSG","7030"]],
>             AUTHORITY["EPSG","6326"]],
>         PRIMEM["Greenwich",0,
>             AUTHORITY["EPSG","8901"]],
>         UNIT["degree",0.0174532925199433,
>             AUTHORITY["EPSG","9122"]],
>         AUTHORITY["EPSG","4326"]],
>     VERT_CS["EGM96 geoid height",
>         VERT_DATUM["EGM96 geoid",2005,
>             EXTENSION["PROJ4_GRIDS","egm96_15.gtx"],
>             AUTHORITY["EPSG","5171"]],
>         UNIT["metre",1,
>             AUTHORITY["EPSG","9001"]],
>         AXIS["Up",UP],
>         AUTHORITY["EPSG","5773"]]]
> 
> 
> 
> Indeed, with GDAL 3.1.0 & PROJ 7.0.1 I am able to achieve the desired result
> if I use a PROJ string rather than the EPSG:horiz+vertical code. For
> example something like:
> 
> gdalwarp -s_srs "+proj=longlat +datum=WGS84 +no_defs
> +geoidgrids=egm96_15.gtx" -t_srs "+proj=longlat +datum=WGS84 +no_def"
> input.tif output.tif

Yes, since GDAL 3 / PROJ 6, this is the expected way to proceed, even if admitedly not ideal 
and could benefit from enhancements, since EPSG:5773 is no longer automatically expanded 
(for "good" reasons) to +geoidgrids=egm96_15.gtx , and gdalwarp in height adjustment 
mode requires an explicit mention of geoidgrids.

Even

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20200616/3bc6b01e/attachment-0001.html>


More information about the gdal-dev mailing list