Interroger des classes

Disponible avec une licence Spatial Analyst.

Vous pouvez identifier un argument spécifique ayant été utilisé dans un paramètre et, en fonction de cette valeur, exécuter un ensemble particulier de fonctions. Les sections suivantes fournissent les règles à suivre pour interroger les arguments des classes Spatial Analyst.

Classes créées avec un nombre fixe d'entrées

  • Pour interroger la valeur d’un argument dans un objet de classe, vous pouvez accéder à la propriété de l’objet.
    circle = NbrCircle(5, "CELL")
    
    # varRadius will be assigned the radius property (which is 5)
    varRadius = circle.radius
  • Vous pouvez inspecter la valeur d’un objet ou d’une propriété d’objet.
    >>> circle = NbrCircle(5, "CELL")
    >>> print(circle)
    Circle 5 Cell
    >>> print(circle.radius)
    5

Classes créées à partir de listes ou d’une liste de listes

  • Pour afficher la totalité de la table de classification, vous pouvez utiliser la fonction Python 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]]
  • Pour interroger une entrée spécifique dans la liste des objets de classe créés à partir de listes dans des listes, identifiez la liste dans laquelle se trouve l’entrée et déterminez l’emplacement de l’entrée dans cette liste.
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13]])
    >>> print(remap.remapTable[1][1])
    12

Classes créées à partir d’une série de classes dans une liste

  • Pour interroger une coordonnée x ou y spécifique ou les coordonnées x,y d’un point dans une liste pour un objet de classe créé à partir d’une série de classes dans une liste, accédez à la propriété de la classe spécifique dans la série en entrée.
    >>> 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

Détermination du type

  • Pour déterminer le type d’un objet de classe, utilisez la fonction Python type.
    >>> neighborhood = NbrCircle(5, "CELL")
    >>> neighType = type(neighborhood)
    >>> print(neighType)
    <class 'arcpy.sa.ParameterClasses.NbrCircle'>
  • Pour comparer des types, utilisez la fonction Python 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)

Rubriques connexes