ポイントで抽出 (Extract by Points) (Spatial Analyst)

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

概要

座標ポイントに基づいてラスターのセルを抽出します。

ポイントで抽出 (Extract by Points) の図
OutRas = ExtractByPoints(InRas1, [Point(1.5,0.5),Point(1.5,4.5),Point(4.5,4.5),Point(4.5,0.5)], "INSIDE")

使用法

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

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

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

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

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

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

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

構文

ExtractByPoints(in_raster, points, {extraction_area})
パラメーター説明データ タイプ
in_raster

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

Raster Layer
points
[point,...]

Point クラス オブジェクトの Python リストは、値をラスターから抽出する位置を表します。

ポイント オブジェクトは、入力ラスターと同じマップ単位で、X,Y 座標のリストで指定されます。

オブジェクトの形式:

  • [point(x1,y1), point(x2,y2),...]
Point
extraction_area
(オプション)

指定したポイント位置に基づいてセルを抽出するか (内部)、ポイント位置の外のセルを抽出するか (外部) 識別します。

  • INSIDE選択したポイント内にあるセルを出力ラスターに書き込むことを指定するキーワード。外部にあるすべてのセルは、出力ラスターでは値が NoData になります。
  • OUTSIDE入力ポイントの外部のセルを選択し、出力ラスターに書き込むことを指定するキーワード。
String

戻り値

名前説明データ タイプ
out_raster

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

Raster

コードのサンプル

ExtractByPoints (ポイントで抽出) の例 1 (Python ウィンドウ)

次の例では、指定したポイント座標に基づいてラスターからセルを抽出しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pointList = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
             arcpy.Point(734500,4322000)]
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")
outPointExtract.save("c:/sapyexamples/output/pntextract")
ExtractByPoints (ポイントで抽出) の例 2 (スタンドアロン スクリプト)

次の例では、指定したポイント座標に基づいてラスターからセルを抽出しています。

# Name: ExtractByPoints_Ex_02.py
# Description: Extracts the cells of a raster based on a set of points.
# 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 = "soil"
pointList = [arcpy.Point(743050, 4321275), 
             arcpy.Point(743100, 4321200), 
             arcpy.Point(743500, 4322000),
             arcpy.Point(742900, 4321800)]

# Execute ExtractByPoints
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")

# Save the output 
outPointExtract.save("c:/sapyexamples/output/pntext")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック