#1 Wed 02 June 2021 16:43
- RomainS
- Juste Inscrit !
- Date d'inscription: 30 Sep 2017
- Messages: 1
QGIS: Polygones indetermines
Bonjour,
J'ai problème avec une couche shape représentant une variable du sol. La valeur de cette variable est renseignée tous les 50m. Cependant, il existe des entités qui n'ont pas de valeurs. Je voudrais que chaque entité sans valeur la valeur de l'entité la plus proche. Par exemple, une entité sans valeur regarde chacun de ses voisins et prend la valeur qu'il voit la plus souvent.
Existe-il un outil pour réaliser cela ?
Merci et bonne journée,
Romain
Hors ligne
#2 Thu 03 June 2021 15:05
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: QGIS: Polygones indetermines
Bonjour
Vous pouvez regarder du côté des analyses du plus proche voisin peut-être:
- Ex. de plugin (pas testé) : QNeighborhood
- Avec une méthode plus cousue main:
* Identifier les polygones adjacents (Ex. d'outils: Boite à outils de traitements => SAGA=> Shared polygons edges)
* Faire ensuite des jointures spatiales 1 à plusieurs
* Repérer pour un polygone les valeurs des polygones adjacents et voir les valeurs qui se répètent
Cordialement
Hors ligne
#3 Thu 03 June 2021 16:42
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3921
Re: QGIS: Polygones indetermines
Bonjour,
Par exemple, une entité sans valeur regarde chacun de ses voisins et prend la valeur qu'il voit la plus souvent.
Un nombre de voisins précis? Une distance précise? c'est possible avec array_majority (requiert 3.18 ou le plugin Array Plus) et overlay_nearest (requiert 3.16) - le tout à encapsuler dans un case when...
Code:
array_majority( -- on récupère la valeur majoritaire ou la plus présente overlay_nearest( -- on crée la liste des voisins les plus proches layer:='lenomdelacouche', expression:="lechampàrécupérer", limit:=-1, -- on demande tous les voisins possibles (à voir si vous limitez) max_distance:=50 -- à moins de 50 unités de carte ) -- si vous utilisez 3.18, il faudra passer un deuxième paramètre : voir doc )
Hors ligne