From d6c756ad6a1858638d813dbd8f7e7b76eab6318a Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Wed, 10 May 2023 19:51:23 +0200 Subject: [PATCH] Fix unreleased regression related to 78d563c97f4920c58a4f04d4a5058df41720fd8c, that caused GDAL's test_gdalwarp_lib_135 test to fail --- src/iso19111/operation/singleoperation.cpp | 4 +++- test/cli/testvarious | 7 +++++++ test/cli/tv_out.dist | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/iso19111/operation/singleoperation.cpp b/src/iso19111/operation/singleoperation.cpp index f17b28bd40..20ded3e077 100644 --- a/src/iso19111/operation/singleoperation.cpp +++ b/src/iso19111/operation/singleoperation.cpp @@ -297,7 +297,9 @@ bool CoordinateOperation::isPROJInstantiable( } for (const auto &gridDesc : gridsNeeded(databaseContext, considerKnownGridsAsAvailable)) { - if (!gridDesc.available) { + // Grid name starting with @ are considered as optional. + if (!gridDesc.available && + (gridDesc.shortName.empty() || gridDesc.shortName[0] != '@')) { return false; } } diff --git a/test/cli/testvarious b/test/cli/testvarious index 6f4254cc54..4aaa98f7e3 100755 --- a/test/cli/testvarious +++ b/test/cli/testvarious @@ -1247,6 +1247,13 @@ echo 39 -3 0 | PROJ_DISPLAY_PROGRAM_NAME=NO PROJ_DATA=tmp_dir PROJ_DEBUG=2 $EXE rm -rf tmp_dir +echo "##############################################################" >> ${OUT} +echo "Test cs2cs grid missing with @gridname" >> ${OUT} + +$EXE +proj=longlat +datum=WGS84 +units=m +geoidgrids=@i_dont_exist.tif +vunits=m +no_defs +type=crs +to EPSG:4979 >> ${OUT} <> ${OUT} echo "Test Similarity Transformation (example from EPSG Guidance Note 7.2)" >> ${OUT} # diff --git a/test/cli/tv_out.dist b/test/cli/tv_out.dist index fcea00e3ea..2601154b72 100644 --- a/test/cli/tv_out.dist +++ b/test/cli/tv_out.dist @@ -607,6 +607,9 @@ cannot initialize transformation cause: File not found or invalid program abnormally terminated ############################################################## +Test cs2cs grid missing with @gridname +49dN 2dE 0.000 +############################################################## Test Similarity Transformation (example from EPSG Guidance Note 7.2) 300000 4500000 299905.060 4499796.515 0.000 ##############################################################