osm-lump-ways
group OSM ways based on topology & shared tagsAnswer questions about OSM data like:
- “What's the longest Main Street?”
- “How far can I drive on unpaved roads in this region?”
- “How long is the M1 motorway?”
- “Are these rivers connected?”
- “What's the river drainage basins?”
Generate river drainage basins
osm-lump-ways -i path/to/region-latest.osm.pbf -o region-rivers.geojson -f waterway=river
To group based on the river's name:
osm-lump-ways -i path/to/region-latest.osm.pbf -o region-rivers.geojson -f waterway=river -g name
To find long streets and assemble them into connected (Multi)LineStrings:
osm-lump-ways -i path/to/region-latest.osm.pbf -o region-rivers.geojson -f highway -g name
cargo install osm-lump-ways
OSM linear features (eg roads, rivers, walls) are stored as way
object. The OSM tagging
model often requires one feature to
be mapped as many different ways. osm-lump-ways
will assemble them all together.
Run with --help
to see all options.
osm-river-basins
This software isn't finished, here's what I'd like to add. Feel free to send a patch.
--split-into-way
uses Floyd–Warshall algorithm to calculate all pairs
shortest path. It's incredibly slow on large numbers of points, e.g. >10k. It
also single threaded. This should be replaces with something like multiple
runs of Dijkstra's Algorithm to speed it up.TBC
Copyright 2023, MIT/Apache2.0. Source code is on Github
(osm-lump-ways
).
The output data file(s) are a Derived Database of the OpenStreetMap database, and hence under the ODbL 1.0 licence, the same as the OpenStreetMap copyright, and contains data © OpenStreetMap contributors