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 Mon 28 January 2019 15:17

artichaud
Participant occasionnel
Date d'inscription: 16 May 2011
Messages: 32

QGIS: Renseigner un champ à partir d'une couche vecteur

Bonjour,

Je m'arrache un peu les cheveux depuis un petit moment... : je cherche à faire une manip' qui me semblait élémentaire, et que je crois avoir déjà fait par le passé avec QGis sans soucis, mais je n'arrive plus tout tout à le faire !

J'ai deux couches vecteurs, l'une avec des contours de parcelles cadastrales et l'autre avec, entre autre, des natures d'occupation du sol. J'ai créé un nouveau champ attributaire dans ma couche de parcelles et j'aimerai renseigner ce champ avec l'information de l'occupation du sol de ma deuxième couche. Mais par le menu vecteur, je ne trouve rien qui ressemble à cette fonction...

Si quelqu'un avait de quoi m'aider, ce serait top ! Merci d'avance !

Hors ligne

 

#2 Mon 28 January 2019 15:27

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

Bonjour,

C'est l'outil intersection, ou bien joindre les attributs par localisation

Cela dit, si deux types d'occupation du sol présents sur la parcelle :
- réaliser une intersection → couche intersection
- ajouter la surface à la couche intersection
- utiliser group stats en cherchant par id_parcelle la superficie maximale
- ... et donc le type d'occupation du sol dominant
Peut sans doute être exécuté en une passe avec les nouvelles fonctions aggregate du calculateur d'expression, cela dit


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Tue 29 January 2019 08:25

sylvainSIG
Participant assidu
Lieu: Moissac
Date d'inscription: 29 Nov 2018
Messages: 265

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

Si je comprend bien, de deux couches vecteur tu veux passer à une seule, n'est ce pas ? Si tel est le cas, tu crées un champ commun aux deux couches vecteur et tu demandes une jointure de table. Du moins, si c'est ce que j'ai compris...

Hors ligne

 

#4 Tue 29 January 2019 10:25

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1663

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

Bonjour,

Vous avez dans Vecteurs/Outils de gestion des données, "joindre les attributs par localisation". Mais effectivement à voir ce qu'il se passe s'il y a plus d'une catégorie d'occupation du sol. Sinon il faudrait découper les parcelles par la couche d'occupation du sol, calculer les nouvelles surfaces de parcelles découpées. Sinon, sinon, il y a FME...

Hors ligne

 

#5 Tue 29 January 2019 11:52

artichaud
Participant occasionnel
Date d'inscription: 16 May 2011
Messages: 32

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

Bonjour,

Et merci beaucoup pour vos réponses rapides !

Grâce à vos aides j'ai suis parvenue à mes fins, mais c'était plus complexe que ce que je m'étais imaginé... :
- avec la fonction intersection j'ai créé une 3ème couche, avec le parcellaire cadastral redécoupé en autant de mode d'occupation du sol (MOS) différent par parcelles ;
- j'ai créé un identifiant commun entre cette dernière couche et la couche du parcellaire cadastral ;
- j'ai fait une jointure entre les deux couches

Par contre effectivement, le soucis est qu'il y a bien souvent plusieurs MOS par parcelle, et que lors de la jointure je crois qu'il prend le premier par ordre alphabétique. Je connais pas les fonctions aggregate ou group stats évoquée, mais je vais essayer de regarder, pour trouver une solution pour avoir la MOS dominante en surface qui soit renseignée.

(D'ailleurs dommage qu'on ne puisse pas indiqué une règle avec la fusion, ce serait bien pratique !)

Un grand merci à vous !

Hors ligne

 

#6 Tue 29 January 2019 18:30

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

J'ai créé un nouveau champ attributaire dans ma couche de parcelles et j'aimerai renseigner ce champ avec l'information de l'occupation du sol de ma deuxième couche


Tu souhaiterais avoir quoi au final comme résultat dans ce nouveau champ ? L'utilisation prédominante ?

Vincent

Hors ligne

 

#7 Tue 29 January 2019 22:29

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

[retiré]

Dernière modification par carteq (Wed 30 January 2019 18:05)

Hors ligne

 

#8 Tue 29 January 2019 22:54

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

Le code SQL testé et fonctionnel.

Code:

Select Utilisation, parcelle_no, superficie
 from (Select * from Intersect_shp Order By superficie desc) 
Group BY parcelle_no

J'ai testé avec la version 3.4.4. J'ai dû envoyer la couche Intersect_shp dans un Geopackage. C'est beaucoup plus fiable et performant que de fonctionner en Virtual Layer, une fois dans le DB Manager.

Dernière modification par carteq (Wed 30 January 2019 18:05)

Hors ligne

 

#9 Wed 30 January 2019 16:54

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: QGIS: Renseigner un champ à partir d'une couche vecteur

[retiré]

Dernière modification par carteq (Wed 30 January 2019 18:05)

Hors ligne

 

Pied de page des forums

Powered by FluxBB