MakeValid (tipo de dados geometry)
Converte uma instância de geometry inválida em uma instância de geometry com um tipo OGC (Open Geospatial Consortium) válido.
Aplica-se a: SQL Server (SQL Server 2012 até a versão atual), Banco de dados SQL do Windows Azure (versão inicial até a versão atual). |
Sintaxe
.MakeValid ()
Tipos de retorno
SQL Server Tipo de retorno: 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 testar se ela é realmente válida. STIsValid() retorna o valor 1 para uma 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))
O exemplo a seguir converte a instância de CircularString em uma instância de Ponto.
DECLARE @g geometry = 'CIRCULARSTRING(1 1, 1 1, 1 1)';
SELECT @g.MakeValid().ToString();
Consulte também
Referência
STIsValid (tipo de dados geometry)