#1 Tue 26 August 2014 17:27
- fabclermont975
- Participant occasionnel
- Date d'inscription: 7 Apr 2014
- Messages: 22
QGIS : calcul entre couches
bonjour à tous,
peux-t-on avec QGIS faire des calculs entre couches ?
par exemple obtenir des pourcentages en fonction de valeurs renseignées dans les champs de deux couches différentes ?
merci de votre aide.
Hors ligne
#2 Tue 26 August 2014 18:30
Re: QGIS : calcul entre couches
Bonjour,
C'est un peu imprécis. Pourriez vous nous donner un exemple plus précis ?
Si c'est par exemple faire le pourcentage de surface de batis dans une commune, par exemple, oui, c'est possible à partir d'une couche commune et d'une couche batis que l'on croise.
Hors ligne
#3 Wed 27 August 2014 10:40
- fabclermont975
- Participant occasionnel
- Date d'inscription: 7 Apr 2014
- Messages: 22
Re: QGIS : calcul entre couches
bonjour,
tout d'abord, merci pour votre réponse. afin de préciser ma pensée, je vais repartir sur votre exemple :
imaginons une couche commune (polygone) avec un champ "surface", et une deuxième couche bâti (polygone) avec également un champ "surface", comment puis-je calculer via QGis le pourcentage de bâti par commune en faisant référence à deux champs de deux couches différentes.
Si vous pouviez me préciser cette formule...
Merci d'avance.
Hors ligne
#4 Wed 27 August 2014 11:59
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : calcul entre couches
Via un tableau croisé dynamique sous Excel ?
Hors ligne
#5 Wed 27 August 2014 14:18
- fabclermont975
- Participant occasionnel
- Date d'inscription: 7 Apr 2014
- Messages: 22
Re: QGIS : calcul entre couches
en fait je souhaite créer un nouveau champs dans la couche "bâti" dans lequel le calcul de pourcentage de bâti par commune s'effectuerait...
Hors ligne
#6 Thu 28 August 2014 03:31
- Leyan
- Participant assidu
- Date d'inscription: 14 Oct 2013
- Messages: 160
Re: QGIS : calcul entre couches
Tu peux utiliser l'outil intersection, qui va te donner une couche avec les polygones qui sont à la fois dans la couche bâti et dans la couche commune. De plus, chacun de ces polygones va avoir les attributs des deux couches. Tu peux ensuite calculer leur surface en créant un nouvel attribut calculé par la formule $area, puis calculer le ratio de ces surfaces avec la surface de la commune correspondante (le plus simple pour cela est d'exporter les tableaux obtenus dans Excel).
Bien sûr, je suppose que les communes ne se chevauchent pas entre elles, et les bâtiments non plus, sinon cela devient plus complexe ...
Si c'est une manœuvre à répéter très régulièrement, il vaut mieux passer par une base de données et SQL, c'est possible de tout faire en une formule, mais plus complexe.
Hors ligne
#7 Thu 28 August 2014 09:45
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : calcul entre couches
la réponse est là : http://georezo.net/forum/viewtopic.php?id=93480
merci Chicon_power
Hors ligne
#8 Thu 28 August 2014 16:23
- fabclermont975
- Participant occasionnel
- Date d'inscription: 7 Apr 2014
- Messages: 22
Re: QGIS : calcul entre couches
pas très familier de QSpatialite, je pensais, peut être naïvement qu'on pouvait facilement avec QGIS créer un champ dans une couche X et remplir ce champ en "important " la valeur d'un autre champ d'une couche Y...
Hors ligne
#9 Fri 29 August 2014 03:44
- Leyan
- Participant assidu
- Date d'inscription: 14 Oct 2013
- Messages: 160
Re: QGIS : calcul entre couches
pas très familier de QSpatialite, je pensais, peut être naïvement qu'on pouvait facilement avec QGIS créer un champ dans une couche X et remplir ce champ en "important " la valeur d'un autre champ d'une couche Y...
Oui, tu peux faire cela (Vecteur->Outils de gestion de données->Joindre les attributs par localisation), mais pour des polygones, c'est plus complexe. Comment doit faire l'outil lorsqu'un polygone est à cheval entre deux autres?
Hors ligne
#10 Fri 29 August 2014 16:20
- fabclermont975
- Participant occasionnel
- Date d'inscription: 7 Apr 2014
- Messages: 22
Re: QGIS : calcul entre couches
je vous remercie de vous pencher sur mon problème, ceci dit je pense m'être mal expliquer sur mon problème :
J'ai 3 couches :
couche A, avec un champ A1 et un deuxième champ A2, une deuxième couche B avec un champ B1 et un champ B2 et enfin une couche C avec un champ C1 :
j'aimerais donc remplir le champ C1 de la manière suivante : si la valeur dans A1 = valeur dans B1 alors se calcule valeur A2*B2 dans le champ C1
Hors ligne
#11 Fri 29 August 2014 19:14
Re: QGIS : calcul entre couches
Dans l'idée, on croise toutes les couches entre avec une Union (=croisement de toutes les géométries + conservation des attributs), puis ensuite seulement on fait les calculs
Hors ligne
#12 Wed 10 September 2014 10:59
- fabclermont975
- Participant occasionnel
- Date d'inscription: 7 Apr 2014
- Messages: 22
Re: QGIS : calcul entre couches
Merci pour vos réponses, je vais regarder tout ça de près et faire mes tests.
Hors ligne
#13 Wed 09 November 2016 15:33
- MorganVT
- Participant occasionnel
- Date d'inscription: 27 Jul 2016
- Messages: 19
Re: QGIS : calcul entre couches
fabclermont975 a écrit:pas très familier de QSpatialite, je pensais, peut être naïvement qu'on pouvait facilement avec QGIS créer un champ dans une couche X et remplir ce champ en "important " la valeur d'un autre champ d'une couche Y...
Oui, tu peux faire cela (Vecteur->Outils de gestion de données->Joindre les attributs par localisation), mais pour des polygones, c'est plus complexe. Comment doit faire l'outil lorsqu'un polygone est à cheval entre deux autres?
Bonjour, je me permets de sortir cet ancien post, car j'ai presque le même soucis.
Pour être clair j'ai deux tables différentes, celle du cadastre et celle du bâti.
Je veux faire le calcul du coef d'emprise au sol de manière systématique. Or, lorsqu'il y a deux constructions sur la même parcelle, il ne prends qu'un seul bâtiment. Comment l'intégrer dans mon calcul de façon automatique ?
Autre question : Est-ce assez précis, est il possible d'avoir un décalage avec l'utilisation de ce système ?
Bonne journée
Hors ligne