四角形で抽出 (Extract by Rectangle) (Spatial Analyst)

サマリー

範囲を指定した長方形に基づいて、ラスターのセルを抽出します。

四角形で抽出ツールの図
OutRas = ExtractByRectangle(InRas1, Extent(1, 0, 5, 5), "INSIDE")

使用法

  • 入力ラスターからの追加属性 (存在する場合) は、そのまま出力ラスター属性テーブルに引き継がれます。 記録されるプロパティに応じて、一部の属性値は再計算が必要な場合があります。

  • [入力ラスター] (Python では in_raster) の値としてマルチバンド ラスターが指定された場合、すべてのバンドが使用されます。

    マルチバンド ラスターから選択したバンドを処理するには、まず、[コンポジット バンド (Composite Bands)] ツールを使用して、それら特定のバンドから構成されるラスター データセットを作成します。 次に、その結果を [入力ラスター] (Python では in_raster) の値として使用します。

    デフォルトの出力形式は、ジオデータベース ラスターです。 出力形式として Esri Grid スタックを指定した場合、スタックの名前を数字で開始したり、名前にスペースを使用したり、9 文字を超える名前にしたりすることはできません。

  • セルが四角形の内部か外部かを判定するには、セルの中心が使用されます。 中心が四角形のアウトライン内にある場合、そのセルの一部が四角形の外にあっても、そのセル全体が内部にあると見なされます。

  • 選択されていないセル位置には NoData 値が代入されます。

  • 入力ラスターが整数の場合、出力ラスターも整数になります。 入力のいずれかが浮動小数点値である場合、出力は浮動小数点値になります。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力ラスター

セルを抽出する入力ラスター。

Raster Layer
範囲

抽出するエリアを定義する四角形。

  • [現在の表示範囲] マップ ビュー - 範囲は、アクティブなマップまたはシーンに基づきます。 このオプションは、アクティブなマップが存在する場合にのみ使用できます。
  • [範囲の描画] Draw Extent - 範囲は、マップまたはシーンに描画された四角形に基づきます。 このオプションは、プロジェクト ジオデータベースにフィーチャクラスを作成し、レイヤーをマップに追加します。 フィーチャクラスの座標系はマップと同じです。
    注意:

    このオプションは、[環境] ダイアログ ボックスでは使用できません。 範囲データ タイプを使用するツール パラメーターまたはツール ダイアログ ボックスの [環境] タブからのみ使用できます。

    注意:

    編集タブで編集を有効/無効にする編集オプションがオンの場合、範囲を描画するには [編集] リボン タブで編集を有効化する必要があります。

  • [レイヤーの範囲] レイヤー - 範囲は、アクティブなマップ レイヤーに基づきます。 ドロップダウン リストを使用して使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用して、ベースマップを除くすべてのアクティブなマップ レイヤーを組み合わせた範囲を取得します。 このオプションは、レイヤーを含むアクティブなマップが存在する場合にのみ使用できます。

    各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] すべて選択 - レイヤーのすべてのフィーチャの範囲。
    • [選択フィーチャ]Area from Selected Features - レイヤーの選択フィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - レイヤーの表示フィーチャの範囲。
      注意:

      [選択フィーチャ] Area from Selected Features[表示フィーチャ] Extent Indicator オプションの範囲は、フィーチャ レイヤーでのみ使用できます。

  • [参照] 参照 - 範囲は、既存のデータに基づきます。
  • [クリップボード] 貼り付け - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] コピー - 範囲の座標と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] 貼り付け - 範囲の座標と、必要に応じて座標系をクリップボードから貼り付けます。 クリップボードの値に座標系が含まれていない場合、マップの座標系が範囲に使用されます。
    注意:

    範囲の座標は、ArcPy Extent オブジェクトと同じ書式と順序 (x-min、y-min、x-max、y-max、空間参照) を使用して、クリップボードからコピーおよびクリップボードから貼り付けられます。

  • [範囲をリセット] リセット - 範囲はデフォルト値にリセットされます。
  • 手動入力した座標値 - 座標値は数値であり、アクティブなマップの座標系で表示する必要があります。
    注意:

    マップで、入力された座標と異なる表示単位が使用されることがあります。 基本方向 (N、S、E、W) を使用することはできません。 南と西の座標にはマイナス値の記号を使用します。

座標は、入力ラスターと同じマップ単位で指定します。

Extent
抽出エリア
(オプション)

入力四角形の内部のセルと外部のセルのどちらを選択して、出力ラスターに書き込むかを指定します。

  • インサイド入力四角形の内部のセルを選択して、出力ラスターに書き込みます。 四角形の外部にあるすべてのセルは、出力ラスターでは値が NoData になります。
  • 外側入力四角形の外部のセルを選択して、出力ラスターに書き込みます。 四角形の内部にあるすべてのセルは、出力ラスターでは値が NoData になります。
String

戻り値

ラベル説明データ タイプ
出力ラスター

入力ラスターから抽出したセル値が格納される出力ラスター。

Raster

ExtractByRectangle(in_raster, rectangle, {extraction_area})
名前説明データ タイプ
in_raster

セルを抽出する入力ラスター。

Raster Layer
rectangle
extent

抽出するエリアを定義する四角形。

  • MAXOF - すべての入力データの最大範囲が使用されます。
  • MINOF - すべての入力データに共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • レイヤー名 - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • 座標のスペース区切りの文字列 - 指定した文字列の範囲が使用されます。 座標は、x-min、y-min、x-max、y-max の順序で表されます。

座標は、入力ラスターと同じマップ単位で指定します。

Extent
extraction_area
(オプション)

入力四角形の内部のセルと外部のセルのどちらを選択して、出力ラスターに書き込むかを指定します。

  • INSIDE入力四角形の内部のセルを選択して、出力ラスターに書き込みます。 四角形の外部にあるすべてのセルは、出力ラスターでは値が NoData になります。
  • OUTSIDE入力四角形の外部のセルを選択して、出力ラスターに書き込みます。 四角形の内部にあるすべてのセルは、出力ラスターでは値が NoData になります。
String

戻り値

名前説明データ タイプ
out_raster

入力ラスターから抽出したセル値が格納される出力ラスター。

Raster

コードのサンプル

ExtractByRectangle の例 1 (Python ウィンドウ)

次の例では、長方形の範囲外にあるセルを新しいラスターに抽出しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
rectExtract = ExtractByRectangle("elevation", 
                                 Extent(477625, 213900, 486400, 224200), 
                                 "OUTSIDE")
rectExtract.save("c:/sapyexamples/output/extrect")
ExtractByRectangle の例 2 (スタンドアロン スクリプト)

次の例では、長方形の範囲内にあるセルを新しいラスターに抽出しています。

# Name: ExtractByRectangle_Ex_02.py
# Description: 
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
inRectangle = Extent(477625, 213900, 486400, 224200)

# Execute ExtractByRectangle
rectExtract = ExtractByRectangle(inRaster, inRectangle, "INSIDE")

# Save the output 
rectExtract.save("c:/sapyexamples/output/extrect02")

関連トピック