首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中从.osm.pbf文件中提取数据

在python中从.osm.pbf文件中提取数据
EN

Stack Overflow用户
提问于 2021-07-08 23:39:30
回答 1查看 882关注 0票数 1

我已经从http://download.geofabrik.de/europe.html下载了英国.osm.pbf文件,我希望能够提取出每个节点的所有经度和经度。这个是可能的吗?

如果我能把它转换成某种python格式,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2021-07-10 05:37:42

您可以使用pyosmium解析.osm.pbf文件。

这个简单的示例只打印具有name tag的每个节点的位置和名称

代码语言:javascript
复制
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]))

当然,根据您的用例,您可能希望对数据做一些更复杂的处理。有关基本使用教程和参考,请查看documentation;有关安装说明,请参阅pyosmium GitHub repository的自述文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68304698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档