У меня есть несколько сотен фигур ( polygon
с и multipolygon
я) каждый из которых состоит из десятков тысяч точек , которые я пытаюсь войти в SQL 2008.
К сожалению, фигуры, которые я попытался импортировать, являются «правосторонними» (периметр каждой из них нарисован по часовой стрелке вокруг точек, которые она содержит). SQL-сервер принимает «левосторонние» формы (против часовой стрелки внутри), по крайней мере, для geography
типов. Это означает, что SQL предполагает, что я пытаюсь выбрать всю землю, кроме моей формы. Некоторые люди описывают это как "наизнанку" формы.
Из MSDN , который, к сожалению, не говорит, какую ориентацию кольца следует использовать:
Если мы используем
geography
тип данных для хранения пространственного экземпляра, мы должны указать ориентацию кольца и точно описать местоположение экземпляра.
Если вы используете неправильную ориентацию кольца в SQL 2008, он вылетает со следующей ошибкой (выделено мной):
Ошибка .NET Framework произошла во время выполнения пользовательской подпрограммы или совокупной «географии»: Microsoft.SqlServer.Types.GLArgumentException: 24205: указанный ввод не представляет допустимый экземпляр географии, поскольку он превышает одно полушарие. Каждый экземпляр географии должен помещаться в одном полушарии. Распространенной причиной этой ошибки является неправильная ориентация кольца.
Импортирование фигур geometry
вместо geography
работы нормально, но я бы хотел использовать, geography
если смогу.
В SQL 2012 исправить эту проблему довольно просто , но я привязан к 2008 году.
Как мне преобразовать фигуры?