幾何補正(Warp) (データ管理)
サマリ
多項式変換を使用して、ソースおよびターゲット コントロール ポイントに基づいてラスタの変換を実行します。この機能は、テキスト ファイルを使用したジオリファレンスに似ています。
図
使用法
-
変換元と変換先の座標を指定する必要があります。選択する変換タイプ(多項式の次数)は、入力するコントロール ポイントの数によって異なります。
-
デフォルトの多項式の次数(1)では、アフィン変換が実行されます。
-
[幾何補正(Warp)] は、多項式を使用してモデリングされる体系的な地理補正をラスタが必要とする場合に便利です。空間変換では、適切な次数の多項式変換を使用することにより、歪みを転化または削除できます。次数が高いほど、より複雑な歪みを補正できます。多項式の次数が高くなると、それだけ処理時間が長くなります。
特定の多項式の次数に必要なリンクの最小数を特定するには、次の式を使用します。
n = (p + 1) (p + 2) / 2
n は、次数 p の多項式変換に必要なリンクの最小数です。最低限必要なリンク数よりも多くのリンクを使用することを強くお勧めします。このツールは、幾何補正されたラスタの範囲を決定し、ロウとカラムの数を入力ラスタ内とほぼ同数になるように設定します。X と Y 方向おける出力ラスタのサイズ間の比率の変更により、わずかな差異がいくつか生じる場合があります。使用されるデフォルトのセル サイズは、以前に決定されたロウとカラムの数で範囲を分割して計算されます。セル サイズの値は、リサンプリング アルゴリズムで使用されます。
環境設定で出力セル サイズを定義する場合、ロウとカラムの数は次のように計算されます。
列 =(最大 X - 最小 X)/ セル サイズ行 =(最大 Y - 最小 Y)/ セル サイズ
-
出力は、BIL、BIP、BMP、BSQ、DAT、GIF、Esri Grid、IMG、JPEG、JPEG 2000、PNG、TIFF、または任意のジオデータベース ラスタ データセットに保存することができます。
-
ラスタ データセットを JPEG ファイル、JPEG 2000 ファイル、またはジオデータベースに格納するときに、環境設定で [圧縮] タイプと [圧縮品質] を指定できます。
構文
パラメータ | 説明 | データ タイプ |
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 ファイル、またはジオデータベースに格納するときに、圧縮タイプと圧縮品質を指定できます。 | Raster Dataset |
transformation_type (オプション) |
地理座標変換の種類。
| String |
resampling_type (オプション) |
使用するリサンプリング アルゴリズム。デフォルトは NEAREST です。
NEAREST オプションと MAJORITY オプションは、土地利用分類などのカテゴリ データに使用されます。デフォルトは NEAREST オプションです。これは、このオプションが最速であり、セル値を変更しないからです。NEAREST または MAJORITY を標高サーフェスなどの連続データに使用しないでください。 BILINEAR オプションと CUBIC オプションは、連続データに最も適しています。セル値が変更される可能性があるため、BILINEAR または CUBIC をカテゴリ データに使用することは推奨されません。 | String |
コードのサンプル
これは 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(幾何補正)ツールを表す 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}
try:
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 = outpnts = "'246207 3820084';'270620 3824967';'302634 3816147'"
arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER2",\
"BILINEAR")
except:
print "Warp example failed."
print arcpy.GetMessages()