一种基于天际线裁剪的规则网格可视域精确计算方法技术

技术编号:34140268 阅读:11 留言:0更新日期:2022-07-14 17:38
本发明专利技术公开了一种基于天际线裁剪的规则网格可视域精确计算方法,包括步骤:S1、对地物表面网格进行方环及扇区划分,为各扇区设立垂直投影面;S2、将最内方环的各网格点投影至垂直投影面以计算出第一方环的天际线,设置第二方环为当前方环,设置第一方环的天际线为当前方环的前序天际线;S3、结合当前方环的前序天际线计算当前方环各网格点可见性,裁剪并更新前序天际线;S4、设置下一方环为当前方环,视上述更新后的前序天际线为当前方环的前序天际线;S5、重复步骤S3至S4,直至所有方环均被处理为止。通过天际线的裁剪算法可将当前天际线快速更新至前序天际线,使方法的结果完全精确且效率得到极大提升,可用于对精度和时间要求均很高的应用。很高的应用。很高的应用。

【技术实现步骤摘要】
一种基于天际线裁剪的规则网格可视域精确计算方法


[0001]本专利技术涉及地理信息空间分析
,具体涉及一种基于天际线裁剪的规则网格可视域精确计算方法。

技术介绍

[0002]可视域计算是给定某一规则网格表面及其视点,寻找相对该视点可见的网格的分析方法。作为地理信息系统常见的空间分析工具之一,可视域计算算法在设施选址、安防监控、景观分析与规划、军事突防及信号盲区计算等问题上具有广泛的应用。
[0003]目前已公开的多种可视域计算方法,可分为精确算法和近似算法两种。精确算法以R3算法和扫描线算法为代表,对应的时间复杂度分别为O(n3)和O(n2log
n
),其中n为某一维度的网格数量。R3算法是一种典型的无复用计算方法,其原理是给定网格数据,从观察点位置向视野范围内的每个网格点引一条视线LOS,通过该LOS是否被其它网格遮挡来判断其可见性。由于每一网格的可见性除当前网格外还涉及LOS所途径的网格,因此R3算法的计算量庞大,计算消耗的时间长。扫描线算法是针对R3算法进行改进的一种计算方法,其精度和R3算法相当。
[0004]近似算法以参考面算法、xDraw算法、R2算法等为代表,其时间复杂度均为O(n2)。相对比精确算法,近似算法的效率更高但精度更低。但是在许多实际应用中,可视域计算的准确性也是一个重要的衡量因素。
[0005]申请号为201710863903.6的专利文件公开了一种视面综合算法(synthetic visual plane,SVP),该方法以视点为中心将规则四边形网格表示的地物表面划分为4个扇区和若干个同心方环,然后投影各网格点至设立在每一扇区的投影面上,连接各投影点得到一条天际线。在本方法中,通过使任一环内各网点的遮挡信息均体现在最新的天际线上,可如实反映出目标点与视点之间的视线遮挡情况,是一种结果更可靠的精确计算方法,但其时间复杂度为O(n2log
n
),相比于近似算法时间效率较低;为提升效率,申请号为201710863894.0的专利文件基于此公开了一种改进后的地形可视域计算方法,其将投影面划分为若干条带,并利用条带对投影后的各天际线进行离散化。更新时,若某一条带的当前投影高程大于已有的投影高程,则更新该条带的投影高程。可视性判断时,若投影点的投影高程比对应条带的高程大即为可见;否则,为不可见。离散化处理虽带来了极高的时间效率,但同时也产生了计算误差,造成了较大的精度损失。
[0006]精度与效率是衡量可视域算法的两个重要方面。因此,现有的可视域的计算方法有待进一步改进,使得能确保结果精确的前提下大幅提高可视域计算的时间效率。

技术实现思路

[0007]本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于天际线裁剪的规则网格可视域精确计算方法,其通过利用天际线裁剪的思路可将当前天际线快速更新至前序天际线,既能保证准确性,又能提升效率,可实现其算法精度与R3精确算法相当,时间
效率方面提升至与R2近似算法相当。
[0008]本专利技术为实现上述专利技术目的采用如下技术方案:
[0009]一种基于天际线裁剪的规则网格可视域精确计算方法,包括以下步骤:
[0010]S1、对地物表面规则网格进行方环及扇区划分,为各扇区设立垂直投影面;
[0011]S2、将最内层方环的各网格点投影至垂直投影面以计算出第一方环的天际线,设置第二方环为当前方环并设置第一方环的天际线为当前方环的前序天际线;
[0012]S3、结合当前方环的前序天际线计算当前方环各网格点的可见性,裁剪并更新前序天际线;
[0013]S4、设置下一方环为当前方环,视上述更新后的前序天际线为当前方环所对应的前序天际线;
[0014]S5、重复步骤S3至S4,直至所有方环均被处理为止;
[0015]所述步骤S1的地物表面规则网格方环划分是以视点为中心进行划分,自最内层方环向外依次进行编号,最内层方环编号为1。
[0016]所述步骤S2中将最内层方环的各网格点投影至垂直投影面以计算第一方环的天际线的具体方式为将最内层方环的各网格点根据其高程投影至相对应的垂直投影面上,在所述垂直投影面上形成若干个投影点,依次连接各投影点得到第一方环的天际线;
[0017]所述步骤S3中当前方环各网格点的可见性计算方法:比较当前方环各网格点在垂直投影面上的投影点高度和前序天际线的高度,若前者大于后者,则该投影点可见,否则,该投影点不可见;
[0018]所述步骤S3中裁剪并更新前序天际线的具体方式为:
[0019](1)将当前方环的各网格点根据其高程投影至垂直投影面形成若干个投影点,依次连接各投影点得到当前天际线;
[0020](2)视当前天际线的每条线段为裁剪线段,视所述前序天际线中与裁剪线段管辖区存在交集的所有线段集合为裁剪线段关联弧,结合当前方环各投影点的可见性,利用裁剪线段对其关联弧的每一条线段进行逐一裁剪。
[0021]进一步地,为避免天际线更新过程中频繁读取和增删天际线各顶点,采取数组结构来存储所述的前序天际线或当前天际线的各顶点,将裁剪后的新天际线顶点序列输出作为另一数组,即新天际线数组。
[0022]进一步地,所述步骤S1中的扇区划分方式为沿方环的两条45
°
对角线为界将整个地物表面规则网格划分为4个扇区,每个扇区分别由两条相邻的对角线和最外层方环的一条边构成。
[0023]进一步地,所述步骤S1中分别在各扇区最大视野半径处设立垂直投影面。
[0024]进一步地,所述步骤S3的具体步骤为:
[0025]S301、初始化当前裁剪线段起点为当前天际线的起点;初始化当前裁剪线段关联弧的起点为前序天际线的起点;
[0026]S302、计算当前裁剪线段起点的可见性,若可见,输出该点至新天际线数组;
[0027]S303、计算当前裁剪线段关联弧起点的可见性;若可见,输出该点至新天际线数组;
[0028]S304、利用所述当前裁剪线段裁剪所述当前裁剪线段关联弧,并输出顶点或交点
至新天际线数组
[0029]S305、设置下一裁剪线段关联弧起点序号为当前裁剪线段关联弧终点序号的前一序号,令下一裁剪线段为当前裁剪线段,令下一裁剪线段关联弧为当前裁剪线段关联弧,重复步骤S302至S304,直至当前天际线中的所有裁剪线段处理完毕;
[0030]S306、计算并输出当前天际线终点的可见性;若可见,输出该点至新天际线数组;否则,输出前序天际线的终点至新天际线数组;S307、利用新天际线数组中的顶点序列更新前序天际线。
[0031]进一步地,所述步骤S304中裁剪所述当前裁剪线段关联弧的具体方法包括:
[0032]S3041、初始化当前裁剪线段关联弧中的当前被裁线段的起点;
[0033]S3042、利用所述当前裁剪线段裁剪所述当前被裁线段,并输出顶点或交点至新天际线数组;
[0034]S304本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于天际线裁剪的规则网格可视域精确计算方法,其特征在于,包括以下步骤:S1、对地物表面规则网格进行方环及扇区划分,为各扇区设立垂直投影面;S2、将最内层方环的各网格点投影至垂直投影面以计算出第一方环的天际线,设置第二方环为当前方环并设置第一方环的天际线为当前方环对应的前序天际线;S3、结合当前方环的前序天际线计算当前方环各网格点的可见性,裁剪并更新前序天际线;S4、设置下一方环为当前方环,视上述更新后的前序天际线为当前方环所对应的前序天际线;S5、重复步骤S3至S4,直至所有方环均被处理为止;所述步骤S1的地物表面规则网格方环划分是以视点为中心进行划分,自最内层方环向外依次进行编号,最内层方环编号为1;所述步骤S2中将最内层方环的各网格点投影至垂直投影面以计算第一方环的天际线的具体方式为将最内层方环的各网格点根据其高程投影至相应的垂直投影面上,在所述垂直投影面上形成若干个投影点,依次连接各投影点得到第一方环的天际线;所述步骤S3中当前方环各网格点的可见性计算方法:比较当前方环各网格点在垂直投影面上的投影点高度和前序天际线的高度,若前者大于后者,则该投影点可见,否则,该投影点不可见;所述步骤S3中裁剪并更新前序天际线的具体方式为:(1)将当前方环的各网格点根据其高程投影至垂直投影面形成若干个投影点,依次连接各投影点得到当前天际线;(2)视当前天际线的每条线段为裁剪线段,视所述前序天际线中与裁剪线段管辖区存在交集的所有线段集合为裁剪线段关联弧,结合当前方环各投影点的可见性,利用裁剪线段对其关联弧的每一条线段逐一进行裁剪。2.根据权利要求1所述的一种基于天际线裁剪的规则网格可视域精确计算方法,其特征在于,采取数组结构来存储所述前序天际线或当前天际线各顶点,将裁剪后的新天际线顶点序列输出作为另一数组,即新天际线数组。3.根据权利要求2所述的一种基于天际线裁剪的规则网格可视域精确计算方法,其特征在于,所述步骤S3的具体步骤为:S301、初始化当前裁剪线段起点为当前天际线的起点;初始化当前裁剪线段关联弧的起点为前序天际线的起点;S302、计算当前裁剪线段起点的可见性,若可见,输出该点至新天际线数组;S303、计算当前裁剪线段关联弧起点的可见性;若可见,输出该点至新天际线数组;S304、利用所述当前裁剪线段裁剪所述当前裁剪线段关联弧,并输出顶点或交点至新天际线数组S305、设置下一裁剪线段关联弧起点序号为当前裁剪线段关联弧终点序号的前一序号,令下一裁剪线段为当前裁剪线段,令下一裁剪线段关联弧为当前裁剪线段关联弧,重复步骤S30...

【专利技术属性】
技术研发人员:余接情梁洁侯湖平张绍良吴立新
申请(专利权)人:内蒙古自治区国土空间规划院中南大学
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1