如何使用 Python 和 Osmium 从 .osm.pbf 文件按标签过滤 OpenStreetmap 节点
在我们之前的文章如何使用 Python 和 osmium 读取 .osm.pbf 文件的最小示例中,我们研究了如何读取 .osm.pbf 文件并计算所有节点、路径和关系。
今天,我们将研究如何使用 osmium 处理 .osm.pbf 文件按标签过滤特定节点。在此示例中,我们将过滤 power: tower 并计算能找到多少节点
osmhandler.apply_file(“germany-latest.osm.pbf”)
find_power_tower.py
#!/usr/bin/env python3
import osmium as osm
class FindPowerTowerHandler(osm.SimpleHandler):
def __init__(self):
osm.SimpleHandler.__init__(self)
self.count = 0
def node(self, node):
if node.tags.get("power") == "tower":
self.count += 1
osmhandler = FindPowerTowerHandler()
osmhandler.apply_file("germany-latest.osm.pbf")
print(f'power=tower 节点数: {osmhandler.node_count}')另请参见如何使用 Python 和 Osmium 从 .osm.pbf 文件按标签过滤 OpenStreetmap 路径
Check out similar posts by category:
Geography, 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