Programování v GIS 4
2024-11-03
QgsProcessingAlgorithm
či QgsProcessingFeatureBasedAlgorithm
QgsProcessingAlgorithm
name()
, displayName()
, group()
, groupId()
, shortHelpString()
, icon()
initAlgorithm()
kde pomocí funkce self.addParameter()
přidáváme jednotlivé parametry (třídy odvozené od QgsProcessingParameterDefinition
)processAlgorithm()
kde dojde k samotnému zpracování datQgsProcessingParameterDefinition
a odvozené třídyself.parameterAs...()
v QgsProcessingAlgorithm
objektuQgsProcessingContext
a QgsProcessingFeedback
processAlgorithm()
QgsProcessingFeedback
slouží ke komunikaci s uživateleQgsProcessingContext
obsahuje informace o prostředí, ve kterém se algoritmus provádí (často není třeba, ale může se hodit)checkParameterValues(self, parameters, context) -> Tuple[bool, str]
True
pokud je vše v pořádku, jinak False
a chybovou hláškuQgsProcessingAlgorithm
, která vždy vrací (True, "")
postProcessAlgorithm(self, context: QgsProcessingContext, feedback: QgsProcessingFeedback)
, kde můžeme výsledek algoritmu ještě dále zpracovatprocessAlgorithm()
a měla by vrace stejný Python objekt, který byl vrácen v processAlgorithm()
processAlgorithm()
a postProcessAlgorithm()
, je třeba vytvořit proměnnou třídy, která bude uchovávat výsledek (tzn. self.result = ...
)QgsProcessingFeatureBasedAlgorithm
QgsProcessingAlgorithm
určená pro modifikaci vektorových datprocessFeature()
pro zpracování jednotlivých prvkůQgsProcessingAlgorithm
, alespoň v pluginechQgsProcessingMultiStepFeedback
pro zobrazení průběhu)Materiály dostupné: https://jancaha.github.io/vsb-vyuka/