ตราสัญลักษณ์ OpenStreetMap OpenStreetMap

Counting housenumber nodes

โพสต์โดย mmd เมื่อ 14 สิงหาคม 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 สิงหาคม 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 สิงหาคม 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 สิงหาคม 2021 เมื่อเวลา 10:13 น.

Thanks!

เข้าสู่ระบบเพื่อแสดงความคิดเห็น