我已经从http://download.geofabrik.de/europe.html下载了英国.osm.pbf文件,我希望能够提取出每个节点的所有经度和经度。这个是可能的吗?
如果我能把它转换成某种python格式,那就太好了。
发布于 2021-07-10 05:37:42
您可以使用pyosmium解析.osm.pbf文件。
这个简单的示例只打印具有name tag的每个节点的位置和名称
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的自述文件。
https://stackoverflow.com/questions/68304698
复制相似问题