Teraz znalazłem problem. Użytkownik narysował wielokąt zaczynający się w prawym dolnym rogu i przeszedł zgodnie z ruchem wskazówek zegara. Jeśli zmienię kolejność punktów od największej szerokości geograficznej, a następnie pójdę w przeciwną stronę, sortując według długości, szerokości, to działa. Znalazłem pomocnika, ale to działa tylko wtedy, gdy "wiesz, że to źle":
if(sqlGeography.EnvelopeAngle() > 90)
sqlGeography ? sqlGeography.ReorientObject();
Po prostu przygotuj małe rozwiązanie, które naprawi moje wartości:https://github.com/danielwertheim/GeographyFactory
i wpis na blogu na ten temat: http://danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position/
i kontynuacja prawdziwego „problemu”, zasady lewej ręki:
http:// danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position-no/