MakeValid (geometry-Datentyp)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Konvertiert eine ungültige geometry -Instanz in eine geometry -Instanz mit einem gültigen Open Geospatial-Consortium (OGC)-Typ.
Syntax
.MakeValid ()
Rückgabetypen
SQL Server-Rückgabetyp: geometry
CLR-Rückgabetyp: SqlGeometry
Hinweise
Diese Methode verursacht möglicherweise eine Änderung des Typs der geometry -Instanz sowie eine leichte Verschiebung der Punkte einer geometry -Instanz.
Beispiele
Im ersten Beispiel wird eine ungültige LineString
-Instanz erstellt, die sich selbst überlappt. Mithilfe von STIsValid()
wird die Ungültigkeit dieser Instanz bestätigt. STIsValid()
gibt für eine ungültige Instanz den Wert 0 (null) zurück.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);
SELECT @g.STIsValid();
Im zweiten Beispiel wird die Instanz mit MakeValid()
gültig gemacht, und die tatsächliche Gültigkeit wird überprüft. STIsValid()
gibt für eine gültige Instanz den Wert 1 zurück.
SET @g = @g.MakeValid();
SELECT @g.STIsValid();
Das dritte Beispiel überprüft, ob die Instanz zu einer gültigen Instanz geändert wurde.
SELECT @g.ToString();
Wenn in diesem Beispiel die LineString
-Instanz ausgewählt wird, werden die Werte als gültige MultiLineString
-Instanz zurückgegeben.
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
Im folgenden Beispiel wird eine CircularString-Instanz in eine Point-Instanz konvertiert.
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();
Weitere Informationen
STIsValid (geometry-Datentyp)
Erweiterte Methoden für geometry-Instanzen