banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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 smile

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

 

Pied de page des forums

Powered by FluxBB