Используя PostGIS, у меня есть точка широты / долготы, и я хочу добавить смещение восток / запад и север / юг в метрах, чтобы получить новую точку. Это возможно?
Используя PostGIS, у меня есть точка широты / долготы, и я хочу добавить смещение восток / запад и север / юг в метрах, чтобы получить новую точку. Это возможно?
Ответы:
Вы можете использовать ST_Translate:
Функция ST_Translate принимает любую геометрию (линейная строка, многострочная и т. Д.), Возвращает новую геометрию, которая является исходной геометрией, перемещенной вектором, определенным X, Y, Z. Обратите внимание, что единицы измерения всегда находятся в единицах пространственной системы отсчета аргумента геометрии. Есть две формы этого ST_Translate. ST_Translate (геометрия, X, Y, Z) и ST_Translate (геометрия, X, Y).
Источник: http://www.bostongis.com/postgis_translate.snippet
Сначала вам придется преобразовать широту / долготу в метры. Вы можете использовать ST_Transform для достижения этой цели:
ST_Transform - возвращает новую геометрию с координатами, преобразованными в SRID, на который ссылается целочисленный параметр.