Come posso eliminare i valori Z in PostGIS?


9

Come posso eliminare la dimensione Z in PostGIS? In particolare, ho alcuni messaggi MultiPolygonZche voglio copiare in un altro tavolo come MultiPolygoni messaggi. Non mi interessano i valori Z: va bene buttarli via.

Deve esserci un modo semplice, ma non sono stato in grado di trovare alcuna funzione che lo faccia ... Tutti i suggerimenti sono molto apprezzati!

Risposte:


12

Dovresti essere in grado di farlo con ST_Force2D

Questo è l'esempio del manuale:

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

Potrebbe essere possibile utilizzare anche un operatore CAST (a seconda di alcune regole implicite, non ben documentate), ma preferirei questa funzione.


Perfetto! Ho dovuto usare il vecchio nome ( ST_Force_2D), visto che sono su PostGIS <2.1, ma era tutto lì nel manuale. Ho saputo che la funzione doveva esistere da qualche parte ... Grazie mille!
Xavier Holt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.