Example #1
0
    def initAlgorithm(self, config=None):
        self.addParameter(
            QgsProcessingParameterMeshLayer(self.INPUT_LAYER,
                                            'Input mesh layer',
                                            optional=False))

        self.addParameter(
            QgsProcessingParameterExtent(
                self.INPUT_EXTENT, description=u'Minimum extent to render'))

        self.addParameter(
            QgsProcessingParameterNumber(
                self.MAP_UNITS_PER_PIXEL,
                self.tr('Map units per pixel'),
                defaultValue=100,
                minValue=0,
                type=QgsProcessingParameterNumber.Double))

        self.addParameter(
            DatasetParameter(self.INPUT_DATASET_GROUP,
                             'Dataset group',
                             self.INPUT_LAYER,
                             allowMultiple=False,
                             optional=False))

        self.addParameter(
            TimestepParameter(self.INPUT_TIMESTEP,
                              'Timestep',
                              self.INPUT_LAYER,
                              optional=False))

        # We add a raster layer as output
        self.addParameter(
            QgsProcessingParameterRasterDestination(self.OUTPUT,
                                                    self.tr('Output layer')))
    def initAlgorithm(self, config=None):
        self.addParameter(
            QgsProcessingParameterMeshLayer(self.INPUT_LAYER,
                                            'Input mesh layer',
                                            optional=False))

        self.addParameter(
            DatasetParameter(self.INPUT_DATASETS,
                             'Dataset groups',
                             self.INPUT_LAYER,
                             optional=True))

        self.addParameter(
            TimestepParameter(self.INPUT_TIMESTEP,
                              'Timestep',
                              self.INPUT_LAYER,
                              optional=False))

        self.addParameter(
            QgsProcessingParameterNumber(
                self.INPUT_STEP,
                self.tr('Increment between contour levels'),
                type=QgsProcessingParameterNumber.Double,
                minValue=0.0,
                optional=True))

        self.addParameter(
            QgsProcessingParameterNumber(
                self.INPUT_MIN,
                self.tr('Minimum contour level'),
                type=QgsProcessingParameterNumber.Double,
                optional=True))

        self.addParameter(
            QgsProcessingParameterNumber(
                self.INPUT_MAX,
                self.tr('Maximum contour level'),
                type=QgsProcessingParameterNumber.Double,
                optional=True))

        self.addParameter(
            QgsProcessingParameterString(self.INPUT_LEVELS,
                                         self.tr('List of contour levels'),
                                         optional=True))

        self.addParameter(
            QgsProcessingParameterFeatureSink(
                self.OUTPUT_LINE,
                'Exported contour lines',
                type=QgsProcessing.TypeVectorLine))

        self.addParameter(
            QgsProcessingParameterFeatureSink(
                self.OUTPUT_POLY,
                'Exported contour polygons',
                type=QgsProcessing.TypeVectorPolygon))
Example #3
0
def test_mesh_layer():
    param = QgsProcessingParameterMeshLayer("LAYER", "")

    inp = parse_input_definition(param)
    inp.data = "layer:layername"

    assert get_metadata(inp, "processing:dataTypes")[0].href == "TypeMesh"

    context = QgsProcessingContext()

    value = layersio.get_processing_value(param, [inp], context)
    assert value == "layername"
    def initAlgorithm(self, config):
        """
        Here we define the inputs and output of the algorithm, along
        with some other properties.
        """
        #http://jieter.github.io/orc-data/site/
        self.polars_dir = os.path.join(os.path.dirname(__file__),
                                       "polar_files")
        self.polars = {}
        for polar_file in os.listdir(self.polars_dir):
            polar_name, ext = os.path.splitext(polar_file)
            if ext == '.pol':
                self.polars[polar_name] = polar_file
        self.polar_names = list(self.polars.keys())
        self.polar_names.sort()

        # We add the input vector features source. It can have any kind of
        # geometry.
        self.addParameter(
            QgsProcessingParameterMeshLayer(self.GRIB, self.tr('Grib layer')))
        self.addParameter(
            QgsProcessingParameterNumber(self.WIND_DATASET_INDEX,
                                         self.tr('Wind Grib Dataset index')))
        self.addParameter(
            QgsProcessingParameterEnum(self.POLAR,
                                       'Polar (Courtesy of seapilot.com)',
                                       options=self.polar_names,
                                       defaultValue=None,
                                       allowMultiple=False))
        self.addParameter(
            QgsProcessingParameterPoint(self.START_POINT,
                                        self.tr('Start point')))
        self.addParameter(
            QgsProcessingParameterPoint(self.END_POINT, self.tr('End point')))
        self.addParameter(
            QgsProcessingParameterDateTime(self.START_TIME,
                                           self.tr('Time of departure')))
        # We add a feature sink in which to store our processed features (this
        # usually takes the form of a newly created vector layer when the
        # algorithm is run in QGIS).
        self.addParameter(
            QgsProcessingParameterFeatureSink(
                self.OUTPUT_WAYPOINTS, self.tr('Waypoints Output layer')))
        self.addParameter(
            QgsProcessingParameterFeatureSink(self.OUTPUT_ROUTE,
                                              self.tr('Route Output layer')))
Example #5
0
    def initAlgorithm(self, config=None):
        self.addParameter(
            QgsProcessingParameterMeshLayer(self.INPUT_LAYER,
                                            'Input mesh layer',
                                            optional=False))

        self.addParameter(
            QgsProcessingParameterString(self.INPUT_FORMULA,
                                         'Formula',
                                         multiLine=True,
                                         optional=False))

        self.addParameter(
            QgsProcessingParameterExtent(self.INPUT_EXTENT,
                                         'Extent',
                                         optional=False))

        self.addParameter(
            TimestepParameter(self.INPUT_STARTTIME,
                              'Start Time',
                              self.INPUT_LAYER,
                              optional=False))

        self.addParameter(
            TimestepParameter(self.INPUT_ENDTIME,
                              'End Time',
                              self.INPUT_LAYER,
                              optional=False))

        self.addParameter(
            QgsProcessingParameterFileDestination(
                self.OUTPUT_FILE,
                'Exported dataset group file',
                'MDAL file (*.*)',
            ))

        self.addParameter(
            QgsProcessingParameterString(self.OUTPUT_GROUP,
                                         'Name of the exported dataset group'))

        self.drivers = self.meshWriteDrivers()
        self.addParameter(
            QgsProcessingParameterEnum(self.OUTPUT_DRIVER,
                                       'Driver to write results with',
                                       self.drivers))
Example #6
0
    def initAlgorithm(self, config=None):
        self.addParameter(
            QgsProcessingParameterMeshLayer(self.INPUT_LAYER,
                                            'Input mesh layer',
                                            optional=False))

        self.addParameter(
            DatasetParameter(self.INPUT_DATASETS,
                             'Dataset groups',
                             self.INPUT_LAYER,
                             allowMultiple=False,
                             optional=False))

        self.addParameter(
            QgsProcessingParameterFeatureSource(
                self.INPUT_POINTS, 'Points for data export',
                [QgsProcessing.TypeVectorPoint]))

        self.addParameter(
            QgsProcessingParameterFileDestination(self.OUTPUT_FILE,
                                                  'Exported data CSV file',
                                                  'CSV file (*.csv)'))
Example #7
0
    def initAlgorithm(self, config=None):
        self.addParameter(
            QgsProcessingParameterMeshLayer(self.INPUT_LAYER,
                                            'Input mesh layer',
                                            optional=False))

        self.addParameter(
            DatasetParameter(self.INPUT_DATASETS,
                             'Dataset groups',
                             self.INPUT_LAYER,
                             datasetGroupFilter=self.filter_dataset,
                             optional=True))

        self.addParameter(
            TimestepParameter(self.INPUT_TIMESTEP,
                              'Timestep',
                              self.INPUT_LAYER,
                              optional=False))

        self.addParameter(
            QgsProcessingParameterFeatureSink(
                self.OUTPUT,
                'Exported vector layer',
                type=QgsProcessing.TypeVectorPolygon))
    def initAlgorithm(self, config=None):
        self.addParameter(QgsProcessingParameterMeshLayer(
                    self.INPUT_LAYER,
                    'Input mesh layer',
                    optional=False))

        self.addParameter(QgsProcessingParameterString(
            self.INPUT_FORMULA,
            'Formula',
            multiLine=True,
            optional=False))

        self.addParameter(QgsProcessingParameterExtent(
            self.INPUT_EXTENT,
            'Extent',
            optional=False
        ))

        self.addParameter(TimestepParameter(
                    self.INPUT_STARTTIME,
                    'Start Time',
                    self.INPUT_LAYER,
                    optional=False))

        self.addParameter(TimestepParameter(
                    self.INPUT_ENDTIME,
                    'End Time',
                    self.INPUT_LAYER,
                    optional=False))

        # only dat file exporter is implemented in MDAL
        self.addParameter(QgsProcessingParameterFileDestination(
                    self.OUTPUT_FILE,
                    'Exported dataset group file',
                    'binary DAT (*.dat)',
                    ))
    def initAlgorithm(self, config=None):
        self.addParameter(
            QgsProcessingParameterMeshLayer(self.INPUT_LAYER,
                                            'Input mesh layer',
                                            optional=False))

        self.addParameter(
            DatasetParameter(self.INPUT_DATASETS,
                             'Dataset groups',
                             self.INPUT_LAYER,
                             allowMultiple=False,
                             optional=False))

        self.addParameter(
            TimestepParameter(self.INPUT_TIMESTEP,
                              'Timestep',
                              self.INPUT_LAYER,
                              optional=False))

        self.addParameter(
            QgsProcessingParameterNumber(
                self.INPUT_RESOLUTION,
                self.tr('Line segmentation resolution'),
                type=QgsProcessingParameterNumber.Double,
                optional=False,
                defaultValue=1.))

        self.addParameter(
            QgsProcessingParameterFeatureSource(
                self.INPUT_LINES, 'Lines for data export',
                [QgsProcessing.TypeVectorLine]))

        self.addParameter(
            QgsProcessingParameterFileDestination(self.OUTPUT_FILE,
                                                  'Exported data CSV file',
                                                  'CSV file (*.csv)'))