Преобразование поля геометрии в набор Google latlng - PullRequest
1 голос
/ 01 февраля 2012

Для хранения геопространственных данных поле Geometry используется на сервере SQL или в Oracle Spatial.Я хочу знать, есть ли способ, которым мы можем преобразовать это геометрическое поле во множество широт и долгот.

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Я предполагаю, что данные в вашем столбце геометрии выражены с использованием системы координат проекции координат?Если это так, вам придется сначала спроецировать и / или преобразовать его в соответствующую географическую систему координат.Для Карт Google это должен быть EPSG: 4326 (WGS84)

Простое преобразование между столбцами геометрии и географии через WKT или WKB, как предложено paulH, не изменит тип координат, в которых выражены ваши данные,и SQL Server не имеет встроенных функций преобразования.Вместо этого вы должны использовать стороннюю библиотеку, такую ​​как Proj.NET (http://projnet.codeplex.com), которая предоставляет функции проекции и преобразования данных с использованием 7-параметрических преобразований Хельмерта. Относительно легко импортировать эту библиотеку, а затем создать процедуру на основе SQLCLRна нем для преобразования данных между различными SRID.

После того, как вы получили столбец данных географических координат в правильном SRID, вы можете выбрать значения координат широты / долготы данной точки, используя свойства Lat и Long.

0 голосов
/ 01 февраля 2012

Если вы можете преобразовать поле Geometry в тип данных Geography ( в этой статье есть несколько примеров того, как это сделать), то вы можете выбрать GeographyValue.Lat и GeographyValue.Long.

...