MakeValid (tipo de datos geometry)

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 valores devueltos

SQL Server tipo devuelto: geometry

Tipo de valor devuelto de CLR: SqlGeometry

Comentarios

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();

Vea también

Referencia

STIsValid (tipo de datos geometry)

Otros recursos

Métodos extendidos en instancias de geometry