Abfragen von Klassen

Mit der Spatial Analyst-Lizenz verfügbar.

Es kann vorkommen, dass Sie ein einzelnes, in einem Parameter verwendetes Argument ausfindig machen möchten, um basierend auf diesem Wert eine bestimmte Reihe von Funktionen auszuführen. In den folgenden Abschnitten sind die Regeln aufgeführt, die beim Abfragen der Argumente in Spatial Analyst-Klassen Anwendung finden.

Mit einer festen Anzahl von Eingaben erstellte Klassen

  • Um den Wert eines Arguments in einem Klassenobjekt abzufragen, können Sie die Eigenschaft des Objekts aufrufen.
    circle = NbrCircle(5, "CELL")
    
    # varRadius will be assigned the radius property (which is 5)
    varRadius = circle.radius
  • Den Wert eines Objekts oder einer Objekteigenschaft können Sie untersuchen.
    >>> circle = NbrCircle(5, "CELL")
    >>> print(circle)
    Circle 5 Cell
    >>> print(circle.radius)
    5

Aus Listen oder einer Listenauflistung erstellte Klassen

  • Verwenden Sie zum Anzeigen der gesamten Remap-Tabelle die Python-Funktion print.
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13]])
    >>> print(remap)
    1 11; 2 12; 3 13
    >>> print(remap.remapTable)
    [[1, 11], [2, 12], [3, 13]]
  • Um in einer Liste von Klassenobjekten, die aus einer Listenauflistung erstellt wurden, einen einzelnen Eintrag abzufragen, müssen Sie die Liste ausfindig machen, in der er sich befindet, und den Speicherort des Eintrags in der entsprechenden Liste angeben.
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13]])
    >>> print(remap.remapTable[1][1])
    12

Aus einer Reihe von Klassen in einer Liste erstellte Klassen

  • Um in einer Liste für ein Klassenobjekt, das aus einer Reihe von Klassen in einer Liste erstellt wurde, eine einzelne X- oder Y-Koordinate bzw. die XY-Koordinaten eines Punktes abzufragen, müssen Sie die Eigenschaft der jeweiligen Klasse in der Eingabereihe aufrufen.
    >>> points = [Point(0, 5), Point(15, 175), Point(225, 450)]
    >>> # The following statement queries the x value of the second input point
    >>> xvalue = points[1].X
    >>> print(xvalue)
    15.0

Typbestimmung

  • Verwenden Sie zur Bestimmung eines Klassenobjekttyps die Python-Funktion type.
    >>> neighborhood = NbrCircle(5, "CELL")
    >>> neighType = type(neighborhood)
    >>> print(neighType)
    <class 'arcpy.sa.ParameterClasses.NbrCircle'>
  • Verwenden Sie zum Vergleichen von Typen die Python-Funktion isinstance.
    circle = NbrCircle(5, "CELL")
    
    # The general format is: isinstance(AnyObject, AnyClass)
    # In the following statement, val will be assigned True
    val = isinstance(circle, NbrCircle) 
    
    # In the following statement, val will be assigned False
    val = isinstance(circle, NbrRectangle)

Verwandte Themen