Raster オブジェクトの操作

この ArcGIS 3.1 ドキュメントはアーカイブされており、今後更新されません。 コンテンツとリンクが古い場合があります。 最新のドキュメントをご参照ください

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

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

Raster オブジェクトの作成

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

  • Raster オブジェクトを作成するには、次の例のように、レイヤー名またはパスとデータセット名を指定します。
    rasObject = Raster("C:/Data/elevation")
    上のステートメントでは、elevation ラスター データセットのプロパティが結果の Raster オブジェクト (rasObject) で使用できるようになっています。
  • 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")

  • データを保存する場所は、save メソッドでの入力内容と、ワークスペース環境の設定内容によって変わります。

    • データセット名とともに絶対パスを指定した場合、この場所は永続データが保存される場所になります。
    • データセット名のみを指定した場合、保存したデータの場所はジオプロセシング ワークスペース環境によって決定されます。
      • テンポラリ ワークスペースまたは現在のワークスペースが設定されている場合、保存されるデータは、設定されているワークスペースの場所に保存されます。
      • 現在のワークスペースとテンポラリ ワークスペースの両方が設定されている場合、保存されるデータは、現在のワークスペースに保存されます。
      • ワークスペースが設定されていない場合、エラーが返されます。

  • データをデフォルト名で現在の場所に永続的に保存したい場合は、次の例のように、名前を指定しないで save メソッドを呼び出します。
    outraster.save()
  • save メソッドは、Spatial Analyst がサポートするすべての出力ラスター データ形式をサポートしています。 次の例では、ラスターの save メソッドを使用して、データをファイル ジオデータベースのラスターと TIFF 形式のラスターに保存しています。
    outraster.save("C:/output/file_gdb.gdb/sloperaster")
    outraster.save("C:/output/sloperaster.tif")

ラスター プロパティの使用

ラスターを 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)] ツールからもアクセスできるプロパティの組み合わせです。

関連トピック