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"))
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"))
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)"))
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()
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()
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()
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)))
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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 + "\"")
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"))
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"))
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"))
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 + "\"")
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()