Abfragen von Klassen
Sie können ein einzelnes Argument identifizieren, das in einem Parameter verwendet wurde, und basierend auf diesem Wert bestimmte Funktionen ausführen. In den folgenden Abschnitten werden die Regeln zum Abfragen der verschiedenen Argumente für Spatial Analyst-Klassen zusammengefasst.
Mit einer festen Anzahl von Eingaben erstellte Klassen
- Um den Wert eines Arguments in einem Klassenobjekt abzufragen, können Sie auf die Eigenschaft des Objekts zugreifen.
circle = NbrCircle(5, "CELL") # varRadius will be assigned the radius property (which is 5) varRadius = circle.radius
- Sie können den Wert eines Objekts oder einer Objekteigenschaft leicht überprüfen.
>>> circle = NbrCircle(5, "CELL") >>> print circle Circle 5 Cell >>> print circle.radius 5
Aus Listen oder einer Listenauflistung erstellte Klassen
- Mit der print-Funktion von Python können Sie die gesamte Remap-Tabelle anzeigen.
>>> 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 aus einem einzelnen Eintrag in der Liste Klassenobjekte abzufragen, die aus Listen in Listen erstellt worden sind, identifizieren Sie die Liste, die den Eintrag enthält, und adressieren Sie die Position des Eintrags in dieser Liste.
>>> remap = RemapValue([[1, 11], [2, 12], [3, 13]]) >>> print remap.remapTable[1][1] 12
Innerhalb einer Liste aus einer Reihe von Klassen erstellte Klassen
- Um ein Klassenobjekt, das aus einer Reihe von Klassen innerhalb einer Liste erstellt wurde, aus einer einzelnen X- oder Y-Koordinate oder aus den X- und Y-Koordinaten eines Punktes innerhalb einer Liste abzufragen, greifen Sie auf die Eigenschaft der jeweiligen Klasse in der Eingabereihe zu.
>>> 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
Bestimmen des Typs
- Um den Typ eines Klassenobjekts zu bestimmen, kann die type-Funktion von Python verwendet werden.
>>> neighborhood = NbrCircle(5, "CELL") >>> neighType = type(neighborhood) >>> print neighType <class 'arcpy.sa.ParameterClasses.NbrWedge'>
- Zum Vergleichen von Typen kann die isinstance-Funktion von Python verwendet werden.
circle = NbrCircle(5, "CELL") # The general format is: isinstance(AnyObject, AnyClass) # In the following statement, eval will be assigned True eval = isinstance(circle, NbrCircle) # In the following statement, eval will be assigned False eval = isinstance(circle, NbrRectangle)
Verwandte Themen
7/10/2012