如何使用 Python 和 osmium 读取 .osm.pbf 文件的最小示例
此最小示例使用 osmium python 绑定读取 .osm.pbf 文件并计算节点、路径和关系的数量。
首先,我们需要下载合适的数据集。对于此示例,我们将使用 kenya-latest.osm.pbf,你可以从 Geofabrik 下载:
download_kenya_osm_pbf.sh
wget https://download.geofabrik.de/africa/kenya-latest.osm.pbf现在我们可以运行脚本:
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}')示例输出:
osmium_count_output.txt
Number of nodes: 29442019
Number of way: 3188550
Number of relations: 2225Check out similar posts by category:
OpenStreetMap, Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow