Как я могу удалить значения Z в PostGIS?

9

Как мне избавиться от измерения Z в PostGIS? В частности, у меня есть некоторые MultiPolygonZs, которые я хочу скопировать в другую таблицу как MultiPolygons. Меня не волнуют значения Z - можно просто выбросить их.

Должен быть простой способ, но я не смог найти никаких функций, которые делают это ... Любые советы очень ценятся!

Ксавье Холт
источник

Ответы:

12

Вы должны быть в состоянии сделать это с ST_Force2D

Вот пример из руководства:

SELECT  ST_AsEWKT(ST_Force2D('POLYGON((0 0 2,0 5 2,5 0 2,0 0 2),(1 1 2,3 1 2,1 3 2,1 1 2))'));

                  st_asewkt
----------------------------------------------
 POLYGON((0 0,0 5,5 0,0 0),(1 1,3 1,1 3,1 1))

Возможно также, что можно использовать оператор CAST (в зависимости от некоторых неявных, недостаточно документированных правил), но я бы остановился на этой функции.

BradHards
источник
Отлично! Мне пришлось использовать старое имя ( ST_Force_2D), так как я на PostGIS <2.1, но все это было в руководстве. Я знал, что эта функция должна была где-то существовать ... Спасибо большое!
Ксавье Холт