Gdal被认为是地理空间数据处理中最快的库,我在我的python脚本中使用它并且我在某个特定任务上遇到性能问题,即从另一个层擦除一个层这花了太多时间!我首先使用了这个预建功能:
inputLayer.Erase(maskLayer, ResultLayer)
这适用于具有大量对象的图层,但是当使用具有200 000个特征的图层运行它时,它将永远保留!
所以我设法编写了这段代码:
for featureI in inputLayer:
geomI = featureI.GetGeometryRef()
maskLayer.SetSpatialFilter(geomI)
for featureM in maskLayer:
geomM = featureM.GetGeometryRef()
featureI.SetGeometry(geomI.Difference(geomM))
selfLayer.SetFeature(featureI)
但这将持续1200分钟,这对我来说太长了!
无论如何都要加快速度吗?你对我有什么建议吗?
我使用python3.5和GDAL2,