Name

ST_MinDist4ma — Funktion zur Rasterdatenverarbeitung, welche die kürzeste Entfernung (in Pixel) zwischen dem Pixel von Interesse und einem benachbarten Pixel mit Zellwert zurückgibt.

Synopsis

double precision ST_MinDist4ma(double precision[][][] value, integer[][] pos, text[] VARIADIC userargs);

Beschreibung

Gibt die kürzeste Entfernung (Pixelanzahl) zwischen dem Pixel von Interesse und dem nächstgelegenen Pixel mit Zellwert in der Nachbarschaft zurück.

[Note]

Diese Funktion soll einen Anhaltspunkt liefern, um die Sinnhaftigkeit des mittels ST_InvDistWeight4ma interpolierten Wertes für das betrachtete Pixel abzuleiten. Diese Funktion ist besonders nützlich wenn die Nachbarschaft des Pixel nur spärlich besetzt ist.

[Note]

Diese Funktion ist eine spezialisierte Rückruffunktion, die als Rückrufparameter für ST_MapAlgebra (callback function version) verwendet werden kann.

Verfügbarkeit: 2.1.0

Beispiele

WITH foo AS (
    SELECT ST_SetValues(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, 0, 1, -1, 0, 0, 0), 1, '32BF', NULL::double precision, -9999),
        1, 1, 1, ARRAY[
            [10, 10, 10],
            [10, NULL, 20],
            [20, 20, 20]
        ]::double precision[][]
    ) AS rast
)
SELECT ST_Value(
    ST_MapAlgebra(
        rast,
        1,
        'ST_MinDist4ma(double precision[][][],integer[][],text[])'::regprocedure,
        '32BF',
        'FIRST',
        NULL,
        1,
        1
    ),
    2, 2
) AS min_distance
FROM foo;
1