У мене є кілька сотень форм ( polygon
ив multipolygon
), кожна з яких складається з десятків тисяч точок, які я намагаюся потрапити в SQL 2008.
На жаль, фігури, які я намагався імпортувати, є "правою рукою" (периметр кожної з них намальований за годинниковою стрілкою навколо точок, які вона містить). Принаймні для geography
типів SQL-сервер припускає фігури зліва (проти годинникової стрілки навколо інтер'єру) . Це означає, що SQL передбачає, що я намагаюся вибрати всю землю, за винятком форми. Деякі люди описують це як форми "всередину".
З MSDN , який розчаровує не сказати, яку орієнтацію кільця потрібно використовувати:
Якщо ми використовуємо
geography
тип даних для зберігання просторового екземпляра, ми повинні вказати орієнтацію кільця і точно описати розташування екземпляра.
Якщо ви використовуєте неправильну орієнтацію кільця в SQL 2008, воно виходить із ладу з наступною помилкою (міна акценту):
Помилка .NET Framework сталася під час виконання визначеної користувачем рутини або сукупної "географії": Microsoft.SqlServer.Types.GLArgumentException: 24205: Вказаний вхід не являє собою дійсний екземпляр географії, оскільки він перевищує єдину півсферу. Кожен екземпляр географії повинен вміщуватися всередині однієї півкулі. Поширеною причиною цієї помилки є те, що багатокутник має неправильну орієнтацію кільця.
Імпорт фігур як geometry
замість geography
працює чудово, але я хотів би скористатися, geography
якщо зможу.
У SQL 2012 видається досить банальним виправити цю проблему, але я прив’язаний до 2008 року.
Як перетворити фігури?