需要 Spatial Analyst 许可。
视域 2 工具使用测地线方法确定对一组点或折线观察点可见的圆形地球表面位置。该工具将高程表面转换到地心 3D 坐标系中,并对每个转换的像元中心运行 3D 视线。该工具将利用图形处理器 (GPU)(如果系统上可用)。可以有选择地容纳输入高程表面中的垂直不确定性或错误。还可以有选择地为最多 32 个可关联回输入观察点要素类的观察点(点、多点或折线)生成观察点-区域关系表。
由于计算在真正的 3D 坐标系中执行,视域 2 不需要地球曲率校正参数。如果可用,还将使用输入空间参考的 z 单位来替代 z 因子参数。最后,由于每条 3D 视线的评估均独立于其他视线,可避免一些可能会潜入基于波前视域算法(例如现有视域系列地理处理工具)的错误。因此,视域 2 工具能够比视域工具生成更准确的可视性和 AGL 表面。
可视性的确定
该工具对于观察点、目标和高程表面像元中心使用地心 3D 点。目标是添加有可选附加偏移的表面像元中心。地心 3D 坐标系统是右旋笛卡尔坐标系,其中地球的中心为原点 C,x 轴指向本初子午线和赤道的交点,Z 轴指向北极,y 轴从 x 轴顺时针旋转 90°(从北极向下看时)。有关以地心坐标系表示的目标位置 T 的示例,请参见下图。
要确定每个目标的可视性,可从每个观察点到每个目标构造 3D 视线。有关如何构造视线的图示,请参见下图。确定椭球体上每个视线的地面路径并将其划分为像元大小的步骤。在该图中,步骤以绿点表示,步骤之间的距离等于像元大小。在每个步骤中,将计算视线和表面之间沿法线到椭球体的距离 d。使用线性反距离权重 (IDW) 方法通过最近像元中心估算地面高程。如果 d 对于沿视线的所有地面步骤为正,则认为目标可见;否则,认为目标不可见。
确定椭球体上每个视线的地面路径并将其划分为像元大小的步骤。在每个步骤中,将计算视线和表面之间沿法线到椭球体的距离 d。使用线性 IDW 方法通过最近像元中心估算地面高程。如果 d 对于沿视线的所有地面步骤为正,则认为目标可见;否则,认为目标不可见。
垂直错误
仅当分析类型为 FREQUENCY 时才启用垂直错误参数。该参数用于说明输入高程表面中的垂直不确定性。当该参数为 0 或未指定时,将在观察点和每个目标之间投射单条视线。结果是,目标可见或不可见。在这种情况下,输出可见性栅格可记录输入表面栅格中每个像元位置可被任意输入观测点看到的次数。
当垂直错误参数大于 0(例如,0.6 米)时,将在观察点和每个目标之间投射若干视线。对于每个视线和每个步骤,将向 d 添加范围 [-0.6, 0.6] 内均匀分布的一个随机数。如果 d 小于零,则终止该特定视线。在这种情况下,每个观察点可为输出可见性栅格提供一个介于 0 到 1 之间的数字(由该观察点除以视线总数得出的成功视线数量),现在为单精度浮点数类型。
AGL 的确定
地平面以上 (AGL) 栅格作为一种可选输出,表示目标像元从不可见到可见需要提升的距地面高度。下图说明了确定 AGL 值的方法。T 表示具有一定高度(即插图中的目标偏移)的目标。观察点 O 与目标 T 之间的视线被 terrain 遮挡,因此目标 T 不可见。若将目标提升到新位置 T’,便可获得清晰的视线,从而使目标将变为可见。T’ 与地面之间的距离即为输出栅格中的 AGL 值。
距离 TT' 的计算并不需要假定 OTT' 三角形是直角三角形。
输出观察点-区域关系表的说明
当分析类型为观察点时,工具可输出观察点-区域关系表,如下图所示。在该表中,观察点字段列出了输入要素类中的要素 ID。区域字段列出了输出可见性栅格中各个区域的像元值。因此,该表列出了每个观察点可见的区域。可以使用该表根据观察点 ID 来查找区域 ID,反之亦然。
相同的信息还编码在可见性栅格的输出像元值中,但是不太方便访问。这种情况下,输出可见性栅格中包含三个值(1、2 和 3),如以下属性表的屏幕截图所示。
输入观察点按 OBJECTID 值升序排列,输出可见性栅格可报告已排序观察点位置的按位或。栅格地图代数可用于提取有关哪些观察点能够看到哪些区域的信息,可以使用该排序规则将此信息关联回观察点。示例如下图所示。假设观察点 1 有 ObjectID 1,观察点 2 有 ObjectID 2。则输出可见性地图中区域 1(浅黄色区域)的像元值将为 1。输出可见性地图中区域 2(蓝色区域)的像元值将为 2。输出可见性地图中区域 3(绿色区域)的像元值将为 3(1 和 2 的按位或数值)。
在上图中,输出像元值为输入要素内部索引的按位或。观察点-区域关系表使用要素类 ID 替代内部索引来报告此相同信息。
控制可见性分析
可通过在观察点参数中指定各种数值或字段来限制每个观察点的视图字段。这些观察点参数在功能上与视域工具用于控制可见性分析的视锥字段(例如 OFFSETA 或 OFFSETB)相同。区别在于视域 2 观察点参数可使用任何数值型字段,不受任何指定字段名的限制。
GPU 的使用
图形处理器 (GPU) 是硬件组件,可以加速屏幕显示中图形的渲染。还可以用于一般计算任务。视域 2 工具可通过 GPU 加速,这意味着 GPU 可用于可见性计算中(如果存在)。目前,仅支持具有 CUDA 计算能力的 2.0 版本或更高版本的 NVIDIA GPU。如果只存在一个 GPU(连接到显示),将使用该 GPU 并在工具执行时报告警告消息。如果存在多个 GPU,则首选未连接到显示的 GPU。如果不存在 GPU,工具将使用并行处理因子地理处理环境值所允许的最多 CPU 内核。
当 GPU 用于视域 2 工具计算中时,计算可划分为许多小部分并发送到 GPU 进行处理。如果任意单个计算部分用时超过 2 秒,窗口显示设备驱动程序将可能重新启动 GPU。这称为 Windows 超时检测和恢复 (TDR)。如果出现这种情况,工具执行可能会失败。为避免这个问题,需要创建或更新注册表项 (TdrDelay) 以使用更大的值(例如 60 秒)。Microsoft Developers Network 中包括关于设置 TDR 延迟 的详细信息。请注意,创建或更改此注册表值时,应首先对注册表进行备份。必须重新启动计算机才能使更改生效。
在使用 GPU 进行空间分析时,Esri 建议计算机使用两个 GPU:一个用于显示,一个完全用于计算。对于 NVIDIA GPU,应该设置计算 GPU 使用 Tesla 计算群集 (TCC) GPU 驱动程序替代默认 Windows (WDDM) 显示驱动程序。发布说明提供有关如何实现这一点的详细信息。TCC 模式允许计算 GPU 更有效地运行。它还可以从远程桌面会话进行访问。Esri 还建议不启用 GPU 的 ECC 模式(GPU RAM 错误检测和纠错能力),因为该模式会减少 GPU 上的可用内存并增加 GPU 内存访问消耗。