I'm successfully managed to filter all nodes of a specific type by using osmfilter
:
osmfilter austria.o5m --keep="highway=speed_camera"
Now I have got a lot of nodes like this:
<node id="3906966442" lat="48.2975844" lon="14.2988663" version="1" timestamp="2015-12-23T18:18:11Z" changeset="36131585" uid="180830" user="flaimo">
<tag k="highway" v="speed_camera"/>
<tag k="maxspeed" v="50"/>
</node>
And in the end I'm converting it to a CSV using:
osmconvert - --all-to-nodes --csv="@id @lon @lat @timestamp maxspeed"
Which works fine. However in addition to the maxspeed
value I'd also be interested in the name of the street where this node is attached too. Since nodes like speed_camera
are always attached to a street this should be possible using the Openstreet map dataset.
The only solution I could think of is todo reverse geolocation look up for each node, which however would be very slow. I'd prefer a more performant solution (ideally based on just osmfilter) like keeping all street entries with speed cameras attached in the OSM dataset, but I can't find anyway to do that with osmfilter.