Création de classes

Disponible avec une licence Spatial Analyst.

Pour utiliser des classes pour les paramètres en entrée des outils de géotraitement, vous devez d'abord les créer. Une fois les classes instanciées, vous pouvez accéder à leurs propriétés et interroger ou modifier les objets. La méthode la plus simple pour apprendre à créer les différents objets de classe consiste à examiner des exemples d'objets créés à l'aide des différents types d'entrée.

Conseil :

La documentation de chaque classe contient un exemple de script illustrant comment chacune peut être définie et utilisée dans un paramètre d'outil.

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

  • Voici des exemples de création de diverses classes à partir d'un nombre fixe d'entrées :
    # 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)

Classes créées à l'aide de listes Python ou d'une liste de listes

  • Voici un exemple de création d'une classe à partir d'une liste pour utilisation dans l'outil Topo vers raster :
    # 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])
  • Voici un exemple de création d'une classe à partir d'une liste pour utilisation dans l'outil Reclassification :
    # 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)

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

  • Voici un exemple de création de classes à partir d'une série de classes Point dans une liste, pour utilisation dans l'extraction de cellules raster :
    # 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)

Arguments par défaut

  • Certains arguments sont facultatif et sont définis par {} (accolades) dans l'utilisation. Par exemple, la syntaxe pour la classe de voisinage en secteurs est la suivante :
    NbrWedge({radius}, {startAngle}, {endAngle}, {units})
  • Si un argument facultatif n'est pas spécifié, une valeur par défaut est utilisée.
    # The circle neighborhood will default to
    #   a radius of 3 and units of CELL
    circle = NbrCircle()
  • Les arguments facultatifs peuvent être spécifiés à l'aide de guillemets vides, "" ou "#", pour indiquer que la valeur doit être ignorée et que la valeur par défaut est désirée.

Rubriques connexes