Konvertierung von dreidimensionaler Geometrie in zweidimensionale


12

Ich habe eine Punkttabelle, in der die Geometriespalte sowohl dreidimensionale als auch zweidimensionale Werte enthält. Ich möchte diese dreidimensionale Geometrie in zweidimensionale konvertieren. Gibt es eine Funktion in PostGIS? Bitte helfen Sie mir, dieses Problem zu lösen.

Grüße Sreesha.TA


Ich möchte ST_Force2D verwenden, aber es heißt: Funktion st_force2d (Geometrie) existiert nicht Haben Sie eine Idee? Vielen Dank, Laszlo
Laszlo

Antworten:



9

Wenn Sie keine neue Spalte hinzufügen möchten, können Sie auch Folgendes tun:

ALTER TABLE your_geo_table  
  ALTER COLUMN geom TYPE geometry(YOUR_GEOM_TYPE, YOUR_EPSG) 
    USING ST_Force_2D(geom);

Beispielsweise:

ALTER TABLE your_geo_table  
  ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) 
    USING ST_Force_2D(geom);

Ich habe diesen Vorschlag in einer Datenbank ausprobiert, die ich habe (in meinem Fall hatte ich ein ähnliches Problem, aber ich wollte die Punkte in 3D erzwingen), aber ich erhalte den folgenden Fehler: FEHLER: Funktion st_force_3d (Geografie) existiert nicht LINE 3 : USING ST_Force_3D (geom); ^ TIPP: Keine Funktion entspricht dem angegebenen Namen und den angegebenen Argumenttypen. Möglicherweise müssen Sie explizite Typumwandlungen hinzufügen. ********** Fehler ********** FEHLER: Funktion st_force_3d (Geografie) existiert nicht SQL-Status: 42883 Hinweis: Keine Funktion entspricht dem angegebenen Namen und den angegebenen Argumenttypen. Möglicherweise müssen Sie explizite Typumwandlungen hinzufügen. Charakter: 89
Andrea Grandi

Ich denke, das liegt daran, dass ST_Force3D mit dem Geometrietyp und nicht mit dem Geografietyp arbeitet.
Thomas B
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.