创建自定义地理(坐标)变换 (数据管理)

摘要

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

使用情况

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

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

  • 使用地理变换的任何地理处理工具将检查默认存储位置中的所有自定义变换,并将它们作为变换参数下拉列表中的选项呈现。 这些变换也可用于地理变换环境。

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

  • 变换方法可以分为两组:基于方程和基于文件。 基于方程的方法不需要外部信息。 基于文件的方法需要存储在磁盘上的一个或多个文件来计算坐标偏移值。 这些文件类似于具有规律间隔点的栅格,并可使用插值方法和周围点的值来计算位置的偏移量。

  • 文件必须放置在以下位置之一:

    • 如果 ArcGIS Coordinate Systems Data 按计算机(针对所有人)进行安装,则需将文件复制到 C:\Program Files (x86)\ArcGIS\CoordinateSystemsData\pedata\Geographic 文件夹。
    • 如果 ArcGIS Coordinate Systems Data 按用户进行安装,则需将文件复制到 C:\Users\username\AppData\Local\Programs\ArcGIS\CoordinateSystemsData\pedata\Geographic 文件夹。
    • 如果未安装 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) 或使用选择坐标系按钮 选择坐标系 选择坐标系。

Coordinate System
输出地理坐标系

最终地理坐标系统。

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

Coordinate System
自定义地理变换

将使用的自定义转换方法。

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

从下拉列表中选择用于将输入地理坐标系变换为输出地理坐标系的变换方法。 选择后,将在变换方法下方显示其他选项。

String
范围
(可选)

转换适用的地理区域。 保证在指定范围内转换的数据以指定的精度级别进行转换

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

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

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

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

Extent
精度
(可选)

变换(输出)坐标与其真实值之间的预期差异。 因为任何转换通常都会降低数据集的质量,所以精度值始终是米为单位的最大绝对预期误差。

Double

派生输出

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

输出变换。

Value Table

arcpy.management.CreateCustomGeoTransformation(geot_name, in_coor_system, out_coor_system, custom_geot, {extent}, {accuracy})
名称说明数据类型
geot_name

自定义变换定义的名称。

String
in_coor_system

起始地理坐标系统。

Coordinate System
out_coor_system

最终地理坐标系统。

Coordinate System
custom_geot

将使用的自定义转换方法。

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

设置封装在字符串中的 METHODPARAMETER 值,用于自定义变换 GEOGTRAN。 为可用方法设置方法名称,如 Geocentric_TranslationMolodenskyMolodensky_AbridgedPosition_VectorCoordinate_FrameMolodensky_BadekasNADCONHARNNTV2Longitude_RotationUnit_ChangeGeographic_2D_Offset。 每种方法都有一组参数。 在自定义地理变换的整个字符串表示中,可以在参数名称旁边输入文本来编辑选项值。 请参阅以下 Python 示例。

String
extent
(可选)

转换适用的地理区域。 保证在指定范围内转换的数据以指定的精度级别进行转换

Extent
accuracy
(可选)

变换(输出)坐标与其真实值之间的预期差异。 因为任何转换通常都会降低数据集的质量,所以精度值始终是米为单位的最大绝对预期误差。

Double

派生输出

名称说明数据类型
out_transformation

输出变换。

Value Table

代码示例

CreateCustomGeoTransformation 示例(独立脚本)

以下独立脚本使用 CreateCustomGeoTransformation 函数来创建自定义变换。

# Name: CreateCustomGeographicTransformation.py
# Description: Create a custom geographic transformation in the default directory.

# import system modules
import arcpy

# set the variables
geoTransfmName = "cgt_geocentric2"

# create a spatial reference object for GCS_Tokyo
inGCS = arcpy.SpatialReference("Tokyo")

# create a spatial reference object for GCS_WGS_1984
outGCS = arcpy.SpatialReference("WGS 1984")

customGeoTransfm = "GEOGTRAN[METHOD['Geocentric_Translation'],PARAMETER['X_Axis_Translation',''],PARAMETER['Y_Axis_Translation',''],PARAMETER['Z_Axis_Translation','']]"

arcpy.management.CreateCustomGeoTransformation(geoTransfmName, inGCS, outGCS, customGeoTransfm)

环境

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

许可信息

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

相关主题