예제 #1
0
    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 = "Merge vector layers"
		self.group = "Vector general tools"

		self.addParameter(ParameterVector(self.LAYER1, "Input layer 1", ParameterVector.VECTOR_TYPE_ANY))
		self.addParameter(ParameterVector(self.LAYER2, "Source layer 2", ParameterVector.VECTOR_TYPE_ANY))
		self.addOutput(OutputVector(self.SAVENAME, "Output"))
예제 #3
0
    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"))
예제 #4
0
 def defineCharacteristics(self):
     self.name = "Intersection"
     self.group = "Geoprocessing tools"
     self.addParameter(ParameterVector(Intersection.INPUT, "Input layer", ParameterVector.VECTOR_TYPE_ANY))
     self.addParameter(ParameterVector(Intersection.INPUT2, "Intersect layer", ParameterVector.VECTOR_TYPE_ANY))
     self.addParameter(ParameterBoolean(Intersection.USE_SELECTED, "Use selected features (input)", False))
     self.addParameter(ParameterBoolean(Intersection.USE_SELECTED2, "Use selected features (intersect)", False))
     self.addOutput(OutputVector(Intersection.OUTPUT, "Intersection"))
예제 #5
0
 def defineCharacteristics(self):
     self.name = "Join attributes table"
     self.group = "Vector general tools"
     self.addParameter(ParameterVector(self.INPUT_LAYER, "Input layer", [ParameterVector.VECTOR_TYPE_ANY], False))
     self.addParameter(ParameterVector(self.INPUT_LAYER_2, "Input layer 2", [ParameterVector.VECTOR_TYPE_ANY], False))
     self.addParameter(ParameterTableField(self.TABLE_FIELD, "Table field", self.INPUT_LAYER))
     self.addParameter(ParameterTableField(self.TABLE_FIELD_2, "Table field 2", self.INPUT_LAYER_2))
     self.addOutput(OutputVector(self.OUTPUT_LAYER, "Output layer"))
	def defineCharacteristics(self):
		self.name = "Hub lines"
		self.group = "Vector analysis tools"

		self.addParameter(ParameterVector(self.HUBNAME, "Hub Point Layer", ParameterVector.VECTOR_TYPE_ANY))
		self.addParameter(ParameterTableField(self.HUBATTRIBUTE, "Hub ID Attribute", self.HUBNAME))
		self.addParameter(ParameterVector(self.SPOKENAME, "Spoke Point Layer", ParameterVector.VECTOR_TYPE_ANY))
		self.addParameter(ParameterTableField(self.SPOKEATTRIBUTE, "Spoke Hub ID Attribute", self.SPOKENAME))
		self.addOutput(OutputVector(self.SAVENAME, "Output"))
예제 #7
0
    def defineCharacteristics(self):
        self.name = "Line intersections"
        self.group = "Vector overlay tools"

        self.addParameter(ParameterVector(self.INPUT_A, "Input layer", [ParameterVector.VECTOR_TYPE_LINE]))
        self.addParameter(ParameterVector(self.INPUT_B, "Intersect layer", [ParameterVector.VECTOR_TYPE_LINE]))
        self.addParameter(ParameterTableField(self.FIELD_A, "Input unique ID field", self.INPUT_A))
        self.addParameter(ParameterTableField(self.FIELD_B, "Intersect unique ID field", self.INPUT_B))

        self.addOutput(OutputVector(self.OUTPUT, "Output layer"))
예제 #8
0
    def defineCharacteristics(self):
        self.name = "Count points in polygon(weighted)"
        self.group = "Vector analysis tools"

        self.addParameter(ParameterVector(self.POLYGONS, "Polygons", [ParameterVector.VECTOR_TYPE_POLYGON]))
        self.addParameter(ParameterVector(self.POINTS, "Points", [ParameterVector.VECTOR_TYPE_POINT]))
        self.addParameter(ParameterTableField(self.WEIGHT, "Weight field", self.POINTS))
        self.addParameter(ParameterString(self.FIELD, "Count field name", "NUMPOINTS"))

        self.addOutput(OutputVector(self.OUTPUT, "Result"))
예제 #9
0
 def defineCharacteristics(self):
     self.name = "Clip"
     self.group = "Vector overlay tools"
     self.addParameter(
         ParameterVector(Clip.INPUT, "Input layer",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addParameter(
         ParameterVector(Clip.INPUT2, "Clip layer",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addOutput(OutputVector(Clip.OUTPUT, "Clipped"))
예제 #10
0
 def defineCharacteristics(self):
     self.name = "Difference"
     self.group = "Vector overlay tools"
     self.addParameter(
         ParameterVector(Difference.INPUT, "Input layer",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addParameter(
         ParameterVector(Difference.INPUT2, "Difference layer",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addOutput(OutputVector(Difference.OUTPUT, "Difference"))
예제 #11
0
 def defineCharacteristics(self):
     self.name = "Union"
     self.group = "Vector overlay tools"
     self.addParameter(
         ParameterVector(Union.INPUT, "Input layer",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addParameter(
         ParameterVector(Union.INPUT2, "Input layer 2",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addOutput(OutputVector(Union.OUTPUT, "Union"))
예제 #12
0
    def defineCharacteristics(self):
        self.name = "Merge Layers"
        self.group = "Transfer"

        self.addParameter(
            ParameterVector(self.LAYER1, "Source Layer 1",
                            ParameterVector.VECTOR_TYPE_ANY))
        self.addParameter(
            ParameterVector(self.LAYER2, "Source Layer 2",
                            ParameterVector.VECTOR_TYPE_ANY))
        self.addOutput(OutputVector(self.SAVENAME, "Output Shapefile"))
예제 #13
0
 def defineCharacteristics(self):
     self.name = "Sum line lengths"
     self.group = "Analysis tools"
     self.addParameter(
         ParameterVector(SumLines.LINES, "Lines",
                         ParameterVector.VECTOR_TYPE_LINE))
     self.addParameter(
         ParameterVector(SumLines.POLYGONS, "Polygons",
                         ParameterVector.VECTOR_TYPE_POLYGON))
     self.addParameter(
         ParameterString(SumLines.FIELD, "Output field name", "LENGTH"))
     self.addOutput(OutputVector(SumLines.OUTPUT, "Result"))
예제 #14
0
    def defineCharacteristics(self):
        self.name = "Count points in polygon"
        self.group = "Vector analysis tools"
        self.addParameter(
            ParameterVector(self.POLYGONS, "Polygons",
                            ParameterVector.VECTOR_TYPE_POLYGON))
        self.addParameter(
            ParameterVector(self.POINTS, "Points",
                            ParameterVector.VECTOR_TYPE_POINT))
        self.addParameter(
            ParameterString(self.FIELD, "Count field name", "NUMPOINTS"))

        self.addOutput(OutputVector(self.OUTPUT, "Result"))
 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))
	def defineCharacteristics(self):
		self.name = "Text to float"
		self.group = "Vector table tools"

		self.addParameter(ParameterVector(self.LAYERNAME, "Input Layer", ParameterVector.VECTOR_TYPE_ANY))
		self.addParameter(ParameterTableField(self.ATTRIBUTE, "Text attribute to convert to float", self.LAYERNAME))
		self.addOutput(OutputVector(self.SAVENAME, "Output"))
예제 #17
0
    def defineCharacteristics(self):
        self.name = "Voronoi polygons"
        self.group = "Vector geometry tools"

        self.addParameter(ParameterVector(self.INPUT, "Input layer", ParameterVector.VECTOR_TYPE_POINT))

        self.addOutput(OutputVector(self.OUTPUT, "Voronoi polygons"))
	def defineCharacteristics(self):
		self.name = "Delete column"
		self.group = "Vector table tools"

		self.addParameter(ParameterVector(self.LAYERNAME, "Input layer", ParameterVector.VECTOR_TYPE_ANY))
		self.addParameter(ParameterTableField(self.COLUMN, "Field to delete", self.LAYERNAME))
		self.addOutput(OutputVector(self.SAVENAME, "Output"))
예제 #19
0
 def defineCharacteristics(self):
     self.name = "Import into PostGIS"
     self.group = "PostGIS management tools"
     self.addParameter(ParameterVector(self.INPUT, "Layer to import"))
     self.addParameter(ParameterString(self.DATABASE, "Database"))
     self.addParameter(ParameterString(self.TABLENAME,
                                       "Name for new table"))
예제 #20
0
 def defineCharacteristics(self):
     self.name = "Difference"
     self.group = "Geoprocessing tools"
     self.addParameter(
         ParameterVector(Difference.INPUT, "Input layer",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addParameter(
         ParameterVector(Difference.INPUT2, "Difference layer",
                         ParameterVector.VECTOR_TYPE_ANY))
     self.addParameter(
         ParameterBoolean(Difference.USE_SELECTED,
                          "Use selected features (input)", False))
     self.addParameter(
         ParameterBoolean(Difference.USE_SELECTED2,
                          "Use selected features (difference)", False))
     self.addOutput(OutputVector(Difference.OUTPUT, "Difference"))
    def defineCharacteristics(self):
        self.name = "Basic statistics for numeric fields"
        self.group = "Vector table tools"

        self.addParameter(
            ParameterVector(self.INPUT_LAYER, "Input vector layer",
                            ParameterVector.VECTOR_TYPE_ANY, False))
        self.addParameter(
            ParameterTableField(self.FIELD_NAME,
                                "Field to calculate statistics on",
                                self.INPUT_LAYER,
                                ParameterTableField.DATA_TYPE_NUMBER))

        self.addOutput(
            OutputHTML(self.OUTPUT_HTML_FILE, "Statistics for numeric field"))

        self.addOutput(OutputNumber(self.CV, "Coefficient of Variation"))
        self.addOutput(OutputNumber(self.MIN, "Minimum value"))
        self.addOutput(OutputNumber(self.MAX, "Maximum value"))
        self.addOutput(OutputNumber(self.SUM, "Sum"))
        self.addOutput(OutputNumber(self.MEAN, "Mean value"))
        self.addOutput(OutputNumber(self.COUNT, "Count"))
        self.addOutput(OutputNumber(self.RANGE, "Range"))
        self.addOutput(OutputNumber(self.MEDIAN, "Median"))
        self.addOutput(OutputNumber(self.UNIQUE, "Number of unique values"))
        self.addOutput(OutputNumber(self.STD_DEV, "Standard deviation"))
    def defineCharacteristics(self):
        self.name = "D-Infinity Transport Limited Accumulation - 2"
        self.cmdName = "dinftranslimaccum"
        self.group = "Specialized Grid Analysis tools"

        self.addParameter(
            ParameterRaster(self.DINF_FLOW_DIR_GRID,
                            "D-Infinity Flow Direction Grid", False))
        self.addParameter(
            ParameterRaster(self.SUPPLY_GRID, "Supply Grid", False))
        self.addParameter(
            ParameterRaster(self.CAPACITY_GRID, "Transport Capacity Grid",
                            False))
        self.addParameter(
            ParameterRaster(self.IN_CONCENTR_GRID, "Input Concentration Grid",
                            False))
        self.addParameter(
            ParameterVector(self.OUTLETS_SHAPE, "Outlets Shapefile",
                            ParameterVector.VECTOR_TYPE_POINT, True))
        self.addParameter(
            ParameterBoolean(self.EDGE_CONTAM, "Check for edge contamination",
                             True))

        self.addOutput(
            OutputRaster(self.TRANSP_LIM_ACCUM_GRID,
                         "Transport Limited Accumulation Grid"))
        self.addOutput(OutputRaster(self.DEPOSITION_GRID, "Deposition Grid"))
        self.addOutput(
            OutputRaster(self.OUT_CONCENTR_GRID, "Output Concentration Grid"))
예제 #23
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)))
예제 #24
0
    def defineCharacteristics(self):
        self.name = "Basic statistics for text fields"
        self.group = "Analysis tools"

        self.addParameter(
            ParameterVector(self.INPUT_LAYER, "Input vector layer",
                            ParameterVector.VECTOR_TYPE_ANY, False))
        self.addParameter(
            ParameterTableField(self.FIELD_NAME,
                                "Field to calculate statistics on",
                                self.INPUT_LAYER,
                                ParameterTableField.DATA_TYPE_STRING))
        self.addParameter(
            ParameterBoolean(self.USE_SELECTION, "Use selection", False))

        self.addOutput(
            OutputHTML(self.OUTPUT_HTML_FILE, "Statistics for text field"))

        self.addOutput(OutputNumber(self.MIN_LEN, "Minimum length"))
        self.addOutput(OutputNumber(self.MAX_LEN, "Maximum length"))
        self.addOutput(OutputNumber(self.MEAN_LEN, "Mean length"))
        self.addOutput(OutputNumber(self.COUNT, "Count"))
        self.addOutput(OutputNumber(self.EMPTY, "Number of empty values"))
        self.addOutput(OutputNumber(self.FILLED, "Number of non-empty values"))
        self.addOutput(OutputNumber(self.UNIQUE, "Number of unique values"))
예제 #25
0
    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))
예제 #26
0
    def defineCharacteristics(self):
        self.name = "Extract nodes"
        self.group = "Geometry tools"

        self.addParameter(ParameterVector(self.INPUT, "Input layer", ParameterVector.VECTOR_TYPE_ANY))

        self.addOutput(OutputVector(self.OUTPUT, "Output layer"))
예제 #27
0
 def defineCharacteristics(self):
     self.name = "Delaunay triangulation"
     self.group = "Geometry tools"
     self.addParameter(
         ParameterVector(Delaunay.INPUT, "Input layer",
                         ParameterVector.VECTOR_TYPE_POINT))
     self.addOutput(OutputVector(Delaunay.OUTPUT, "Delaunay triangulation"))
예제 #28
0
    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"))
예제 #29
0
 def defineCharacteristics(self):
     self.name = "Add autoincremental field"
     self.group = "Vector table tools"
     self.addParameter(
         ParameterVector(self.INPUT, "Input layer",
                         [ParameterVector.VECTOR_TYPE_ANY]))
     self.addOutput(OutputVector(self.OUTPUT, "Output layer"))
예제 #30
0
 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"))