#1 Sat 12 May 2018 14:07
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
QGIS: distance balises dans une piste pédestre ou VTT
Bonjour,
Je dispose d'une piste en shape et un shape contenant des balises qui la sillonnent. Je souhaite calculer automatiquement la distance de chaque balise au point de départ de la piste. Comment faire (peut-être que chaque balise doit être placée sur la piste)?
Hors ligne
#2 Mon 14 May 2018 15:10
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: distance balises dans une piste pédestre ou VTT
Bonjour,
Il y a dans QGIS>=2.18 la fonction line_locate_point qui renvoie la distance le long d'une ligne d'un point projeté dessus (voir https://qgis.org/fr/site/forusers/visua … -functions et l'aide dans QGIS), donc pas forcément besoin que le point soit dessus. Formule non testée mais en supposant que dans la couche ligne il n'y a qu'une entité, ça devrait donner quelque chose comme
Code:
line_locate_point ($geometry, geometry(get_feature('macoucheligne','unchamp','lavaleurcorrespondante')))
Et s'il y a plus d'entités il faudra préalablement trouver les plus proches voisins et faire le calcul en tenant compte des correspondances entre voisins.
Hors ligne
#3 Mon 14 May 2018 15:11
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: distance balises dans une piste pédestre ou VTT
c'est impossible?
Hors ligne
#4 Mon 14 May 2018 15:23
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: distance balises dans une piste pédestre ou VTT
oups... je n'avais pas vu que vous aviez répondu. Je vais regarder.
Hors ligne
#5 Mon 14 May 2018 15:47
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: distance balises dans une piste pédestre ou VTT
Je dois bien mettre ce code dans la calculatrice de champs?
Si oui, dans le shape points ou le shape ligne?
Et que dois-je mettre dans 'lavaleurcorrespondante'?
Hors ligne
#6 Mon 14 May 2018 16:09
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: distance balises dans une piste pédestre ou VTT
oui, l'info est à calculer... pour chaque objet point (donc couche point)
'lavaleurcorrespondante' est l'attribut de la ligne pour le champ 'unchamp' que vous avez choisi
Je vous invite à regarder l'aide des fonctions utilisées pour comprendre la structure de la commande et les remplacements à faire
Dernière modification par SANTANNA (Mon 14 May 2018 16:10)
Hors ligne
#7 Mon 14 May 2018 17:22
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: distance balises dans une piste pédestre ou VTT
Merci mais il semble que ce code permet de mesurer la distance la plus proche pour chaque point par rapport à la piste en question.
Mon souhait c'est de mesurer la distance de chaque balise par rapport au point de départ de la piste en question, tout en suivant l'itinéraire de la piste en question.
Hors ligne
#8 Mon 14 May 2018 17:38
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: distance balises dans une piste pédestre ou VTT
Merci mais il semble que ce code permet de mesurer la distance la plus proche pour chaque point par rapport à la piste en question
Vous voulez dire la distance entre le point et son projeté sur la ligne? Je ne crois pas. Ce n'est pas ce que disent la description ni l'exemple de la fonction line_locate_point. Par contre, il y a une erreur dans le code, j'ai inversé les entrées, la première devant être la ligne et pas la géométrie point ie
Code:
line_locate_point (geometry(get_feature('macoucheligne','unchamp','lavaleurcorrespondante')), $geometry)
Hors ligne
#9 Mon 14 May 2018 20:15
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: distance balises dans une piste pédestre ou VTT
Sinon j'ai pensé dupliquer la couche des pistes et la découper au niveau des balises. Puis créer un champ "distance" pour chaque tronçon crée. Il y aura donc la longueur du tronçon A, la longueur du tronçon B et ainsi de suite jusqu'à la fin du parcours... Ainsi la longueur du tronçon A + B correspondra à la longueur du point B jusqu'au départ de la piste. Ce que j'aimerais savoir c'est comment créer sur un nouveau champ qui calculerait automatiquement la longueur du tronçon A et du tronçon B, la longueur du tronçon A + la longueur du tronçon B + la longueur du tronçon C... et ainsi de suite jusqu'à la fin.
Hors ligne
#10 Tue 15 May 2018 10:25
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: distance balises dans une piste pédestre ou VTT
Bonjour,
pour m'assurer que je ne nous perds pas le temps, avez-vous au moins essayé la formule corrigée avant de vouloir vous lancer dans d'autres tentatives? Si cela n'a pas marché, un retour (sur ce que vous avez saisi et l(e message d)'erreur) serait apprécié. Merci.
Hors ligne
#11 Tue 15 May 2018 15:48
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: distance balises dans une piste pédestre ou VTT
Cela fonctionne mais donne des distances erronées. Les points sont sur la ligne. Cela me crée des distances de 0 pour le premier point, 722 pour le 2ème point, 1683 pour le 3ème point et 2318 pour le 4ème point.
Voir en pj comment sont disposés les points.
Hors ligne
#12 Tue 15 May 2018 15:57
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: distance balises dans une piste pédestre ou VTT
Cela fonctionne mais donne des distances erronées.
L'ordre de grandeur des résultats me paraît plutôt cohérent avec le dessin. Quels sont les résultats qui auraient dût être renvoyés (en mesurant manuellement)?
Hors ligne
#13 Tue 15 May 2018 16:08
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: distance balises dans une piste pédestre ou VTT
Ok, cela fonctionne. Je n'avais pas trop bien saisi. Je pensais que cela représentait la distance la plus proche de la ligne.
En fait, Il s'agit bien de la distance de chaque point par rapport au point de départ de la ligne.
J'ai fait un test avec des points éloignés de la ligne, et la distance calculée est celle du raccordement le plus proche du point à la ligne avec le point de départ de la ligne.
Hors ligne