Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia
administrada de Azure SQLBase de datos SQL en 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.
Syntax
.MakeValid ()
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: geometry
Tipo de valor devuelto de CLR: SqlGeometry
Remarks
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.
Examples
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();
Véase también
STIsValid (tipo de datos geometry)
Métodos extendidos en instancias de geometry