幾何補正 (Warp) (データ管理)

サマリー

ソースおよびターゲット コントロール ポイントを使用してラスター データセットを座標変換します。これは、ジオリファレンスに似ています。

2 次元の座標変換の例

使用法

  • 変換元と変換先の座標を指定する必要があります。選択する変換タイプ (多項式の次数) は、入力するコントロール ポイントの数によって異なります。

  • デフォルトの多項式の次数では、アフィン変換が実行されます。

  • [幾何補正 (Warp)] は、多項式を使用してモデリングされる体系的な地理補正をラスターが必要とする場合に便利です。空間変換では、適切な次数の多項式変換を使用して、歪みを転化または削除できます。次数が高いほど、より複雑な歪みを補正できます。多項式の次数が高くなると、それだけ処理時間が長くなります。

  • 特定の多項式の次数に必要なリンクの最小数を特定するには、次の式を使用します。

    n = (p + 1) (p + 2) / 2

    n は、次数 p の多項式に必要なリンクの最小数です。最低限必要なリンク数よりも多くのリンクを使用することをお勧めします。

  • このツールは、幾何補正されたラスターの範囲を決定し、ロウとカラムの数を入力ラスター内とほぼ同数になるように設定します。X と Y 方向おける出力ラスターのサイズ間の比率の変更により、わずかな差異がいくつか生じる場合があります。使用されるデフォルトのセル サイズは、以前に決定されたロウとカラムの数で範囲を分割して計算されます。セル サイズの値は、リサンプリング アルゴリズムで使用されます。

  • 環境設定で出力セル サイズを定義する場合、ロウとカラムの数は次のように計算されます。

    columns = (xmax - xmin) / cell size rows = (ymax - ymin) / cell size
  • 出力は、BIL、BIP、BMP、BSQ、DAT、Esri Grid、GIF、IMG、JPEG、JPEG 2000、PNG、TIFF、MRF、CRF の各形式、または任意のジオデータベース ラスター データセットに保存することができます。

  • ラスター データセットを JPEG 形式のファイル、JPEG 2000 形式のファイル、またはジオデータベースに格納するときに、ジオプロセシング環境で [圧縮タイプ] および [圧縮品質] の値を指定できます。

  • このツールでは多次元ラスター データをサポートします。多次元ラスターの各スライスでこのツールを実行して多次元ラスター出力を生成するには、出力を CRF に保存してください。

    サポートされている入力多次元データセット タイプには、多次元ラスター レイヤー、モザイク データセット、イメージ サービスおよび CRF が含まれます。

パラメーター

ラベル説明データ タイプ
入力ラスター

変換されるラスター。

Mosaic Layer; Raster Layer
ソース コントロール ポイント

幾何補正されるラスターの座標。

Point
ターゲット コントロール ポイント

ソース ラスターを幾何補正する座標。

Point
出力ラスター データセット

作成するデータセットの名前、場所、および形式。ジオデータベースにラスター データセットを格納する場合、ラスター データセットの名前にファイル拡張子は付けません。ラスター データセットを JPEG ファイル、JPEG 2000 ファイル、TIFF ファイル、またはジオデータベースに格納するときに、圧縮タイプと圧縮品質を指定できます。

ラスター データセットをファイル形式で格納する場合は、以下のようにファイル拡張子を指定します。

  • .bil (Esri BIL)
  • .bip (Esri BIP)
  • .bmp (BMP)
  • .bsq (Esri BSQ)
  • .dat (ENVI DAT)
  • .gif (GIF)
  • .img (ERDAS IMAGINE)
  • .jpg (JPEG)
  • .jp2 (JPEG 2000)
  • .png (PNG)
  • .tif (TIFF)
  • .mrf (MRF)
  • .crf (CRF)
  • Esri Grid の場合は拡張子なし
Raster Dataset
変換タイプ
(オプション)

ラスター データセットをシフトさせるための変換方法を指定します。

  • シフトのみ0 次多項式がデータをシフトするために使用されます。 これは、ジオリファレンスされているデータをほんの少しだけずらしたい、というときによく使用されます。 0 次多項式シフトに必要なリンクは 1 つだけです。
  • アフィン変換1 次多項式 (アフィン) が、単純な平面を入力ポイントに当てはめるために使用されます。
  • 2 次多項式変換2 次多項式が、やや複雑なサーフェスを入力ポイントに当てはめるために使用されます。
  • 3 次多項式変換3 次多項式が、さらに複雑なサーフェスを入力ポイントに当てはめるために使用されます。
  • グローバルおよびローカルの精度を最適化多項式変換と組み合わせて TIN (不規則三角形網) 内挿法を使用することで、グローバルとローカルの両方の精度を最適化します。
  • スプライン変換ソース コントロール ポイントがターゲット コントロール ポイントに正確に変換されます。 出力では、コントロール ポイントは正確ですが、コントロール ポイント間のラスター ピクセルは正確ではありません。
  • 射影変換ラインが直線のままであるように補正されます。 この変換を行うと、変換前に平行であったラインが平行でなくなる場合があります。 射影変換は、特に傾斜した画像、スキャン マップ、その他の画像製品で役立ちます。
  • 相似変換元のラスターの形状の維持しようとする一次変換が使用されます。 ベスト フィットより形状の維持が重要であるため、他の多項式変換と比べて RMS エラーが高くなる傾向があります。
String
リサンプリング手法
(オプション)

使用されるリサンプリング手法を指定します。 デフォルトは [最近隣内挿法] です。

[最近隣内挿法] オプションと [最頻値] オプションは、土地利用分類などのカテゴリ データに使用されます。 [最近隣内挿法] オプションがデフォルトです。 これは最速の方法であり、ピクセル値は変更されません。 これらのオプションを標高サーフェスなどの連続データに使用しないでください。

[共一次内挿法] オプションと [三次たたみ込み内挿法] オプションは、連続データに最も適しています。 ピクセル値が変更される可能性があるため、これらをカテゴリ データに使用しないようにしてください。

  • 最近隣内挿法最近隣内挿法が使用されます。 新しい値は作成されないため、ピクセル値の変更を最小限に抑える最速のリサンプリング手法です。 土地被覆のような不連続なデータに適しています。
  • 共一次内挿法共一次内挿法が使用されます。 周囲 4 ピクセルの値を平均 (距離に対する加重平均) して、各ピクセルの値を計算します。 連続的なデータに適しています。
  • 三次たたみ込み内挿法三次たたみ込み内挿法が使用されます。 周囲 16 ピクセルを基準にした滑らかな曲線と一致させて、各ピクセルの値を計算します。 最も滑らかな画像が生成される一方、ソース データの範囲外に値が作成されます。 連続的なデータに適しています。
  • 最頻値リサンプリング最頻値リサンプリング手法が使用されます。 4 x 4 のウィンドウ内に最も頻出する値に基づいて、各ピクセルの値を決定します。 不連続なデータに適しています。
String

arcpy.management.Warp(in_raster, source_control_points, target_control_points, out_raster, {transformation_type}, {resampling_type})
名前説明データ タイプ
in_raster

変換されるラスター。

Mosaic Layer; Raster Layer
source_control_points
[source_control_point,...]

幾何補正されるラスターの座標。

Point
target_control_points
[target_control_point,...]

ソース ラスターを幾何補正する座標。

Point
out_raster

作成するデータセットの名前、場所、および形式。ジオデータベースにラスター データセットを格納する場合、ラスター データセットの名前にファイル拡張子は付けません。ラスター データセットを JPEG ファイル、JPEG 2000 ファイル、TIFF ファイル、またはジオデータベースに格納するときに、圧縮タイプと圧縮品質を指定できます。

ラスター データセットをファイル形式で格納する場合は、以下のようにファイル拡張子を指定します。

  • .bil (Esri BIL)
  • .bip (Esri BIP)
  • .bmp (BMP)
  • .bsq (Esri BSQ)
  • .dat (ENVI DAT)
  • .gif (GIF)
  • .img (ERDAS IMAGINE)
  • .jpg (JPEG)
  • .jp2 (JPEG 2000)
  • .png (PNG)
  • .tif (TIFF)
  • .mrf (MRF)
  • .crf (CRF)
  • Esri Grid の場合は拡張子なし
Raster Dataset
transformation_type
(オプション)

ラスター データセットをシフトさせるための変換方法を指定します。

  • POLYORDER00 次多項式がデータをシフトするために使用されます。 これは、ジオリファレンスされているデータをほんの少しだけずらしたい、というときによく使用されます。 0 次多項式シフトに必要なリンクは 1 つだけです。
  • POLYSIMILARITY元のラスターの形状の維持しようとする一次変換が使用されます。 ベスト フィットより形状の維持が重要であるため、他の多項式変換と比べて RMS エラーが高くなる傾向があります。
  • POLYORDER11 次多項式 (アフィン) が、単純な平面を入力ポイントに当てはめるために使用されます。
  • POLYORDER22 次多項式が、やや複雑なサーフェスを入力ポイントに当てはめるために使用されます。
  • POLYORDER33 次多項式が、さらに複雑なサーフェスを入力ポイントに当てはめるために使用されます。
  • ADJUST多項式変換と組み合わせて TIN (不規則三角形網) 内挿法を使用することで、グローバルとローカルの両方の精度を最適化します。
  • SPLINEソース コントロール ポイントがターゲット コントロール ポイントに正確に変換されます。 出力では、コントロール ポイントは正確ですが、コントロール ポイント間のラスター ピクセルは正確ではありません。
  • PROJECTIVEラインが直線のままであるように補正されます。 この変換を行うと、変換前に平行であったラインが平行でなくなる場合があります。 射影変換は、特に傾斜した画像、スキャン マップ、その他の画像製品で役立ちます。
String
resampling_type
(オプション)

使用されるリサンプリング手法を指定します。 デフォルトは [最近隣内挿法] です。

  • NEAREST最近隣内挿法が使用されます。 新しい値は作成されないため、ピクセル値の変更を最小限に抑える最速のリサンプリング手法です。 土地被覆のような不連続なデータに適しています。
  • BILINEAR共一次内挿法が使用されます。 周囲 4 ピクセルの値を平均 (距離に対する加重平均) して、各ピクセルの値を計算します。 連続的なデータに適しています。
  • CUBIC三次たたみ込み内挿法が使用されます。 周囲 16 ピクセルを基準にした滑らかな曲線と一致させて、各ピクセルの値を計算します。 最も滑らかな画像が生成される一方、ソース データの範囲外に値が作成されます。 連続的なデータに適しています。
  • MAJORITY最頻値リサンプリング手法が使用されます。 4 x 4 のウィンドウ内に最も頻出する値に基づいて、各ピクセルの値を決定します。 不連続なデータに適しています。

[最近隣内挿法] オプションと [最頻値] オプションは、土地利用分類などのカテゴリ データに使用されます。 [最近隣内挿法] オプションがデフォルトです。 これは最速の方法であり、ピクセル値は変更されません。 これらのオプションを標高サーフェスなどの連続データに使用しないでください。

[共一次内挿法] オプションと [三次たたみ込み内挿法] オプションは、連続データに最も適しています。 ピクセル値が変更される可能性があるため、これらをカテゴリ データに使用しないようにしてください。

String

コードのサンプル

Warp (幾何補正) の例 1 (Python ウィンドウ)

以下は、Warp ツールを実行する Python サンプルです。

import arcpy
from arcpy import env
env.workspace = "c:/data"
source_pnt = "'234718 3804287';'241037 3804297';'244193 3801275'"
target_pnt = "'246207 3820084';'270620 3824967';'302634 3816147'"
arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER1",\
                          "BILINEAR")
Warp (幾何補正) の例 2 (スタンドアロン スクリプト)

以下は、Warp ツールを実行する Python スクリプト サンプルです。

##====================================
##Warp
##Usage: Warp_management in_raster source_control_points;source_control_points... 
##                       target_control_points;target_control_points... out_raster
##                       {POLYORDER_ZERO | POLYORDER1 | POLYORDER2 | POLYORDER3 | 
##                       ADJUST | SPLINE | PROJECTIVE} {NEAREST | BILINEAR | 
##                       CUBIC | MAJORITY}
    

import arcpy

arcpy.env.workspace = r"C:/Workspace"

##Warp a TIFF raster dataset with control points
##Define source control points
source_pnt = "'234718 3804287';'241037 3804297';'244193 3801275'"

##Define target control points
target_pnt = "'246207 3820084';'270620 3824967';'302634 3816147'"

arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER2",\
                      "BILINEAR")

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック