MakeValid (tipo de dados geometry)
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
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 ()
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de