Funzioni di relazioni geospaziali - Amazon Athena

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à.

Funzioni di relazioni geospaziali

Le seguenti funzioni esprimono le relazioni tra due diverse geometrie specificate come input e restituiscono risultati di tipo boolean. L'ordine in cui viene specificata la coppia di geometrie conta: il primo valore di geometria viene denominato geometria a sinistra, il secondo valore di geometria viene denominato geometria a destra.

Queste funzioni restituiscono:

  • TRUE se e solo se la relazione descritta dalla funzione viene soddisfatta.

  • FALSE se e solo se la relazione descritta dalla funzione non viene soddisfatta.

ST_Contains(geometry, geometry)

Restituisce TRUE se e solo se la geometria a sinistra contiene geometria a destra. Esempi:

SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', 'POLYGON((-1 3,2 1,0 -3,-1 3))')
SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', ST_Point(0, 0))
SELECT ST_Contains(ST_GeometryFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeometryFromText('POLYGON((-1 3,2 1,0 -3,-1 3))'))

ST_Crosses(geometry, geometry)

Restituisce TRUE se e solo se la geometria a sinistra incrocia la geometria a destra. Esempio:

SELECT ST_Crosses(ST_Line('linestring(1 1, 2 2 )'), ST_Line('linestring(0 1, 2 2)'))

ST_Disjoint(geometry, geometry)

Restituisce TRUE se e solo se l'intersezione di geometrie a sinistra e geometrie a destra è vuota. Esempio:

SELECT ST_Disjoint(ST_Line('linestring(0 0, 0 1)'), ST_Line('linestring(1 1, 1 0)'))

ST_Equals(geometry, geometry)

Restituisce TRUE se e solo se la geometria a sinistra è uguale alla geometria a destra. Esempio:

SELECT ST_Equals(ST_Line('linestring( 0 0, 1 1)'), ST_Line('linestring(1 3, 2 2)'))

ST_Intersects(geometry, geometry)

Restituisce TRUE se e solo se la geometria a sinistra interseca la geometria a destra. Esempio:

SELECT ST_Intersects(ST_Line('linestring(8 7, 7 8)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Overlaps(geometry, geometry)

Restituisce TRUE se e solo se la geometria a sinistra si sovrappone alla geometria a destra. Esempio:

SELECT ST_Overlaps(ST_Polygon('polygon((2 0, 2 1, 3 1))'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Relate(geometry, geometry, varchar)

Restituisce TRUE se e solo se la geometria a sinistra dispone della relazione Dimensionally Extended nine-Intersection Model (DE-9IM) specificata con la geometria a destra. Il terzo input (varchar) prende la relazione. Esempio:

SELECT ST_Relate(ST_Line('linestring(0 0, 3 3)'), ST_Line('linestring(1 1, 4 4)'), 'T********')

ST_Touches(geometry, geometry)

Restituisce TRUE se e solo se la geometria a sinistra tocca la geometria a destra.

Esempio:

SELECT ST_Touches(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Within(geometry, geometry)

Restituisce TRUE se e solo se la geometria a sinistra si trova all'interno della geometria a destra.

Esempio:

SELECT ST_Within(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))