円で抽出(Extract by Circle) (Spatial Analyst)
サマリ
円に基づいてラスタのセルを抽出します。
使用法
-
セルが円の内部か外部かを判定するには、セルの中心が使用されます。中心が円のアーク内にある場合、そのセルの一部が円の外にあっても、そのセル全体が内部にあると見なされます。
-
選択されていないセル位置には NoData 値が代入されます。
-
入力としてマルチバンド ラスタを指定すると、新しいマルチバンド ラスタが出力として作成されます。入力マルチバンド ラスタの各バンドは個別に解析されます。
デフォルトの出力形式は Esri Grid スタックです。Esri Grid スタックには、数字で始まる名前、スペースを含む名前、9 文字を超える名前は使用できません。
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、抽出操作ではレイヤによって読み込まれた(シンボル表示された)バンドだけが考慮されます。そのため、出力マルチバンド ラスタには、入力レイヤの表示で使用されるバンドに該当する 3 つのバンドしか出力されません。
-
入力ラスタが整数の場合、出力ラスタも整数になります。入力のいずれかが浮動小数点値である場合、出力は浮動小数点値になります。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
セルを抽出する入力ラスタ。 | Raster Layer |
center_point |
Point クラスは、抽出するエリアを定義する円の中心座標(X,Y)を示します。 クラスの形式:
座標は、入力ラスタと同じマップ単位で指定します。 | Point |
radius |
抽出するエリアを定義する円の半径。 半径は、マップ単位で指定し入力ラスタと同じ単位を使用します。 | Double |
extraction_area (オプション) |
入力円の内部と外部のどちらのセルを抽出するかを識別します。
| String |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
入力ラスタから抽出したセル値が格納される出力ラスタ。 | Raster |
コードのサンプル
次の例では、ポイント位置から半径 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")
次の例では、ポイント位置から半径 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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByCircle
outExtCircle = ExtractByCircle(inRaster, centerPoint, circRadius,
extractType)
# Save the output
outExtCircle.save("c:/sapyexamples/output/extcircle02")