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

Printemps des cartes 2024

#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

 

Pied de page des forums

Powered by FluxBB