def defineCharacteristics(self): self.name = "Geometry Export" self.group = "Transfer" self.addParameter( ParameterVector(self.LAYERNAME, "Source Layer", ParameterVector.VECTOR_TYPE_ANY)) self.addOutput( OutputTable(self.NODEFILENAME, "Node CSV Output File Name")) self.addOutput( OutputTable(self.ATTRIBUTEFILENAME, "Attribute CSV Output File Name (non-points only)")) self.delimiters = ["Comma", "Bar", "Space"] self.addParameter( ParameterSelection(self.FIELDDELIMITER, "Delimiter", self.delimiters, default=0)) self.terminators = ["CRLF", "LF"] self.addParameter( ParameterSelection(self.LINETERMINATOR, "Delimiter", self.terminators, default=0))
def defineCharacteristics(self): self.name = "D-Infinity Distance Up" self.cmdName = "dinfdistup" self.group = "Specialized Grid Analysis tools" self.addParameter( ParameterRaster(self.DINF_FLOW_DIR_GRID, "D-Infinity Flow Direction Grid", False)) self.addParameter( ParameterRaster(self.PIT_FILLED_GRID, "Pit Filled Elevation Grid", False)) self.addParameter(ParameterRaster(self.SLOPE_GRID, "Slope Grid", False)) self.addParameter( ParameterSelection(self.STAT_METHOD, "Statistical Method", self.STATISTICS, 2)) self.addParameter( ParameterSelection(self.DIST_METHOD, "Distance Method", self.DISTANCE, 1)) self.addParameter( ParameterNumber(self.THRESHOLD, "Proportion Threshold", 0, None, 0.5)) self.addParameter( ParameterBoolean(self.EDGE_CONTAM, "Check for edge contamination", True)) self.addOutput( OutputRaster(self.DIST_UP_GRID, "D-Infinity Distance Up"))
def defineCharacteristics(self): self.name = "Distance to Nearest Hub" self.group = "Create" self.addParameter( ParameterVector(self.SOURCENAME, "Source Points Layer", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter( ParameterVector(self.DESTNAME, "Destination Hubs Layer", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter( ParameterTableField(self.NAMEATTRIBUTE, "Hub Layer Name Attribute", self.DESTNAME)) self.shapetypes = ["Point", "Line to Hub"] self.addParameter( ParameterSelection(self.SHAPETYPE, "Output Shape Type", self.shapetypes, default=0)) self.unitlist = [ "Meters", "Feet", "Miles", "Kilometers", "Layer Units" ] self.addParameter( ParameterSelection(self.UNITS, "Measurement Unit", self.unitlist, default=0)) self.addOutput(OutputVector(self.SAVENAME, "Output Shapefile"))
def defineCharacteristics(self): self.name = "D-Infinity Distance Down" self.cmdName = "dinfdistdown" self.group = "Specialized Grid Analysis tools" self.addParameter( ParameterRaster(self.DINF_FLOW_DIR_GRID, "D-Infinity Flow Direction Grid", False)) self.addParameter( ParameterRaster(self.PIT_FILLED_GRID, "Pit Filled Elevation Grid", False)) self.addParameter( ParameterRaster(self.STREAM_GRID, "Stream Raster Grid", False)) self.addParameter( ParameterRaster(self.WEIGHT_PATH_GRID, "Weight Path Grid", True)) self.addParameter( ParameterSelection(self.STAT_METHOD, "Statistical Method", self.STATISTICS, 2)) self.addParameter( ParameterSelection(self.DIST_METHOD, "Distance Method", self.DISTANCE, 1)) self.addParameter( ParameterBoolean(self.EDGE_CONTAM, "Check for edge contamination", True)) self.addOutput( OutputRaster(self.DIST_DOWN_GRID, "D-Infinity Drop to Stream Grid"))
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 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 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.name = "Advanced Python field calculator" self.group = "Vector table tools" self.addParameter( ParameterVector(self.INPUT_LAYER, "Input layer", [ParameterVector.VECTOR_TYPE_ANY], False)) self.addParameter( ParameterString(self.FIELD_NAME, "Result field name", "NewField")) self.addParameter( ParameterSelection(self.FIELD_TYPE, "Field type", self.TYPE_NAMES)) self.addParameter( ParameterNumber(self.FIELD_LENGTH, "Field length", 1, 255, 10)) self.addParameter( ParameterNumber(self.FIELD_PRECISION, "Field precision", 0, 10, 0)) self.addParameter( ParameterString(self.GLOBAL, "Global expression", multiline=True, optional=True)) self.addParameter( ParameterString(self.FORMULA, "Formula", "value = ", multiline=True)) self.addOutput(OutputVector(self.OUTPUT_LAYER, "Output layer"))
def defineCharacteristics(self): self.name = "Create grid" self.group = "Vector creation tools" self.addParameter( ParameterNumber(self.HSPACING, "Horizontal spacing", default=10.0)) self.addParameter( ParameterNumber(self.VSPACING, "Vertical spacing", default=10.0)) self.addParameter(ParameterNumber(self.WIDTH, "Width", default=360.0)) self.addParameter(ParameterNumber(self.HEIGHT, "Height", default=180.0)) self.addParameter( ParameterNumber(self.CENTERX, "Center X", default=0.0)) self.addParameter( ParameterNumber(self.CENTERY, "Center Y", default=0.0)) self.gridtype_options = [ "Rectangle (line)", "Rectangle (polygon)", "Diamond (polygon)", "Hexagon (polygon)" ] self.addParameter( ParameterSelection(self.GRIDTYPE, "Grid type", self.gridtype_options, default=0)) self.addOutput(OutputVector(self.SAVENAME, "Output"))
def defineCharacteristics(self): self.name = "Distance matrix" self.group = "Analysis tools" self.addParameter( ParameterVector(PointDistance.INPUT_LAYER, "Input point layer", ParameterVector.VECTOR_TYPE_POINT)) self.addParameter( ParameterTableField(PointDistance.INPUT_FIELD, "Input unique ID field", PointDistance.INPUT_LAYER, ParameterTableField.DATA_TYPE_ANY)) self.addParameter( ParameterVector(PointDistance.TARGET_LAYER, "Target point layer", ParameterVector.VECTOR_TYPE_POINT)) self.addParameter( ParameterTableField(PointDistance.TARGET_FIELD, "Target unique ID field", PointDistance.TARGET_LAYER, ParameterTableField.DATA_TYPE_ANY)) self.addParameter( ParameterSelection(PointDistance.MATRIX_TYPE, "Output matrix type", PointDistance.MAT_TYPES, 0)) self.addParameter( ParameterNumber(PointDistance.NEAREST_POINTS, "Use only the nearest (k) target points", 0, 9999, 0)) self.addOutput( OutputFile(PointDistance.DISTANCE_MATRIX, "Distance matrix"))
def defineCharacteristics(self): self.name = "Stream Drop Analysis" self.cmdName = "dropanalysis" self.group = "Stream Network Analysis tools" self.addParameter( ParameterRaster(self.D8_CONTRIB_AREA_GRID, "D8 Contributing Area Grid", False)) self.addParameter( ParameterRaster(self.D8_FLOW_DIR_GRID, "D8 Flow Direction Grid", False)) self.addParameter( ParameterRaster(self.PIT_FILLED_GRID, "Pit Filled Elevation Grid", False)) self.addParameter( ParameterRaster(self.ACCUM_STREAM_SOURCE_GRID, "Contributing Area Grid", False)) self.addParameter( ParameterVector(self.OUTLETS_SHAPE, "Outlets Shapefile", ParameterVector.VECTOR_TYPE_POINT, False)) self.addParameter( ParameterNumber(self.MIN_TRESHOLD, "Minimum Threshold", 0, None, 5)) self.addParameter( ParameterNumber(self.MAX_THRESHOLD, "Maximum Threshold", 0, None, 500)) self.addParameter( ParameterNumber(self.TRESHOLD_NUM, "Number of Threshold Values", 0, None, 10)) self.addParameter( ParameterSelection(self.STEP_TYPE, "Spacing for Threshold Values", self.STEPS, 0)) self.addOutput( OutputFile(self.DROP_ANALYSIS_FILE, "D-Infinity Drop to Stream Grid"))
def defineCharacteristics(self): self.name = "Export/Add geometry columns" self.group = "Geometry tools" self.addParameter(ParameterVector(self.INPUT, "Input layer", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter(ParameterSelection(self.METHOD, "Calculate using", self.CALC_METHODS, 0)) self.addOutput(OutputVector(self.OUTPUT, "Output layer"))
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 = "Convex hull" self.group = "Geoprocessing tools" self.addParameter(ParameterVector(ConvexHull.INPUT, "Input layer", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter(ParameterTableField(ConvexHull.FIELD, "Field", ConvexHull.INPUT)) self.addParameter(ParameterSelection(ConvexHull.METHOD, "Method", ConvexHull.METHODS)) self.addParameter(ParameterBoolean(ConvexHull.USE_SELECTED, "Use selected features", False)) self.addOutput(OutputVector(ConvexHull.OUTPUT, "Convex hull"))
def defineCharacteristics(self): self.name = "Random selection" self.group = "Vector selection tools" self.addParameter(ParameterVector(self.INPUT, "Input layer", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter(ParameterSelection(self.METHOD, "Method", self.METHODS, 0)) self.addParameter(ParameterNumber(self.NUMBER, "Number/percentage of selected features", 0, None, 10)) self.addOutput(OutputVector(self.OUTPUT, "Selection", True))
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 = "Warp (reproject)" self.group = "[GDAL] Projections" self.addParameter(ParameterRaster(warp.INPUT, "Input layer", False)) self.addParameter(ParameterCrs(warp.SOURCE_SRS, "Source SRS (EPSG Code)", "EPSG:4326")) self.addParameter(ParameterCrs(warp.DEST_SRS, "Destination SRS (EPSG Code)", "EPSG:4326")) self.addParameter(ParameterNumber(warp.TR, "Output file resolution in target georeferenced units (leave 0 for no change)", 0.0, None, 0.0)) self.addParameter(ParameterSelection(warp.METHOD, "Resampling method", warp.METHOD_OPTIONS)) self.addParameter(ParameterString(warp.EXTRA, "Additional creation parameters", " ")) self.addOutput(OutputRaster(warp.OUTPUT, "Output layer"))
def defineCharacteristics(self): self.name = "Convert geometry type" self.group = "Vector geometry tools" self.addParameter(ParameterVector(self.LAYERNAME, "Input layer", ParameterVector.VECTOR_TYPE_ANY)) self.newtypes = ["Centroids", "Nodes", "Linestrings", "Multilinestrings", "Polygons"] self.addParameter(ParameterSelection(self.NEWTYPE, "New Geometry Type", self.newtypes, default = 0)) self.addOutput(OutputVector(self.SAVENAME, "Output"))
def defineCharacteristics(self): self.name = "Field calculator" self.group = "Vector table tools" self.addParameter(ParameterVector(self.INPUT_LAYER, "Input layer", ParameterVector.VECTOR_TYPE_ANY, False)) self.addParameter(ParameterString(self.FIELD_NAME, "Result field name")) self.addParameter(ParameterSelection(self.FIELD_TYPE, "Field type", self.TYPE_NAMES)) self.addParameter(ParameterNumber(self.FIELD_LENGTH, "Field lenght", 1, 255, 10)) self.addParameter(ParameterNumber(self.FIELD_PRECISION, "Field precision", 0, 10, 0)) self.addParameter(ParameterString(self.FORMULA, "Formula")) self.addOutput(OutputVector(self.OUTPUT_LAYER, "Output layer"))
def defineCharacteristics(self): self.name = "pct2rgb" self.group = "[GDAL] Conversion" self.addParameter(ParameterRaster(pct2rgb.INPUT, "Input layer", False)) options = [] for i in range(25): options.append(str(i + 1)) self.addParameter( ParameterSelection(pct2rgb.NBAND, "Band to convert", options)) self.addOutput(OutputRaster(pct2rgb.OUTPUT, "Output layer"))
def defineCharacteristics(self): self.name = "Add field to attributes table" self.group = "Algorithms for vector layers" self.addParameter( ParameterVector(self.INPUT_LAYER, "Input layer", ParameterVector.VECTOR_TYPE_ANY, False)) self.addParameter(ParameterString(self.FIELD_NAME, "Field name")) self.addParameter( ParameterSelection(self.FIELD_TYPE, "Field type", self.TYPE_NAMES)) self.addOutput(OutputVector(self.OUTPUT_LAYER, "Output layer"))
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 = "ogr2ogr" self.group = "[OGR] Transformation" #we add the input vector layer. It can have any kind of geometry #It is a mandatory (not optional) one, hence the False argument self.addParameter(ParameterVector(self.INPUT_LAYER, "Input layer", ParameterVector.VECTOR_TYPE_ANY, False)) self.addParameter(ParameterSelection(self.DEST_FORMAT, "Destination Format", FORMATS)) self.addParameter(ParameterString(self.DEST_DSCO, "Creation Options", "")) self.addOutput(OutputVector(self.OUTPUT_LAYER, "Output layer"))
def defineCharacteristics(self): self.name = "Select by attribute" self.group = "Vector selection tools" self.addParameter(ParameterVector(self.LAYERNAME, "Input Layer", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter(ParameterTableField(self.ATTRIBUTE, "Selection attribute", self.LAYERNAME)) self.comparisons = ['==', '!=', '>', '>=', '<', '<=', 'begins with', 'contains'] self.addParameter(ParameterSelection(self.COMPARISON, "Comparison", self.comparisons, default = 0)) self.addParameter(ParameterString(self.COMPARISONVALUE, "Value", default = "0")) self.addOutput(OutputVector(self.RESULT, "Output", True))
def defineCharacteristics(self): self.name = "Warp (reproject)" self.group = "[GDAL] Projections" self.addParameter(ParameterRaster(warp.INPUT, "Input layer", False)) self.addParameter( ParameterCrs(warp.SOURCE_SRS, "Source SRS (EPSG Code)", "4326")) self.addParameter( ParameterCrs(warp.DEST_SRS, "Destination SRS (EPSG Code)", "4326")) self.addParameter( ParameterSelection(warp.METHOD, "Resampling method", warp.METHOD_OPTIONS)) self.addOutput(OutputRaster(warp.OUTPUT, "Output layer"))
def defineCharacteristics(self): self.name = "Convex hull" self.group = "Vector geometry tools" self.addParameter( ParameterVector(ConvexHull.INPUT, "Input layer", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter( ParameterTableField(ConvexHull.FIELD, "Field", ConvexHull.INPUT)) self.addParameter( ParameterSelection(ConvexHull.METHOD, "Method", ConvexHull.METHODS)) self.addOutput(OutputVector(ConvexHull.OUTPUT, "Convex hull"))
def defineCharacteristics(self): self.name = "Translate (convert format)" self.group = "[GDAL] Conversion" self.addParameter(ParameterRaster(translate.INPUT, "Input layer", False)) self.addParameter(ParameterNumber(translate.OUTSIZE, "Set the size of the output file (In pixels or %)", 1, None, 100)) self.addParameter(ParameterBoolean(translate.OUTSIZE_PERC, "Output size is a percentage of input size", True)) self.addParameter(ParameterString(translate.NO_DATA, "Nodata value, leave as none to take the nodata value from input", "none")) self.addParameter(ParameterSelection(translate.EXPAND, "Expand", ["none","gray","rgb","rgba"])) self.addParameter(ParameterCrs(translate.SRS, "Override the projection for the output file", None)) self.addParameter(ParameterExtent(translate.PROJWIN, "Subset based on georeferenced coordinates")) self.addParameter(ParameterBoolean(translate.SDS, "Copy all subdatasets of this file to individual output files", False)) self.addParameter(ParameterString(translate.EXTRA, "Additional creation parameters", "")) self.addOutput(OutputRaster(translate.OUTPUT, "Output layer"))
def defineCharacteristics(self): self.name = "Attribute Export" self.group = "Transfer" self.addParameter( ParameterVector(self.LAYERNAME, "SourceLayer", ParameterVector.VECTOR_TYPE_ANY)) self.delimiters = ["Comma", "Bar", "Space"] self.addParameter( ParameterSelection(self.FIELDDELIMITER, "Delimiter", self.delimiters, default=0)) self.terminators = ["CRLF", "LF"] self.addParameter( ParameterSelection(self.LINETERMINATOR, "Delimiter", self.terminators, default=0)) self.addOutput(OutputTable(self.OUTFILENAME, "Output CSV File"))
def defineCharacteristics(self): self.name = "Select by location" self.group = "Vector selection tools" self.addParameter( ParameterVector(self.INPUT, "Layer to select from", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter( ParameterVector(self.INTERSECT, "Additional layer (intersection layer)", ParameterVector.VECTOR_TYPE_ANY)) self.addParameter( ParameterSelection(self.METHOD, "Modify current selection by", self.METHODS, 0)) self.addOutput(OutputVector(self.OUTPUT, "Selection", True))