Bonjour,
Je souhaite réaliser des isochrones d’après l’article de l’analyse d’isodistance/
La méthode la plus pertinente dans mon cas de figure se trouve être la méthode dite ‘Isochrone avec St_MakePolygon et St_ExteriorRing’
La requete suivant permet d’obtenir l’isochrone pour toutes les routes à moins de 500m de la poste. Elle fonctionne dès lors que l'on connait l’identifiant (edge_id) du point qui nous intéresse.
Voir la capture du résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 with buffer_itineraire as ( SELECT et.edge_id, st_buffer(et.geom,10,'endcap=square join=round') as geom , 1 as factor FROM pgr_drivingdistance( 'SELECT edge_id as id, start_node as source, end_node as target, tps_distance as cost from routing.edge_data', 8215, 0.5, false, false ) firstPath CROSS JOIN (SELECT id1,cost from pgr_drivingDistance( 'SELECT edge_id as id,start_node as source , end_node as target,tps_distance as cost FROM routing.edge_data', 8215,0.2,false,false) ) secondPath INNER JOIN routing.edge_data et ON firstPath.id1 = et.start_node AND secondPath.id1 = et.end_node) SELECT ST_MakePolygon(ST_ExteriorRing(ST_GeometryN(st_union(geom),1))) as geom FROM buffer_itineraire;
Je cherche à exécuter cette requete pour tous les points qui ont l’information ‘Agroalimentaire’, puis ‘Services’, puis ‘Autres’ contenue dans un champ ‘type_comm’, sans avoir à chercher manuellement l’edge_id pour chacun des points question (il y en a 37).
Pourriez vous m’aider à résoudre cette requête?
Dans l'attente de vos réponses, questions, je vous souhaite une bonne journée.
Marine.
Partager