def initAlgorithm(self, config=None): # パラメータの定義を行う # QgsProcessingParameterFooBar クラスがたくさん用意されている # パラメータオブジェクトを self.addParameter(param) すると # 自動的にウィジェットが設定される self.addParameter( QgsProcessingParameterPoint(self.POINT1, self.tr('Start point'))) self.addParameter( QgsProcessingParameterPoint(self.POINT2, self.tr('End point'))) segdist_param = QgsProcessingParameterDistance( self.SEGMENT_DIST, self.tr('Segment Distance'), defaultValue=100, # パラメータ定義時の minValue は単位に関わらず適用されるため # 最低値のチェック及び適用はあとで行う # とはいえウィジットレベルで最低0以上の制約は行う minValue=0) segdist_param.setDefaultUnit(QgsUnitTypes.DistanceKilometers) # 高度なパラメータフラグ segdist_param.setFlags(QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(segdist_param) # 結果の出力 self.addParameter( QgsProcessingParameterFeatureSink(self.OUTPUT, self.tr('Output layer')))
def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterMapLayer(self.INPUT, self.tr('Input layer'))) round_to_parameter = QgsProcessingParameterDistance(self.ROUND_TO, self.tr('Round values to'), parentParameterName=self.INPUT, minValue=0, defaultValue=0) round_to_parameter.setFlags(round_to_parameter.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(round_to_parameter) self.addParameter(QgsProcessingParameterFeatureSink(self.OUTPUT, self.tr('Extent'), type=QgsProcessing.TypeVectorPolygon))
def initAlgorithm(self, config): self.addParameter( QgsProcessingParameterFeatureSource( self.POINTS_INPUT, self.tr("Points Input"), [QgsProcessing.TypeVectorPoint])) # have to use QgsProcessingParameterFile to account for rasters too large to load in qgis self.addParameter( QgsProcessingParameterFile(self.RASTER_INPUT, self.tr("Raster File Input"))) param = QgsProcessingParameterDistance( self.GRAB_RADIUS_INPUT, self.tr("Grab Radius"), parentParameterName=self.POINTS_INPUT, optional=True) param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(param) param = QgsProcessingParameterNumber( self.GRAB_AREA_DISTANCE_WEIGHT_INPUT, self.tr("Grab Area Distance Weight"), type=QgsProcessingParameterNumber.Double, optional=True) param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(param) param = QgsProcessingParameterFile(self.GRAB_FUNCTION_INPUT, self.tr("Grab Function"), optional=True) param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(param) self.addParameter( QgsProcessingParameterFeatureSink( self.POINTS_WITH_VALUES_OUTPUT, self.tr("Points with Grabbed Values")))