Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Exception "L'entrée spécifiée ne représente pas une instance géographique valide" lors de l'utilisation de SqlGeographyBuilder

J'ai eu la même erreur, mais il s'est avéré être un problème d'orientation de l'anneau polygonal. Une simple question d'inverser l'ordre des tableaux de coordonnées a résolu le problème.

Pour illustrer, cela échoue avec l'erreur ci-dessus :

 select geography::STGeomFromText ('Polygon  ( (10 10, 10 20, 20 20, 20 10, 10 10))',4326)

alors que cela fonctionne :

 select geography::STGeomFromText ('Polygon  ( (10 10, 20 10, 20 20, 10 20, 10 10))',4326)

Notez que je ne retourne pas les paires x, y dans un point, je retourne l'ordre de l'ensemble du tableau de points (par exemple, {pt1, pt2, pt3, pt4, pt5} devient {pt5, pt4, pt3, pt2, pt1 }