Bagaimana saya bisa menghapus nilai Z di PostGIS?

9

Bagaimana cara saya menyingkirkan dimensi Z di PostGIS? Secara khusus, saya memiliki beberapa MultiPolygonZs yang ingin saya salin ke tabel lain sebagai MultiPolygons. Saya tidak peduli dengan nilai Z - tidak apa-apa hanya membuangnya.

Pasti ada cara yang sederhana, tetapi saya tidak dapat menemukan fungsi yang melakukan ini ... Setiap tips sangat dihargai!

Xavier Holt
sumber

Jawaban:

12

Anda harus dapat melakukan ini dengan ST_Force2D

Ini adalah contoh dari 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))

Mungkin juga bisa menggunakan operator CAST (tergantung pada beberapa aturan implisit, tidak terdokumentasi dengan baik), tetapi saya akan menggunakan fungsi ini.

BradHards
sumber
Sempurna! Saya harus menggunakan nama lama ( ST_Force_2D), karena saya menggunakan PostGIS <2.1, tetapi semuanya ada di manual. Saya tahu bahwa fungsi harus ada di suatu tempat ... Terima kasih banyak!
Xavier Holt