我已经从下载了大不列颠.osm.pbf文件http://download.geofabrik.de/europe.html 我希望能够提取每个节点的所有lat和LON。这可能吗?如果我能把它转换成某种python格式,那就太好了
3ks5zfa01#
您可以使用pyosmium解析.osm.pbf文件。此简单示例仅打印具有名称标记的每个节点的位置和名称:
import osmium import sys class NamesHandler(osmium.SimpleHandler): def node(self, n): if 'name' in n.tags: print(f'{n.location}: ' + n.tags['name']) def main(osmfile): NamesHandler().apply_file(osmfile) return 0 if __name__ == '__main__': if len(sys.argv) != 2: print("Usage: python %s <osmfile>" % sys.argv[0]) sys.exit(-1) exit(main(sys.argv[1]))
当然,您可能希望根据您的用例对数据进行更复杂的处理。检查文档中的基本用法教程和参考,以及pyosmium github存储库的自述文件中的安装说明。
1条答案
按热度按时间3ks5zfa01#
您可以使用pyosmium解析.osm.pbf文件。
此简单示例仅打印具有名称标记的每个节点的位置和名称:
当然,您可能希望根据您的用例对数据进行更复杂的处理。检查文档中的基本用法教程和参考,以及pyosmium github存储库的自述文件中的安装说明。