Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Converte uma instância de geografia que não é válida em uma instância de geografia válida com um tipo de Consórcio Geoespacial Aberto (OGC) válido.
Se um objeto de entrada retornar False para STIsValid(), MakeValid() converte a instância que não é válida em uma instância válida.
Esse método de tipo de dados geográficos oferece suporte a instâncias FullGlobe ou instâncias espaciais maiores que um hemisfério.
Syntax
.MakeValid ()
Tipos de devolução
Tipo de retorno do SQL Server: geografia
Tipo de retorno CLR: SqlGeography
Remarks
Este método pode alterar o tipo da instância geográfica . Além disso, os pontos de uma instância geográfica podem mudar ligeiramente. Os resultados de alguns métodos, como NumPoint(), podem mudar.
Nos casos em que a instância espacial inválida cruza o equador e tem um EnvelopeAngle() = 180, uma instância FullGlobe será retornada. O MakeValid() método de tipo de dados geográficos fará a melhor tentativa de retornar instâncias válidas, mas não é garantido que os resultados sejam precisos ou precisos.
Note
Os objetos que não são válidos podem ser armazenados no banco de dados. Os métodos que podem ser executados em instâncias inválidas (aquelas instâncias para as quais STIsValid() retornam False) são métodos que verificam a validade ou permitem a exportação: STIsValid(), MakeValid(), STAsText(), STAsBinary(), ToString(), AsTextZM() e AsGml().
Este método não é preciso.
Examples
O primeiro exemplo cria uma instância inválida LineString que se sobrepõe e usa STIsValid() para confirmar que é uma instância inválida.
STIsValid() Retorna o valor de 0 para uma instância inválida.
DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 4326);
SELECT @g.STIsValid();
O segundo exemplo usa MakeValid() para tornar a instância válida e para testar se a instância é realmente válida.
STIsValid() Retorna o valor de 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 torná-la uma instância válida.
SELECT @g.ToString();
Neste exemplo, quando a LineString instância é selecionada, os valores são retornados como uma instância válida MultiLineString .
MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))
Ver também
STIsValid (tipo de dados de geometria)
Métodos estendidos em instâncias geográficas