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

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

サマリー

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

円で抽出 (Extract by Circle) の図
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")

関連トピック