标注 | 说明 | 数据类型 |
输入栅格 | 要转换的栅格。 | Mosaic Layer; Raster Layer |
源控制点 | 要扭曲的栅格的坐标。 | Point |
目标控制点 | 待扭曲的源栅格的坐标系。 | Point |
输出栅格数据集 | 要创建的数据集的名称、位置和格式。将栅格数据集存储到地理数据库时,请勿向栅格数据集的名称添加文件扩展名。将栅格数据集存储到 JPEG 文件、JPEG 2000 文件、TIFF 文件或地理数据库时,可以指定压缩类型和压缩质量。 以文件格式存储栅格数据集时,请指定文件扩展名,具体如下:
| Raster Dataset |
变换类型 (可选) | 指定用于平移栅格数据集的变换方法。
| String |
重采样技术 (可选) | 指定将使用的重采样技术。 默认设置为最邻近。 最邻近和众数选项用于分类数据,如土地利用分类。 最邻近选项是默认选项。 其速度最快并且不会改变像素值。 请勿对连续数据(如高程表面)使用其中任何一个选项。 双线性和三次选项最适用于连续数据。 建议不要对分类数据使用其中任何一个选项,因为像素值可能被更改。
| String |
摘要
使用源控制点和目标控制点转换栅格数据集。这与地理配准的方法类似。
插图
使用情况
必须指定源坐标和目标坐标。可供选择的变换类型(多项式的阶)取决于输入的控制点数。
默认的多项式阶数将执行仿射变换。
在栅格数据需要使用一个利用多项式进行建模的系统化几何校正时,“扭曲”工具会非常有用。通过使用适当阶数的多项式变换,空间变换可转换或移除变形。阶数越高,可校正的变形便越复杂。同时,所需的处理时间也越长。
要确定指定阶的多项式所必需的最小链接数,则请使用以下公式:
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 格式文件或地理数据库时,可在地理处理环境中指定压缩类型值和压缩质量值。
参数
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 文件或地理数据库时,可以指定压缩类型和压缩质量。 以文件格式存储栅格数据集时,请指定文件扩展名,具体如下:
| Raster Dataset |
transformation_type (可选) | 指定用于平移栅格数据集的变换方法。
| String |
resampling_type (可选) | 指定将使用的重采样技术。 默认设置为最邻近。
最邻近和众数选项用于分类数据,如土地利用分类。 最邻近选项是默认选项。 其速度最快并且不会改变像素值。 请勿对连续数据(如高程表面)使用其中任何一个选项。 双线性和三次选项最适用于连续数据。 建议不要对分类数据使用其中任何一个选项,因为像素值可能被更改。 | 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}
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")