Как исправить ориентацию кольца многоугольника с помощью C # Entity Framework 5 DbGeography Spatial Data

Я работаю с новой Entity-Framework 5, использующей тип пространственных данных DbGeography как часть моей модели для хранения в одном случае POINT, а в другом - POLYGON.

При установке значения моего POLYGON все сохраняются без ошибок, однако это только в том случае, если я рисую многоугольник на карте по часовой стрелке. Если я рисую POLGON против часовой стрелки, я получаю ошибку на уровне sql, указывающую на то, что данные имеют недопустимый тип географии.

Теперь, после того, как я провел собственное исследование проблемы, он, похоже, проистекает из того, что тип географических данных был довольно строгим с точки зрения ориентации кольца полигонов. Наиболее распространенным решением, по-видимому, является создание многоугольника как геометрии, а затем преобразование его в тип географии.

Я ищу решение в C #, которое можно применить к данным, прежде чем они будут отправлены в sql. В основном это то, что автоматически исправит ориентацию кольца массива координат.

Я попытался перехватить ошибку, а затем перестроить строку путем обращения массива. В некоторых случаях это работает, но, во-первых, это ненадежно, а во-вторых, обнаружение ошибки приводит к значительному снижению производительности.

Спасибо Крис

Ответы на вопрос(3)

Ваш ответ на вопрос