Compartilhar via


MakeValid (tipo de dados geometry)

Converte uma instância de geometry inválida em uma instância de geometry com um tipo de OGC (Open Geospatial Consortium) válido.

Sintaxe

.MakeValid ()

Tipos de retorno

Tipo de retorno do SQL Server: geometry

Tipo de retorno CLR: SqlGeometry

Comentários

Esse método causa uma alteração no tipo de instância de geometry, e faz com que os pontos de uma instância de geometry sejam levemente deslocados.

Exemplos

O primeiro exemplo cria uma instância inválida de LineString que se sobrepõe e usa STIsValid() para confirmar que é uma instância inválida. STIsValid() retorna o valor 0 para uma instância inválida.

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 0);
SELECT @g.STIsValid();

O segundo exemplo usa MakeValid() pata tornar a instância válida e para testar se ela é realmente válida. STIsValid() retorna o valor 1 para a instância válida.

SET @g = @g.MakeValid();
SELECT @g.STIsValid();

O terceiro exemplo verifica como a instância foi alterada para se tornar uma instância válida.

SELECT @g.ToString();

Neste exemplo, quando a instância de LineString é selecionada, os valores são retornados como uma instância de MultiLineString válida.

MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))