def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Input point layer'), [QgsProcessing.TypeVectorPoint])) self.addParameter(QgsProcessingParameterField(self.ORDER_FIELD, self.tr('Order field'), parentLayerParameterName=self.INPUT)) self.addParameter(QgsProcessingParameterField(self.GROUP_FIELD, self.tr('Group field'), parentLayerParameterName=self.INPUT, optional=True)) self.addParameter(QgsProcessingParameterString(self.DATE_FORMAT, self.tr('Date format (if order field is DateTime)'), optional=True)) mvalue_param = QgsProcessingParameterExpression(self.MVALUE_EXPRESSION, self.tr('M value (if you want an XYM or XYZM output)'), optional=True, parentLayerParameterName=self.INPUT) mvalue_param.setFlags(mvalue_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(mvalue_param) self.addParameter(QgsProcessingParameterFeatureSink(self.OUTPUT, self.tr('Paths'), QgsProcessing.TypeVectorLine)) output_dir_param = QgsProcessingParameterFolderDestination(self.OUTPUT_TEXT_DIR, self.tr('Directory for text output'), optional=True) output_dir_param.setCreateByDefault(False) self.addParameter(output_dir_param)
def initAlgorithm(self, config=None): self.strategies = [self.tr('Points count'), self.tr('Points density')] self.addParameter( QgsProcessingParameterFeatureSource( self.INPUT, self.tr('Input layer'), [QgsProcessing.TypeVectorPolygon])) self.addParameter( QgsProcessingParameterEnum(self.STRATEGY, self.tr('Sampling strategy'), self.strategies, False, 0)) value_param = QgsProcessingParameterNumber( self.VALUE, self.tr('Point count or density'), QgsProcessingParameterNumber.Double, 1, minValue=0) value_param.setIsDynamic(True) value_param.setDynamicLayerParameterName(self.INPUT) value_param.setDynamicPropertyDefinition( QgsPropertyDefinition("Value", self.tr("Point count or density"), QgsPropertyDefinition.Double)) self.addParameter(value_param) # deprecated expression parameter - overrides value parameter if set exp_param = QgsProcessingParameterExpression( self.EXPRESSION, self.tr('Expression'), optional=True, parentLayerParameterName=self.INPUT) exp_param.setFlags(exp_param.flags() | QgsProcessingParameterDefinition.FlagHidden) self.addParameter(exp_param) self.addParameter( QgsProcessingParameterDistance( self.MIN_DISTANCE, self.tr('Minimum distance between points'), None, self.INPUT, True, 0, 1000000000)) self.addParameter( QgsProcessingParameterFeatureSink( self.OUTPUT, self.tr('Random points'), type=QgsProcessing.TypeVectorPoint))
def initAlgorithm(self, config=None): # layer self.addParameter( QgsProcessingParameterFeatureSource(self.INPUT, self.tr('Input layer'))) # x fields (or expression) self.addParameter( QgsProcessingParameterExpression( self.XEXPRESSION, self.tr('X Field'), parentLayerParameterName=self.INPUT)) # y field (or expression) self.addParameter( QgsProcessingParameterExpression( self.YEXPRESSION, self.tr('Y Field'), parentLayerParameterName=self.INPUT)) # size size_param = QgsProcessingParameterNumber(self.SIZE, self.tr('Marker size'), defaultValue=10) size_param.setIsDynamic(True) size_param.setDynamicLayerParameterName(self.INPUT) size_param.setDynamicPropertyDefinition( QgsPropertyDefinition( "SIZE", self.tr("Size"), QgsPropertyDefinition.Double, )) self.addParameter(size_param) # color color_param = QgsProcessingParameterColor(self.COLOR, self.tr('Color'), optional=True, defaultValue='#8ebad9') color_param.setIsDynamic(True) color_param.setDynamicLayerParameterName(self.INPUT) color_param.setDynamicPropertyDefinition( QgsPropertyDefinition( "COLOR", self.tr("Color"), QgsPropertyDefinition.Double, )) self.addParameter(color_param) facet_row = QgsProcessingParameterExpression( self.FACET_ROW, self.tr('Facet row'), parentLayerParameterName=self.INPUT) facet_row.setFlags(QgsProcessingParameterDefinition.FlagAdvanced | QgsProcessingParameterDefinition.FlagOptional) self.addParameter(facet_row) facet_col = QgsProcessingParameterExpression( self.FACET_COL, self.tr('Facet col'), optional=True, parentLayerParameterName=self.INPUT) facet_col.setFlags(QgsProcessingParameterDefinition.FlagAdvanced | QgsProcessingParameterDefinition.FlagOptional) self.addParameter(facet_col) # offline parameter offline_param = QgsProcessingParameterBoolean( self.OFFLINE, self.tr('Complete offline usage'), defaultValue=False) offline_param.setFlags(QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(offline_param) # html file output self.addParameter( QgsProcessingParameterFileDestination( self.OUTPUT_HTML_FILE, self.tr('Scatter Plot'), self.tr('HTML files (*.html)'))) # json file output self.addParameter( QgsProcessingParameterFileDestination( self.OUTPUT_JSON_FILE, self.tr('JSON file'), self.tr('JSON Files (*.json)'), createByDefault=False, optional=True))
def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterString(self.TITLE, self.tr('Flight plan description'), 'QGIS flight plan')) self.addParameter( QgsProcessingParameterFeatureSource( self.INPUT, self.tr('Flight waypoints layer'), [QgsProcessing.TypeVectorPoint])) self.addParameter( QgsProcessingParameterField( self.NAME_FIELD, self.tr('Waypoints name field'), parentLayerParameterName=self.INPUT, type=QgsProcessingParameterField.String, optional=True)) elevation_param = QgsProcessingParameterField( self.ELEVATION_FIELD, self.tr('Waypoints elevation field'), parentLayerParameterName=self.INPUT, type=QgsProcessingParameterField.Numeric, optional=True) elevation_param.setFlags( elevation_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(elevation_param) orderby_param = QgsProcessingParameterExpression( self.ORDERBY_EXPRESSION, self.tr('Waypoints ordering by expression'), parentLayerParameterName=self.INPUT, optional=True) orderby_param.setFlags(orderby_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(orderby_param) departure_airport_param = QgsProcessingParameterString( self.DEPARTURE_AIRPORT, self.tr('Custom departure airport ICAO ID'), '', optional=True) departure_airport_param.setFlags( departure_airport_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(departure_airport_param) destination_airport_param = QgsProcessingParameterString( self.DESTINATION_AIRPORT, self.tr('Custom destination airport ICAO ID'), '', optional=True) destination_airport_param.setFlags( destination_airport_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) self.addParameter(destination_airport_param) self.addParameter( QgsProcessingParameterFileDestination( self.OUTPUT, self.tr('Output flight plan file (.PLN)'), fileFilter='Flight plan files (*.PLN *.pln)'))