This shows you the differences between two versions of the page.
— |
overlay [2022/06/21 19:29] (current) abeverley created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Using Overpass to extract data from OpenStreetMap ===== | ||
+ | I used the following [[https://overpass-turbo.eu/|Overpass]] files to measure the amount of cycle lanes in cities: | ||
+ | |||
+ | ==== Total length of highways in Westminster ==== | ||
+ | |||
+ | [out:csv(number,length)]; | ||
+ | {{geocodeArea:Westminster}}->.searchArea; | ||
+ | way["highway"]["highway"!="cycleway"]["highway"!="bridleway"]["highway"!="footway"]["highway"!="path"]["highway"!="service"]["access"!="private"](area.searchArea); | ||
+ | make stat number=count(ways),length=sum(length()); | ||
+ | out; | ||
+ | |||
+ | ==== Total length of segregated cycleways in Westminster ==== | ||
+ | |||
+ | [out:csv(number,length)]; | ||
+ | {{geocodeArea:Westminster}}->.searchArea; | ||
+ | way["highway"="cycleway"]["foot"!="designated"](area.searchArea); | ||
+ | make stat number=count(ways),length=sum(length()); | ||
+ | out; | ||
+ | |||
+ | ==== Total length of segregated cycleways in Camden ==== | ||
+ | |||
+ | [out:csv(number,length)]; | ||
+ | {{geocodeArea:London borough of Camden}}->.searchArea; | ||
+ | way["highway"="cycleway"](area.searchArea); | ||
+ | make stat number=count(ways),length=sum(length()); | ||
+ | out; | ||
+ | |||
+ | ==== Show all segregated cycleways in Westminster on a map ==== | ||
+ | |||
+ | Click the zoom icon once generated | ||
+ | |||
+ | [out:json]; | ||
+ | {{geocodeArea:Westminster}}->.searchArea; | ||
+ | ( | ||
+ | way["highway"="cycleway"]["foot"!="designated"](area.searchArea); | ||
+ | ); | ||
+ | out body; | ||
+ | >; | ||
+ | out skel qt; | ||
+ | |||
+ | ==== Show only roads in Westminster on a map ==== | ||
+ | |||
+ | [out:json]; | ||
+ | {{geocodeArea:Westminster}}->.searchArea; | ||
+ | ( | ||
+ | way["highway"]["highway"!="cycleway"]["highway"!="bridleway"]["highway"!="footway"]["highway"!="path"]["highway"!="service"]["access"!="private"](area.searchArea); | ||
+ | ); | ||
+ | out body; | ||
+ | >; | ||
+ | out skel qt; | ||
+ | ==== Show segregated cycle routes on current viewed map ==== | ||
+ | |||
+ | [bbox:{{bbox}}]; | ||
+ | ( | ||
+ | way["highway"="cycleway"]; | ||
+ | ); | ||
+ | out geom; | ||
+ | |||
+ | ==== Other things I didn't write details for ==== | ||
+ | |||
+ | [out:csv(length,value)]; | ||
+ | area[name="London"]->.a; | ||
+ | way[highway](area.a); | ||
+ | for (t["highway"]) | ||
+ | { | ||
+ | make stat value=_.val,length=sum(length()); | ||
+ | out; | ||
+ | } | ||
+ | |||
+ | [out:csv(length,value)]; | ||
+ | area[name="London"]; | ||
+ | way[highway="cycleway"]; | ||
+ | out | ||
+ | for (t["highway"]) | ||
+ | { | ||
+ | make stat value=_.val,length=sum(length()); | ||
+ | out; | ||
+ | } | ||
+ | |||
+ | [out:csv(length,value)]; | ||
+ | area[name="Isle of Man"]->.a; | ||
+ | way[highway="cycleway"](area.a); | ||
+ | for (t["highway"]) | ||
+ | { | ||
+ | make stat value=_.val,length=sum(length()); | ||
+ | out; | ||
+ | } | ||
+ | |||
+ | [out:csv(length,value)]; | ||
+ | area[name="Isle of Man"]->.a; | ||
+ | way[highway="cycleway"](area.a); | ||
+ | make stats length=sum(length()); | ||
+ | out; | ||
+ | |||
+ | [out:csv(length,value)]; | ||
+ | area[name="London"] | ||
+ | .way[highway="cycleway"] | ||
+ | .way[cycleway="sidewalk"]; | ||
+ | make stats length=sum(length()); | ||
+ | out; | ||
+ | |||
+ | [out:csv(length,value)]; | ||
+ | area[name="London"]; | ||
+ | way[highway="cycleway"](area)->.a; | ||
+ | way[highway="cycleway"](area)->.b; | ||
+ | way.a.b; | ||
+ | make stats length=sum(length()); | ||
+ | out; | ||
+ | |||
+ | [out:csv(length,value)]; | ||
+ | area[name="London"]; | ||
+ | way[highway="cycleway"](area)->.a; | ||
+ | way[cycleway!="sidewalk"](area)->.b; | ||
+ | way[foot!="yes"](area)->.c; | ||
+ | way.a.b.c; | ||
+ | make stats length=sum(length()); | ||
+ | out; |