예제 #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"))
예제 #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"))
예제 #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)"))
예제 #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()
예제 #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()
예제 #8
0
파일: Cover.py 프로젝트: sdikiy/Quantum-GIS
 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()
예제 #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)))
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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()
예제 #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 +
                                       "\"")
예제 #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"))
예제 #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"))
예제 #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"))
예제 #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 + "\"")
예제 #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()