Erstellen von Klassen

Mit der Spatial Analyst-Lizenz verfügbar.

Wenn Sie Klassen als Eingabeparameter für Geoverarbeitungswerkzeuge verwenden möchten, müssen Sie sie zunächst erstellen. Nach deren Instanziierung können Sie auf ihre Eigenschaften zugreifen und die Objekte abfragen oder ändern. Anhand von Beispielen zum Erstellen von Klassenobjekten mit verschiedenen Eingabetypen lässt sich am einfachsten erklären, wie die verschiedenen Klassenobjekte erstellt werden.

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 Listenauflistungen erstellte Klassen

  • Im folgenden Beispiel wird eine Klasse aus einer Liste zur Verwendung im Werkzeug Topo zu Raster erstellt:
    # 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 Beispiel wird eine Klasse aus einer Liste zur Verwendung im Werkzeug Reklassifizieren erstellt:
    # 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 Beispiel werden Klassen aus einer Reihe von Point-Klassen innerhalb einer Liste zur Verwendung bei einer Raster-Zellen-Extraktion erstellt:
    # 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 beispielsweise 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. Damit wird angegeben, dass der Wert übersprungen und der Standardwert verwendet werden soll.

Verwandte Themen