旋转 (数据管理)

描述

围绕指定枢轴点转动栅格数据集。

插图

旋转图示

使用方法

  • 默认情况下,旋转将围绕栅格的中心点。可以使用可选枢轴点参数来更改旋转点。

  • 仅当角度不是 90 的倍数时,才会执行重采样操作。

  • 在 0 度到 360 度之间指定一个旋转角度来顺时针旋转栅格。若要逆时针旋转栅格,则需要将角度指定为负值。

  • 可将输出结果保存为 BIL、BIP、BMP、BSQ、DAT、Esri Grid、GIF、IMG、JPEG、JPEG 2000、PNG、TIFF、MRF、CRF 格式或任意地理数据库栅格数据集。

  • 将栅格数据集存储到 JPEG 文件、JPEG 2000 文件或地理数据库时,可在环境中指定压缩类型压缩质量

  • 此工具支持多维栅格数据。要在多维栅格中的每个剖切片上运行该工具并生成多维栅格输出,必须将输出保存到 CRF。

    支持的输入多维数据集类型包括多维栅格图层、镶嵌数据集、图像服务和 CRF。

语法

arcpy.management.Rotate(in_raster, out_raster, angle, {pivot_point}, {resampling_type}, {clipping_extent})
参数说明数据类型
in_raster

要旋转的栅格数据集。

Mosaic Layer; Raster Layer
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
angle

指定一个介于 0 度到 360 度之间的值,将以此值对栅格进行顺时针旋转。若要逆时针旋转栅格,则需要将角度指定为负值。角度可以指定为整型值或浮点型值。

Double
pivot_point
(可选)

栅格将围绕其进行旋转的点。如果留空,输入栅格数据集的左下角将用作枢轴。

Point
resampling_type
(可选)

要使用的重采样算法。默认设置为最邻近

  • NEAREST 最邻近法是最快的重采样方法;因为没有新值创建,此方法可将像素值的更改内容最小化。适用于离散数据,例如土地覆被。
  • BILINEAR 双线性插值可通过计算(距离权重)周围 4 像素的平均值来计算每个像素的值。适用于连续数据。
  • CUBIC 三次卷积插值法通过根据周围的 16 像素拟合平滑曲线来计算每个像素的值。此操作将生成平滑影像,但可创建位于源数据中超出范围外的值。适用于连续数据。
  • MAJORITY众数重采样法基于 3 x 3 窗口中出现频率最高的值来确定每个像素的值。适用于离散数据。

最邻近众数选项用于分类数据,如土地利用分类。最邻近选项是默认设置,因为它是最快的插值法,同时也因为它不会更改像元值。 请勿对连续数据(如高程表面)使用其中任何一个选项。

双线性选项和三次选项最适用于连续数据。 不建议对分类数据使用其中任何一个选项,因为像元值可能被更改。

String
clipping_extent
(可选)

栅格数据集的处理范围。进行旋转前,源数据将裁剪为指定范围。

  • MAXOF - 将使用所有输入的最大范围。
  • MINOF - 将使用所有输入共有的最小区域。
  • DISPLAY - 该范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent

代码示例

旋转示例 1(Python 窗口)

这是 Rotate 工具的 Python 示例。

import arcpy
arcpy.Rotate_management("c:/data/image.tif", "c:/output/rotate.tif", "30",\
                        "1940000 304000", "BILINEAR")
Rotate 示例 2(独立脚本)

这是 Rotate 工具的 Python 脚本示例。

##====================================
##Rotate
##Usage: Rotate_management in_raster out_raster angle {pivot_point} {NEAREST | BILINEAR | CUBIC | MAJORITY}
    
import arcpy

arcpy.env.workspace = r"C:/Workspace"
pivot_point = "1942602 304176"

##Rescale a TIFF image by a factor of 4 in both directions
arcpy.Rotate_management("image.tif", "rotate.tif", "30", pivot_point, "BILINEAR")

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题