円で抽出 (Extract by Circle) (Spatial Analyst)

サマリー

中心と半径を指定した円に基づいて、ラスターのセルを抽出します。

円で抽出ツールの図
OutRas = ExtractByCircle(InRas1, Point(2.5,2.5), 2, "INSIDE")

使用法

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

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

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

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

  • セルが円の内部か外部かを判定するには、セルの中心が使用されます。 中心が円の円弧内にある場合、そのセルの一部が円の外にあっても、そのセル全体が内部にあると見なされます。

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

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

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

パラメーター

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

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

Raster Layer
中心点

抽出するエリアを定義する円の中心座標 (X,Y)。

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

Point
半径

抽出するエリアを定義する円の半径。

半径は、マップ単位で指定し入力ラスターと同じ単位を使用します。

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

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

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

戻り値

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

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

Raster

ExtractByCircle(in_raster, center_point, radius, {extraction_area})
名前説明データ タイプ
in_raster

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

Raster Layer
center_point

Point クラスによって、抽出するエリアを定義する円の中心座標 (X,Y) が決まります。

クラスの形式:は次のとおりです。

  • Point (x, y)

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

Point
radius

抽出するエリアを定義する円の半径。

半径は、マップ単位で指定し入力ラスターと同じ単位を使用します。

Double
extraction_area
(オプション)

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

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

戻り値

名前説明データ タイプ
out_raster

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

Raster

コードのサンプル

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

次の例では、ポイント位置から半径 500 メートル内のセルを抽出しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtCircle = ExtractByCircle("elevation", arcpy.Point(482838.823, 222128.982),
                                500, "INSIDE")
outExtCircle.save("c:/sapyexamples/output/extcircle")
ExtractByCircle の例 2 (スタンドアロン スクリプト)

次の例では、ポイント位置から半径 1,000 メートル内のセルを抽出しています。

# Name: ExtractByCircle_Ex_02.py
# Description: Extracts the cells of a raster based on a circle.
# 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")
centerPoint = arcpy.Point(482838.823, 222128.982)
circRadius = 1000
extractType = "INSIDE"

# Execute ExtractByCircle
outExtCircle = ExtractByCircle(inRaster, centerPoint, circRadius, 
                               extractType)

# Save the output 
outExtCircle.save("c:/sapyexamples/output/extcircle02")

関連トピック