ST_IsValid — Prüft, ob eine Geometrie in 2D wohlgeformt ist.
boolean ST_IsValid(
geometry g)
;
boolean ST_IsValid(
geometry g, integer flags)
;
Prüft, ob ein ST_Geometry-Wert wohlgeformt und in 2D gemäß den OGC-Regeln gültig ist. Bei Geometrien mit 3 und 4 Dimensionen wird die Gültigkeit weiterhin nur in 2 Dimensionen geprüft. Für Geometrien, die ungültig sind, wird ein PostgreSQL-NOTICE ausgegeben, der die Gründe für die Ungültigkeit angibt.
Für die Version mit dem Parameter flags
sind die unterstützten Werte in ST_IsValidDetail dokumentiert. Diese Version druckt keinen HINWEIS, der die Ungültigkeit erklärt.
Weitere Informationen über die Definition der Geometriegültigkeit finden Sie unter Section 4.4, “Geometrievalidierung”
SQL-MM definiert das Ergebnis von ST_IsValid(NULL) als 0, während PostGIS NULL zurückgibt. |
Wird vom GEOS Modul ausgeführt
Die Version, die Flaggen akzeptiert, ist ab 2.0.0 verfügbar.
Diese Methode implementiert die OGC Simple Features Implementation Specification for SQL 1.1.
Diese Methode setzt die SQL/MM-Spezifikation um. SQL-MM 3: 5.1.9
Weder die OGC-SFS- noch die SQL-MM-Spezifikationen enthalten ein Flag-Argument für ST_IsValid. Das Flag ist eine PostGIS-Erweiterung. |
SELECT ST_IsValid(ST_GeomFromText('LINESTRING(0 0, 1 1)')) As good_line, ST_IsValid(ST_GeomFromText('POLYGON((0 0, 1 1, 1 2, 1 1, 0 0))')) As bad_poly --results NOTICE: Self-intersection at or near point 0 0 good_line | bad_poly -----------+---------- t | f