Я создаю скрипт без предварительной обработки для предварительной обработки изображений Sentinel.Для информации сеанс настроен следующим образом:
import sys
import os
import qgis
from qgis.core import *
#from PyQt4.QtGui import *
QgsApplication.setPrefixPath("/usr", False)
app = QgsApplication([], False)
app.initQgis()
sys.path.append('/usr/share/qgis/python/plugins')
from processing.core.Processing import Processing
Processing.initialize()
import processing as p
Один из шагов состоит в получении поставляемого файла облачной маски (.gml), преобразовании его в растр и использовании его для маскировки изображения Sentinel.Как это сделать:
преобразовать gml в шейп-файлоблачные пиксели
rMaskPath=wod+"clMaskNDVI.tif"
p.runalg("gdalogr:rastercalculator", img, "1", cloudRast, "1", None, "1", None, "1", None, "1", None, "1", "A*((-1*B)+1)", "", 5, "", rMaskPath)
Эта операция довольно быстро выполняется в интерактивном режиме (~ 1 минута), но когда я запускаю ее с помощью скрипта, она занимает около 40 минут (в основном при растеризации слоя многоугольника).Я также пробовал другие способы: использовать напрямую файл GML или модули grass7, но это не ускоряет работу.
Не знаете, почему существует такая разница во времени?Можете ли вы предложить способ ускорить растеризацию шейп-файла?
Спасибо