扭曲 (数据管理)

摘要

根据源和目标控制点使用多项式变换对栅格执行变换。这类似于使用文本文件进行地理配准。

了解有关“扭曲”工作原理的详细信息

插图

Polynomial transformations

用法

语法

Warp_management (in_raster, source_control_points, target_control_points, out_raster, {transformation_type}, {resampling_type})
参数说明数据类型
in_raster

输入栅格数据集。

Raster Layer
source_control_points
[source_control_point,...]

源点是连接线的“起点”坐标。

Point
target_control_points
[target_control_point,...]

目标点是连接线的“终点”坐标。

Point
out_raster

输出栅格数据集。

以文件格式存储栅格数据集时,需要指定文件扩展名,具体如下:

  • .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
  • 无扩展名 - ESRI GRID

以地理数据库形式存储栅格数据集时,不应向栅格数据集的名称添加文件扩展名。

将栅格数据集存储到 JPEG 文件、JPEG 2000 文件、TIFF 文件或地理数据库时,可以指定压缩类型和压缩质量。

Raster Dataset
transformation_type
(可选)

几何变换类型。

  • POLYORDER1一阶多项式(仿射)将输入点拟合为平面。这是默认设置。
  • POLYORDER2二阶多项式将输入点拟合为稍微复杂一些的曲面。
  • POLYORDER3三阶多项式将输入点拟合为更为复杂的曲面。
  • ADJUST对全局和局部精度都进行优化的变换。这可通过以下方法来完成:先执行一次多项式变换,然后使用不规则三角网 (TIN) 插值方法局部校正控制点,以便更好地与目标控制点保持一致。
  • SPLINE此变换可将源控制点准确地变换为目标控制点。这意味着控制点是准确的,只是控制点之间的栅格像素则不准确。
String
resampling_type
(可选)

要使用的重采样算法。默认设置为 NEAREST。

  • NEAREST最邻近分配法
  • BILINEAR双线性插值法
  • CUBIC三次卷积插值法
  • MAJORITY多数重采样法

NEAREST 和 MAJORITY 选项用于分类数据,如土地利用分类。NEAREST 选项是默认设置,因为它是最快的插值法,同时也因为它不会更改像元值。请勿对连续数据(如高程表面)使用 NEAREST 或 MAJORITY。

BILINEAR 选项和 CUBIC 选项最适用于连续数据。不推荐对分类数据使用 BILINEAR 或者 CUBIC,因为像元值可能被更改。

String

代码示例

扭曲示例 1(Python 窗口)

这是扭曲工具的 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")
扭曲示例 2(独立脚本)

这是扭曲工具的 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()

环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012