Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

GEODATA DAYS 2024

#1 Tue 27 May 2014 10:06

douante
Juste Inscrit !
Date d'inscription: 20 Apr 2010
Messages: 3

QGIS 2.2 : Jointure spatiale

Bonjour,

(Désolé si la question a déjà été posée, je ne l'ai pas trouvé)

Je cherche à exécuter une jointure spatiale entre 2 tables.
J'ai découpé des polygones par rapport à des limites communales, je cherche désormais à attribuer à chaque polygone le code INSEE correspondant. Seul hic, l'outil "Vecteur -> outil de gestion de données ->  Joindre les attributs par localisation" me renvoie étrangement des données erronées (parfois le code INSEE de la commune voisine, je suspecte Qgis de s'arrêter de chercher quand il "touche" un polygone). Le peu d'option de la boite de dialogue ne me permet pas de corriger le problème.

Existe t'il une autre solution via une extension ou autre ?

Merci d'avance pour votre aide wink

Hors ligne

 

#2 Tue 27 May 2014 10:43

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: QGIS 2.2 : Jointure spatiale

Bonjour,

Passez plutôt par l'outil Requête spatiale qui vous permettra de choisir votre opérateur (interescte, touche..etc).


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#3 Tue 27 May 2014 11:08

douante
Juste Inscrit !
Date d'inscription: 20 Apr 2010
Messages: 3

Re: QGIS 2.2 : Jointure spatiale

Merci pour votre réponse, mais sauf erreur de ma part, cette opération ne me permettra pas de mettre à jour une colonne Code INSEE issue de ma couche commune ?

Hors ligne

 

#4 Tue 27 May 2014 11:20

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: QGIS 2.2 : Jointure spatiale

Vous avez raison, j'ai répondu beaucoup trop vite en réagissant uniquement sur votre problème de limites.


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#5 Tue 27 May 2014 11:50

Benoit91
Participant assidu
Date d'inscription: 2 Oct 2008
Messages: 263

Re: QGIS 2.2 : Jointure spatiale

Bonjour

Ce n'est pas terrible comme solution, mais vous pouvez passer par l'extension MMQGIS => combine => spatial join.
C'est pas terrible car cela vous créé une couche supplémentaire mais avec le ou les champs sélection lors de votre jointure spatiale.

Cordialement.

Dernière modification par Benoit91 (Tue 27 May 2014 13:52)

Hors ligne

 

#6 Tue 27 May 2014 12:07

Leyan
Participant assidu
Date d'inscription: 14 Oct 2013
Messages: 160

Re: QGIS 2.2 : Jointure spatiale

En effet, joindre les attributs par localisation va s'arrêter au premier élément qui touche, il n'y a pas d'option pour limiter aux éléments qui contiennent le polygone entier.

Quel type de données utilises-tu ? Cela semble tout indiqué pour une requête PostGIS du genre :

Code:

UPDATE polygon2 p2 SET val = p1.val1 FROM polygon1 p1 
WHERE ST_contains(p1.geom,p2.geom);

Dernière modification par Leyan (Tue 27 May 2014 12:08)

Hors ligne

 

#7 Tue 27 May 2014 14:52

douante
Juste Inscrit !
Date d'inscription: 20 Apr 2010
Messages: 3

Re: QGIS 2.2 : Jointure spatiale

Merci pour vos propositions,

@Leyan : j'utilise des zonages saisis à grande échelle, je cherche à faire des calculs de surface par commune. J'avais préalablement découpé mes polygones par rapport à mes limites communales puisque les polygones peuvent être à cheval sur 2 voire plus de communes.

Pour PostGis, il va falloir que je m'y mette ! j'ai pas encoure fourré le nez dedans


Benoit91 a écrit:

Bonjour

C'est terrible comme solution, mais vous pouvez passer par l'extension MMQGIS => combine => spatial join.
C'est pas terrible car cela vous créer une couche supplémentaire mais avec le ou les champs sélection lors de votre jointure spatiale.

Cordialement.


J'ai testé, ça marchait presque ! Le fait que les limites de mes polygones et communales se touchaient parfois faisait déconner la requête (attribution du mauvais code INSEE). J'ai fait une zone tampon "érosion" (tampon = -1m) qui m'a permis de faire la requête suivante : Polygone within Commune.

Il m'a suffit de faire une joiture attributaire derrière pour recoller les codes INSEE sur ma bonne table de polygones.

OUF !

Y a sûrement plus simple à faire mais ça marche c'est déjà ça

Merci pour les tuyaus

Hors ligne

 

Pied de page des forums

Powered by FluxBB