快速简便的openstreetmap xml/pbf解析器。
imposm.parser的Python项目详细描述
imposm.parser是一个python库,它以XML和PBF格式解析openstreetmap数据。
它有一个简单的api,并且快速易用。它还可以跨多个CPU/内核工作以获得额外的速度。
它由Omniscale开发和支持,并在Apache Software License 2.0下发布。
示例
下面是一个解析OSM文件并统计标记为高速公路的所有方式的示例。
from imposm.parser import OSMParser # simple class that handles the parsed OSM data. class HighwayCounter(object): highways = 0 def ways(self, ways): # callback method for ways for osmid, tags, refs in ways: if 'highway' in tags: self.highways += 1 # instantiate counter and parser and start parsing counter = HighwayCounter() p = OSMParser(concurrency=4, ways_callback=counter.ways) p.parse('germany.osm.pbf') # done print counter.highways
来源和问题跟踪程序
源代码和问题跟踪程序可在https://github.com/omniscale/imposm-parser找到。
更改日志
1.0.7 2015-01-10
- 更新的protobuf解析器
1.0.6 2014年10月31日
- 修复了protobuf解析器中可能导致segfults的错误
2013年9月13日1.0.5
- 支持无粒度值的pbf
- 改进了对非漂亮打印的XML的支持
1.0.4 2012年12月10日
- 改进了对非漂亮打印的XML的支持
- 修复了多处理的依赖项检查
1.0.3 2011年7月21日
- 支持未压缩的PBF
- 无密集节点的pbf错误修复
1.0.2 2011-03-10
- 改进的基于regexp的xml coord解析器
- 在没有coord_回调的情况下防止xmlchunker中的mmap溢出
- 已成功解析whole planet.osm
1.0.0 2011-02-22
- 首次发布