[gdal-dev] GDALCreateApproxTransformer and error threshold ramifications question

Even Rouault even.rouault at spatialys.com
Mon Jun 7 10:06:38 PDT 2021


it would be interesting if you could identify which change caused the 
slow down you notice. Nothing jumps to mind. git bisect could help 
(assuming this is only GDAL related, and not due to changes in PROJ 

The value of the error threshold is in pixels. So 0.125 means you accept 
up to a 1/8th pixel error, so yes, that's already quite high quality. An 
error threshold of 0 is rarely needed, unless you use RPC 
ortho-rectification with a DEM, especially in mountainous regions.


Le 07/06/2021 à 18:19, Martin Chapman a écrit :
> Even, Frank or anyone in the know about gdal warp API,
> I have been using the GDALCreateGenImgProjTransformer function to 
> create my transformer arg in the warp options for the 
> ChunkAndWarpImage function with an error threshold set to 0.0 for a 
> while now and everything works great.  I did this initially because I 
> wanted the best possible warp results.  Recently, I noticed that the 
> performance of that operation had slowed down significantly in the 
> newer versions and I am assuming that’s because the process has been 
> improved to be more rigorous and produce better results (?).
> Anyhow, I was looking at how I could speed up the process without 
> sacrificing too much accuracy and I noticed that the default behavior 
> in the gdalwarp utility uses an error threshold of 0.125 and the 
> GDALCreateApproxTransformer function to create the transformer arg.  I 
> read the documentation and I think I understand the ramifications of 
> doing so, but I was hoping somebody could give me a more detailed 
> explanation of how much the warp results will be affected by using the 
> GDALCreateApproxTransformer function with a threshold of 0.125.  I am 
> assuming it must not be that bad because Frank choose that value as 
> the default value years ago.  I noticed it really improves the 
> performance but I didn’t want to make the conversion without knowing 
> exactly what I am sacrificing.
> I am assuming with an error threshold of 0.0 it is a per pixel warp 
> operation and if the threshold is greater than 0.0 and the 
> GDALCreateApproxTransformer function is used it ends up being a grid 
> warp.  Is that correct?  Does the threshold mean that the warped pixel 
> may be off by one pixel in the results or could it be worse than that?
> Thanks in advance for any light you can shed on the subject!
> Best regards,
> Martin Chapman
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev

My software is free, but my time generally not.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20210607/4602fbd6/attachment.html>

More information about the gdal-dev mailing list