我正在尝试使用 python GDAL/OGR 模块从 OSM.PBF 文件中提取数据。
目前我的代码如下所示:
import gdal, ogr
osm = ogr.Open('file.osm.pbf')
## Select multipolygon from the layer
layer = osm.GetLayer(3)
# Create list to store pubs
pubs = []
for feat in layer:
if feat.GetField('amenity') == 'pub':
pubs.append(feat)
虽然这段代码适用于 small.pbf 文件 (15mb)。但是,当解析大于 50mb 的文件时,出现以下错误:
ERROR 1: Too many features have accumulated in points layer. Use OGR_INTERLEAVED_READING=YES MODE
当我打开此模式时:
gdal.SetConfigOption('OGR_INTERLEAVED_READING', 'YES')
ogr 不再返回任何功能,即使在解析小文件时也是如此。
有谁知道这里发生了什么?