MakeValid (tipo de dados geometry)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de Dados SQL no Microsoft Fabric
Converte uma instância de geometry inválida em uma instância de geometry com um tipo válido do OGC (Open Geospatial Consortium).
Sintaxe
.MakeValid ()
Tipos de retorno
Tipo de retorno do SQL Server: geometry
Tipo de retorno do 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 um pouco 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
STIsValid (tipo de dados geometry)
Métodos estendidos em instâncias geometry