[gdal-dev] Custom geometric transformation
Even Rouault
even.rouault at spatialys.com
Sun Dec 5 09:08:47 PST 2021
Denis,
Le 05/12/2021 à 00:09, Denis Rykov a écrit :
> According to rasterio's documentation
> <https://rasterio.readthedocs.io/en/latest/topics/reproject.html>
> "reproject" is a geospatial-specific analog to SciPy’s
> geometric_transform
> <https://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.geometric_transform.html#scipy.ndimage.geometric_transform>.
> But the thing is "geometric_transform" doesn't support masked arrays
> so it can't properly transform images with nodata value.
> My question: is it possible to write a custom transformer function and
> use it in GDAL to transform an image (considering nodata) to overcome
> the lack of the appropriate functionality in SciPy.
If you use the low level C++ API you should be able to do that.
You' ll need to use GDALWarpOperation as the entry point, and initialize
it with GDALWarpOptions with your custom transformer function in the
pfnProgress / pProgressArg members
You may use apps/gdalwarp_lib.cpp or frmts/vrt/vrtwarped.cpp as examples
of how to use those API. This is not entirely trivial admittedly.
Actually I was thinking a nice contribution, and perhaps simpler than
having your own warping code, could be to enhance the GDALWarpApp API of
apps/gdalwarp_lib.cpp to have a GDALWarpAppOptionsSetTransformer()
function where users could specify their own transformer which would
skip the creation of the default one.
Even
--
http://www.spatialys.com
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/20211205/0a0cd557/attachment.html>
More information about the gdal-dev
mailing list