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 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: 3896

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

 

Pied de page des forums

Powered by FluxBB