Ошибка геопространственного запроса SQL-Server 2008 R2 для циклической строки

Пространственные функции SQL: геометрия SQL Point, Linestring работает хорошо, но Circular строка не работает. Когда я пытаюсь сохранить данные типа CircularString в моем типе данных геометрии, возникает следующая ошибка:

Мое заявление:

DECLARE @g1 geometry = 'CIRCULARSTRING EMPTY';

«Произошла ошибка .NET Framework во время выполнения определяемой пользователем подпрограммы или статистической «геометрии»: System.FormatException: 24114: метка CIRCULARSTRING EMPTY во входном общеизвестном тексте (WKT) недопустима. Допустимые метки: POINT, LINESTRING , POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON или GEOMETRYCOLLECTION."

Это связано с моей версией SQL (я использую SQL Server 2008 R2) или я делаю что-то не так.


person Puneet Goel    schedule 20.11.2014    source источник
comment
Добро пожаловать в StackOverflow! См. Должны ли вопросы включать «теги» в свои заголовки? , там, где консенсуса нет, они не должны.   -  person    schedule 20.11.2014


Ответы (1)


Насколько я могу судить из документации, CircularStringбыл добавлен только для SQL Server 2012. Единственная другая моментальная кривая представляется < href="http://msdn.microsoft.com/en-us/library/bb895372.aspx" rel="nofollow noreferrer">LineString, который, как следует из названия, кодирует последовательность сегментов линии. Таким образом, вам лучше всего приблизить круг как (возможно, правильный) многоугольник с достаточным количеством углов. Если это неприемлемо, вам, возможно, придется сохранить свои текущие структуры данных либо исключительно, либо в дополнение к типам пространственных данных, чтобы убедиться, что совпадение действительно соответствует кругу.

Этот ответ был написан исключительно из документов, без опыта его поддержки.

См. ссылку на ссылку.

person PKirby    schedule 20.11.2014
comment
ah.i только что посетил указанную вами страницу, там помеченный ответ был неправильным. Хотя получил ответ в последнем ответе на странице, где говорится, что CIRCULARSTRINGS впервые включены в sql server 2012. Я не уверен, что это ответ, но я проверю запрос в SQLServer2012. - person Puneet Goel; 20.11.2014