円で抽出(Extract by Circle) (Spatial Analyst)
サマリ
円に基づいてラスタのセルを抽出します。
使用法
-
セルが円の内部か外部かを判定するには、セルの中心が使用されます。中心が円のアーク内にある場合、そのセルの一部が円の外にあっても、そのセル全体が内部にあると見なされます。
-
選択されていないセル位置には NoData 値が代入されます。
-
入力としてマルチバンド ラスタを指定すると、新しいマルチバンド ラスタが出力として作成されます。入力マルチバンド ラスタの各バンドは個別に解析されます。
デフォルトの出力形式は Esri Grid スタックです。Esri Grid スタックには、数字で始まる名前、スペースを含む名前、9 文字を超える名前は使用できません。
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、抽出操作ではレイヤによって読み込まれた(シンボル表示された)バンドだけが考慮されます。そのため、出力マルチバンド ラスタには、入力レイヤの表示で使用されるバンドに該当する 3 つのバンドしか出力されません。
-
入力ラスタが整数の場合、出力ラスタも整数になります。入力のいずれかが浮動小数点値である場合、出力は浮動小数点値になります。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
セルを抽出する入力ラスタ。 | Raster Layer |
center_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")