Récupérer toutes les intersections/carrefours d'une ville ?

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Winfried
Messages : 73
Inscription : jeu. juin 30, 2016 9:35 am

Récupérer toutes les intersections/carrefours d'une ville ?

Message par Winfried » dim. mai 26, 2019 3:58 pm

Bonjour,

Tout est dans le titre : j'ai besoin de récupérer l'ensemble des carrefours dans une ville (en France).

La requête Overpass suivante ne remonte rien:

Code : Tout sélectionner

[out:json][timeout:25];

//Ma ville: 123456
rel(123456);map_to_area -> .searchArea;

(
way[highway~"^(motorway)$"](area.searchArea);
node(w)[highway=motorway_junction](area.searchArea);
);

out meta;
Une idée ?

Merci.

Avatar de l’utilisateur
cquest
Messages : 1923
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Récupérer toutes les intersections/carrefours d'une ville ?

Message par cquest » dim. mai 26, 2019 4:11 pm

J'ai fait ça il y a peu pour géoréférencer une liste de caméra de surveillance à Paris.

Fait avec postgis, je ne vois pas trop comment le faire avec overpass.

Winfried
Messages : 73
Inscription : jeu. juin 30, 2016 9:35 am

Re: Récupérer toutes les intersections/carrefours d'une ville ?

Message par Winfried » dim. mai 26, 2019 4:22 pm

C'est difficile à faire avec PostGIS pour un newbie ?

Avatar de l’utilisateur
cquest
Messages : 1923
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Récupérer toutes les intersections/carrefours d'une ville ?

Message par cquest » dim. mai 26, 2019 4:29 pm

Voici mon script:

Code : Tout sélectionner

# Requête overpass-turbo
# [out:json][timeout:60]; {{geocodeArea:Paris}}->.paris; way[highway][name](area.paris); out body;>;out skel qt;
# export le résultat en geojson depuis overpass-turbo

ogr2ogr -f postgresql PG:dbname=$USER -nln rues_paris export.geojson
psql -c "copy (select a.name as nom1, b.name as nom2,
  st_x(st_centroid(st_collect(st_intersection(a.wkb_geometry, b.wkb_geometry)))) as lon,
  st_y(st_centroid(st_collect(st_intersection(a.wkb_geometry, b.wkb_geometry)))) as lat
from rues_paris a join rues_paris b on (st_intersects(a.wkb_geometry, b.wkb_geometry) and a.ogc_fid < b.ogc_fid and a.name != b.name)
group by 1,2 order by 1,2)
to STDOUT with (format csv, header true)" > croisements_rues_paris.csv

Winfried
Messages : 73
Inscription : jeu. juin 30, 2016 9:35 am

Re: Récupérer toutes les intersections/carrefours d'une ville ?

Message par Winfried » dim. mai 26, 2019 4:30 pm

Merci !

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités