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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 15 March 2023 09:28

Emmanuel Poizot
Juste Inscrit !
Date d'inscription: 15 Mar 2023
Messages: 7

QGIS: Code Python pour Overlay de Layer

Bonjour,
je développe un script Python dans lequel je souhaite sélectionner tous les points d'une couche A (de points) qui se trouvent à l'intérieur des polygones d'une couches B (de polygones) ayant une certaine valeur pour un des attributs de B.
J'a bien trouvé la formulation suivante que je peux saisir dans le dialogue "Selection par expression" et qui fonctionne:
overlay_within(B,filter:='"CODE"='GL1b''),
lorsque la couche A est sélectionné
Mais je ne sais pas comment reproduire ce comportement en Python dans mon script.
Bonne journée.

Hors ligne

 

#2 Wed 15 March 2023 12:05

Emmanuel Poizot
Juste Inscrit !
Date d'inscription: 15 Mar 2023
Messages: 7

Re: QGIS: Code Python pour Overlay de Layer

Bonjour,
j'ai fini par trouver, mais ça n'était pas tout à fait la direction que j'avais pris au départ smile

B.selectByExpression("\"CODE\"=\'GL1b\'")
print("{0} polygons selected".format(len(BselectedFeatures())))
to_select =[]
for poly in B.selectedFeatures():
        for pts in A.getFeatures():
           if B.geometry().contains(pts.geometry()):
               to_select.append(pts.id())
    A.selectByIds(to_select)   
    print("Selection end...{0} selected features".format(len(B.selectedFeatures())))

A+

Hors ligne

 

Pied de page des forums

Powered by FluxBB