首页 > 解决方案 > 弃用警告:gdal.py 被放置在命名空间中,现在可以作为 osgeo.gdal 使用

问题描述

我的脚本有问题。我想使用一个允许我直接在我的代码中使用 qgis 软件的包。这个包被称为 qgis.core。我在安装它时遇到了一些麻烦,但它似乎已经完成了。现在的问题是,当我运行允许我进行我想要的治疗的脚本时,我会收到一条错误消息。我会把你放在脚本和错误下。如果有人可以帮助我,谢谢。

剧本 :

from qgis.core import QgsProcessing
from qgis.core import QgsProcessingAlgorithm
from qgis.core import QgsProcessingMultiStepFeedback
from qgis.core import QgsProcessingParameterRasterDestination
import processing

class Modle(QgsProcessingAlgorithm):
def initAlgorithm(self, config=None):
    self.addParameter(QgsProcessingParameterRasterDestination('Fuzzy', 'fuzzy', createByDefault=True, defaultValue='MYPATH\Fuzzy.sdat'))

def processAlgorithm(self, parameters, context, model_feedback):
    # Use a multi-step feedback, so that individual child algorithm progress reports are adjusted for the
    # overall progress through the model
    feedback = QgsProcessingMultiStepFeedback(1, model_feedback)
    results = {}
    outputs = {}

    # Fuzzify
    alg_params = {
        'A': 0.3,
        'AUTOFIT     ': False,
        'B': 0.7,
        'C': 0,
        'D': 0,
        'INPUT': 'MYPICTURE.tif',
        'TYPE': 0,
        'OUTPUT': parameters['Fuzzy']
    }
    outputs['Fuzzify'] = processing.run('saga:fuzzify', alg_params, context=context, feedback=feedback, is_child_algorithm=True)
    results['Fuzzy'] = outputs['Fuzzify']['OUTPUT']
    return results

def name(self):
    return 'Modèle'

def displayName(self):
    return 'Modèle'

def group(self):
    return ''

def groupId(self):
    return ''

def createInstance(self):
    return Modle()

回报 :

DeprecationWarning: gdal.py was placed in a namespace, it is now available as osgeo.gdal
  DeprecationWarning)

标签: pythonwarningsgdalosgeopyqgis

解决方案


推荐阅读