#1 Mon 23 March 2020 09:35
- Njoy
- Participant actif
- Lieu: Lyon
- Date d'inscription: 29 Nov 2018
- Messages: 89
QGIS 2.18/Python: Ligne dans Polygon
Bonjour,
J'ai deux couches,
Une couche ligne avec de mutliples éléments (features)
Une couche Polygon avec de mutliples éléments (features2)
Je dois controler que chaque "ligne", ait son origine et son extremité à l'intérieur du même "Polygon"
Je suis sur du Python pour controler tout ça, mais je n'y arrives pas,
Voici ce que j'essaie, en vain :
Code:
for f in features: geometry_racc = f.geometry().asPolyline() test = 1 for f2 in features2: geom = f2.geometry() if geom.contains(geometry_racc[0]) and geom.contains(geometry_racc[-1]): test = 0 if test == 0: compteur_erreur = compteur_erreur + 1
Si quelqu'un sait m'aider, j'en serais très reconnaissant, Merci à vous
Hors ligne
#2 Mon 23 March 2020 15:18
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: QGIS 2.18/Python: Ligne dans Polygon
À première vue, vous évaluez avec tous les objets dans la 2e boucle.
Vous devriez évaluer seulement le cas où la ligne "touche" ou est "contenue" dans le polygone avant de tester si [0] et [-1] sont dans ce polygone. Sinon, ça va presque toujours dire que [0] et [-1] ne sont pas dans le polygone.
Dernière modification par carteq (Mon 23 March 2020 15:30)
Hors ligne
#3 Wed 01 April 2020 09:10
- Njoy
- Participant actif
- Lieu: Lyon
- Date d'inscription: 29 Nov 2018
- Messages: 89
Re: QGIS 2.18/Python: Ligne dans Polygon
Bonjour,
Pouvez vous me guider sur la ligne de code a réaliser pour traduire vos dires ?
Merci
Hors ligne
#4 Wed 01 April 2020 09:33
- Njoy
- Participant actif
- Lieu: Lyon
- Date d'inscription: 29 Nov 2018
- Messages: 89
Re: QGIS 2.18/Python: Ligne dans Polygon
Bonjour,
C'est bon j'ai réussis, le probleme était que je ne redefinissais pas ma collection features2 pour chaque features.
Si quelqu'un est intéressé par un probleme simmilaire je pourrais le guider
Hors ligne