投影栅格 (数据管理)

描述

用于将栅格数据集从一种坐标系变换到另一种坐标系。

了解有关投影栅格工作原理的详细信息

使用方法

  • 坐标系可定义栅格数据的投影方式。可以针对数据使用相同的坐标系,以使其将位于相同的投影中。

  • 可以使用双线性插值近似方法将栅格数据集投影到新的空间参考,该方法会将像素投影在粗糙的网格格网上并在像素之间应用双线性插值法。

  • 此工具可保证投影过程中的误差范围低于半个像素。

  • 要应用变换而不创建文件,请使用扭曲工具。

  • 您可以选择预先存在的空间参考,也可以选择从其他数据集导入或者自行创建一个空间参考。

  • 本工具仅能输出方形像元大小。

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

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

  • 最邻近选项(用于执行最邻近分配法)是四种插值法当中速度最快的插值方法。其主要用于分类数据(如土地利用分类),因为它不会更改像元值。不应对连续数据(如高程表面)使用 NEAREST。

  • 双线性选项使用双线性插值法,可根据四个最近周围像元的加权平均距离确定像元的新值。三次选项使用三次卷积插值法,可通过拟合穿过周围点的平滑曲线确定新的像元值。这些对于连续数据来说是最适合的选择,但可能会引起平滑处理。请注意,三次卷积插值法可能会导致输出栅格包含输入栅格范围之外的值。不应对分类数据使用这些技术,因为不同的像元值可能会进行不必要的引入。

  • 栅格数据集的各个像元为方形并且在地图坐标空间中显示为面积相等,但在整个栅格中,像元所代表的地球表面上的形状和面积不可能完全一致。这是因为地图投影无法同时保持形状和面积不变。在整个栅格中,各像元所代表的面积各不相同。因此,输出栅格中的像元大小以及行数和列数也可能发生变化。

  • 请务必指定一个输出像元大小,除非您在球面(纬度-经度)坐标和平面坐标系之间进行投影,并且未知相应的像元大小。

  • 默认的输出栅格像元大小由位于输出栅格中心的经过投影的像元大小所决定。这通常是中央经线与真实比例纬线的交汇处以及形变最小的区域。对输入栅格的边界进行投影时,最小和最大范围值将决定输出栅格的大小。将某像元投影回输入坐标系中可确定该像元的值。

  • 当输入和输出坐标系的基准面相同时,地理(坐标)变换为可选参数。如果输入和输出基准面不同,则必须指定地理(坐标)变换。

  • 配准点可用于指定原点,以便对各输出像元进行定位。所有输出像元与该点之间必须间隔一个像元。该点的坐标不必位于一角,也不必落入栅格数据集中。如果在“环境”设置中设置了捕捉栅格,那么将忽略配准点。

  • 如果 CLARKE 1866 与投影(例如 NEWZEALAND_GRID)不存在固有关系或者通过 SPHEROID 子命令指定了其他椭球体,则 CLARKE 1866 将作为默认椭球体。

  • 如果两者都进行了设置,那么捕捉栅格的参数设置将优先于配准点。

  • 要执行垂直变换,请选中对话框中的可选垂直参数。默认情况下,垂直参数不可用,并且仅在输入坐标系和输出坐标系都具有垂直坐标系 (VCS) 且输入要素类坐标具有 Z 值时才可用。此外,必须在系统上安装附加数据(坐标系数据)安装程序。

    选择输出坐标系后,您将能够选择地理坐标系或投影坐标系以及 VCS。如果输入和输出 VCS 不同,则可使用相应的垂直变换,也可选择地理(基准面)变换。如果将变换反向应用于其定义,则请选择名称前面带有波形符 (~) 的条目。

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

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

语法

arcpy.management.ProjectRaster(in_raster, out_raster, out_coor_system, {resampling_type}, {cell_size}, {geographic_transform}, {Registration_Point}, {in_coor_system}, {vertical})
参数说明数据类型
in_raster

将变换为新投影的栅格数据集。

Mosaic Layer; Raster Layer
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
  • .mrf - MRF
  • .crf - CRF
  • Esri Grid 无扩展名

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

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

Raster Dataset
out_coor_system

新栅格数据集的坐标系。

该参数的有效值包括:

  • 现有要素类、要素数据集、栅格数据集(基本上包含了与坐标系相关的所有内容)
  • ArcPy SpatialReference 对象

Coordinate System
resampling_type
(可选)

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

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

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

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

String
cell_size
(可选)

使用现有栅格数据集的新栅格的像元大小或指定其宽度 (x) 和高度 (y)。

Cell Size XY
geographic_transform
[geographic_transform,...]
(可选)

从一个地理系统或基准面投影到另一个地理系统或基准面时的地理变换。输入坐标系和输出坐标系的基准面不同时需要进行变换。

String
Registration_Point
(可选)

用于对输出像元进行定位的左下角的点。该点的坐标不必位于一角,也不必落入栅格数据集中。

捕捉栅格环境设置参数将优先于配准点参数。要设置配准点,请确保尚未设置捕捉栅格

Point
in_coor_system
(可选)

输入栅格数据集的坐标系。

Coordinate System
vertical
(可选)

指定是否将执行垂直变换。

此参数仅在输入坐标系和输出坐标系都具有垂直坐标系且输入要素类坐标具有 Z 值时才会处于启用状态。

如果使用 VERTICAL 关键词,则 geographic_transform 参数可包含椭圆变换和垂直基准面之间的变换。例如,“~NAD_1983_To_NAVD88_CONUS_GEOID12B_Height + NAD_1983_To_WGS_1984_1”可将具有 NAVD 1988 高度的 NAD 1983 基准面上所定义的几何折点变换为 WGS 1984 椭圆体上的折点(利用 Z 值表示椭圆体高度)。波形符 (~) 表示变换的反转方向。

  • NO_VERTICAL不应用垂直变换。几何坐标的 Z 值将被忽略,并且 z 值将不会进行修改。这是默认设置。
  • VERTICAL应用 geographic_transform 参数中所指定的变换。投影栅格工具将变换几何坐标的 X、Y 和 Z 值。

许多垂直变换需要附加数据文件,而这些文件必须通过 ArcGIS Coordinate Systems Data 安装包进行安装。

Boolean

代码示例

ProjectRaster 示例 1(Python 窗口)

这是 ProjectRaster 工具的 Python 示例。

import arcpy
from arcpy import env
arcpy.ProjectRaster_management("c:/data/image.tif", "c:/output/reproject.tif",\
                               "World_Mercator.prj", "BILINEAR", "5",\
                               "NAD_1983_To_WGS_1984_5", "#", "#")
ProjectRaster 示例 2(独立脚本)

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

##====================================
##Project Raster
##Usage: ProjectRaster_management in_raster out_raster out_coor_system {NEAREST | BILINEAR 
##                                | CUBIC | MAJORITY} {cell_size} {geographic_transform;
##                                geographic_transform...} {Registration_Point} {in_coor_system}
    
import arcpy

arcpy.env.workspace = r"C:/Workspace"

##Reproject a TIFF image with Datumn transfer
arcpy.ProjectRaster_management("image.tif", "reproject.tif", "World_Mercator.prj",\
                               "BILINEAR", "5", "NAD_1983_To_WGS_1984_5", "#", "#")

##Reproject a TIFF image that does not have a spatial reference
##Set snapping point to the top left of the original image
snapping_pnt = "1942602 304176"

arcpy.ProjectRaster_management("nosr.tif", "project.tif", "World_Mercator.prj", "BILINEAR",\
                               "5", "NAD_1983_To_WGS_1984_6", snapping_pnt,\
                               "NAD_1983_StatePlane_Washington_North.prj")

许可信息

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

相关主题