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
GEOMETRYoder ein Ausdruck, der zu einemGEOMETRY-Typ ausgewertet wird. Der Subtyp darf nicht seinGEOMETRYCOLLECTION. - geom2
-
Ein Wert vom Datentyp
GEOMETRYoder ein Ausdruck, der zu einemGEOMETRY-Typ ausgewertet wird. Der Subtyp darf nicht seinGEOMETRYCOLLECTION. 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