Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 27 July 2021 15:30

S_imon
Participant occasionnel
Date d'inscription: 10 Feb 2017
Messages: 33

QGIS 3.16.7: Distance entre 2 points selon une polyligne

Bonjour

Je viens vers vous afin de trouver conseil. En effet je cherche à déterminer les distances à la source pour les stations dont je dispose sur la Saône.

Je dispose de ma couche Ligne "linéaire Saône" ( extraite de la BD Topage), de mes localisations de stations que j'ai toutes reliées à mon linéaire via Closest point ( couche" stations_pêche"), de la localisation de la source.

Après plusieurs essais je n'arrive pas à calculer/ obtenir la distance à la source pour chaque, notamment avec l'outil matrice de distance, les distances affichées étant toutes calculées " à vol d'oiseau".

Est-ce que quelqu'un aurait la solution à mon problème ?

Je travaille sous Qgis 3.16.7 - Je vous remercie

Hors ligne

 

#2 Tue 27 July 2021 17:15

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS 3.16.7: Distance entre 2 points selon une polyligne

Bonjour,

Je dispose de ma couche Ligne "linéaire Saône" ( extraite de la BD Topage), de mes localisations de stations que j'ai toutes reliées à mon linéaire via Closest point ( couche" stations_pêche"), de la localisation de la source.


Si je puis me permettre, ne préjugez pas de ce que les forumeurs connaissent forcément les plugins que vous utilisez et pensez à décrire ce qu'ils vous sortent comme résultat. De ce que je vois, "Closest Points" projette la station sur le linéaire et pour chaque point projeté, il indique dans la table attributaire, l'id de la station (from_fid) et l'id du linéaire (to_fid). A partir de là, on peut essayer (sur la couche closest_points générée):

Code:

line_locate_point( -- fonction qui calcule le long d'un linéaire, depuis le début
geometry(get_feature_by_id( 'lineaire_saone', -- lequel linéaire est dans la couche lineaire_saone
 attribute($currentfeature,'to_fid') )),-- avec pour $id celui référencé par l'entité closest_points actuelle dans son champ "to_fid"
,$geometry) -- et on s'arrête à l'entité en question

A priori, cela devrait marcher; la logique me semble bonne mais un test chez moi renvoie des valeurs aberrantes mais j'ai un projet brouillon avec un cafouillis de SCR...

Hors ligne

 

#3 Thu 29 July 2021 16:32

S_imon
Participant occasionnel
Date d'inscription: 10 Feb 2017
Messages: 33

Re: QGIS 3.16.7: Distance entre 2 points selon une polyligne

Bonjour,

Tout d'abord, merci beaucoup d'avoir répondu aussi rapidement à ma question.

En effet et je m'en excuse, j'aurais dû préciser la sortie de la fonction "Closest Points".

Concernant la réponse que vous m'avez apporté, il se pose un problème : le champ "to_find" de la couche Closest_points n'est composé que de valeurs nulles. Après avoir essayé le script avec le champ " id", il se fait que j'obtiens une seule valeur de distance mais correcte.

J'avoue ne pas trop comprendre ce qu'il se passe,

Je vous remercie par avance du temps passé à essayer de m'éclaircir

Hors ligne

 

#4 Fri 30 July 2021 07:14

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3945

Re: QGIS 3.16.7: Distance entre 2 points selon une polyligne

Bonjour,

En effet et je m'en excuse, j'aurais dû préciser la sortie de la fonction "Closest Points".


C'est pas grave. C'est juste que ça fait gagner du temps aux gens et surtout précise, explique un peu plus vos données et votre contexte donc augmente le nombre potentiel de répondants.
Pour ce qui est des résultats de "Closest points", difficile à dire. Réessayez et vérifiez que vous utilisez les bonnes couches, le bon algorithme, les projections... Quitte à recréer un petit jeu de données et tester. Je ne sais pas ce qui peut clocher

Hors ligne

 

Pied de page des forums

Powered by FluxBB