摘要
Collector for ArcGIS 存储表示高出椭球体高度 (HAE) 而非平均海平面 (MSL) 的高度值。 使用与 接收器相关或为其输入的天线高度值减去收到的高度值,以确保地面上的精度。
可以创建一个字段来记录 MSL 值,并使用以下公式计算这些值:
Z 值 (MSL) = HAE - 大地水准面差距 - 天线高度
必须在 ArcMap 中手动配置此公式,或将其整合到 GitHub 上可用的 CollectorUtils 脚本中。
当前版本的 Collector for ArcGIS 仅将高度值 (HAE) 存储为字段属性,而不是作为实际的要素几何进行存储。 但是,可通过将双精度型字段添加到用来存储值的属性表来捕获高度值,并使用 ProjectZ 地理处理工具将这些值传递到几何 z 值。 有关详细信息,请参阅 Collector for ArcGIS:记录 GPS 元数据和 Collector for ArcGIS:Collector 是否将高度存储为几何的 z 值?
注: Esri 支持部门不支持 CollectorUtils 脚本。
过程
注: 此工作流中的某些工具需要 Spatial Analyst 许可。
要计算 MSL 值并将值存储在要素类的字段中,请按照以下说明进行操作。
- 在 ArcMap 中准备用于数据采集的地图。 有关详细信息,请参阅 Collector for ArcGIS:在 ArcGIS Desktop 中准备数据。
- 配置要素类以存储全球导航卫星系统 (GNSS) 字段。 使用 Esri 推荐的工作流手动添加字段。 有关详细信息,请参阅 Collector for ArcGIS:配置要素服务以存储 GPS 元数据。 或者,可以使用 GitHub:添加 GNSS 元数据字段中的脚本。
- 使用 Collector for ArcGIS 采集所需的字段数据。 有关采集字段数据、保存和共享数据的示例工作流,请参阅 Collector for ArcGIS:采集数据。
- 将步骤 3 中采集的数据添加到 ArcMap。
- 要将高度值传输到几何 z 值,请将采集的数据作为 ProjectZ 工具的输入进行添加。
- 下载 CollectorUtils 工具箱。
- 从目录窗口连接到包含工具箱的文件夹。
- 打开 ProjectZ 工具。
- 输入所需的参数(如下所示),然后单击确定。
- 输入要素
- 输入(x、y、z 值的)坐标系
- X 值坐标
- Y 值坐标
- Z 值坐标
- 输出数据集或要素类
- 输出坐标系
下图显示了输入的参数字段。
- 请在此处下载相关的 le*binary GEOID12B 文件。 使用此图像确定适合的格网。
- 通过在目录窗口中创建与文件的连接并将 .bin 文件拖放到地图框,将下载的 GEOID12B .bin 文件添加到 ArcMap。
- 使用投影栅格工具将 GEOID12B .bin 文件投影到与数据相同的坐标系。 将 .bin 文件添加到地图时,文件将进行动态投影,如果图层未被重新投影,则大地水准面高度可能会存在一定程度的不准确性。
- 使用值提取至点工具输出特定大地水准面值,用于通过 Collector for ArcGIS 收集的数据。
- 打开添加字段工具,并添加一个包含以下信息的字段,以将 MSL 值存储在步骤 9 的输出要素类中。 有关详细信息,请参阅 ArcMap:添加字段。
- 字段名称:MSL_Elevation
- 类型:双精度型
- 精度:50
- 比例:10
- 在字段计算器中使用以下表达式输出步骤 10 中创建的字段中的 MSL 值。
MSL = 高度 (HAE) - 大地水准面差距 (RASTERVALU) - 天线高度
- 使用 Python(且给定天线高度 = 1 米):
!ELEVATION!.firstpoint.Z - !RASTERVALU!-1
[ELEVATION] - [RASTERVALU] -1