クラスの作成

Spatial Analyst のライセンスで利用可能。

ジオプロセシング ツールの入力パラメーターでクラスを使用するには、まずクラスを作成する必要があります。 クラスをインスタンス化すると、そのプロパティにアクセスしたり、オブジェクトのクエリや変更を行えるようになります。 さまざまなクラス オブジェクトの作成方法は、種類の異なる入力タイプを使用した作成例を見てみることで最も効率的に学習できます。

ヒント:

各クラスのドキュメントには、ツール パラメーターでの定義方法や、使用方法を示すスクリプト例が記載されています。

固定数の入力で作成したクラス

  • 次に、固定数の入力からさまざまなクラスを作成する例を示します。
    # 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)

Python リストまたはリストのリストを使用して作成したクラス

  • 次に、[トポ → ラスター (Topo to 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])
  • 次に、[再分類 (Reclassify)] ツールで使用で使用するために、リストからクラスを作成する例を示します。
    # 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)

リスト内の一連のクラスから作成されたクラス

  • 次に、リスト内の一連の Point クラスから、ラスター セル抽出用のクラスを作成する例を示します。
    # 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)

デフォルトの引数

  • 一部の引数は省略可能です。これらの引数を使用する際は、{} (中括弧) で囲みます。 たとえば、扇形近傍クラスの構文は次のようになります。
    NbrWedge({radius}, {startAngle}, {endAngle}, {units})
  • 任意の引数を指定しない場合は、デフォルト値が使用されます。
    # The circle neighborhood will default to
    #   a radius of 3 and units of CELL
    circle = NbrCircle()
  • 任意の引数は、間に何も入れない空の引用符「""」か「"#"」で示します。これは、値をスキップし、デフォルト値を使用することを意味します。

関連トピック