Bây giờ tôi đã tìm thấy vấn đề. Người dùng đã vẽ đa giác bắt đầu từ phía dưới bên phải và đi theo chiều kim đồng hồ. Nếu tôi sắp xếp lại thứ tự các điểm từ vĩ độ lớn nhất và sau đó đi ngược chiều kim loại bằng cách sắp xếp theo vĩ độ dài thì nó hoạt động. Đã tìm thấy người trợ giúp cho nó, nhưng điều đó chỉ hoạt động nếu bạn "biết nó sai":
if(sqlGeography.EnvelopeAngle() > 90)
sqlGeography ? sqlGeography.ReorientObject();
Chỉ cần kết hợp một giải pháp nhỏ sẽ khắc phục các giá trị của tôi: https://github.com/danielwertheim/GeographyFactory
và một bài đăng trên blog về nó: http://danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position/
và phần tiếp theo về "vấn đề" thực sự, quy tắc bên trái:
http:// danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position-no/