Erstellen von Klassen
Um Klassen als Eingabeparameter für Geoverarbeitungswerkzeuge verwenden zu können, müssen Sie sie zunächst erstellen. Nach deren Instanziierung können Sie auf ihre Eigenschaften zugreifen und die Objekte abfragen oder ändern. Am einfachsten ist es, sich mit dem Erstellen der verschiedenen Klassenobjekte anhand von Beispielen für ihre Erstellung mit Hilfe unterschiedlicher Eingabetypen vertraut zu machen.
Tipp:
Die Dokumentation jeder Klasse enthält ein Skriptbeispiel, in dem beschrieben wird, wie die einzelnen Klassen in einem Werkzeugparameter definiert und verwendet werden.
Mit einer festen Anzahl von Eingaben erstellte Klassen
- Im Folgenden werden Beispiele für das Erstellen verschiedener von Klassen aus einer festen Anzahl von Eingaben dargestellt:
# Creating a neighborhood class and assigning it to a variable neighborhood = NbrRectangle(10, 10, "CELL") outFocalStats = FocalStatistics(inRas, neighborhood, "MINORITY")
# Creating the Kriging model to be used kModelOrdinary = KrigingModelOrdinary("CIRCULAR", 2000, 2.6, 542, 0) # Creating a radius class and assigning it to a variable kRadius = RadiusFixed(20000, 1) outKriging = Kriging(inFeatures, field, kModelOrdinary, cellSize, kRadius, outVarRaster)
Mit Python-Listen oder einer Listenauflistung erstellte Klassen
- Im Folgenden wird ein Beispiel für das Erstellen einer Klasse aus einer Liste für die Verwendung im Werkzeug Topo zu Raster dargestellt:
# Create classes as input for TopoToRaster myTopoPtElev = TopoPointElevation([["spots.shp", "spot_meter"], ["spots2.shp", "elev"]]) myTopoContour = TopoContour([["contours.shp", "spot_meter"]]) myTopoBoundary = TopoBoundary(["boundary.shp"]) myTopoLake = TopoLake(["lakes.shp"]) myTopoSink = TopoSink([["sink1.shp", "elevation"], ["sink2.shp", "NONE"]]) myTopoStream = TopoStream(["streams.shp"]) # Applying the tool outTopoToRaster = TopoToRaster([myTopoPtElev, myTopoContour, myTopoBoundary, myTopoLake, myTopoSink, myTopoStream])
- Im Folgenden wird ein Beispiel für das Erstellen einer Klasse aus einer Liste für die Verwendung im Werkzeug Reklassifizieren dargestellt:
# The RemapValue class has a usage of: # RemapRange(startValue, endValue, newValue) RemapTable = RemapValue([[1, 5], [2, 8], [3, 1], [4, 10]]) # Run the tool outReclass = Reclassify("inRas", RemapTable)
Innerhalb einer Liste aus einer Reihe von Klassen erstellte Klassen
- Im Folgenden wird ein Beispiel für das Erstellen von Klassen aus einer Reihe von Point-Klassen innerhalb einer Liste für die Verwendung in einer Raster-Zellenextraktion dargestellt:
# Identify the points to be extracted by creating a list # of Point objects. PointsToExtract = [Point(0, 5), Point(15, 175), Point(225, 450)] # Run the tool Outraster = ExtractByPoints(PointsToExtract)
Standardargumente
- Bestimmte Argumente sind optional und werden in der Verwendung durch {} (geschweifte Klammern) definiert. Die Syntax für die Keilnachbarschaftsklasse lautet z. B. wie folgt:
NbrWedge({radius}, {startAngle}, {endAngle}, {units})
- Wenn kein optionales Argument angegeben ist, wird ein Standardwert verwendet.
# The circle neighborhood will default to # a radius of 3 and units of CELL circle = NbrCircle()
- Optionale Argumente können entweder durch leere Anführungszeichen "" oder durch "#", angegeben werden, wodurch gekennzeichnet wird, dass der Wert übersprungen werden soll und der Standardwert gewünscht wird.
Verwandte Themen
7/10/2012