扭曲 (数据管理工具)
汇总
使用源控制点和目标控制点转换栅格数据集。 这与地理配准的方法类似。
插图
用法
必须指定源坐标和目标坐标。 选择的变换类型(多项式阶数)取决于输入的控制点数量。
默认的多项式阶数将执行仿射变换。
当栅格需要可使用多项式建模的系统化几何校正时,扭曲非常有用。 空间变换可以通过适当阶数的多项式变换来反转或移除畸变。 阶数越高,可校正的畸变越复杂。 多项式的阶数越高,处理时间会逐渐增加。
为了确定给定多项式阶数所需的最小链接数,使用以下公式:
\(n \space = \space (p \space + \space 1) \space (p \space + \space 2) \space / \space 2\)
其中,n 是多项式阶数 p 的变换所需的最小链接数。 建议使用超过最低数量的链接。
此工具将确定扭曲栅格的范围并将行数和列数设置为与输入栅格大致相同。 由于输出栅格在 x 和 y 方向上的大小比例发生了更改,因而可能会存在一些较小的差异。 所用的默认像元大小将通过用范围除以先前确定的行数和列数来计算。 像元大小的值将由重采样算法使用。
如果选择在环境设置中定义 输出像元大小,行数和列数将计算如下:
\(columns \space = \space (xmax \space - \space xmin) \space / \space cell \space size\)
\(rows \space = \space (ymax \space - \space ymin) \space / \space cell \space 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
|
|
变换类型
(可选)
|
指定用于平移栅格数据集的变换方法。
仅平移—零阶多项式将用于平移数据。 当已对数据进行地理配准但通过微小的平移可以更好的排列数据时,通常使用该多项式。 执行零阶多项式平移只需要一个连接线。
相似变换—将使用一阶多项式(仿射)以将输入点拟合为平面。
仿射变换—将使用一阶多项式(仿射)以将输入点拟合为平面。
二阶多项式变换—将使用二阶多项式以将输入点拟合为稍微复杂一些的曲面。
三阶多项式变换—将使用三阶多项式以将输入点拟合为更为复杂的曲面。
优化全局精度和局部精度—结合多项式变换和不规则三角网 (TIN) 插值法对全局和局部精度进行优化。
样条函数变换—将源控制点准确地变换为目标控制点。 在输出中,控制点是准确的,只是控制点之间的栅格像素则不准确。
射影变换—将扭曲线以使其保持平直。 之前平行的线可能不再保持平行。 投影变换尤其适用于倾斜的影像、扫描的地图和一些影像产品。
|
String
|
|
重采样技术
(可选)
|
指定将使用的重采样技术。 默认设置为最近邻。
最近邻和众数选项用于分类数据,如土地利用分类。 最近邻选项是默认选项。 其速度最快并且不会改变像素值。 请勿对连续数据(如高程表面)使用其中任何一个选项。
双线性和三次卷积选项最适用于连续数据。 建议不要对分类数据使用其中任何一个选项,因为像素值可能被更改。
最近邻法—将使用最近相邻要素技术。 因为没有新值创建,此方法可将像素值的更改内容最小化,这是最快的重采样技术。 适用于离散数据,例如土地覆被。
双线性插值法—将使用双线性插值技术。 其采用平均化(距离权重)周围四个像素的值计算每个像素的值。 适用于连续数据。
三次卷积插值法—将使用三次卷积插值技术。 其通过根据周围的 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
(可选)
|
指定用于平移栅格数据集的变换方法。
POLYORDER0—零阶多项式将用于平移数据。 当已对数据进行地理配准但通过微小的平移可以更好的排列数据时,通常使用该多项式。 执行零阶多项式平移只需要一个连接线。
POLYSIMILARITY—将使用尝试保存原始栅格形状的一阶变换。 RMS 错误会高于其他多项式变换,因为保存形状比最佳大小更重要。
POLYORDER1—将使用一阶多项式(仿射)以将输入点拟合为平面。
POLYORDER2—将使用二阶多项式以将输入点拟合为稍微复杂一些的曲面。
POLYORDER3—将使用三阶多项式以将输入点拟合为更为复杂的曲面。
ADJUST—结合多项式变换和不规则三角网 (TIN) 插值法对全局和局部精度进行优化。
SPLINE—将源控制点准确地变换为目标控制点。 在输出中,控制点是准确的,只是控制点之间的栅格像素则不准确。
PROJECTIVE—将扭曲线以使其保持平直。 之前平行的线可能不再保持平行。 投影变换尤其适用于倾斜的影像、扫描的地图和一些影像产品。
|
String
|
|
resampling_type
(可选)
|
指定将使用的重采样技术。 默认设置为最近邻。
最近邻和众数选项用于分类数据,如土地利用分类。 最近邻选项是默认选项。 其速度最快并且不会改变像素值。 请勿对连续数据(如高程表面)使用其中任何一个选项。
双线性和三次卷积选项最适用于连续数据。 建议不要对分类数据使用其中任何一个选项,因为像素值可能被更改。
NEAREST—将使用最近相邻要素技术。 因为没有新值创建,此方法可将像素值的更改内容最小化,这是最快的重采样技术。 适用于离散数据,例如土地覆被。
BILINEAR—将使用双线性插值技术。 其采用平均化(距离权重)周围四个像素的值计算每个像素的值。 适用于连续数据。
CUBIC—将使用三次卷积插值技术。 其通过根据周围的 16 像素拟合平滑曲线来计算每个像素的值。 此操作将生成平滑影像,但可创建位于源数据中超出范围外的值。 适用于连续数据。
MAJORITY—将使用众数重采样技术。 基于 4 x 4 窗口中出现频率最高的值来确定每个像素的值。 适用于离散数据。
|
String
|
代码示例
这是 Warp 工具的 Python 示例。
import arcpy
arcpy.env.workspace = "c:/data"
source_pnt = "'234718 3804287';'241037 3804297';'244193 3801275'"
target_pnt = "'246207 3820084';'270620 3824967';'302634 3816147'"
arcpy.management.Warp("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER1",
"BILINEAR")
这是 Warp 工具的 Python 脚本示例。
##====================================
##Warp
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.management.Warp("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER2",
"BILINEAR")
环境
压缩, 当前工作空间, 范围, 地理变换, NoData, 输出配置关键字, 输出坐标系, 并行处理因子, 金字塔, 栅格统计, 重采样方法, 临时工作空间, 捕捉栅格, 分块大小
许可信息