Voilà de quoi faire:
select h.osm_id, h.highway, h.name, h.ref,
st_length(st_transform(h.way,2154))/1000 as km, count(*) as nb,
string_agg(c.tags-'ref:INSEE',' ' order by c.tags-'ref:INSEE') as insee
from planet_osm_line h join planet_osm_polygon c on (c.boundary is not null
and c.admin_level='8'
cool merci,
group by 1,2,3,4,5 ?
goup by je vois mais c a 5 cela correspond à ?
il me manquait les codes insee
pour trouver sur quelle commune etait le VRAI name
avec http://cadastre.openstreetmap.fr/fantoir/
(c'est pas toujours évident)
la majorité des erreurs sont sur les RD
- name avec la
le group 5 c'est pour la longueur du way, vu qu'il n'y a pas d'aggregation
dessus, il faut le mettre dans le group by.
La requête a besoin d'un index sur le ref:INSEE pour être rapide... c'est
le cas sur osm105 où j'ai testé ça.
Le 15 mai 2015 10:43, didier2020 didier2...@free.fr a écrit :
- j'ai compris depuis ...
1,2,3,4,5 correspond aux select (id... km)
mais sans les remettre - je connaissais pas cette syntaxe
- j'ai ajouté having count(*)1
ça fait moins de lignes
- du coup c'est meme pas long pour la france !
encore merci christian !
- Mail d'origine -
De:
J'ai sorti un CSV du résultat sur la France entière:
http://osm105.openstreetmap.fr/~cquest/routes.csv
92750 cas à vérifier... ;)
Le 15 mai 2015 15:50, didier2...@free.fr a écrit :
- j'ai compris depuis ...
1,2,3,4,5 correspond aux select (id... km)
mais sans les remettre - je connaissais