ST_InterpolateRaster — Interpoliert eine gerasterte Oberfläche auf der Grundlage eines Eingabesatzes von 3D-Punkten, wobei die X- und Y-Werte zur Positionierung der Punkte auf dem Gitter und der Z-Wert der Punkte als Oberflächenhöhe verwendet werden.
raster ST_InterpolateRaster(
geometry input_points, text algorithm_options, raster template, integer template_band_num=1)
;
Interpoliert eine gerasterte Oberfläche auf der Grundlage eines Eingabesatzes von 3D-Punkten, wobei die X- und Y-Werte zur Positionierung der Punkte auf dem Gitter und der Z-Wert der Punkte als Oberflächenhöhe verwendet werden. Es stehen fünf Interpolationsalgorithmen zur Verfügung: inverser Abstand, inverser Abstand nächster Nachbar, gleitender Durchschnitt, nächster Nachbar und lineare Interpolation. Weitere Einzelheiten zu den Algorithmen und ihren Parametern finden Sie in der gdal_grid Dokumentation. Weitere Informationen darüber, wie Interpolationen berechnet werden, finden Sie im GDAL-Grid-Tutorial.
Die Eingabeparameter sind:
input_points
Die Punkte, die die Interpolation steuern. Jede Geometrie mit Z-Werten ist akzeptabel, alle Punkte in der Eingabe werden verwendet.
algorithm_options
Eine Zeichenkette, die den Algorithmus und die Algorithmusoptionen definiert, im Format von gdal_grid. Für eine Interpolation mit inversem Abstand und einer Glättung von 2 würde man zum Beispiel "invdist:smoothing=2.0" verwenden.
template
Eine Rastervorlage zur Steuerung der Geometrie des Ausgaberasters. Die Breite, Höhe, Pixelgröße, räumliche Ausdehnung und der Pixeltyp werden aus dieser Vorlage gelesen.
template_band_num
Standardmäßig wird das erste Band im Vorlagenraster für die Steuerung des Ausgaberasters verwendet, aber das kann mit diesem Parameter angepasst werden.
Verfügbarkeit: 3.2.0
SELECT ST_InterpolateRaster( 'MULTIPOINT(10.5 9.5 1000, 11.5 8.5 1000, 10.5 8.5 500, 11.5 9.5 500)'::geometry, 'invdist:smoothing:2.0', ST_AddBand(ST_MakeEmptyRaster(200, 400, 10, 10, 0.01, -0.005, 0, 0), '16BSI') )