Message posté par : preliator
----------------------------------------
Bonjour,
A partir d'un point de départ, je souhaiterais obtenir une zone de desserte de 4km,
avec comme poids le dénivelé de chaque tronçon de route (on passe sur les routes les moins
dénivelées). Débutant dans la matière, voici comment je me vois procéder :
- Obtenir la zone de desserte de 4km avec PgRouting (pgr_drivingDistance), avec comme
seul poids celui de la distance afin d'observer jusqu'où je peux aller en partant
de mon point.
- Extraire les derniers sommets (extrémités) de la couche obtenue, qui seront les points
à atteindre en partant du départ.
- Calculer les trajets les plus "courts" (pgr_dijkstra : 1 à N) en utilisant
le poids du dénivelé de chaque tronçon de route, de mon poids de départ à chaque sommet
obtenue avec la précédente requête.
J'ai réussi à obtenir ma zone de desserte avec cette requête :
-----------------
Code :
select *
from pgr_drivingDistance(
'select id, source, target, st_length(geom) as cost FROM road',
131, 4000, false)
-----------------
Ce qui me donne cette couche (en pièce jointe), du type LineString avec 2402 entités :
https://zupimages.net/viewer.php?id=21/22/b12b.png
La prochaine étape serait donc d'obtenir les "st_endpoint" de ma couche,
pour obtenir les points à atteindre avec pgr_dijkstra de mon point de départ.
Malheureusement, je n'y arrive pas. Evidement, calculer le st_endpoint de ma couche
reviendrait à extraire le dernier sommet de chaque tronçon de route, ce qui ne me convient
pas.
Est-il possible de réaliser ceci sur PostGis ?
Un grand merci.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343649#p343649
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net