OpenStreetMap-ан логотип OpenStreetMap

Counting housenumber nodes

Арахецна mmd 14 August 2021, мотт: English

In this blog post we want to count addr:housenumber nodes across all EU member states, broken down by country. That’s a bit above 34 million nodes in total.

Queries are tested on different Overpass instances: two rather busy public ones, one idle private instance and a dev instance. With the exception of the latter, queries run on offical Overpass releases. Database contains a full planet (including metadata and history).

Query: https://overpass-turbo.eu/s/1adO

[out:csv(name, count)];
rel(2668952);rel(r);
map_to_area -> .areas;
foreach.areas->.area (
  node["addr:housenumber"](area.area);
  make data count = count(nodes),
            name = area.set(t["name"]);
  out;
);

Result: https://gist.github.com/mmd-osm/5219028c9fa93db17ac7c271a99183a1

Runtimes

kumi.systems:     gateway timeout after 1h
overpass-api.de:  gateway timeout after 2h
private server:   timeout after >2h
dev branch:       30s

NB: dev branch is exploring alternative implementation options and is currently not released.

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Дийцар

Коммент spiregrain 15 August 2021 07:15

Did you mean to exclude closed ways with addr:housenumber tags? In my area of a former EU country, they are much more common than nodes with addr:housenumber tags.

Коммент mmd 15 August 2021 07:54

Indeed the focus on nodes was intentional. Counting ways typically requires more resources and would probably take even more time. This is because for each way you have to find out its geometry and check if it’s within a given country border.

A few pointers for ways:

Коммент spiregrain 15 August 2021 10:13

Thanks!

ЧугӀо, коммент йитарна