GeoPython 2021

Interpolating Elevation Data inside Tunnel and Bridge Networks
2021-04-22, 09:45–10:15, Track 1

We present a method to interpolate elevation data inside complex tunnel or bridge networks. Our work is based on Python libraries such as NumPy, NetworkX and Flask.


Elevation data is often not available for roads or tracks on bridges and inside tunnels.
We present a method to interpolate elevation data inside complex bridge and tunnel networks from known elevation values at the access points. For the case of two access points, a simple linear interpolation is sufficient. However, many realistic bridge or tunnel networks (e.g. subway tracks or multi-lane tunnels) contain intersections, railway switches or more than two access points.
For the general case, the task is formulated as an optimization problem which reduces to solving a system of linear equations for each network.

The method is implemented as a REST API using Python libraries such as NumPy, NetworkX and Flask.
The API is capable of matching input GeoJSON LineString features to tunnel and bridge data from OpenStreetMap and decorating them with interpolated elevation data (for example from SRTM).

As an example of use, we demonstrate how the API integrates with our routing services to yield elevation profiles for trips in public transport.
These elevation profiles could assist the planning of electromobility infrastructure such as the location of charging points.