投影栅格 (数据管理)

摘要

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

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

使用情况

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参数

标注说明数据类型
输入栅格

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

Mosaic Layer; Raster Layer
输出栅格数据集

将要创建的带有新投影的栅格数据集。

以文件格式存储栅格数据集时,请将文件扩展名指定如下:

  • .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
输出坐标系

新栅格数据集的坐标系。

Coordinate System
重采样技术
(可选)

指定将使用的重采样技术。 默认设置为最邻近

最邻近众数选项用于分类数据,如土地利用分类。 最邻近选项为默认设置。 这是最快的技术并且不会更改像素值。 请勿对连续数据(如高程表面)使用其中任何一个选项。

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

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

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

Cell Size XY
地理(坐标)变换
(可选)

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

String
配准点
(可选)

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

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

Point
输入坐标系
(可选)

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

Coordinate System
垂直
(可选)

指定是否将应用垂直变换。

此选项在输入坐标系和输出坐标系都具有垂直坐标系且输入栅格的坐标具有 Z 值时处于活动状态。

当选中垂直时,地理变换参数可以包括椭圆体变换和垂直基准面之间的变换。例如,~NAD_1983_To_NAVD88_CONUS_GEOID12B_Height + NAD_1983_To_WGS_1984_1 可将在 NAD 1983 基准面(具有 NAVD 1988 高度)上定义的几何折点变换为 WGS 1984 椭圆体(具有表示椭圆体高度的 Z 值)上的折点。波形符 (~) 表示变换的反转方向。

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

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

Boolean

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将使用众数重采样技术。 它将基于 4 x 4 窗口中出现频率最高的值来确定每个像素的值。 适用于离散数据。

最邻近众数选项用于分类数据,如土地利用分类。 最邻近选项为默认设置。 这是最快的技术并且不会更改像素值。 请勿对连续数据(如高程表面)使用其中任何一个选项。

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

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")