Jak skorygować orientację pierścienia wielokątnego za pomocą C # Entity Framework 5 DbGeography Spatial Data

Pracuję z nowym Entity-Framework 5, używając typu danych przestrzennych DbGeography jako części mojego modelu do przechowywania w jednej instancji, POINT iw innym przypadku POLYGON.

Przy ustawianiu wartości mojego POLYGONU wszystkie zapisuje się bez błędu, jednak dzieje się tak tylko wtedy, gdy narysuję Wielokąt na mapie zgodnie z ruchem wskazówek zegara. Jeśli narysuję POLGON w kierunku przeciwnym do ruchu wskazówek zegara, otrzymuję błąd na poziomie sql wskazujący, że dane są nieprawidłowym typem geograficznym.

Teraz, po przeprowadzeniu własnych badań problemu, wydaje się, że typ danych geograficznych jest dość ścisły pod względem orientacji pierścienia wielokątów. Najczęstszym rozwiązaniem wydaje się być tworzenie wielokąta jako geometrii, a następnie przekształcanie go w typ geograficzny.

Szukam rozwiązania w języku C #, które można zastosować do danych przed wysłaniem do sql. Zasadniczo coś, co automatycznie skoryguje orientację pierścienia tablicy współrzędnych.

Próbowałem przechwycić błąd i odbudować ciąg, odwracając tablicę. Działa to w niektórych przypadkach, ale po pierwsze nie jest niezawodny, a po drugie złapanie błędu polega na znacznym obniżeniu wydajności.

Dzięki Chris

questionAnswers(3)

yourAnswerToTheQuestion