Measuring Completeness of Road Network in OpenStreetMap

by Eduard Kazakov, Andrey Sekste, and Misha Malikin

A road network is an essential component of any geographic map, especially if dedicated to human activities and disaster management. Road infrastructure knowledge helps us understand how to optimally deliver help, goods, and people. What kind of transportation do we need? How much time will it take to evacuate people? Many environmental and social indicators become useless if we don’t know how to reach their location.

That’s why it’s critical to figure out how complete the road network is in OpenStreetMap – we call it OSM Road Completeness. If something happens, we should be able to understand where to concentrate mappers’ attention rapidly.

Explore the map on Disaster Ninja

Estimation with Facebook data

There has to be a reference dataset to calculate road completeness. Thanks to Facebook, a global AI-detected road network dataset was published in 2019 under an open license. While it may not be completely precise in terms of road connectivity and geometric correctness, statistically, it is a good representation of the density and length of the road network in most cases.

Here are the steps the Kontur team took to estimate OSM road completeness by comparing OpenStreetMap data with Facebook AI data:

1. Calculate the road network length in an area according to OSM data (defined as OSM Length).

2. Match roads from Facebook with OSM roads and delete coinciding features from the Facebook dataset. At this step, we received roads that are present in the Facebook dataset only.

3. Calculate the length of the resulting Facebook-only roads (defined as Filtered Facebook length).

4. Estimate road completeness as relation:

Road completeness = OSM Length / (OSM Length + Filtered Facebook length)

When road completeness is equal to 1, it means there are no roads in the Facebook dataset that are not mapped in OSM, and we assume that the area is mapped well. The closer this value is to zero, the more unmapped or missing roads are estimated in the respective area.

Example of road completeness estimation:

This approach works fine for most of the Earth. By comparing road completeness with population density, we can highlight places where additional attention is needed. Densely populated areas with low OSM road completeness imply increased risks in case of disasters. Kontur OpenStreetMap Road Completeness layer on Disaster Ninja allows users to find such locations quickly and start mapping:

Estimation with Kontur Population

There are some territories where Facebook AI roads data is unavailable due to different reasons: far North of Eurasia, Iran, North Korea, and more. But as long as we have OpenStreetMap and people living there, we are still interested in completeness estimation.

Thinking about this problem, we decided to use our Kontur population dataset – high-quality data on people distribution around the globe. What if it is possible to roughly predict road network density in the area based on the number of people living there? Sounds good enough! So, we started with a simple approach of building a global statistical regression, excluding atypical places with abnormally high or low road network density or extremely high population density. After training, we applied this regression to territories without Facebook AI data, and the completeness estimation for it is now the following:

Road completeness = OSM Length / Predicted road length from population

After that, the Kontur OpenStreetMap Road Completeness layer became truly global.


We invite you to discover this and many other insights on OpenStreetMap data with Disaster Ninja.