Преобразование из трехмерной геометрии в двухмерную


12

У меня есть таблица точек, в которой столбец геометрии содержит 3 измерения и 2 значения измерения. Я хочу преобразовать эту 3-мерную геометрию в 2 измерения. Есть ли какая-либо функция в PostGIS? Пожалуйста, помогите мне решить эту проблему.

С уважением Sreesha.TA


Я хотел бы использовать ST_Force2D, но там написано: функция st_force2d (геометрия) не существует. Есть идеи? Спасибо, Ласло
Ласло

Ответы:



9

Если вы не хотите добавлять новый столбец, вы также можете сделать следующее:

ALTER TABLE your_geo_table  
  ALTER COLUMN geom TYPE geometry(YOUR_GEOM_TYPE, YOUR_EPSG) 
    USING ST_Force_2D(geom);

Например:

ALTER TABLE your_geo_table  
  ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) 
    USING ST_Force_2D(geom);

Я попробовал это предложение в базе данных, которая у меня есть (в моем случае у меня была похожая проблема, но я хотел, чтобы точки были трехмерными), но я получаю эту ошибку: ОШИБКА: функция st_force_3d (география) не существует LINE 3 : ИСПОЛЬЗОВАНИЕ ST_Force_3D (geom); ^ СОВЕТ: ни одна функция не соответствует заданному имени и типу аргумента. Возможно, вам придется добавить явные приведения типов. ********** Ошибка ********** ОШИБКА: функция st_force_3d (география) не существует Состояние SQL: 42883 Подсказка: ни одна функция не соответствует заданному имени и типу аргумента. Возможно, вам придется добавить явные приведения типов. Характер: 89
Андреа Гранди

Я думаю, это потому, что ST_Force3D работает с типом геометрии, а не с типом географии.
Томас Б.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.