Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Exceção 'A entrada especificada não representa uma instância geográfica válida' ao usar SqlGeographyBuilder


Eu tive esse mesmo erro, mas acabou sendo um problema de orientação do anel de polígono. Uma simples questão de inverter a ordem das matrizes de coordenadas resolveu o problema.

Para ilustrar, isso falha com o erro acima:
 select geography::STGeomFromText ('Polygon  ( (10 10, 10 20, 20 20, 20 10, 10 10))',4326)

Considerando que isso funciona:
 select geography::STGeomFromText ('Polygon  ( (10 10, 20 10, 20 20, 10 20, 10 10))',4326)

Observe que não estou invertendo os pares x,y dentro de um ponto, estou invertendo a ordem de toda a matriz de pontos (por exemplo, {pt1, pt2, pt3, pt4, pt5} se torna {pt5, pt4, pt3, pt2, pt1 }