ST_Distance - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

ST_Distance

Per le geometrie di input, ST_Distance restituisce la distanza euclidea minima tra le proiezioni 2D dei due valori della geometria di input.

Per geometrie 3DM, 3DZ, 4D, ST_Distance restituisce la distanza euclidea tra le proiezioni 2D dei due valori della geometria di input.

Per le aree geografiche di input, ST_Distance restituisce la distanza geodetica dei due punti 2D. L'unità di distanza è espressa in metri. Per aree geografiche diverse da punti e punti vuoti viene restituito un errore.

Sintassi

ST_Distance(geo1, geo2)

Arguments (Argomenti)

geo1

Un valore di tipo GEOMETRY o GEOGRAPHY o un'espressione che restituisce un valore di tipo GEOMETRY o GEOGRAPHY. Il tipo di dati di geo1 deve corrispondere esattamente a geo2.

geo2

Un valore di tipo GEOMETRY o GEOGRAPHY o un'espressione che restituisce un valore di tipo GEOMETRY o GEOGRAPHY. Il tipo di dati di geo2 deve corrispondere esattamente a geo1.

Tipo restituito

DOUBLE PRECISION nelle stesse unità delle geometrie o geografie in input.

Se geo1 o geo2 è nullo o vuoto, allora viene restituito il valore nullo.

Se geo1 e geo2 non presentano lo stesso valore di identificatore del sistema di riferimento spaziale (SRID), allora viene restituito un errore.

Se geo1 o geo2 è una collezione di geometrie, allora viene restituito un errore.

Esempi

Il seguente comando SQL restituisce la distanza tra i due poligoni.

SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
st_distance ----------- 1.4142135623731

La seguente istruzione SQL restituisce la distanza (in metri) tra la Porta di Brandeburgo e l'edificio del Reichstag a Berlino utilizzando un tipo di dati GEOGRAPHY.

SELECT ST_Distance(ST_GeogFromText('POINT(13.37761826722198 52.516411678282445)'), ST_GeogFromText('POINT(13.377950831464005 52.51705102546893)'));
st_distance ------------------ 74.64129172609631