As a combination of bachelor project / bachelor thesis.
A river segment (for example, the Rhine between Breisach and Strasbourg) can be thought of as consisting of many small streams and other rivers (tributaries) that contributed to this river. A nice way to visualize this would be a metro map, where each river is a single metro line and multiple (possibly hundreds) of small parallel lines make up a segment of a larger river.
Goal: Generate a graph of the rivers in OSM and try to deduce which river segment is made up of which smaller streams. Render this graph in a pleasing way, or use our tool LOOM to do so.
Requirements:
- Generate a geographical graph, as GeoJSON, in which nodes are "river intersections" (where two or more rivers join) and edges are river segments between those intersections. Each edge should have a list of rivers that contributed to it as an attribute.
- You should write a tool that can be used from the command line.
- The output format should be the GeoJSON format used by LOOM.
Optional:
- Write your own code to render this graph.
- Write a web application to display this graph, where you can click on each river and display some useful information.