#1 Mon 18 September 2017 16:43
- hotegbe
- Participant occasionnel
- Date d'inscription: 28 Jun 2017
- Messages: 32
QGIS: distance optimale entre 2 couche de points
Bonjour à tous;
Je dispose de deux couches de points donc deux tables A et B avec une troisième couche C qui est une couche de linéaires représentant des itinéraires existant entre ces points.
Je souhaite calculer à partir de A les chemins les plus courts menant vers B; entre tous les points qui sont liés par le réseau C.
J'ai essayé ce code qui marche bien
Code:
SELECT a.st_typelog, b.st_typelog, a.geom, (SELECT ST_Distance(a.geom, b.geom)) distance FROM t_sitetech a, t_sitetech b WHERE (ST_Distance(a.geom,b.geom))<7000 AND(b.st_typelog='SRO')AND(a.st_code= '0111303958') ORDER BY a.st_typelog;
Sauf qu'ils me donnent des distances à vol d'oiseau sauf que moi je souhaiterais des distances basées sur le linéaire contenue dans la couche C .
Merci d'avance pour tout aide.
Cordialement
Dernière modification par hotegbe (Mon 18 September 2017 16:45)
Hors ligne
#2 Thu 21 September 2017 10:28
Re: QGIS: distance optimale entre 2 couche de points
Bonjour,
La réponse est loin d'être facile..
Ce que vous voulez réaliser, c'est du routing.
Pour cela, vous pouvez vous baser sur l'API de QGIS :
http://qgis.org/api/1.8/group__networkanalysis.html
Notamment :
https://qgis.org/api/classQgsGraphAnalyzer.html
Des exemples d'implémentation ici :
https://github.com/anitagraser/QGIS-Pro … .2/scripts
Voire plus simple,à mon avis :
pgRouting pour PostGIS
http://pgrouting.org/
geodata au cerema et petits billets en géomatique
Hors ligne