Làm cách nào tôi có thể loại bỏ các giá trị Z trong PostGIS?


9

Làm cách nào để thoát khỏi kích thước Z trong PostGIS? Cụ thể, tôi có một số MultiPolygonZs mà tôi muốn sao chép vào một bảng khác dưới dạng MultiPolygons. Tôi không quan tâm đến các giá trị Z - không sao nếu bạn vứt chúng đi.

Phải có một cách đơn giản, nhưng tôi không thể tìm thấy bất kỳ chức năng nào thực hiện điều này ... Bất kỳ mẹo nào đều được đánh giá cao!

Câu trả lời:


12

Bạn sẽ có thể làm điều này với ST_Force2D

Đây là ví dụ từ hướng dẫn:

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

Cũng có thể sử dụng toán tử CAST (tùy thuộc vào một số quy tắc ngầm, không được ghi chép rõ ràng), nhưng tôi sẽ sử dụng chức năng này.


Hoàn hảo! Tôi đã phải sử dụng tên cũ ( ST_Force_2D), như tôi trên PostGIS <2.1, nhưng tất cả đều có trong hướng dẫn. Tôi biết rằng chức năng đó phải tồn tại ở đâu đó ... Cảm ơn rất nhiều!
Xavier Holt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.