Some rather counterintuitive gdalwarp behavior: the bigger
dfWarpMemoryLimit (-wm setting) the more cpu time will be wasted on
warping not existing pixels. Why? Warping begins with the destination
window size of entire output image size. If this size is larger than
dfWarpMemoryLimit it is split in half along the longest axis and any
half that doesn't contain the currently processed source file is
discarded. With large dfWarpMemoryLimit this subdivision process will
stop early with still large portions of out of source image pixels.
Hermann Peifer wrote:
Frank Warmerdam wrote
Jukka Rahkonen wrote:
Conclusion: Too slow to be useful with my settings.
Question 1: Should it work this way?
Question 2: If yes, is it worth trying to find the limits when it
goes too slow
and perhaps file a ticket?
I hate to bring this up so late in the discussion, but have you tried
-wo SKIP_NOSOURCE=YES? When mosaicing small images into large images it
prevents processing of chunks for which there is no source data.
Otherwise
the whole output image is generated for each input image.
There is an open ticket on this issue to apply this option by default.
BTW, in combination with SKIP_NOSOURCE it can be helpful to keep the -wm
option to a modest size to the tiles aren't too large. A 200MB should be
sufficient - especially if the input and output image are tiled.
Just to repeat my earlier observations: over the last days, I tried with
all kinds of -wm and GDAL_CACHEMAX settings, and also added the options
TILED=YES and SKIP_NOSOURCE=YES. I haven't documented the performance
changes systematically, but my overall impression was that the changes
were rather small. I also tried -multi on my dual processor machine, but
I ended up with a fatal error.
What really helped was to follow Felix' approach, who wrote in the first
mail of this thread:
Now, a second script, pasting first "slices" of 5*30° together,
and than merging all the slices...
This way, one can reduce the processing time to some 10-20% compared to
the "all in one run approach". Concerning the size of the intermediate
slices: the smaller they are, the faster it goes. The final step of
gdalbuilding a vrt from the imtermediate slices and gdal_translating it
to the final output.tif is also very fast.
In order to avoid NODATA gaps in the final output.tif: It seems to be
safer if the intermediate slices are slightly overlapping, rather being
than just adjacent.
Hermann
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev