MakeValid (tipo de datos geometry)
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de datos de Azure SQL de Microsoft Fabric
Convierte una instancia no válida de geometry en una instancia de geometry con un tipo de Open Geospatial Consortium (OGC) válido.
Sintaxis
.MakeValid ()
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: geometry
Tipo de valor devuelto de CLR: SqlGeometry
Observaciones
Este método puede producir un cambio en el tipo de la instancia de geometry y hacer que los puntos de una instancia de geometry se desplacen ligeramente.
Ejemplos
En el primer ejemplo se crea una instancia de LineString
no válida que se superpone a sí misma y usa STIsValid()
para confirmar que es una instancia no válida. STIsValid()
devuelve el valor 0 para una instancia no válida.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);
SELECT @g.STIsValid();
En el segundo ejemplo se usa MakeValid()
para convertir la instancia en válida y comprobar que de hecho es así. STIsValid()
devuelve el valor 1 para una instancia válida.
SET @g = @g.MakeValid();
SELECT @g.STIsValid();
En el tercer ejemplo se comprueba cómo se ha cambiado la instancia para convertirla en una instancia válida.
SELECT @g.ToString();
En este ejemplo, cuando se selecciona la instancia de LineString
, los valores se devuelven como una instancia de MultiLineString
válida.
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
El siguiente ejemplo convierte la instancia CircularString en una instancia Point.
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();
Consulte también
STIsValid (tipo de datos geometry)
Métodos extendidos en instancias de geometry