一种基于多尺度海图数据的海底地形模拟仿真方法与流程

文档序号:20267445发布日期:2020-04-03 18:34阅读:527来源:国知局
一种基于多尺度海图数据的海底地形模拟仿真方法与流程

本发明属于海洋测绘技术领域,尤其是一种基于多尺度海图数据的海底地形模拟仿真方法。



背景技术:

海底地形模拟仿真对于海洋研究和开发利用具有十分重要的意义。由于保密原因,水深测量原始数据难以获得,国际上公开的海底地形规则格网数据在分辨率和精度方面存在不足,无法满足多样化应用需求。与地形图数据相比,电子海图数据在经纬度范围和比例尺等方面具有不规则性,根据用途(通常分为:概览、一般、近海、沿岸、港口、锚泊)、航行区域和资料掌握情况等因素综合确定。同一用途的电子海图涉及多个不同比例尺,具有一定的比例尺区间范围,不同数据之间可能存在空间上的重叠压盖;除“概览”和“一般”用途外,同一用途的电子海图无法实现空间连续覆盖。如何利用现有海图数据实现海底地形模拟仿真功能,必须要解决如下两个难题:

1、用户需求区域覆盖。用户对海底地形数据的需求范围往往涵盖多个海图数据,而且有可能需要多个不同用途海图数据才能完全覆盖,必须通过一定的策略抽取关联数据,既要满足用户需求,又不能有重叠数据。

2、效果和效率的平衡。用户希望提高三维模拟仿真的精细度,但是越精细就要求参与计算的水深点越多,对计算能力要求越高,同时响应时间也会越长。

专利文献(公开号为cn103456041a)公开了一种基于s-57电子海图数据的三维地形和雷达地形生成方法,提取的是海图等高线作为岸上dem数据处理和制作来源,其模拟仿真的精度不高。另有文献“基于s57标准的电子海图三维可视化”可以建立海道数据三维可视化模型,但是其未考虑多尺度数据之间的关系,因此其处理效率不高。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种基于多尺度海图数据的海底地形模拟仿真方法,其利用多尺度海图数据,突破了“最佳比例尺估算”和“关联数据抽取”两个核心问题,达到“用户需求覆盖”和“效果和效率的平衡”效果,解决了海底地形模拟仿真精细度不足的问题。

本发明解决其技术问题是采取以下技术方案实现的:

一种基于多尺度海图数据的海底地形模拟仿真方法,包括以下步骤:

步骤1、估算多尺度海图数据的最佳比例尺;

步骤2、根据待查询的地理空间范围计算关联海图数据;

步骤3、抽取水深点和陆地区;

步骤4、海底地形规则格网插值与海陆拼接;

步骤5、使用色带配色方法构建海陆立体渲染图。

进一步,所述步骤1的具体方法包括以下步骤:

⑴用户输入待查询的地理空间范围targetrect;

⑵计算targetrect的实地面积t,水深点处理限额估算为maxcount,水深间隔整体平均估算值d;

⑶估算单个水深点的平均占用面积a,a=t/maxcount;

⑷估算的最佳比例尺分母为m,m=sqrt(a)/d。

进一步,所述步骤2的具体处理方法包括以下步骤:

⑴根据待查询的地理空间范围targetrect,过滤出与targetrect有重叠的所有海图数据,按照比例尺分母由小到大进行排序,形成mlist,形成海图信息列表chartlist;

⑵如果mlist和chartlist为空,转步骤⑹;否则,转步骤⑶;

⑶查找最佳比例尺分母m是否在mlist中存在,如果存在,在chartlist中查找对应海图数据,记为targetchart;如果不存在,则查找mlist中位于m两边的比例尺分母值m1和m2,在两者中取最接近m的一个数值targetm,在chartlist中查找对应海图数据,记为targetchart;

⑷将targetchart插入targetchartlist末端,从mlist中剔除targetm,从chartlist中剔除targetchart;

⑸根据targetchart数据有效范围对应的多边形targetboundry,判断chartlist中有效数据范围与targetboundry相同或包含于targetboundry的海图数据,将其从chartlist中剔除,并在mlist剔除相应项;

⑹对targetchartlist中所有数据有效范围进行多边形合并,结果记为unionboundry,如果unionboundry与targetrect相同或完全包含targetrect,过程结束;否则,转步骤⑵。

进一步,所述步骤3的具体处理方法包括以下步骤:

⑴令裁剪多边形remainboundry=targetrect,水深点总集合为allsoundings,陆地区总集合为alllandareas;

⑵如果targetchartlist为空,则过程结束;否则,从targetchartlist中选取第一个海图数据,记为targetchart;

⑶从targetchart中提取所有水深要素,记为集合soundings,提取陆地区要素,记为集合landareas,使用remainboundry对这两个要素集合进行裁剪,保留位于remainboundry内部的要素,分别合并入allsoundings和alllandareas;

⑷使用targetchart的数据有效范围targetboundry对remainboundry进行裁剪,令remainboundry=remainboundry-targetboundry;

⑸如果remainrect为空,则过程结束;否则,将targetchart从targetchartlist中剔除,转步骤⑵。

进一步,所述步骤4的具体处理方法包括以下步骤:

⑴对alllandareas中所有多边形进行合并重组,构建一个新的陆地区总集合newalllandareas;

⑵以allsoundings作为离散点,以newalllandareas中所有多边形的边界作为0米约束线,构建delaunay约束三角网;

⑶已知targetrect宽为width,高为height,面积为rectarea,离散点总数为soundingscount,计算格网横间距为gridcellx=sqrt(rectarea/soundingscount)×sqrt(width/height)/n,格网纵间距为gridcelly=sqrt(rectarea/soundingscount)×sqrt(height/width)/n,n为正整数并可根据用户需要和显示效果实时调整;

⑷对于targetrect内所有位于newalllandareas多边形内的网格点设置为无效;

⑸对于非无效网格点,通过利用插值算法生成每个网格点的高度值;

⑹对无效网格点,通过陆地dem插值算法重新计算高度值。

进一步,所述步骤⑸生成每个网格点的高度值为负值;所述步骤⑹重新计算的高度值为正值。

进一步,所述步骤5中的色带包含:⑴蓝色渐变的海底部分,⑵绿色、褐色、白色共同渐变的陆地部分。

本发明的优点和积极效果是:

本发明以海图数据为基础实现海底地形模拟仿真,在数据获取方面更加简易;通过多尺度数据的组合,能够灵活适应海图分幅的不规律特征;通过最佳比例尺估算,可以在效果和效率方面取得较好的平衡;在海底地形和陆地地形的拼接之后,以统一色带进行渲染,具有美观高效的效果;通过海底地形和陆地地形的拼接,实现海陆一体化模拟仿真功能,具有灵活、快速、自适应强等特点。

附图说明

图1为来源于us5nc17m.000的水深菱形分布图;

图2为关联海图查询过程示意图;

图3为第一次裁剪示意图;

图4为第二次裁剪示意图;

图5为地形渲染色带示意图;

图6为本发明模拟仿真后的海底地形渲染效果图。

具体实施方式

以下结合附图对本发明实施例做进一步详述。

一种基于多尺度海图数据的海底地形模拟仿真方法,包括以下步骤:

步骤1、估算多尺度海图数据的最佳比例尺,具体方法为:

⑴用户输入待查询的地理空间范围(矩形)targetrect;

⑵计算targetrect的实地面积t(单位:m2),水深点处理限额估算为maxcount,水深间隔整体平均估算值d(单位:m)。

⑶估算单个水深点的平均占用面积a(单位:m2),a=t/maxcount。

⑷估算的最佳比例尺分母为m,m=sqrt(a)/d。

下面以图1给出的来源于us5nc17m.000的水深菱形分布为例对本步骤进行说明。使用估算最佳比例尺是为了避免处理过量数据超出系统负载能力。为了能正确反映海底地形,海图水深点的构图通常要呈菱形分布。为了简化计算,可将每个水深点的平均占用面积近似按照正方形计算。

假设用户输入待查询的地理空间范围targetrect为矩形,该targetrect的实地面积t查询矩形targetrect对应的实地面积t(单位:m2),估算水深点处理限额估算为maxcount,水深间隔(纸图)整体平均估算值d(单位:m)。那么,单个水深点平均最多占用面积a(单位:m2)可按照“矩形面积/容纳点数”估算,即:a=t/maxcount;最佳比例尺分母为m,可按照“实际长度/图上长度”估算,即:m=sqrt(a)/d。

由于大部分海图数据都存在陆地区要素(无水深点),因此按照上述比例尺分母提取的水深点数倾向小于maxcount。利用统计方法,可构建水深间隔与深度区间的大致关系,如下表所示:

为便于计算,可选取中间值0.0015m作为d的初始值。在实际计算过程中,如果发现抽取水深点过少,可适当增大d值;反之,则适当减小d值。

步骤2、计算关联海图数据,具体方法为:

⑴根据待查询的地理空间范围targetrect,过滤出与targetrect有重叠的所有海图数据,按照比例尺分母由小到大进行排序,形成mlist,形成海图信息列表chartlist。

⑵如果mlist和chartlist为空,转步骤⑹;否则,转步骤⑶。

⑶查找最佳比例尺分母是否在mlist中存在,如果存在,在chartlist中查找对应海图数据,记为targetchart;如果不存在,则查找mlist中位于m两边的比例尺分母值m1和m2,在两者中取最接近m的一个数值targetm,在chartlist中查找对应海图数据,记为targetchart。

⑷将targetchart插入targetchartlist末端,从mlist中剔除targetm,从chartlist中剔除targetchart。

⑸根据targetchart数据有效范围对应的多边形targetboundry,判断chartlist中有效数据范围与targetboundry相同或包含于targetboundry的海图数据,将其从chartlist中剔除,并在mlist剔除相应项。

⑹对targetchartlist中所有数据有效范围进行多边形合并,结果记为unionboundry,如果unionboundry与targetrect相同或完全包含targetrect,过程结束;否则,转步骤⑵。

下面以图2给出的海图数据查询的某个场景为例说明关联海图数据的方法:图中虚线为查询区域targetrect,过滤得到候选海图列表mlist,包括:海图a(1:5万)、海图b(1:10万)、海图c(1:2万)、海图d(1:20万)。假设最佳比例尺分母m为6万,位于m两边的比例尺分母分别为2万和5万。比例尺分母的接近程度可采用三种策略进行计算:

⑴折衷策略:min(max(m1,m)/min(m1,m),max(m2,m)/min(m2,m))

⑵积极策略:选比例尺更大的,min(m1,m2);

⑶消极策略:比例尺更小的,max(m1,m2);

这里采用折衷策略进行说明,min(max(20000,60000)/min(20000,60000),max(50000,60000)/min(50000,60000)),结果为50000,即应当选用海图a。海图a无法覆盖targetrect,因此,需在候选海图列表中继续查找关联数据,得到的是海图b,同时由于海图b包含海图c,因此可直接将海图c剔除。海图a和海图b的并集仍然无法覆盖targetrect,继续查找得到海图d,完成所有关联数据的查找。

步骤3、抽取水深点和陆地区,具体方法为:

⑴令裁剪多边形remainboundry=targetrect,水深点总集合为allsoundings,陆地区总集合为alllandareas。

⑵如果targetchartlist为空,则过程结束;否则,从targetchartlist中选取第一个海图数据,记为targetchart。

⑶从targetchart中提取所有水深要素,记为集合soundings,提取陆地区要素,记为集合landareas,使用remainboundry对这两个要素集合进行裁剪,保留位于remainboundry内部的要素,分别合并入allsoundings和alllandareas。

⑷使用targetchart的数据有效范围targetboundry对remainboundry进行裁剪,令remainboundry=remainboundry-targetboundry。

⑸如果remainrect为空,则过程结束;否则,将targetchart从targetchartlist中剔除,转步骤⑵。

本步骤在图2基础上,进行第一次水深点和陆地区数据抽取时,使用targetrect对海图a进行要素裁剪,得到图3种横线部分数据,同时裁剪多边形缩小为图3斜线部分;第二次数据抽取时,裁剪多边形完整包含了海图b,因此海图b内的水深点和陆地区全部保留,同时裁剪多边形缩小为图4斜线部分;第三次数据抽取时,剩余的裁剪多边形被海图d包含,保留海图d内斜线部分,裁剪多边形剩余为空。

符合iho国际标准的海图数据中水深要素名称简写为soundg,数字编码为129,显示为黑色;陆地区要素名称简写为lndare,数字编码为71,显示为黄色。

步骤4、海陆格网拼接,具体方法为:

⑴对alllandareas中所有多边形进行合并重组,构建一个新的陆地区总集合newalllandareas。

⑵以allsoundings作为离散点,以newalllandareas中所有多边形的边界作为0米约束线,构建delaunay约束三角网。

⑶已知targetrect宽为width,高为height,面积为rectarea,离散点总数为soundingscount,计算格网横间距为gridcellx=sqrt(rectarea/soundingscount)×sqrt(width/height)/n,格网纵间距为gridcelly=sqrt(rectarea/soundingscount)×sqrt(height/width)/n,n为正整数,可根据用户需要和显示效果实时手动调整。

⑷对于targetrect内所有位于newalllandareas多边形内的网格点设置为无效。

⑸对于非无效网格点,通过利用插值算法生成每个网格点的高度值(负值)。

⑹对无效网格点,通过陆地dem插值算法重新计算高度值(正值)。

在本步骤中,构建约束三角网的方法有很多,例如,jonathanrichardshewchuk提供了一套完整的方法和工具(参见“atwo-dimensionalqualitymeshgeneratoranddelaunaytriangulator”)。

水深点的平均面积为rectarea/soundingscount,平均间距为sqrt(rectarea/soundingscount)。为了使得后续构造的规则格网横间距和纵间距相等,初始横间距设置为gridcellx=sqrt(rectarea/soundingscount)×sqrt(width/height),初始纵间距设置为gridcelly=sqrt(rectarea/soundingscount)×sqrt(height/width)。根据需要可对格网进行加密,即间距处于n。

在插值计算过程中,对于三角网内部的格网点,需查找格网点所处的三角形,可通过坐标范围做快速筛选,使用向量叉积进行精确判断,最后使用反距离插值法计算该点深度值;对于三角网外部的单个格网点,以格网间距大小向四周搜索离散水深点,如果找到的点数不足3个,则以2倍、3倍甚至更多倍间距进行搜索直到满足,从中找出最靠近格网点的3个点,构造平面方程,进行格网深度值的外推计算。

步骤5、通过色带配色方法构建海陆立体渲染图。

在构建海陆立体渲染图过程中,色带的构建方法是影响地形渲染效果的重要内容。如图5所示,本实例给出的色带包含两部分,一是海底,选用蓝色渐变,二是陆地,选用绿色、褐色和白色共同渐变。将色带按照图片进行存储,通过贴纹理可实现配色,从而构建出完整的海陆立体渲染图,如图6所示。

本发明未述及之处适用于现有技术。

需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1