Beispiel #1
0
 def initAlgorithm(self, config=None):
     self.addParameter(
         QgsProcessingParameterExtent(self.EXTENT, self.tr('Extent')))
     self.addParameter(
         QgsProcessingParameterNumber(self.ZOOM_MIN,
                                      self.tr('Minimum zoom'),
                                      minValue=0,
                                      maxValue=25,
                                      defaultValue=12))
     self.addParameter(
         QgsProcessingParameterNumber(self.ZOOM_MAX,
                                      self.tr('Maximum zoom'),
                                      minValue=0,
                                      maxValue=25,
                                      defaultValue=12))
     self.addParameter(
         QgsProcessingParameterNumber(self.DPI,
                                      self.tr('DPI'),
                                      minValue=48,
                                      maxValue=600,
                                      defaultValue=96))
     self.addParameter(
         QgsProcessingParameterColor(self.BACKGROUND_COLOR,
                                     self.tr('Background color'),
                                     defaultValue=QColor(Qt.transparent),
                                     optional=True))
     self.formats = ['PNG', 'JPG']
     self.addParameter(
         QgsProcessingParameterEnum(self.TILE_FORMAT,
                                    self.tr('Tile format'),
                                    self.formats,
                                    defaultValue=0))
     self.addParameter(
         QgsProcessingParameterNumber(self.QUALITY,
                                      self.tr('Quality (JPG only)'),
                                      minValue=1,
                                      maxValue=100,
                                      defaultValue=75))
     self.addParameter(
         QgsProcessingParameterNumber(self.METATILESIZE,
                                      self.tr('Metatile size'),
                                      minValue=1,
                                      maxValue=20,
                                      defaultValue=4))
     self.thread_nr_re = re.compile('[0-9]+$')  # thread number regex
Beispiel #2
0
    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))