Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Tue 20 September 2022 17:27

nicolas34
Juste Inscrit !
Date d'inscription: 6 Sep 2022
Messages: 8

QGIS: Selection geograph avec critere de pourcentage de superposition

Bonjour,

Je souhaite identifier des éléments d'une couche A qui intersectent des éléments d'une couche B. Les 2 couches sont surfaciques.
Mais ma couche B étant dessinée assez grossière, je souhaite que seuls les éléments A qui ont au moins 95% (ou disons 0,5 ha) de leur surface dans un élément B ressortent. Je ne veux pas que la sélection puisse prendre des éléments A qui ont juste un bout dans un élément B.

La sélection par localisation ne fonctionne pas car si je choisis :
- A contenu dans B, ils faut que tout l'élément A soit inclus dans B
- A intercepte B non plus car on a même les toutes petites superpositions.

Je pense qu'il faut faire une sélection par expression, mais avez-vous une idée de la formule adéquate ?
Merci d'avance.

Dernière modification par nicolas34 (Tue 20 September 2022 17:28)

Hors ligne

 

#2 Thu 22 September 2022 15:18

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3789

Re: QGIS: Selection geograph avec critere de pourcentage de superposition

Bonjour,
Sur une >=3.26, la fonction overlay_intersects, avec son argument min_overlap devrait faire l'affaire, pour ce qui est du 0,5 ha.
Pour la méthode à 95%, il faudrait pouvoir intersecter chaque entité A avec chacune des superposées B, en définir la surface, comparer celle-ci avec la surface de A et décider si on retient ou pas. Ça donne, en passant par l'outil de sélection par entité

Code:

 with_variable(
    'liste_superposes', -- Pour chaque entité, on crée une liste 
    overlay_intersects('couche B', NOM), -- des entités en superposition dans l'autre couche
                       -- où NOM est un champ identifiant de façon unique les entités dans B
    case when
      array_max( -- on va ensuite créer une liste des pourcentages de superposition entre l'entité actuelle
                 -- et chacune des entités en superposition dans l'autre couche et
                  -- comparer la plus grande valeur de cette liste
        array_foreach(  
          @liste_superposes,
          with_variable(
            'zone_superpose',
            intersection($geometry, geometry(get_feature('couche B', 'NOM', @element))),
            round(area(@zone_superpose)*100/area($geometry),2)
          )
        )
    ) >=95 -- à la proportion seuil précédemment définie
    then TRUE END -- Si c'est supérieur on prend,
       -- TRUE peut être remplacé par une valeur texte si on veut stocker l'info dans un champ par ex.
  )

EDIT: Modification du code pour utiliser les noms de couche dans le commentaire initial

Dernière modification par SANTANNA (Mon 26 September 2022 17:00)

Hors ligne

 

#3 Mon 26 September 2022 16:36

nicolas34
Juste Inscrit !
Date d'inscription: 6 Sep 2022
Messages: 8

Re: QGIS: Selection geograph avec critere de pourcentage de superposition

Bonjour,

Merci pour votre réponse, je vais tester cette sélection !

Hors ligne

 

Pied de page des forums

Powered by FluxBB