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é ?

#1 Tue 16 July 2024 09:38

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

QGIS: PYQGIS -> PYTHON -> Abcisse curviligne

Bonjour,

J'ai beau cherché depuis quelques temps, je bute

Je voudrais écrire 2 fonctions traitant des abcisses curvilignes

La première prenant en arguments un objet linéaire et un point et rendant une distance

Code:

def WBO_DonnerAbcisseCurviligne (feature,point):
   ...
   ...
   return(distance)

La deuxième prenant en arguments un objet linéaire et une distance et rendant un point

Code:

def WBO_DonnerPointAbcisseCurviligne (feature,distance):
   ...
   ...
   return(point)

Et tout cela en code Python

Pourriez-vous m'aider ?

Merci et bonne journée

PYJ

Hors ligne

 

#2 Wed 17 July 2024 07:19

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 347

Re: QGIS: PYQGIS -> PYTHON -> Abcisse curviligne

Bonjour,
Si cela peut vous être utile, j'ai trouvé une fonction qui fait le taf pour rend un point sur la ligne et à une distance donnée

Code:

def WBO_GEOM_DonnerPointAbscisseCurviligne(linear_object,distance):
   if isinstance(linear_object, QgsFeature):
      line_geom = linear_object.geometry()
   else:
      line_geom = linear_object
   
   # Calculer la position du point
   point_geom = line_geom.interpolate(distance)
   return point_geom.asPoint()

Reste à trouver l'autre fonction

PYJ

Hors ligne

 

#3 Wed 17 July 2024 10:23

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS: PYQGIS -> PYTHON -> Abcisse curviligne

Bonjour,

Si votre point est sur la ligne (ce qui semble être le cas), vous pouvez vous inspirer de la solution présentée ici:

https://gis.stackexchange.com/questions … gis-pyqgis

Sinon il faudra d'abord calculer la projection de votre point sur votre ligne.

Hors ligne

 

Pied de page des forums

Powered by FluxBB