测地线视域的工作原理

需要 Spatial Analyst 许可。

需要 3D Analyst 许可。

测地线视域工具使用测地线方法确定对一组点或折线观察点可见的圆形地球表面位置。 该工具将高程表面转换到地心 3D 坐标系中,并对每个转换的像元中心运行 3D 视线。 该工具将利用图形处理器 (GPU)(如果系统上可用)。 可以有选择地容纳输入高程表面中的垂直不确定性或错误。 还可以有选择地为最多 32 个可关联回输入观察点要素类的观察点(点、多点或折线)生成观察点-区域关系表。

由于计算在真正的 3D 坐标系中执行,测地线视域工具不需要地球曲率校正参数。 如果可用,还将使用输入空间参考的 z 单位来替代 z 因子参数。 最后,由于每条 3D 视线的评估均独立于其他视线,可避免一些可能会潜入基于波前视域算法(例如现有视域系列地理处理工具)的错误。 因此,测地线视域工具能够比视域工具生成更准确的可视性和地面以上 (AGL) 表面。

可视性的确定

该工具对于观察点、目标和高程表面像元中心使用地心 3D 点。 目标是添加有可选附加偏移的表面像元中心。 地心 3D 坐标系统是右旋笛卡尔坐标系,其中地球的中心为原点 Cx 轴指向本初子午线和赤道的交点,Z 轴指向北极,y 轴从 x 轴顺时针旋转 90 度(从北极向下看时)。 有关以地心坐标系表示的目标位置 T 的示例,请参见下图。

以地心 3D 坐标系表示的目标
将表面栅格和观察点从输入坐标系转换到 3D 地心坐标系中。 目标 T 的地心坐标系为 (Xy, Yt, Zt)。

要确定每个目标的可视性,可从每个观察点到每个目标构造 3D 视线。 有关如何构造视线的图示,请参见下图。 确定椭球体上每个视线的地面路径并将其划分为像元大小步长。 在该图中,步长以绿点表示,步长之间的距离等于像元大小。 在每个步长中,将计算视线和表面之间的垂直距离 d。 使用线性反距离权重 (IDW) 方法通过最近像元中心估算地面高程。 如果 d 对于沿视线的所有地面步长为正,则认为目标可见;否则,认为目标不可见。

地心 3D 视线的剖面图
将显示相对高程表面和基础椭圆体的地心 3D 视线的剖面图。

垂直错误

仅当分析类型为频数时才启用垂直错误参数。 该参数用于说明输入高程表面中的垂直不确定性。 当该参数为 0 或未指定时,将在观察点和每个目标之间投射单条视线。 结果是,目标可见或不可见。 在这种情况下,输出可见性栅格可记录输入表面栅格中每个像元位置可被任意输入观测点看到的次数。

垂直错误参数大于 0(例如,0.6 米)时,将在观察点和每个目标之间投射若干视线。 对于每个视线和每个步长,将向 d 添加范围 [-0.6, 0.6] 内均匀分布的一个随机数。如果 d 小于零,则将终止该特定视线。 在这种情况下,每个观察点可为输出可见性栅格提供一个介于 0 到 1 之间的数字(由该观察点除以视线总数得出的成功视线数量),现在为单精度浮点数类型。

AGL 的确定

地面以上 (AGL) 栅格作为一种可选输出,表示目标像元从不可见到可见需要提升的距地面高度。 下图说明了确定 AGL 值的方法。 T 表示具有一定高度(即插图中的目标偏移)的目标。 观察点 O 与目标 T 之间的视线被 terrain 遮挡,因此目标 T 不可见。 若将目标提升到新位置 T’,便可获得清晰的视线,从而使目标将变为可见。 T’ 与地面之间的距离即为输出栅格中的 AGL 值。

AGL 图示
AGL 输出栅格还记录目标从不可见到至少对一个观察点可见所需的表面上方附加高程。 在本示例中,目标位置的 AGL 值即为目标偏移 + TT'。

距离 TT' 的计算并不需要假定 OTT' 三角形是直角三角形。

输出观察点-区域关系表的说明

当分析类型为观察点时,工具可输出观察点-区域关系表,如下图所示。 在该表中,Observer 字段列出了输入要素类中的要素 ID。 Region 字段列出了输出可见性栅格中各个区域的像元值。 因此,该表列出了每个观察点可见的区域。 可以使用该表根据观察点 ID 来查找区域 ID,反之亦然。

观察点-区域关系表示例
观察点-区域关系表可标识出要素可看到的表面部分。

相同的信息还编码在可见性栅格的输出像元值中,但是不太方便访问。 这种情况下,输出可见性栅格中包含三个值(1、2 和 3),如以下属性表的屏幕截图所示:

输出可见性栅格属性表
将显示输出可见性栅格属性表。

输入观察点按 OBJECTID 值升序排列,输出可见性栅格可报告已排序观察点位置的按位或。 栅格地图代数可用于提取有关哪些观察点能够看到哪些区域的信息,可以使用该排序规则将此信息关联回观察点。 示例如下图所示。 假设观察点 1 有 ObjectID 1,观察点 2 有 ObjectID 2。 则输出可见性地图中区域 1(浅黄色区域)的像元值将为 1。 输出可见性地图中区域 2(蓝色区域)的像元值将为 2。 输出可见性地图中区域 3(绿色区域)的像元值将为 3(1 和 2 的按位或数值)。

输入要素和输出可见性栅格
示例中显示了当选择观察点分析类型而非频数分析类型时,两个观察点的输出。

在上图中,输出像元值为输入要素内部索引的按位或。 观察点-区域关系表使用要素类 ID 替代内部索引来报告此相同信息。

控制可见性分析

可通过在观察点参数中指定各种数值或字段来限制每个观察点的视图字段。 这些观察点参数在功能上与视域工具用于控制可见性分析的视锥字段(例如 OFFSETAOFFSETB)相同。 区别在于测地线视域观察点参数可使用任何数值型字段,不受任何指定字段名的限制。

GPU 的使用

如果已安装某些 GPU 硬件,则此工具能够显著提高性能。 有关如何支持、配置以及启用此功能的更多详细信息,请参阅 ArcGIS Spatial Analyst extension 帮助中的通过 Spatial Analyst 处理 GPU 主题。

优化性能

确定视域是计算密集型处理。 除上一部分中描述的使用 GPU 硬件,还可以通过以下列出的选项提高工具性能。

  • 外半径参数设置为对您的应用程序有意义的值(例如 25 公里)。 该工具将仅处理查看距离内的像元,从而减少处理时间。 外半径越大,工具的处理时间越长。
  • 分析方法设置为周长视线。 使用此方法,该工具的视线将仅延伸到视锥的边缘像元,从而减少处理时间。
  • 如果输入高程栅格覆盖的地理区域大于研究区域,请将范围环境设置为研究区域以减小输出栅格的大小。

相关主题