#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
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