ST_ContainsProperly - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

ST_ContainsProperly

ST_ContainsProperly gibt true zurück, wenn beide Eingabegeometrien nicht leer sind und alle Punkte der 2D-Projektion der zweiten Geometrie innere Punkte der 2D-Projektion der ersten Geometrie sind.

Syntax

ST_ContainsProperly(geom1, geom2)

Argumente

geom1

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird. Der Subtyp darf nicht sein GEOMETRYCOLLECTION.

geom2

Ein Wert vom Datentyp GEOMETRY oder ein Ausdruck, der zu einem GEOMETRY-Typ ausgewertet wird. Der Subtyp darf nicht sein GEOMETRYCOLLECTION. Dieser Wert wird mit geom1 verglichen, um festzustellen, ob alle seine Punkte innere Punkte von geom1 sind.

Rückgabetyp

BOOLEAN

Wenn geom1 oder geom2 null ist, wird null zurückgegeben.

Wenn geom1 und geom2 nicht den gleichen SRID-Wert (Spatial Reference System Identifier) haben, wird ein Fehler zurückgegeben.

Wenn geom1 oder geom2 eine Geometrie-Collection ist, wird ein Fehler zurückgegeben.

Beispiele

Die folgende SQL-Anweisung gibt die Werte ST_Contains und ST_ContainsProperly zurück, bei denen der Eingabe-Linestring die Innenseite und Begrenzung eines Eingabepolygons schneidet (nicht jedoch die Außenseite). Das Polygon enthält den Linestring, enthält den Linestring aber nicht richtig.

WITH tmp(g1, g2) AS (SELECT ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0))'), ST_GeomFromText('LINESTRING(5 5,10 5,10 6,5 5)')) SELECT ST_Contains(g1, g2), ST_ContainsProperly(g1, g2) FROM tmp;
st_contains | st_containsproperly -------------+--------------------- t | f