Modifier des arguments dans des classes

Disponible avec une licence Spatial Analyst.

Vous pouvez modifier un argument en paramètre si vous avez obtenu des informations supplémentaires sur le phénomène que vous avez modélisé, si vous souhaitez tester des scénarios différents, si vous voulez effectuer une analyse des erreurs ou de la sensibilité, ou si vous désirez corriger une erreur. Les exemples ci-après expliquent comment modifier différents arguments en entrée.

Valeurs ou propriétés de la classe

  • Pour modifier la valeur d’un objet classe, vous pouvez recréer la classe.
    neighborhood = NbrCircle(5, "MAP")
    
    # The neighborhood object can be changed from a circle to a rectangle
    neighborhood = NbrRectangle(3, 3, "MAP")
  • Il est possible de modifier directement un argument en accédant à la propriété qui le stocke dans l’objet.
    >>> neighborhood = NbrCircle(5, "MAP")
    >>> # The following statements change the radius to 7 and the units to CELL
    >>> neighborhood.radius = 7 
    >>> neighborhood.units = "CELL"
    
    >>> print(neighborhood)
    CIRCLE 7 CELL
  • Il est possible de modifier de manière algébrique un argument numérique stocké en tant que propriété dans un objet.
    circle = NbrCircle(5, "CELL")
    
    # The following statement changes the radius to 5.5
    circle.radius = circle.radius * 1.1

    Vous pouvez également utiliser un opérateur d’affectation pour modifier sa valeur.

    # The following statement changes the radius to 5.5
    circle.radius *= 1.1

Classes créées avec des listes Python

  • Vous pouvez ajouter des éléments à la liste inFeatures pour les classes créées à partir de listes.
    >>> arguments = TopoStream(["features1", "features2"]) 
    
    >>> arguments.inFeatures.append("features3")
    >>> arguments.inFeatures += ["features4", "features5"]
    
    >>> print(arguments.inFeatures)
    ['features1', 'features2', 'features3', 'features4', 'features5']
  • Vous pouvez également supprimer un élément de la liste en entrée.
    >>> arguments = TopoStream(["features1", "features2", "features3", "features4", "features5"])
    >>> del arguments.inFeatures[2]
    
    >>> print(arguments.inFeatures)
    ['features1', 'features2', 'features4', 'features5']
  • Vous pouvez modifier une entrée spécifique dans la liste.
    >>> arguments = TopoStream(["features1", "features2"]) 
    >>> arguments.inFeatures[1] = "lake2"
    
    >>> print(arguments.inFeatures)
    ['features1', 'lake2']

Classes créées à l'aide de listes dans des listes

  • Vous pouvez modifier une entrée d’une table de classification (en modifiant les entrées des listes internes) pour les classes créées à partir de listes dans les listes.
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13]])
    
    >>> # Change the newValue 12 in the second reclassification to a 10
    >>> remap.remapTable[1][1] = 10
    
    >>> print(remap.remapTable)
    [[1, 11], [2, 10], [3, 13]]
  • Il est possible de modifier de manière algébrique une entrée d’une table de classification.
    remap = RemapRange([[1, 10, 5], [10, 20, 8], [20, 30, 10]])
    
    # The following statement increases the endValue 20 by 5 percent
    remap.remapTable[1][1] *= 1.05 
    
    # Another implementation of increasing an entry by 5 percent
    remap.remapTable[1][1] = remapTable.table[1][1] * 1.05
  • Vous pouvez modifier une ligne individuelle d’une table de classification (en modifiant la totalité des listes internes).
    >>> remap = RemapValue([[1, 11], [2, 12], [4, 13]])
    
    >>> # Change the second reclassification [2, 12] to [3,10]
    >>> remap.table[1] = [3, 10]
      
    >>> print(remap.remapTable)
    [[1, 11], [3, 10], [4, 13]]
  • Vous pouvez ajouter des entrées à une table de classification (en ajoutant une liste interne).
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13]])
    
    >>> # Add a forth reclassification, [4, 14] to the end
    >>> remap.remapTable.append([4, 14]) 
    
    >>> # Another approach for adding a row
    >>> remap.remapTable += [[5, 15]] 
    
    >>> print(remap.remapTable)
    [[1, 11], [2, 12], [3, 13], [4, 14], [5, 15]]
  • Vous pouvez supprimer des entrées d’une table de classification (en supprimant une liste interne).
    >>> remap = RemapValue([[1, 11], [2, 12], [3, 13], [4, 14], [5, 15]])
    
    >>> # Delete the entire second reclassification
    >>> del remap.remapTable[1]
    
    >>> print(remap.remapTable)
    [[1, 11], [3, 13], [4, 14], [5, 15]]

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

  • Vous pouvez modifier un point spécifique dans la liste d’une classe créée à partir d’une série de classes dans une liste.
    >>> points = [Point(0, 5), Point(15, 175)]
    
    >>> # Change the X value of the second input to 25
    >>> points[1].X = 25 
    
    >>> print(points)
    [<Point (0.0, 5.0, #, #)>, <Point (25.0, 175.0, #, #)>]

Rubriques connexes