Martin Chapman
2021-06-07 16:19:56 UTC
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
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