Minimalbeispiel: .osm.pbf-Datei mit Python & osmium lesen

English Deutsch

Dieses Minimalbeispiel verwendet die osmium-Python-Bindung, um eine .osm.pbf-Datei zu lesen und die Anzahl der Nodes, Ways und Relations zu zählen.

Zuerst muss ein geeigneter Datensatz heruntergeladen werden. Für dieses Beispiel verwenden wir kenya-latest.osm.pbf, der von Geofabrik heruntergeladen werden kann:

download_kenya_osm_pbf.sh
wget https://download.geofabrik.de/africa/kenya-latest.osm.pbf

Nun kann das Skript ausgeführt werden:

read_osm_pbf_example.py
#!/usr/bin/env python3
import osmium as osm

class OSMHandler(osm.SimpleHandler):
    def __init__(self):
        osm.SimpleHandler.__init__(self)
        self.node_count = 0
        self.way_count = 0
        self.relation_count = 0

    def node(self, n):
        self.node_count += 1

    def way(self, w):
        self.way_count += 1

    def relation(self, r):
        self.relation_count += 1

osmhandler = OSMHandler()
osmhandler.apply_file("kenya-latest.osm.pbf")
print(f'Number of nodes: {osmhandler.node_count}')
print(f'Number of way: {osmhandler.way_count}')
print(f'Number of relations: {osmhandler.relation_count}')

Beispielausgabe:

osmium_count_output.txt
Number of nodes: 29442019
Number of way: 3188550
Number of relations: 2225

Check out similar posts by category: OpenStreetMap, Python