Compartilhar via


IsValidDetailed (tipo de dados geography)

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

Retorna uma mensagem que pode ajudar a identificar problemas com um objeto espacial que não é válido. Quando o objeto não é válido, apenas o primeiro erro é retornado. Quando o objeto é válido, um valor de 24400 é retornado.

Sintaxe

  
.IsValidDetailed()  

Tipos de retorno

Tipo de retorno do SQL Server: nvarchar(max)

Tipo de retorno do CLR: string

Comentários

A tabela a seguir contém os valores de retorno possíveis:

Valor retornado Descrição
24400 Válido
24401 Não válido, motivo desconhecido.
24402 Não válido porque o ponto {0} é um ponto isolado que não é válido nesse tipo de objeto.
24403 Não válido porque algum par de bordas de polígono se sobrepõe.
24404 Não válido porque um anel de polígono {0} apresenta interseção consigo mesmo ou com outro anel.
24405 Não válido porque um anel de polígono apresenta interseção consigo mesmo ou com outro anel.
24406 Não válido porque a curva {0} se degenera em um ponto.
24407 Não válido porque o anel do polígono {0} é recolhido em uma linha no ponto {1}.
24408 Não válido porque o anel de polígono {0} não é fechado.
24409 Não válido porque alguma parte do anel de polígono {0} está no interior de um polígono.
24410 Não válido porque o anel {0} é o primeiro anel em um polígono do qual não é o anel exterior.
24411 Não válido porque o anel {0} está fora do anel exterior {1} de seu polígono.
24412 Não válido porque o interior de um polígono com anéis {0} e {1} não está conectado.
24413 Não válido devido a duas bordas sobrepostas em curva {0}.
24414 Não válido porque uma borda da curva {0} se sobrepõe a uma borda da curva {1}.
24415 Não válido porque algum polígono tem uma estrutura de anel inválida.
24416 Não válido porque na curva {0} a borda que inicia no ponto {1} é uma linha ou um arco degenerado com pontos de extremidade opostos.

Exemplos

O exemplo a seguir de um objeto espacial inválido ilustra como os métodos IsValidDetailed() se comportam.

DECLARE @p GEOGRAPHY = 'Polygon((2 2, 4 4, 4 2, 2 4, 2 2))'  
SELECT @p.IsValidDetailed()  
--Returns: 24409: Not valid because some portion of polygon ring (1) lies in the interior of a polygon.  

Consulte Também

Métodos estendidos em instâncias geography