Ejemplo n.º 1
0
    def defineCharacteristics(self):
        self.name = "Export Enums to GML"
        self.group = "Interlis"

        self.addParameter(
            ParameterFile(self.IMD, "Interlis Ilismeta XML model"))
        self.addParameter(ParameterFile(self.GML, "GML output file"))
Ejemplo n.º 2
0
    def defineCharacteristics(self):
        self.name = "ili to XML metamodel"
        self.group = "Interlis"

        self.addParameter(ParameterFile(self.ILI, "Interlis model (.ili)"))
        self.addParameter(
            ParameterFile(self.IMD, "Ilismeta XML model output file"))
Ejemplo n.º 3
0
    def defineCharacteristics(self):
        self.name = "ili2pg export"
        self.group = "Interlis"

        self.addParameter(ParameterDbConnection(self.DB, "Database"))
        self.addParameter(ParameterFile(self.ILI, "Interlis model (.ili)"))
        self.addParameter(
            ParameterFile(self.XTF, "Interlis 2 tansfer file (.xtf)"))
Ejemplo n.º 4
0
 def defineCharacteristics(self):
     self.name = "Canopy Maxima"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(ParameterFile(self.GROUND, "Input ground DTM layer [optional, leave blank if not using it]"))
     self.addParameter(ParameterNumber(self.THRESHOLD, "Minimum threshold", 0, None, 10.0))
     self.addOutput(OutputTable(self.OUTPUT, "Output file with maxima"))
     self.addAdvancedModifiers()
Ejemplo n.º 5
0
    def defineCharacteristics(self):
        self.name = "ogr2ogr ILI->PG"
        self.group = "Interlis"

        self.addParameter(ParameterFile(self.ILI, "Interlis model (.ili)"))
        self.addParameter(
            ParameterFile(self.ITF, "Interlis tansfer file (.itf/.xtf)"))
        self.addParameter(ParameterDbConnection(self.DB, "Database"))
        self.addParameter(ParameterBoolean(self.APPEND, "Append"))
 def defineCharacteristics(self):
     self.name = "Grid Metrics"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(ParameterFile(self.GROUND, "Input ground DTM layer"))
     self.addParameter(ParameterNumber(self.HEIGHT, "Height break"))
     self.addParameter(ParameterNumber(self.CELLSIZE, "Cellsize"))
     self.addOutput(
         OutputTable(self.OUTPUT, "Output table with grid metrics"))
     self.addAdvancedModifiers()
 def defineCharacteristics(self):
     self.name = "Canopy Model"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(ParameterFile(self.GROUND, "Input ground DTM layer [optional, leave blank if not using it]"))
     self.addParameter(ParameterNumber(self.CELLSIZE, "Cellsize", 0, None, 10.0))
     self.addParameter(ParameterSelection(self.XYUNITS, "XY Units", self.UNITS))
     self.addParameter(ParameterSelection(self.ZUNITS, "Z Units", self.UNITS))
     self.addOutput(OutputRaster(self.OUTPUT, "Canopy model"))
     self.addAdvancedModifiers()
Ejemplo n.º 8
0
 def defineCharacteristics(self):
     self.name = "Cover"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(ParameterFile(self.GROUND, "Input ground DTM layer"))
     self.addParameter(ParameterNumber(self.CELLSIZE, "Cellsize", 0, None, 10.0))
     self.addParameter(ParameterNumber(self.HEIGHTBREAK, "Heightbreak", 0, None, 10.0))
     self.addParameter(ParameterSelection(self.XYUNITS, "XY Units", self.UNITS))
     self.addParameter(ParameterSelection(self.ZUNITS, "Z Units", self.UNITS))
     self.addOutput(OutputRaster(self.OUTPUT, "Cover"))
     self.addAdvancedModifiers()
Ejemplo n.º 9
0
    def buildParametersDialog(self):
        for input in self.process.inputs:
            inputType = type(input)
            if inputType == VectorInput:
                self.addParameter(ParameterVector(str(input.identifier), str(input.title), ParameterVector.VECTOR_TYPE_ANY, input.minOccurs == 0))
            elif inputType == MultipleVectorInput:
                self.addParameter(ParameterMultipleInput(str(input.identifier), str(input.title), ParameterVector.VECTOR_TYPE_ANY, input.minOccurs == 0))
            elif inputType == StringInput:
                self.addParameter(ParameterString(str(input.identifier), str(input.title)))
            elif inputType == TextInput:
                self.addParameter(ParameterString(str(input.identifier), str(input.title)))
            elif inputType == RasterInput:
                self.addParameter(ParameterRaster(str(input.identifier), str(input.title), input.minOccurs == 0))
            elif inputType == MultipleRasterInput:
                self.addParameter(ParameterMultipleInput(str(input.identifier), str(input.title), ParameterMultipleInput.TYPE_RASTER, input.minOccurs == 0))
            elif inputType == FileInput:
                #self.addParameter(ParameterFile(str(input.identifier), str(input.title), False, input.minOccurs == 0))
                self.addParameter(ParameterFile(str(input.identifier), str(input.title)))
            elif inputType == MultipleFileInput:
                pass #Not supported
            elif inputType == SelectionInput:
                self.addParameter(ParameterSelection(str(input.identifier), str(input.title), input.valList))
            elif inputType == ExtentInput:
                self.addParameter(ParameterExtent(str(input.identifier), str(input.title)))
            elif inputType == CrsInput:
                self.addParameter(ParameterCrs(str(input.identifier), "Projection", None))

        for output in self.process.outputs:
            outputType = type(output)
            if outputType == VectorOutput:
                self.addOutput(OutputVector(str(output.identifier), str(output.title)))
            elif outputType == RasterOutput:
                self.addOutput(OutputRaster(str(output.identifier), str(output.title)))
            elif outputType == StringOutput:
                self.addOutput(OutputString(str(output.identifier), str(output.title)))
Ejemplo n.º 10
0
 def defineCharacteristics(self):
     self.addBaseParameters()
     self.name = "Add style"
     self.group = "GeoServer management tools"
     self.addParameter(ParameterString(self.NAME, "Style name"))
     self.addParameter(ParameterFile(self.STYLE, "Style SLD file"))
     self.addParameter(ParameterBoolean(self.OVERWRITE, "Overwrite"))
 def defineCharacteristics(self):
     self.name = "lasclassify"
     self.group = "Tools"
     self.addParameter(ParameterFile(lasclassify.INPUT, "Input las layer"))
     self.addOutput(
         OutputFile(lasclassify.OUTPUT, "Output classified las file"))
     self.addCommonParameters()
Ejemplo n.º 12
0
 def defineCharacteristics(self):
     self.name = "lassplit"
     self.group = "Tools"
     self.addParameter(ParameterFile(lassplit.INPUT, "Input las layer"))
     self.addParameter(ParameterNumber(lassplit.NUM_POINTS, "Point in each output file", 1, None, 1000000))
     self.addOutput(OutputFile(lassplit.OUTPUT, "Output las file basename"))
     self.addCommonParameters()
Ejemplo n.º 13
0
 def defineCharacteristics(self):
     self.name = "lasground"
     self.group = "Tools"
     self.addParameter(ParameterFile(lasground.INPUT, "Input las layer"))
     self.addParameter(
         ParameterSelection(lasground.METHOD, "Method", lasground.METHODS))
     self.addOutput(OutputFile(lasground.OUTPUT, "Output ground las file"))
     self.addCommonParameters()
Ejemplo n.º 14
0
 def defineCharacteristics(self):
     self.name = "Cloud Metrics"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addOutput(
         OutputTable(self.OUTPUT,
                     "Output file with tabular metric information"))
     self.addAdvancedModifiers()
Ejemplo n.º 15
0
 def defineCharacteristics(self):
     self.name = "las2dem"
     self.group = "Tools"
     self.addParameter(ParameterFile(las2dem.INPUT, "Input las layer"))
     self.addParameter(
         ParameterBoolean(las2dem.INTENSITY,
                          "Use intensity instead of elevation", False))
     self.addOutput(OutputRaster(las2dem.OUTPUT, "Output dem layer"))
     self.addCommonParameters()
Ejemplo n.º 16
0
 def defineCharacteristics(self):
     self.name = "Ground Filter"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(
         ParameterNumber(self.CELLSIZE,
                         "Cellsize for intermediate surfaces", 0, None, 10))
     self.addOutput(OutputFile(self.OUTPUT, "Output ground las file"))
     self.addAdvancedModifiers()
Ejemplo n.º 17
0
 def defineCharacteristics(self):
     self.name = "Clip Data"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(ParameterExtent(self.EXTENT, "Extent"))
     self.addParameter(
         ParameterSelection(self.SHAPE, "Shape", ["Rectangle", "Circle"]))
     self.addOutput(OutputFile(self.OUTPUT, "Output clipped las file"))
     self.addAdvancedModifiers()
Ejemplo n.º 18
0
 def defineCharacteristics(self):
     self.name = "Filter Data outliers"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(
         ParameterNumber(self.VALUE, "Standard Deviation multiplier"))
     self.addParameter(
         ParameterNumber(self.VALUE, "Window size", None, None, 10))
     self.addOutput(OutputFile(self.OUTPUT, "Output filtered las file"))
     self.addAdvancedModifiers()
Ejemplo n.º 19
0
 def defineCharacteristics(self):
     self.name = "lasclip"
     self.group = "Tools"
     self.addParameter(ParameterFile(lasclip.INPUT, "Input las layer"))
     self.addParameter(
         ParameterVector(lasclip.POLYGON, "Input polygons",
                         ParameterVector.VECTOR_TYPE_POLYGON))
     self.addOutput(OutputFile(lasclip.OUTPUT,
                               "Output classified las file"))
     self.addCommonParameters()
Ejemplo n.º 20
0
 def defineCharacteristics(self):
     self.name = "lasgrid"
     self.group = "Tools"
     self.addParameter(ParameterFile(lasgrid.INPUT, "Input las layer"))
     self.addParameter(
         ParameterBoolean(lasgrid.INTENSITY,
                          "Use intensity instead of elevation", False))
     self.addParameter(
         ParameterSelection(lasgrid.METHOD, "Method", lasgrid.METHODS))
     self.addOutput(OutputRaster(lasgrid.OUTPUT, "Output grid layer"))
     self.addCommonParameters()
Ejemplo n.º 21
0
 def defineCharacteristics(self):
     self.name = "Create Grid Surface"
     self.group = "Surface"
     self.addParameter(ParameterFile(self.INPUT, "Input las layer"))
     self.addParameter(
         ParameterNumber(self.CELLSIZE, "Cellsize", 0, None, 10.0))
     self.addParameter(
         ParameterSelection(self.XYUNITS, "XY Units", self.UNITS))
     self.addParameter(
         ParameterSelection(self.ZUNITS, "Z Units", self.UNITS))
     self.addOutput(OutputFile(self.OUTPUT, "PLANS DTM surface"))
     self.addAdvancedModifiers()
 def okPressed(self):
     description = unicode(self.nameTextBox.text())
     if description.strip() == "":
         QMessageBox.critical(self, "Unable to define parameter", "Invalid parameter name")
         return
     if self.param is None:
         validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
         safeName = ''.join(c for c in description if c in validChars)
         name = self.paramType.upper().replace(" ","") + "_" + safeName.upper()
     else:
         name = self.param.name
     if self.paramType == ModelerParameterDefinitionDialog.PARAMETER_BOOLEAN or isinstance(self.param, ParameterBoolean):
         self.param = ParameterBoolean(name, description, self.yesNoCombo.currentIndex() == 0)
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_TABLE_FIELD or isinstance(self.param, ParameterTableField):
         if self.parentCombo.currentIndex() < 0:
             QMessageBox.critical(self, "Unable to define parameter", "Wrong or missing parameter values")
             return
         parent = self.parentCombo.itemData(self.parentCombo.currentIndex())
         self.param = ParameterTableField(name, description, parent)
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_RASTER or isinstance(self.param, ParameterRaster):
         self.param = ParameterRaster(name, description, self.yesNoCombo.currentIndex() == 1)
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_TABLE or isinstance(self.param, ParameterTable):
         self.param = ParameterTable(name, description, self.yesNoCombo.currentIndex() == 1)
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_VECTOR or isinstance(self.param, ParameterVector):
         self.param = ParameterVector(name, description, self.shapetypeCombo.currentIndex()-1, self.yesNoCombo.currentIndex() == 1)
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_MULTIPLE or isinstance(self.param, ParameterMultipleInput):
         self.param = ParameterMultipleInput(name, description, self.datatypeCombo.currentIndex()-1, self.yesNoCombo.currentIndex() == 1)
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_NUMBER or isinstance(self.param, ParameterNumber):
         try:
             vmin = str(self.minTextBox.text()).strip()
             if vmin == "":
                 vmin = None
             else:
                 vmin = float(vmin)
             vmax = str(self.maxTextBox.text()).strip()
             if vmax == "":
                 vmax = None
             else:
                 vmax = float(vmax)
             self.param = ParameterNumber(name, description, vmin, vmax, float(str(self.defaultTextBox.text())))
         except:
             QMessageBox.critical(self, "Unable to define parameter", "Wrong or missing parameter values")
             return
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_STRING or isinstance(self.param, ParameterString):
         self.param = ParameterString(name, description, str(self.defaultTextBox.text()))
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_EXTENT or isinstance(self.param, ParameterExtent):
         self.param = ParameterExtent(name, description)
     elif self.paramType == ModelerParameterDefinitionDialog.PARAMETER_FILE or isinstance(self.param, ParameterFile):
         self.param = ParameterFile(name, description)
     self.close()
 def defineCharacteristics(self):
     self.name = "lasboundary"
     self.group = "Tools"
     self.addParameter(ParameterFile(lasboundary.INPUT, "Input las layer"))
     self.addParameter(
         ParameterNumber(lasboundary.CONCAVITY, "Concavity threshold", 0,
                         None, 50.0))
     self.addParameter(
         ParameterBoolean(lasboundary.HOLES, "Compute also interior holes",
                          False))
     self.addParameter(
         ParameterBoolean(lasboundary.DISJOINT, "Compute disjoint hull",
                          False))
     self.addOutput(
         OutputVector(lasboundary.OUTPUT, "Output boundary layer"))
     self.addCommonParameters()
Ejemplo n.º 24
0
 def defineCharacteristics(self):
     self.name = "las2iso"
     self.group = "Tools"
     self.addParameter(ParameterFile(las2iso.INPUT, "Input las layer"))
     self.addParameter(
         ParameterNumber(las2iso.INTERVAL, "Interval between isolines", 0,
                         None, 10.0))
     self.addParameter(
         ParameterNumber(las2iso.CLEAN,
                         "Clean isolines shorter than (0 = do not clean)",
                         None, None, 0.0))
     self.addParameter(
         ParameterNumber(
             las2iso.SIMPLIFY,
             "simplify segments shorter than (0 = do not simplify)", None,
             None, 0.0))
     self.addOutput(OutputVector(las2iso.OUTPUT, "Output isolines"))
     self.addCommonParameters()
Ejemplo n.º 25
0
    def processParameterLine(self, line):
        param = None
        out = None
        line = line.replace("#", "")
        if line.lower().strip().startswith("showplots"):
            self.showPlots = True
            self.addOutput(OutputHTML(RAlgorithm.RPLOTS, "R Plots"))
            return
        if line.lower().strip().startswith("dontuserasterpackage"):
            self.useRasterPackage = False
            return
        if line.lower().strip().startswith("passfilenames"):
            self.passFileNames = True
            return
        tokens = line.split("=")
        desc = self.createDescriptiveName(tokens[0])
        if tokens[1].lower().strip() == "group":
            self.group = tokens[0]
            return
        if tokens[1].lower().strip().startswith("raster"):
            param = ParameterRaster(tokens[0], desc, False)
        elif tokens[1].lower().strip() == "vector":
            param = ParameterVector(tokens[0], desc,
                                    ParameterVector.VECTOR_TYPE_ANY)
        elif tokens[1].lower().strip() == "table":
            param = ParameterTable(tokens[0], desc, False)
        elif tokens[1].lower().strip().startswith("multiple raster"):
            param = ParameterMultipleInput(tokens[0], desc,
                                           ParameterMultipleInput.TYPE_RASTER)
            param.optional = False
        elif tokens[1].lower().strip() == "multiple vector":
            param = ParameterMultipleInput(
                tokens[0], desc, ParameterMultipleInput.TYPE_VECTOR_ANY)
            param.optional = False
        elif tokens[1].lower().strip().startswith("selection"):
            options = tokens[1].strip()[len("selection"):].split(";")
            param = ParameterSelection(tokens[0], desc, options)
        elif tokens[1].lower().strip().startswith("boolean"):
            default = tokens[1].strip()[len("boolean") + 1:]
            param = ParameterBoolean(tokens[0], desc, default)
        elif tokens[1].lower().strip().startswith("number"):
            try:
                default = float(tokens[1].strip()[len("number") + 1:])
                param = ParameterNumber(tokens[0], desc, default=default)
            except:
                raise WrongScriptException("Could not load R script:" +
                                           self.descriptionFile +
                                           ".\n Problem with line \"" + line +
                                           "\"")
        elif tokens[1].lower().strip().startswith("field"):
            field = tokens[1].strip()[len("field") + 1:]
            found = False
            for p in self.parameters:
                if p.name == field:
                    found = True
                    break
            if found:
                param = ParameterTableField(tokens[0], tokens[0], field)
        elif tokens[1].lower().strip() == "extent":
            param = ParameterExtent(tokens[0], desc)
        elif tokens[1].lower().strip() == "file":
            param = ParameterFile(tokens[0], desc, False)
        elif tokens[1].lower().strip() == "folder":
            param = ParameterFile(tokens[0], desc, True)
        elif tokens[1].lower().strip().startswith("string"):
            default = tokens[1].strip()[len("string") + 1:]
            param = ParameterString(tokens[0], desc, default)
        elif tokens[1].lower().strip().startswith("output raster"):
            out = OutputRaster()
        elif tokens[1].lower().strip().startswith("output vector"):
            out = OutputVector()
        elif tokens[1].lower().strip().startswith("output table"):
            out = OutputTable()
        elif tokens[1].lower().strip().startswith("output file"):
            out = OutputFile()

        if param != None:
            self.addParameter(param)
        elif out != None:
            out.name = tokens[0]
            out.description = tokens[0]
            self.addOutput(out)
        else:
            raise WrongScriptException("Could not load R script:" +
                                       self.descriptionFile +
                                       ".\n Problem with line \"" + line +
                                       "\"")
Ejemplo n.º 26
0
    def defineCharacteristics(self):
        self.name = "Import Enums from GML"
        self.group = "Interlis"

        self.addParameter(ParameterFile(self.GML, "GML file"))
        self.addParameter(ParameterDbConnection(self.DB, "Database"))
Ejemplo n.º 27
0
    def defineCharacteristics(self):
        self.name = "Ili Enums to PG"
        self.group = "Interlis"

        self.addParameter(ParameterFile(self.ILI, "Interlis model (.ili)"))
        self.addParameter(ParameterDbConnection(self.DB, "Database"))
Ejemplo n.º 28
0
 def defineCharacteristics(self):
     self.name = "Merge LAS Files"
     self.group = "Points"
     self.addParameter(ParameterFile(self.INPUT, "Input LAS files"))
     self.addOutput(OutputFile(self.OUTPUT, "Output merged LAS file"))
Ejemplo n.º 29
0
    def processParameterLine(self,line):
        param = None
        out = None
        line = line.replace("#", "");
        # If the line is in the format of the text description files for normal algorithms,
        # then process it using parameter and output factories
        if '|' in line:
            self.processDescriptionParameterLine(line)
            return
        tokens = line.split("=");
        desc = self.createDescriptiveName(tokens[0])
        if tokens[1].lower().strip() == "group":
            self.group = tokens[0]
            return
        if tokens[1].lower().strip() == "name":
            self.name = tokens[0]
            return
        if tokens[1].lower().strip() == "raster":
            param = ParameterRaster(tokens[0], desc, False)
        elif tokens[1].lower().strip() == "vector":
            param = ParameterVector(tokens[0],  desc,ParameterVector.VECTOR_TYPE_ANY)
        elif tokens[1].lower().strip() == "table":
            param = ParameterTable(tokens[0], desc, False)
        elif tokens[1].lower().strip() == "multiple raster":
            param = ParameterMultipleInput(tokens[0], desc, ParameterMultipleInput.TYPE_RASTER)
            param.optional = False
        elif tokens[1].lower().strip() == "multiple vector":
            param = ParameterMultipleInput(tokens[0], desc, ParameterMultipleInput.TYPE_VECTOR_ANY)
            param.optional = False
        elif tokens[1].lower().strip().startswith("selection"):
            options = tokens[1].strip()[len("selection"):].split(";")
            param = ParameterSelection(tokens[0],  desc, options);
        elif tokens[1].lower().strip().startswith("boolean"):
            default = tokens[1].strip()[len("boolean")+1:]
            param = ParameterBoolean(tokens[0],  desc, default)
        elif tokens[1].lower().strip() == "extent":
            param = ParameterExtent(tokens[0],  desc)
        elif tokens[1].lower().strip() == "file":
            param = ParameterFile(tokens[0],  desc, False)
        elif tokens[1].lower().strip() == "folder":
            param = ParameterFile(tokens[0],  desc, True)
        elif tokens[    1].lower().strip().startswith("number"):
            default = tokens[1].strip()[len("number")+1:]
            param = ParameterNumber(tokens[0],  desc, default=default)
        elif tokens[1].lower().strip().startswith("field"):
            field = tokens[1].strip()[len("field")+1:]
            found = False
            for p in self.parameters:
                if p.name == field:
                    found = True
                    break
            if found:
                param = ParameterTableField(tokens[0],  tokens[0], field)
        elif tokens[1].lower().strip().startswith("string"):
            default = tokens[1].strip()[len("string")+1:]
            param = ParameterString(tokens[0],  desc, default)
        elif tokens[1].lower().strip().startswith("output raster"):
            out = OutputRaster()
        elif tokens[1].lower().strip().startswith("output vector"):
            out = OutputVector()
        elif tokens[1].lower().strip().startswith("output table"):
            out = OutputTable()
        elif tokens[1].lower().strip().startswith("output html"):
            out = OutputHTML()
        elif tokens[1].lower().strip().startswith("output file"):
            out = OutputFile()
        elif tokens[1].lower().strip().startswith("output number"):
            out = OutputNumber()
        elif tokens[1].lower().strip().startswith("output string"):
            out = OutputString()

        if param != None:
            self.addParameter(param)
        elif out != None:
            out.name = tokens[0]
            out.description = tokens[0]
            self.addOutput(out)
        else:
            raise WrongScriptException("Could not load script:" + self.descriptionFile + ".\n Problem with line \"" + line + "\"")
Ejemplo n.º 30
0
 def defineCharacteristics(self):
     self.name = "las2shp"
     self.group = "Tools"
     self.addParameter(ParameterFile(las2shp.INPUT, "Input las layer"))
     self.addOutput(OutputVector(las2shp.OUTPUT, "Output shp layer"))
     self.addCommonParameters()