跳转至

用于规划传感器网络的视域分析

原文链接:https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/viewshed-analysis-for-planning-a-sensor-network

11976 给本文评分:

5.0

用于规划传感器网络的视域分析

匿名 2016年4月7日,星期四

你是否曾好奇,在计划去一个观景点之前,从那里能看到什么?或者为何你所在区域的手机信号接收不佳?视域分析试图回答的正是这类问题,它通过获取一个表面(包括地面、树木、建筑物)并分析从观察点出发的每条视线来进行解答。

通常这种分析假设你可以朝任何方向观察。然而,传感器通常受限于其视场角、指向方向、有效作用距离以及其运行所在的表面或地形。一台固定的安防摄像头能够对其水平和垂直视场角范围内的区域进行成像。此区域之外,或被建筑物、树木和山丘遮挡的区域将不可见。类似地,手机发射器和接收器,以及雷达和声纳系统,也具有有限的波束宽度、方向和有效作用距离。

在部署遥感或通信网络之前,通常需要对不同操作参数选择以及传感器的数量和分布进行建模,以评估其效果。

正如视域分析可以帮助预测从特定有利位置能看到什么一样,在进行更广泛、更严格的传感器模型和操作环境分析之前,它也是估算网络覆盖范围的一种快速方法。

ENVI的视域分析工具可以估算多个传感器的有效覆盖区域,每个传感器可以具有不同的视场角、位置和高度、有效作用距离以及指向方向。利用ENVI的编程接口,可以评估多种场景并进行可视化。

在本示例中,我使用了来自LiDAR的表面高程模型和科罗拉多州博尔德上空的卫星影像。LiDAR数据来自Neon(国家生态观测站网络),影像则来自DigitalGlobe,并在ENVI中进行了正射校正。

要对传感器网络执行视域分析,请从工具箱启动视域分析工作流,并添加代表传感器位置的观测点。然后在"观测源"列表中,右键单击或双击左键以编辑观测源参数。根据需要修改作用距离、高度、水平和垂直视场角、俯仰角和方位角。可以随时在显示中选择观测点并将其拖动到新位置来移动它们。预览(如下图所用)功能可用于在生成最终结果之前,快速查看参数更改的结果。

下图说明了传感器高度、俯仰角、垂直视场角以及地形对视线范围内可见区域(绿色)和隐藏区域(红色) 的影响。有限的垂直视场角意味着最靠近传感器的区域以及最高峰的顶部都被隐藏了。通过减小俯仰角(将传感器指向下方),可以使可见区域更靠近传感器,但代价是失去了对较高地形的可视性。绿色箭头指示了视场角内的一条视线,具体来说,是刚好越过第一个山峰并定义了山峰后方隐藏区域的那条视线。

为了评估多种配置场景,切换到ENVI的应用程序编程接口是很有价值的。可以多次运行 RasterViewshed 任务来评估网络选项。

使用以下命令创建视域分析任务。

task = ENVITask('RasterViewshed')

然后,对于每个场景,您可以设置一个或多个同时存在的观测源及其参数集。

task.Pixel_Location = locations task.Horizontal_Field_of_View = HFOVs task.Vertical_Field_of_View = VFOVs task.Pitch = pitches task.Azimuth = azimuths task.Range = ranges

task.Execute

完成后,可以将视域分析生成的栅格合并成一个栅格序列以便于可视化。

task = ENVITask('BuildRasterSeries')

所以,下次当你想选择一个视野绝佳的露营地,或者要建立一个传感器、发射器和接收器网络时,请记住视域分析可以是一个强大的工具。

查找查找器 为什么应避免使用 GOTO 语句?