Conversion d'une géométrie à 3 dimensions en 2 dimensions

12

J'ai une table de points dans laquelle la colonne de géométrie contient à la fois des valeurs en 3 dimensions et en 2 dimensions. Je veux convertir cette géométrie en 3 dimensions en 2 dimensions. Y a-t-il une fonction dans PostGIS? Veuillez m'aider à résoudre ce problème.

Cordialement Sreesha.TA

Sreesha
la source
Je voudrais utiliser ST_Force2D mais ça dit: la fonction st_force2d (géométrie) n'existe pas Avez-vous une idée? Merci, Laszlo
Laszlo

Réponses:

9

Si vous ne souhaitez pas ajouter de nouvelle colonne, vous pouvez également procéder comme suit:

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

Par exemple:

ALTER TABLE your_geo_table  
  ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326) 
    USING ST_Force_2D(geom);
Thomas B
la source
J'ai essayé cette suggestion sur une base de données que j'ai (dans mon cas, j'ai eu un problème similaire mais je voulais forcer les points à être en 3D), mais je reçois cette erreur: ERREUR: la fonction st_force_3d (géographie) n'existe pas LIGNE 3 : UTILISATION DE ST_Force_3D (geom); ^ CONSEIL: Aucune fonction ne correspond au nom et aux types d'arguments donnés. Vous devrez peut-être ajouter des transtypages de types explicites. ********** Erreur ********** ERREUR: la fonction st_force_3d (géographie) n'existe pas État SQL: 42883 Astuce: Aucune fonction ne correspond au nom et aux types d'arguments donnés. Vous devrez peut-être ajouter des transtypages de types explicites. Personnage: 89
Andrea Grandi
Je suppose que c'est parce que ST_Force3D fonctionne avec le type de géométrie et non avec le type de géographie.
Thomas B