Abdul,

if you add <SkipNonContributingSources>true</SkipNonContributingSources> as a child element of the <VRTRasterBand> element, and apply patch https://github.com/OSGeo/gdal/commit/3dbc60b334ee022f2993dca476b08d5fed01698c , "gdal_translate -of GTiff merged.vrt OUTPUT.tif" completes in a few minutes

Cf https://gdal.org/en/stable/drivers/raster/vrt.html#using-derived-bands-with-pixel-functions-in-python for the doc of SkipNonContributingSources

Even

Le 14/04/2025 à 06:52, Abdul Raheem Siddiqui via gdal-dev a écrit :
Dear GDAL Community,

I am encountering a performance issue when using a VRT consisting of a large number of source rasters and built-in C++ pixel function ("max"). I would appreciate any guidance on whether some GDAL config option can improve this, or I am doing something wrong, or this is a potential optimization opportunity.

I have A VRT file referencing ~750 individual rasters (Byte data type, avg size ~1000x1000 pixels, untiled, and same CRS for all source rasters). The VRT uses the built-in “max” pixel function.

Running gdal_translate to convert the VRT to GTiff takes ~1.5 hours and consumes ~4GB RAM.
gdal_translate -of GTiff merged.vrt OUTPUT.tif

When tripling the number of source rasters (to ~2250) by duplicating entries in the VRT, processing time increases to ~4.5 hours, with RAM usage rising to ~11.5GB.
gdal_translate -of GTiff merged_3x.vrt OUTPUT.tif

Extracting a small subset of the VRT via -projwin does not improve performance (still slow, ~14GB RAM used). gdal_translate -projwin -146955.241 797044.4497 -138766.1444 789656.0648 -of GTiff merged_3x.vrt OUTPUT.tif

*Removing the pixel function makes processing instantaneous, even with 2250 rasters.*

Performance is unaffected by --config GDAL_CACHEMAX or -co NUM_THREADS=ALL_CPUS.

The issue persists across other datasets that I have. In fact, it gets really worse when source rasters are relatively larger or of Float32 data type.

Gdalinfo on one of the source rasters: https://pastebin.com/gjHDA2Wd
*Data:* https://drive.google.com/file/d/1LGlzGGZvkPyXvKKgkPVzQGbBw55p5dRd/view?

System: Windows, 8 CPUs, 32GB RAM (GDAL 3.9.2 via OSGeo4W).

Thank you for your time and insights. Please reply if you are aware of how performance can be improved.

Regards,

*Abdul Siddiqui, PE*

_abdul.siddiqui@ertcorp.com_


*ERT  | *Earth Resources Technology, Inc.

14401 Sweitzer Ln. Ste 300

Laurel, MD 20707

https://www.ertcorp.com


_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to