杨 斌,侯跃新,肖 丹,李 岩,李 钢
(黑龙江省科学院技术物理研究所,哈尔滨 150010)
随着我国经济的发展,放射源的应用范围也越来越广泛,但对放射源监控工作却处于相对落后的状态。此外由于放射性污染无色、无味难以察觉,一旦发生放射源事故,危害性极大。放射源在线监测平台的出现则改变了这一现状,它是一套集Web应用服务、GIS界面管理、3G无线数据传输、视频在线监控于一体的放射源在线监控平台,通过物联网技术实现对放射源的实时、全方位的监控。本文研究的内容主要集中在GIS监控管理上,从空间数据的加载以及显示入手,着重解决在平台开发过程中遇到的数据加载缓慢、用户操作卡顿、系统经常崩溃等问题。
国内外针对GIS地图显示优化方面提出了很多解决方案,如:有的通过建立高效的空间索引来提高数据访问效率,如多级网格索引技术[1]、四叉树索引[2]、R 树索引[3]及其改进索引等;或者通过双缓存和数据预取方法对地图数据提前进行加载,按需从缓存中直接调用数据到前台,减少由于加载数据而带来的延迟,从而提高用户操作的连续性[4];还有一些文献提出采用多线程数据调度策略:数据并行调度显示算法 N_PDIS[5],结合 LOD(Levels of Detail)技术的分页加载和多线程技术等[6]。
然而上面提到的算法多数停留在针对地图数据加载及显示优化层面上,并不能有效解决开篇所提到的在系统应用过程中所遇到的图元数据加载及刷新过程耗时长、占用系统资源多以及地图操作卡顿等问题。空间数据加速呈现算法通过借鉴了数学领域的计算方法,在不影响整体显示及监控效果的前提下通过聚类划分和插值运算降低了前端系统与数据库频繁的访问频率。通过点抽稀方法以抽取的特征点代替所在区域内的所有点集,减少了参与定位与状态判定运算的数据量,从而减轻了系统计算负担。通过压缩整体的显示开销时间为用户提供更好的用户体验,同时保证了监控的任务实时性以及连贯性。
放射源在线监测平台中监控对象主要分为两类:一类是固定放射源,另一类是移动放射源。在前端GIS监控系统中分别采用静态图元和动态图元加以表示。对于静态图元的显示处理采用基于闭包聚集原理的静态图元加速显示算法,对于动态图元则采用开放性定位追踪算法。
1.1.1 闭包聚集划分原理
定义1:闭包。对于Rd空间中的点集P,如果存在点集S⊂P,使得点集S为包含P中所有点的最小的闭合集合,那么这个最小的闭合集合S就称作点集P的闭包[7]。
闭包聚集划分算法[8]:
1 )在二维点阵集合P中随机选取一个样本点A,然后找出点集中距离点A最远的点记为B,以这两点为直径做圆,如果所有样本点都在圆中则算法停止。
2 )如果还有未囊括的点,则在圆外的点中随机取一个样本点C,找出包含这3点的最小圆。圆周可能通过这3点也可能只通过其中两点,但包含第3点。后一种情况圆周上的两点一定是位于圆的一条直径的两端。
3 )在点集中找出距离2)中所建圆,其圆心最远的点D。若D点已在圆内或圆周上,则该圆即为所求的圆,算法结束。否则,执行第4)步。
4 )在A、B、C、D中选3个点,使由他们生成的一个包含这4点的圆为最小。这3点成为新的A、B和C,返回执行第3)步。
若在第4)步生成的圆的圆周只通过A、B、C、D中的两点,则圆周上的两点取为新的A和B,从另两点中任取一点作为新的C。
闭包聚合原理就是根据上面的算法,对二维点阵集合中的点按照空间分布属性进行类别划分,最终确定出相互独立的聚集区域。
1.1.2 算法描述
静态图元通过一个五元组来进行描述:R(Key,Name,Longitude,Latitude,Status,Group)。其中 Key 代表图元的唯一编号,Name为监控终端的名称,Longitude代表经度,Latitude代表纬度,Status表示放射源当前的状态,Group是图元通过所在的组。
1 )从属性数据库中提取所有监测目标的前四项属性数据,并将Group属性置为空值,按五元组形式填充到临时表中。
2 )对临时表中点集中采用1.1.1节中的闭包聚集原理进行区域划分。
3 )按照聚集区域划分的先后顺序对聚集进行编号,隶属于同一区域的点集Group属性置为相同的值,并根据聚集分布情况在属性表中建立合适的空间索引提升数据的访问速度。
4 )根据图层的显示粒度确定抽稀计算因子,依次对划分的闭包区域点集进行点抽稀运算,在抽稀过程中如果显示粒度高则调高抽稀计算因子,反之则降低抽稀因子。将计算出来的特征点作为临近区域点集的代表,并将此点的属性添加到缓存列表中。
5 )根据当前视野范围确定缓存列表中哪些点将最终添加到前台进行显示。
6 )定时对缓存列表中,点的Status属性依次进行维护操作,重复执行步骤5),如果当前监控视野范围发生变化则执行步骤7),如果有新的点填入或删除或做相应更新,则执行步骤8)。
7 )执行步骤3)-5)。
8 )重新提取临时表,并执行步骤1)—5)。
在放射源在线监测平台中,对移动放射源装置的监控不但要记录其剂量数值以及当前位置信息,还要获得其在某一段时间内运动的轨迹,因此在平台的前端GIS监控系统中采用运动图元来表示移动放射源。运动图元的显示相对于静态图元更为复杂,不但要根据传输的剂量值确定图元当前的状态(包括探测剂量是否超限,放射源是否发生丢失等),还要根据实时传输的GPS数据更新移动终端对应的图元位置信息,并绘制其运行轨迹。随着监控终端数量的增加,服务器系统资源的消耗将以几何方式增长,如果没有一个合适的算法对GIS前端监控系统动态图元的显示进行调度管理,那么必然会导致前端监控系统一直处在工作量浩大的位置运算过程中,而无法及时响应用户与系统的交互操作,从而影响用户的体验效果。本文提出一种采用“主动刷新”方式并结合插值算法的开放性定位追踪算法。
在放射源在线监测系统中,对移动放射源装置的监控跟踪主要采用两种方式:一种“全局多点状态监测”,即对所有进入视野范围内的目标运动情况进行监控;另外一种是“单点轨迹跟踪监测”,是针对某一监测目标的运动轨迹进行跟踪。开放性定位追踪算法因此也分为两种处理模式。
针对“全局多点状态监测”模式的算法描述如下:
1 )首先进行初始化操作,提取出所有动态目标的定位数据信息及属性信息到一个动态数据表中。
2 )确定当前运动点集所在图层的视野范围及缩放级别。
3 )根据运动点集图层的视野范围从动态数据表中提取落入此区域的备选点集。
4)根据图层的缩放级别确定最终将添加到地图上的点集。由于图层的缩放级别决定了地图单位区域内图元的粒度。①当显示的粒度较大时,将整个地图分割成m×n块区域(m和n值由用户自己设定),将区域内相同状态的目标用一个点图元来代表,图元的位置由区域内相同状态的点集的位置平均值来代替,而图元的颜色样式代表区域内监测目标的分布情况,监测目标密集则颜色越深,监测目标稀疏则颜色越浅。②当显示粒度较小时,直接将备选点集中的点添加到图层中。
5 )将接收到的所有监测点的定位数据先存入数据库,并按照一定的刷新频率从数据库中加载数据到内存表中进行更新,添加到前台,即“主动刷新”方式。当视野范围未发生变化时执行步骤3)和4),如果发生变化执行步骤6)。
6 )响应用户的GIS操作(如漫游、缩放等),在操作执行完毕后重复执行步骤1)—4)。
针对“单点轨迹跟踪监测”模式的算法描述如下:
1 )对离散的定位数据集按照时间顺序进行排序。
2 )对数据集中相邻的两点依次做插值运算,将新计算出来的点添加到数据集中。
3 )将点集和所在区域的空间数据集做交运算,对交集以外的点进行修正,重复步骤2),直到达到指定的精度。
4 )将所有点集连接成一条平滑曲线作为监测目标的运动轨迹。
5 )当移动目标运行到视野边界范围时,根据目标的平均运行速度及运行趋势,提前加载可能用到的空间数据到缓存中,最后根据实际定位信息确定要加载的缓存区域,并将空间数据拷贝到前台。
开发性定位追踪算法在移动放射源监测应用的优势在于:通过“主动刷新”方式和插值运算可以有效减少在刷新动态图元时系统访问空间数据库和属性数据库的频率;通过对视野区域内运动点集的筛选优化,减少了刷新过程中参与定位计算的点的数量,从而减轻了系统的运算负担且不影响对移动目标的整体监控效果。
在相同测试条件下分别对采用空间数据加速显示算法前后情况进行对比,表1和表2分别给出实际统计情况,可以发现:
1 )随着加载数据量的增大,GIS前端监控系统并未出现明显的卡顿、系统响应时间过长等现象。
2 )当进行地图操作时,特别是连续操作时,空间数据和地理数据的加载比较平滑,无明显的停顿感。
3 )处理大量动态图元显示的过程,系统内存和CPU占用率并未有明显增长。
表1 未采用算法前Tab.1 Unusing Algorithm
表2 采用算法后Tab.2 After using Algorithm
通过实验发现,在其他条件不变时,实验数据量越大(加载的点数越多),空间数据加载的速度越慢,GIS系统资源占用率越高,而采用加速显示算法后几乎不受数据量影响。也就是说数据量越大,相对速度提升越明显。同时也证明了算法的有效性以及在处理信息容量大的GIS空间数据方面的优势,空间数据加速呈现算法的提出对GIS理论在图像及图形加速显示方面的研究具有推动性作用。
[1]张砚,苏旭明.车载导航电子地图的关键技术与解决方案[J].测绘科学技术学报,2008,25(4):267 -270.
[2]操凤萍,窦万峰,董泉源.基于四叉树索引的区域版本实时协同绘图系统[J].计算机应用,2009,29(1):328 -330.
[3]颜凌毅.嵌入式GIS空间数据存储与管理关键技术研究[D].郑州:信息工程大学,2007:89.
[4]ROUSSOPOULOS N,KELLERY S,Vincent F.Nearest neighbor queries[J].In Proceedings of ACM SIGMOD,San Jose CA.1995:71-79.
[5]ZHANGD,WANGL,HUIH C,LIH Y.Navigation Map Data Representation and Parallel Display Algorithm in an Embedded Environment[J].Geo -spatial Information Science,2008,11(1):62 -65.
[6]祖为国,邓非,梁经勇.海量三维 GIS数据可视化系统的实现研究[J].测绘通报,2008,(6):39 -41.
[7]BADOIU M,HAR - PERLED S.Approximate clustering via core- sets[C]//ISI Proceedings on Web of Sience,2007.
[8]彭晓琳,黄樟灿,主洁.基于闭包的聚类判别方法研究[J].计算机工程与应用,2009,45(18):191 -192.