From a93a76cd4e91322e74cf321a7cd7f0c9ec763d05 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Mon, 16 Sep 2024 19:37:12 +0200 Subject: [PATCH] GDALCreateGeoLocTransformer(): increase threshold to use GTiff geoloc working datasets to 24 megapixels Fixes #10809 --- alg/gdalgeoloc.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/alg/gdalgeoloc.cpp b/alg/gdalgeoloc.cpp index 2fca72750ab5..3d82718c8234 100644 --- a/alg/gdalgeoloc.cpp +++ b/alg/gdalgeoloc.cpp @@ -2006,14 +2006,20 @@ void *GDALCreateGeoLocTransformerEx(GDALDatasetH hBaseDS, psTransform->bUseArray = !CPLTestBool(pszUseTempDatasets); else { - psTransform->bUseArray = nXSize < 16 * 1000 * 1000 / nYSize; + constexpr int MEGAPIXEL_LIMIT = 24; + psTransform->bUseArray = + nXSize < MEGAPIXEL_LIMIT * 1000 * 1000 / nYSize; if (!psTransform->bUseArray) { CPLDebug("GEOLOC", "Using temporary GTiff backing to store backmap, because " - "geoloc arrays exceed 16 megapixels. You can set the " + "geoloc arrays require %d megapixels, exceeding the %d " + "megapixels limit. You can set the " "GDAL_GEOLOC_USE_TEMP_DATASETS configuration option to " - "NO to force RAM storage of backmap"); + "NO to force RAM storage of backmap", + static_cast(static_cast(nXSize) * nYSize / + (1000 * 1000)), + MEGAPIXEL_LIMIT); } }