Comment supprimer les valeurs Z dans PostGIS?

9

Comment puis-je me débarrasser de la dimension Z dans PostGIS? Plus précisément, j'ai des MultiPolygonZs que je veux copier dans un autre tableau comme MultiPolygons. Je ne me soucie pas des valeurs Z - c'est juste de les jeter.

Il doit y avoir un moyen simple, mais je n'ai pas pu trouver de fonctions qui font cela ... Tous les conseils sont grandement appréciés!

Xavier Holt
la source

Réponses:

12

Vous devriez pouvoir le faire avec ST_Force2D

Voici l'exemple du manuel:

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

Il pourrait être possible d'utiliser également un opérateur CAST (en fonction de règles implicites et peu documentées), mais j'irais avec la fonction à ce sujet.

BradHards
la source
Parfait! J'ai dû utiliser l'ancien nom ( ST_Force_2D), car je suis sur PostGIS <2.1, mais tout était là dans le manuel. Je savais que cette fonction devait exister quelque part ... Merci beaucoup!
Xavier Holt