IsValidDetailed (tipo de dados geography)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
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.