#1 Wed 21 April 2021 15:05
- Njoy
- Participant actif
- Lieu: Lyon
- Date d'inscription: 29 Nov 2018
- Messages: 89
QGIS 3.x: Python ".buffer(a,b), comment ca marche ?
Bonjour,
Dans mon plugin, je travaille sur deux couches avec des multitudes de points sur l'une, et des polyligne sur l'autre
Je récupère les deux géométries des éléments de ces couches, et j'essaye de les croiser via commande ".intersects()"
Seulement les points sont parfois un tout petit peu décalés de ces polylignes, un décalage qui se voit à partir d'une échelle infiniment petite de l'odre de 10000:1
J'ai trouvé cette fonction ".buffer()" qui je pense pourrait m'aider, mais j'ai du mal à comprendre son fonctionnement et les unités des valeurs à renseigner
Ma géométrie de point : geom_p
Ma géométrie de ligne : geom_l
Je boucle premièrement sur chaque entité de ma couche ligne, chaque entité que l'on nommera "geom_l_occurence"
Je boucle sur chaque entités de ma couche "geom_p", chaque entité que l'on nommera "geom_p_occurence"
Puis j'essaie de faire ainsi pour savoir si mon entité ponctuelle est sur ma ligne:
Code:
if geom_l_occurence.buffer(1,0).intersects(geom_p_occurence): #alors la condition est vraie
Seulement j'ai aucune idée de quelles valeurs renseigner, ni si je procède correctement sur le .buffer(1,0)
A quoi correspond la distance de 1? Unités de carte ? Pixel ? cordonnées ?
A quoi correspond le nombre de segments en deuxième arguments ?
D'avance merci de m'avoir lu
Dernière modification par Njoy (Thu 22 April 2021 16:03)
Hors ligne