#1 Tue 05 November 2019 22:26
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Modifier colonne d'une table spatiale
Bonjour à tous,
Je dispose d'une base de donnée de points vectoriels importée dans PostGre grâce à l'outil "Exporter dans postGreSQL" de QGis, ainsi qu'une couche "Commune" représentant les communes en France.
Bien que sachant le faire sur QGis, j'aimerais pour l'exercice, avec PostGre, créer une colonne "NOM_COMMUNES" dans ma couche point qui m'indiquerait dans quelle commune se trouve chacun des points.
Effectivement, je ne sais pas trop comment m'y prendre pour modifier directement la colonne d'une couche déjà existante avec une requete SQL.
Cette requete serait similaire à ceci :
Code:
select nom_com from communes c, points p where st_intersects(p.geom, c.geom)
Un grand merci à vous.
Hors ligne
#2 Wed 06 November 2019 10:32
- Ben22
- Participant actif
- Lieu: 33
- Date d'inscription: 11 May 2016
- Messages: 96
Re: Modifier colonne d'une table spatiale
Bonjour,
Vous pouvez utiliser la fonction Update comme ceci :
Code:
UPDATE points as t0 SET t0.nom_commune = t1.nom_commune FROM commune as t1 WHERE st_within(t0.the_geom, t1.the_geom);
Hors ligne
#3 Wed 06 November 2019 19:40
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Re: Modifier colonne d'une table spatiale
Merci beaucoup pour votre réponse. Effectivement, ça marche
Est-il possible directement de créer une colonne à ma table "points", qui comportera cette requête ?
Je pensais utiliser la fonction "Alter Table points".
Dernière modification par preliator (Wed 06 November 2019 19:40)
Hors ligne
#4 Fri 08 November 2019 17:08
- baptistegmt
- Juste Inscrit !
- Date d'inscription: 17 Jan 2015
- Messages: 6
Re: Modifier colonne d'une table spatiale
Bonjour,
Vous pouvez utiliser sur votre table un trigger (=déclencheur) et une fonction trigger associée qui permettront l'exécution de cette requête lors d'un insert, update, delete ou truncate.
Hors ligne