Es scheint, dass dies processing.getObject()
in QGIS nicht mehr verfügbar ist.
from PyQt5.QtCore import *
from qgis.core import *
#...
layer = processing.getObject(layer)
# -> ...module 'processing' has no attribute 'getObject'
Gibt es eine neue Art der Verwendung get.Object
?
qgis
pyqgis
qgis-processing
qgis-3
Mondsee
quelle
quelle
Antworten:
Ich habe eine Kopie des QGIS-Github-Projekts vor Ort, es ist ein paar Monate alt, aber ich konnte herausfinden, wo sich dies geändert hat.
Es lohnt sich, die Liste der API-Änderungen zu überprüfen , in der dies erwähnt wird
Mit Hilfe von Git-Line-Annotationen konnte ich dies auf eine Änderung zurückführen, die vor einigen Monaten vorgenommen wurde ...
Es sieht so aus, als ob einige Methoden (einschließlich getObject ) überarbeitet und durch eine einzige getLayerFromString () -Methode ersetzt wurden
Aber seitdem wurde es nach QgsProcessingUtils verschoben .
Sie könnten es also versuchen
QgsProcessingUtils.mapLayerFromString()
Wenn Sie QGIS 2.x verwenden, sollten Sie getObject () weiterhin wie zuvor verwenden können (dies kann überprüft werden
print(processing.__dict__['getObject'])
quelle
Die Methode 'process.getObject ()' ist in QGIS weiterhin verfügbar. Es kann am Netzbild beobachtet werden:
Die Problemumgehung lautet also wie folgt:
quelle