Wie kann ich Z-Werte in PostGIS entfernen?

9

Wie entferne ich die Z-Dimension in PostGIS? Insbesondere habe ich einige MultiPolygonZs, die ich als MultiPolygons in eine andere Tabelle kopieren möchte . Die Z-Werte sind mir egal - es ist in Ordnung, sie einfach wegzuwerfen.

Es muss einen einfachen Weg geben, aber ich konnte keine Funktionen finden, die dies tun ... Tipps sind sehr willkommen!

Xavier Holt
quelle

Antworten:

12

Sie sollten dies mit ST_Force2D tun können

Dies ist das Beispiel aus dem Handbuch:

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

Es könnte möglich sein, auch einen CAST-Operator zu verwenden (abhängig von einigen impliziten, nicht gut dokumentierten Regeln), aber ich würde mit dieser Funktion fortfahren.

BradHards
quelle
Perfekt! Ich musste den alten Namen ( ST_Force_2D) verwenden, da ich auf PostGIS <2.1 bin, aber es war alles im Handbuch enthalten. Ich wusste, dass diese Funktion irgendwo existieren musste ... Vielen Dank!
Xavier Holt