创建自定义垂直变换 (数据管理)

摘要

创建在两个垂直坐标系或基准之间进行数据变换的变换定义。 该工具的输出可用作任何需要垂直变换参数的工具的变换对象。

使用情况

  • 使用垂直变换的任何地理处理工具将检查默认存储位置中的所有自定义变换,并将它们作为变换参数的选项呈现。 如果支持,变换对话框将显示组合的地理和垂直变换路径。 这些变换也可用于地理变换环境。

  • 所有的自定义垂直变换文件都将存储为扩展名为 .vtf 的文件,并存储在应用程序数据文件夹中的 Esri\ArcGISPro\ArcToolbox\CustomTransformations 文件夹中。

    • 在所有 Windows 操作系统中,AppData 文件夹位于 %appdata%,临时文件夹位于 %temp%。 在命令窗口中输入 %appdata% 将返回应用程序数据文件夹位置。 输入 %temp% 将返回临时文件夹位置。
    • 在 UNIX 系统中,tmp 文件夹和应用程序数据文件夹分别位于主目录的 $TMP$HOME 下。 在终端键入 /tmp 将返回该位置。

  • 无法编辑自定义变换文件。 它们是存储版本和字符串长度信息的二进制文件,如果修改可能会损坏。 要更新变换文件,需创建一个新的自定义垂直变换并覆盖现有文件。

  • 该工具提供几种常用的垂直变换方法,包括 GEOID、垂直偏移和带格网的垂直偏移。 一些方法是基于方程的,但是大多数方法(例如 GEOID 或带格网的垂直偏移)都需要数据文件。 该文件可以是二进制或 ASCII 格式。 出于性能原因,最好采用二进制格式。

    目前 ArcGIS Pro 支持的文件格式如下:

    • 美国国家地理空间情报局发布 EGM84 和 EGM96
    • NOAA 国家大地测量局发布的 GEOID、VDATUM、VERTCON 和 VERTCON3

  • GEOID 方法(将椭球高转换为重力相关高)和带格网的垂直偏移方法(在两个重力相关高系统之间转换),支持简单的 ASCII 文件格式。 该文件格式由 NOAA 的国家大地测量局使用。 在标题行的左下角包含最小纬度和最小经度(以十进制度表示)。 无需使用 0-360 经度范围(如下所示)。 接下来是纬度和经度点之间的分隔,也是以十进制度表示。 接下来的值组是每行和每列中的点数。 最后一个值是校验位,始终为 1。 偏移或间隔值为浮点数,以米为单位。 第一行从最小纬度和经度值开始。 下面的前三行显示了一行值不必须是单行。

        15.000000000000    291.00000000000    0.1666666666667E-01    0.1666666666665E-01    361   301  1
      -29.2936  -29.3314  -29.3710  -29.4121  -29.4540  -29.4965  -29.5382  -29.5807
      -29.6233  -29.6660  -29.7090  -29.7522  -29.7956  -29.8397  -29.8846  -29.9301
  • 使用基于文件的方法时必须提供适当的插值方法。 该工具中有几种内置插值方法可用。

  • 如果垂直转换使用需要一个或多个文件的方法,请将它们放置在以下位置之一:

    • 如果 ArcGIS Coordinate Systems Data 按计算机(针对所有人)进行安装,则需将文件复制到 C:\Program Files (x86)\ArcGIS\CoordinateSystemsData\pedata\Vertical 文件夹。
    • 如果 ArcGIS Coordinate Systems Data 按用户进行安装,则需将文件复制到 C:\Users\username\AppData\Local\Programs\ArcGIS\CoordinateSystemsData\pedata\Vertical 文件夹。
    • 如果未安装 ArcGIS Coordinate Systems Data,则需将文件复制到位于 C:\Program Files\ArcGIS\Pro\Resources\pedata 文件夹中的 ArcGIS Pro pedata 文件夹中,其中 ArcGIS Pro 按计算机(针对所有人)进行安装。
    • 如果 ArcGIS Pro 按用户进行安装,则需将文件复制到位于 C:\Users\username\AppData\Local\Programs\ArcGIS\Pro\Resources\pedataArcGIS Pro pedate 文件夹中。

    如果未使用默认安装位置安装 ArcGIS Pro 或 ArcGIS Coordinate Systems Data,则需将文件复制到等效的 pedata 文件夹中。 如果由于权限限制或隐藏而无法访问这些位置,请咨询系统管理员以获取帮助。

  • 此工具仅允许创建变换定义,用于在椭圆体高度和重力相关高度之间或两个重力相关高度之间进行转换。 不允许同时将源和目标垂直坐标系设置为椭圆高度系统。 要在椭圆体高度系统之间进行转换,请使用创建自定义地理变换工具。

参数

标注说明数据类型
垂直变换名称

自定义变换定义的名称。

String
源垂直坐标系

起始垂直坐标系。

提供一个已知 ID (WKID) 或使用选择坐标系按钮 选择坐标系 选择坐标系。

String
目标垂直坐标系

最终垂直坐标系。

提供一个 WKID 或使用选择坐标系按钮 选择坐标系 选择坐标系。

String
插值地理坐标系
(可选)

插值地理坐标系。

仅在垂直变换方法要求时,此参数才处于活动状态。

在从文件中进行插值时,或者所用方法需要纬度和经度坐标时,将使用地理坐标系。 不需要插值地理坐标系的方法包括 Null、单位变更、高度深度翻转和垂直偏移。

提供一个 WKID 或使用选择坐标系按钮 选择坐标系 选择坐标系。

Coordinate System
垂直变换方法
(可选)

将使用的垂直变换方法。

从下拉列表中选择用于将输入垂直坐标系变换为输出垂直坐标系的变换方法。 选择后,其参数将显示在表中,以供编辑。

方法和参数的列表可在《地理和垂直转换》PDF 中找到

如果使用需要文件的方法,请参阅用法说明以了解文件的放置位置。

String
范围
(可选)

变换适用的区域。

对于范围坐标系,请使用 WGS84 (WKID:4326) 或其他基于 GNSS 的地理坐标系统,如 NAD 1983 或 GDA2020。 如果提供了投影坐标系或具有投影坐标系的图层,则需将其值转换为纬度和经度。

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。
  • 图层范围 图层 - 范围基于活动地图图层。 选择可用图层或者使用所有图层中的数据范围选项。 每个地图图层具有以下选项:

    • 所有要素 全选 - 所有要素的范围。
    • 选定要素 基于选定要素的区域 - 选定要素的范围。
    • 可见要素 Extent Indicator - 可见要素的范围。

  • 浏览 浏览 - 范围将基于数据集。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围和坐标系复制到剪贴板。
    • 粘贴范围 粘贴 - 从剪贴板粘贴范围和坐标系。 如果剪贴板不包含坐标系,则范围将使用地图的坐标系。
  • 重置范围 重置 - 将范围重置为默认值。

当手动提供坐标时,坐标必须为数值,并且位于活动地图的坐标系中。 地图可能使用与提供的坐标不同的显示单位。 在南纬和西经坐标中使用负号。

Extent
精度
(可选)

以米为单位的精确度的常规说明。

Double

派生输出

标注说明数据类型
输出变换

输出变换。

Value Table

arcpy.management.CreateCustomVerticalTransformation(vt_name, source_vt_coor_system, target_vt_coor_system, {interpolation_gcs}, {custom_vt}, {extent}, {accuracy})
名称说明数据类型
vt_name

自定义变换定义的名称。

String
source_vt_coor_system

起始垂直坐标系。

String
target_vt_coor_system

最终垂直坐标系。

String
interpolation_gcs
(可选)

插值地理坐标系。

仅在垂直变换方法要求时,此参数才处于活动状态。

在从文件中进行插值时,或者所用方法需要纬度和经度坐标时,将使用地理坐标系。 不需要插值地理坐标系的方法包括 Null、单位变更、高度深度翻转和垂直偏移。

Coordinate System
custom_vt
(可选)

将使用的垂直变换方法。

从下拉列表中选择用于将输入垂直坐标系变换为输出垂直坐标系的变换方法。 选择后,其参数将显示在表中,以供编辑。

方法和参数的列表可在《地理和垂直转换》PDF 中找到

如果使用需要文件的方法,请参阅用法说明以了解文件的放置位置。

String
extent
(可选)

变换适用的区域。

对于范围坐标系,请使用 WGS84 (WKID:4326) 或其他基于 GNSS 的地理坐标系统,如 NAD 1983 或 GDA2020。 如果提供了投影坐标系或具有投影坐标系的图层,则需将其值转换为纬度和经度。

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

以米为单位的精确度的常规说明。

Double

派生输出

名称说明数据类型
out_transformation

输出变换。

Value Table

代码示例

CreateCustomVerticalTransformation 示例(Python 窗口)

以下独立脚本使用 CreateCustomVerticalTransformation 函数创建了自定义垂直变换。

import arcpy
arcpy.management.CreateCustomVerticalTransformation(
    vt_name="NAD_1983_2011_ellipsoid_to_GEOID18b",
    source_vt_coor_system='VERTCS["NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PARAMETER["Vertical_Shift",0.0],PARAMETER["Direction",1.0],UNIT["Meter",1.0]]',
    target_vt_coor_system='VERTCS["NAVD88_height_(ftIntl)",VDATUM["North_American_Vertical_Datum_1988"],PARAMETER["Vertical_Shift",0.0],PARAMETER["Direction",1.0],UNIT["Foot",0.3048]]',
    interpolation_gcs='GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
    custom_vt="GEOID|g2018u0.bin|Bilinear",
    extent='-110 30 -80 40 GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
    accuracy=0.5
)

环境

此工具不使用任何地理处理环境。

许可信息

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

相关主题