Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ausnahme „Die angegebene Eingabe stellt keine gültige geografische Instanz dar“ bei Verwendung von SqlGeographyBuilder

Ich hatte denselben Fehler, aber es stellte sich heraus, dass es sich um ein Problem mit der Ausrichtung des Polygonrings handelte. Eine einfache Angelegenheit, die Reihenfolge der Koordinatenfelder umzukehren, löste das Problem.

Zur Veranschaulichung schlägt dies mit dem obigen Fehler fehl:

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

während dies funktioniert:

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

Beachten Sie, dass ich nicht die x,y-Paare innerhalb eines Punktes umkehre, sondern die Reihenfolge des gesamten Punktarrays (z. B. {pt1, pt2, pt3, pt4, pt5} wird zu {pt5, pt4, pt3, pt2, pt1 }