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.
Pages: 1
- Sujet précédent - QGIS: Selection geograph avec critere de pourcentage de superposition - Sujet suivant
#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
Pages: 1
- Sujet précédent - QGIS: Selection geograph avec critere de pourcentage de superposition - Sujet suivant