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

#1 Fri 07 June 2024 03:15

nosliW
Juste Inscrit !
Date d'inscription: 7 Jun 2024
Messages: 8

QGIS: Mise a jour d un nouveau champ

Bonjour,
Pardonnez moi pour cette question qui va vous paraitre très très simple : j'ai téléchargé un énorme fichier ("points d'interets OpenstreetMap") au format csv possédant des longitudes et latitudes qui ont bien été placées sur la carte. Sauf que moi j'aimerais bien voir apparaitre dans la table d'attributs le nom de la commune qui n'apparait pas dans ce fichier...
Alors j'ai créé un champs commune dans cette nouvelle couche et j'aimerais bien la mettre a jour...
J'ai dans une autre couche j'ai la base des communes de France alors voila ma question :
Comment puis-je mettre a jour mon nouveaux champs "commune" grâce a la table des communes qui se trouve juste en dessous ?
C'est en fait une opération de "reverse geocode", j'ai tenté avec l'extension MMQGIS mais pour 400 enregistrements, ç a pris 3 heures... J’aimerais trouver quelque chose de plus rapide, bcp plus rapide...
Merci smile

Hors ligne

 

#2 Fri 07 June 2024 07:24

arginet
Participant occasionnel
Lieu: Lyon
Date d'inscription: 23 Feb 2017
Messages: 45

Re: QGIS: Mise a jour d un nouveau champ

Bonjour,

Vous pouvez utiliser dans la calculatrice de champs la fonction overlay_intersects https://docs.qgis.org/3.16/fr/docs/user … intersects. Elle permet de récupérer la liste des entités d'une autre couche, intersectées par l'entité courante.

Selon vos besoins, il vous faudra peut-être transformer la liste des communes intersectées en une chaine de caractères :

Code:

array_to_string(overlay_intersects('couche_communes', nom))

Hors ligne

 

#3 Fri 07 June 2024 18:33

nosliW
Juste Inscrit !
Date d'inscription: 7 Jun 2024
Messages: 8

Re: QGIS: Mise a jour d un nouveau champ

Bonjour,
Merci beaucoup pour votre aide. Je suis débutant alors j'ai un peu galéré pour mettre ça en œuvre, mais j'ai réussi.
J'ai aussi compris que pour que la mise a jour soit effective, il fallait que les entités soient sélectionnées. Du coup, comme il y a plusieurs centaines de milliers d'entité a traiter, c'est en cours smile J'ai hâte de voir le résultat.
Merci encore, c'est très sympa d’être venu a mon aide. Et bravo pour votre compétence !

Hors ligne

 

#4 Mon 10 June 2024 10:52

nosliW
Juste Inscrit !
Date d'inscription: 7 Jun 2024
Messages: 8

Re: QGIS: Mise a jour d un nouveau champ

Bonjour, cela a fonctionné parfaitement, c'est génial, merci encore smile

Hors ligne

 

#5 Mon 10 June 2024 14:30

arginet
Participant occasionnel
Lieu: Lyon
Date d'inscription: 23 Feb 2017
Messages: 45

Re: QGIS: Mise a jour d un nouveau champ

Bravo !

Il me semble que overlay_intersects() utilise les indexes spatiaux. Vous pourriez donc améliorer la performance de votre requête en créant ou en mettant à jour les indexes spatiaux des couches concernées. Couche > "Propriétés..."> onglet "Source" > "Créer un index spatial".

Hors ligne

 

#6 Mon 10 June 2024 16:25

nosliW
Juste Inscrit !
Date d'inscription: 7 Jun 2024
Messages: 8

Re: QGIS: Mise a jour d un nouveau champ

C'est une super idée, parce que ça a pris... trèèèès longtemps. Je vais étudier ça smile
Merci beaucoup pour ce bon conseil !

Hors ligne

 

#7 Mon 10 June 2024 20:11

nosliW
Juste Inscrit !
Date d'inscription: 7 Jun 2024
Messages: 8

Re: QGIS: Mise a jour d un nouveau champ

Le gain de traitement est hallucinant... Merci @arginet... Merci smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB