¿Cómo puedo eliminar los valores Z en PostGIS?

9

¿Cómo me deshago de la dimensión Z en PostGIS? Específicamente, tengo algunos MultiPolygonZs que quiero copiar en otra tabla como MultiPolygons. No me importan los valores Z: está bien tirarlos a la basura.

Debe haber una manera simple, pero no he podido encontrar ninguna función que haga esto ... ¡Se agradece mucho cualquier consejo!

Xavier Holt
fuente

Respuestas:

12

Debería poder hacer esto con ST_Force2D

Este es el ejemplo del manual:

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))

Es posible que también sea posible usar un operador CAST (dependiendo de algunas reglas implícitas, no bien documentadas), pero me gustaría ir con la función en esto.

BradHards
fuente
¡Perfecto! Tuve que usar el nombre antiguo ( ST_Force_2D), ya que estoy en PostGIS <2.1, pero estaba todo en el manual. Yo sabía que la función tenía que existir en algún lugar ... Gracias un montón!
Xavier Holt