ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

ポリゴンで抽出 (Extract by Polygon)

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

  • サマリー
  • 図
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリー

頂点を指定したポリゴンに基づいて、ラスターのセルを抽出します。

図

ポイントで抽出 (Extract by Points) の図
OutRas = ExtractByPolygon(InRas1,[Point(1.4,0.4),Point(1.4,4.6),Point(3.6,4.6),Point(5.6,2.6),Point(3.6,0.4),Point(1.4,0.4)],"INSIDE")

使用法

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

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

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

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

  • 一連の X,Y 座標の代わりに、フィーチャクラスのポリゴンに基づいて抽出するには、[マスクで抽出 (Extract By Mask)] ツールを使用します。

  • ポリゴン オブジェクトは、1 つのパートまたは複数のパート (ポリゴン クラス) から構成されます。後者の場合、1 つのポリゴン輪郭を描けるように、すべてのポリゴン パートが連続している必要があります。不連続な複数のパートを含むポリゴン フィーチャに基づいて抽出するには、[マスクで抽出 (Extract By Mask)] ツールを使用します。

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

  • ポリゴンの頂点の上限は、1,000 です。ポリゴンの頂点は、時計回りの順番で入力する必要があります。最初と最後の頂点が一致していない場合、ポリゴンを閉じることができません。これは、複数のポリゴンを使用する場合に特に重要です。その場合、各ポリゴンの最後のポイントが最初の頂点と同じでないときに、最初の頂点に直接接続され、ポリゴンが自動的に閉じられる可能性があります。ただし、これにより想定とは異なる結果が生じる可能性があるため、この手法を利用する場合は注意してください。

    ポリゴンのアークは他のアークと交差してもかまいませんが、複雑なポリゴンは推奨しません。

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

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

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

構文

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

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

Raster Layer
polygon
[point,...]

抽出する入力ラスターのエリアを定義するポリゴン。

それぞれのポリゴン パーツは、Point クラスによって定義される頂点のリストです。ポイントは、入力ラスターと同じマップ単位で、X,Y 座標の組として指定されます。

単一ポリゴンのオブジェクトの形式は次のとおりです。

  • [point(x1,y1), point(x2,y2), ..., point(xn,yn), point(x1,y1]

必要に応じて、Polygon クラスを使用してポリゴン パートのリストを定義することで、複数のポリゴンのグループを指定できます。これを実行するには、すべてのパートが連続していて、1 つの境界で囲まれるようにする必要があるので注意してください。この場合のオブジェクトの形式は、次のような連続リストになります。

  • [point(x1,y1), point(x2,y2), ..., point(xn,yn), point(x1,y1), point(x'1,y'1), point(x'2,y'2), ..., point(x'n,y'n), point(x'1,y'1), ...]

すべての場合で、ポリゴンを閉じるため、各ポリゴン パートの最後の座標は、最初と同じ座標にする必要があります。

Point
extraction_area
(オプション)

入力ポリゴンの内部と外部のどちらのセルを抽出するかを識別します。

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

戻り値

名前説明データ タイプ
out_raster

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

Raster

コードのサンプル

ExtractByPolygon (ポリゴンで抽出) の例 1 (Python ウィンドウ)

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

import arcpy
from arcpy import env
from arcpy.sa import *
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), 
             arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)]
env.workspace = "C:/sapyexamples/data"
extPolygonOut = ExtractByPolygon("soil", polyPoints, "INSIDE")
extPolygonOut.save("c:/sapyexamples/output/extpoly")
ExtractByPolygon (ポリゴンで抽出) の例 2 (スタンドアロン スクリプト)

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

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

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute ExtractByPolygon
extPolygonOut = ExtractByPolygon(inRaster, polyPoints, "INSIDE")

# Save the output 
extPolygonOut.save("c:/sapyexamples/output/extpoly02")

環境

  • 自動コミット
  • セル サイズ
  • 圧縮
  • 現在のワークスペース
  • 範囲
  • 地理座標系変換
  • マスク
  • 出力データのコンフィグレーション キーワード
  • 出力座標系
  • テンポラリ ワークスペース
  • スナップ対象ラスター
  • タイル サイズ

ライセンス情報

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

関連トピック

  • 抽出ツールセットの概要

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2019 Esri. | プライバシー | リーガル