Le 24/04/2024 à 15:00, Michael Sumner a écrit :
Or a grouping function that returned the cell index for neighbours and
weighting that are involved in whatever calculation summary is wanted.
That doesn't seem super user friendly, as users would still be left to
do the raster value extraction and applying the weights, taking into
account nodata, etc. Not trivial. What is the advantage of this compared
to returning the interpolated value? The only one I see is to
potentially save a bit of computation if you need to interpolate values
at the same location in multiple bands, but the performance gain would
probably be marginal (or if not, then a variant of the function dealing
with multiple bands could be offered)
Maybe the warper could return this as a starting point rather than
doing the "task at hand". ?
The warper code has indeed a "FilterFuncType
GWKGetFilterFunc(GDALResampleAlg eResampleAlg)" method that returns a
function that returns interpolation weights and int
GWKGetFilterRadius(GDALResampleAlg eResampleAlg). The code in
GDALRPCGetDEMHeight() has an interesting logic where it caches a window
of interest around the first queried pixel so that subsequent queries in
the neighbouroud can be honoured without going to RasterIO(). This
substantially improves performance in the RPC case, in particular during
reverse transformation where you use an iterative method and thus may
need a lot of DEM extraction to compute a single point.
On Wed, Apr 24, 2024 at 8:51 PM Even Rouault via gdal-dev
<gdal-dev@lists.osgeo.org> wrote:
Hi,
I guess this discussion, and past similar ones, calls for an
enhancement. A new API function, like CPLErr
GDALRasterInterpolateAtPoint(GDALRasterBandH, double dfPixel,
double dfLocation, GDALRIOResampleAlg eInterpolation, double
*pdfValue), that could be used by a new mode of gdallocationinfo.
The GDALRPCGetDEMHeight() function in alg/gdal_rpc.cpp is a
plausible candidate implementation for bilinear and bicubic (we
could potentially restrict to that at the moment).
Even
Le 24/04/2024 à 10:33, Javier Jimenez Shaw via gdal-dev a écrit :
Hi
I would like to read in QGIS or GDAL an interpolated value in a
DSM (well, actually it is a geoid model, but it is the same
behaviour). See that I do not want the pixel value, but the
linear interpolation among the neighbour pixels, assuming that
the pixel value is in the center of the pixel.
For instance, this file
https://www.isgeoid.polimi.it/Geoid/Asia/Japan/japan2000_g.html
Is there any way to get it (without implementing the
interpolation myself)?
If I understood correctly gdallocationinfo is not interpolating,
just giving the pixel value.
Thanks
.___ ._ ..._ .. . ._. .___ .. __ . _. . __.. ... .... ._ .__
_______________________________________________
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
--
Michael Sumner
Software and Database Engineer
Australian Antarctic Division
Hobart, Australia
e-mail: mdsum...@gmail.com
--
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