0

Context

I want to plot a network (i.e. a graph, topologically connected where routing algorithms can be used) from openstreetmap data (this is linked with the python code snippet presented here: Getting pedestrian network with osmnx). Let's take an example with a pedestrian walking on a highway=path.

The problem

The problem is when those paths are connected (i.e. one of their extremity node intersects the border of the area) with an area, such as a plaza, a square or living streets which are only represented as areas and when there is no 'line' geometry into these areas to keep the topological connection between all incoming paths (Fig. 1).

A convex plaza with incoming paths

Fig. 1: A convex plaza with incoming paths.

Problem 2

The solution must be able to deal with the case where the plaza is concave as shown in Figure 2, where simple straight lines are no longer sufficient.

A concave plaza with incoming paths

Fig. 2: A concave plaza with incoming paths.

The wanted network solution for the case of the concave plaza with incoming paths

Fig. 2: The wanted network solution for the case of the concave plaza with incoming paths.

Question

Is there a way to retrieve (I mean "topologically" retrieve, so that I can build a connected graph at this particular place) all the possible connections between all the incoming paths so that an agent arriving at the plaza from the north-east can leave it by any of the paths connected to it?

I'm currently working with osmnx in a jupyter-notebook.

System information:

Ubuntu 18.04 64 bit: 5.0.0-32-generic x86_64 GNU/Linux
Python version: 3.6.8
The version of the notebook server is: 5.7.7
numpy: 1.17.3
matplotlib: 3.1.1
networkx: 2.4
osmnx: 0.10
folium: 0.10.0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.