Raster オブジェクトの操作

マップ代数演算式では、Raster オブジェクトは入力として使用できる一次出力です。演算子を使用するマップ代数演算を実行する場合、入力は Raster オブジェクトまたは定数である必要があります。マップ代数演算式のラスタ出力は常に一時的ですが、Raster オブジェクトの save メソッドを呼び出すことで保存できます。Raster オブジェクトをクエリすると、参照されるデータセット プロパティに簡単にアクセスできます。

Raster オブジェクトの作成

Raster オブジェクトを作成するには、ラスタ データセットをキャストするか、ArcGIS Spatial Analyst エクステンションのツールから出力します。ラスタを作成すると、ラスタ データセットの多くのプロパティを簡単にクエリできます。

  1. Raster オブジェクトを作成するには、次の例のように、レイヤ名またはパスとデータセット名を指定します。
    rasObject = Raster("C:/Data/elevation")
    
    上のステートメントでは、elevation ラスタ データセットのプロパティが結果の Raster オブジェクト(rasObject)で使用できるようになっています。Raster オブジェクトのプロパティのリストについては、「Raster オブジェクトのプロパティのリスト」をご参照ください。
  2. Raster オブジェクトは、Spatial Analyst ツールで左側の出力として作成されます。
    # rasObject is a Raster object pointing to a temporary 
    #   raster dataset
    rasObject = Slope("C:/Data/elevation")
    
    注意注意:

    Spatial Analyst ツールセット以外のツールは、Raster オブジェクトを出力しません。

ラスタの save メソッド

Raster オブジェクトに関連付けられているラスタは、save メソッドを使用することで保存できます。

Spatial Analyst ツールは、一時出力を作成します。これらの出力は、Raster オブジェクトの save メソッドを使用して保存できます。次の例では、[傾斜角(Slope)] ツールの一時出力を、指定した出力フォルダに保存しています。

outraster = Slope("C:/Data/elevation")
outraster.save("C:/output/sloperaster")

ラスタのプロパティの操作

ラスタを Raster オブジェクトとしてキャストすると、データセットのプロパティを簡単にクエリできます。すべての Raster オブジェクトのプロパティは読み取り専用です。Raster のプロパティをクエリすると、文字列、数値、またはオブジェクトが返されます。ラスタのプロパティは、ツール パラメータへの入力や、(次のように)環境設定の設定など、さまざまな用途に使用できます。

from arcpy import env
from arcpy.sa import *
outraster = Raster("C:/Data/studyarea")
myextent = outraster.extent

# Modify myextent as necessary for your workflow and use it to set the extent environment
env.extent = myextent
注意注意:

Raster オブジェクトから使用できるラスタのプロパティは、Describe 関数(ラスタ データセット プロパティ)や [ラスタ プロパティの取得(Get Raster Properties)] ツールからもアクセスできるプロパティの組み合わせです。

関連トピック

5/10/2014