Erstellen von Klassen

Mit der Spatial Analyst-Lizenz verfügbar.

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 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 Listenaufzählung 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 Wedge-Neighbourhood-Klasse 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