视域 2 的工作原理

需要 Spatial Analyst 许可。

需要 3D Analyst 许可。

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

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

可视性的确定

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

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

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

确定椭球体上每个视线的地面路径并将其划分为像元大小的步骤。在每个步骤中,将计算视线和表面之间沿法线到椭球体的距离 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' 三角形是直角三角形。

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

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

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

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

输出可见性栅格属性表
输出可见性栅格属性表。

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

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

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

控制可见性分析

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

GPU 的使用

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

相关主题