ฉันจะตัดค่า Z ใน PostGIS ได้อย่างไร


9

ฉันจะกำจัดมิติ Z ใน PostGIS ได้อย่างไร โดยเฉพาะฉันมีบางอย่างMultiPolygonZที่ฉันต้องการคัดลอกลงในตารางอื่นเป็น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 เช่นกัน (ขึ้นอยู่กับกฎระเบียบบางอย่าง, เอกสารที่ไม่ชัดเจน) แต่ฉันจะใช้ฟังก์ชันนี้


ที่สมบูรณ์แบบ! ฉันต้องใช้ชื่อเก่า ( ST_Force_2D) เนื่องจากฉันใช้ PostGIS <2.1 แต่มันมีอยู่ในคู่มือ ฉันรู้ว่าฟังก์ชั่นนั้นต้องมีอยู่ที่ไหนสักแห่ง ... ขอบคุณมัด!
Xavier Holt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.