Hallo Forum,
bei meinem Projekt bin ich gerade dabei, einige Daten für die Verwendung von PostGIS zu konvertieren. Dabei sind unter anderem Multipolygone, die (zur weiteren Verarbeitung) im Textformat gespeichert sind:
[[[[lat1,lon1],[lat2,lon2],...]]]]
Eine solche Zeichenkette würde ich gerne in ein echtes Array wie es von PostgreSQL verwendet wird umwandeln.
Gibt es dafür eine PG- oder PostGIS-Funktion, die das erledigt, oder muss ich mir ein (PHP/Perl-)Skript basteln, das dies erledigt?
Im Voraus danke für die Antworten
Es sollte reichen die eckigen Klammern durch geschweifte zu ersetzen, dann kann man das direkt casten
select translate('[[1,1],[2,2]]', '[]', '{}')::int[]
Danke castorp, funktioniert. Da hätte ich auch selber drauf kommen können
Hallo nochmal,
ich bin einen Schritt weiter gegangen und habe mich für Multipolygon im PostGIS-Format entschieden.
Die Umwandlung von Text in den Typ geometry:
SELECT ST_GeomFromGeoJSON( '{"type":"Multipolygon","coordinates":' || polygon_wgs84_array || };' ) ...
wobei
polygon_wgs84_array = '[[[[lat1,lon1],[lat2,lon2],...]]]]'
Schönen Abend noch