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!

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.