#1 Sat 11 January 2020 15:06
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Pollution pesticide sur les tronçons de rivière
Bonjour à tous,
Sur une base de donnée Postgre/Postgis, je dispose d'une couche tracé représentant des cours d'eau (principal et affluents), une couche point représentant les sommets de ces cours d'eau (extraction des sommets), et une couche polygone représentant le Registre Parcellaire Graphique (type de culture). Mon objectif est de représenter de manière cartographique les affluents du cours d'eau principal qui présente une forte pollution liée aux pesticides sur des types de cultures définies.
Pour chaque tronçon d'affluents, j'ai fais un comptage du nombre de parcelles intersectés. Je voudrais à présent additionner ces valeurs de parcelles intersectées, au moment ou l'affluent rejoins le cours d'eau principal.
Voici un exemple en image : https://zupimages.net/viewer.php?id=20/02/3fd4.png
Les points bleus représentes l'endroit où l'affluent rejoint le cours d'eau principal. Les zones entourées en vert correspondent à des affluents qui rejoignent des affluents, et donc une addition du nombre de parcelles intersectées respectif.
Je voudrais donner aux points bleu (ou sur une autre couche ?) la somme des parcelles intersectées par les affluents qui touchent ce point.
Par exemple, si je devais donner une valeur de parcelles intersectées par les affluents fictives, chaque point en bleu aurait ces valeurs : https://zupimages.net/viewer.php?id=20/02/nc0i.png
En SQL, je ne sais pas trop comment m'y prendre.
Merci à vous.
Dernière modification par preliator (Sat 11 January 2020 15:15)
Hors ligne
#2 Sat 11 January 2020 15:47
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Re: Pollution pesticide sur les tronçons de rivière
Edit : Après de nombreux essais, j'ai réussi à construire la bonne requête pour obtenir le nom de chacun des affluents qui s'intersectent avec la formule suivante :
Code:
select distinct a.nomentiteh, b.nomentiteh, b.nbr_type_culture_polluante from rivieres a, rivieres b where st_intersects(a.geom, b.geom) and a.nomentiteh != b.nomentiteh and b.nbr_type_culture_polluante is not null and a.nbr_type_culture_polluante is not null order by a.nomentiteh
Je sais donc quel affluent intersecte quel autre affluent. Mais toujours impossible d'additionner le nombre de parcelles intersectées.
Hors ligne