一种基于电子海图的海水深度等值线生成方法技术

技术编号:15398559 阅读:91 留言:0更新日期:2017-05-22 14:10
本发明专利技术属于海洋地理信息系统领域,具体涉及一种基于电子海图的海水深度等值线生成方法。根据航海作业区域选择用于水深数据提取的电子海图;从电子海图中提取水深数据,生成离散数据源;利用克里金插值法对离散数据源进行插值,生成网格水深数据;利用克里金插值算法逐一对网格G

A method of sea depth contour generation based on electronic chart

The invention belongs to the field of marine geographic information system, in particular to a method for generating a sea depth contour based on an electronic chart. According to the navigation operation area selected for electronic chart depth data extraction; extraction depth data from the electronic chart, generate discrete data source; interpolation of discrete data source using Kriging interpolation method, grid generation depth data; one by one of the G grid using Kriging interpolation algorithm

【技术实现步骤摘要】
一种基于电子海图的海水深度等值线生成方法
本专利技术属于海洋地理信息系统领域,具体涉及一种基于电子海图的海水深度等值线生成方法。
技术介绍
海水深度是船舶航行中必须考虑的海洋环境要素之一,直接影响船舶的航行安全和作业任务的顺利实施。单纯的水深数据难以直观、形象地呈现海水深度的分布情况和变化规律,而如果将单一的水深数据转换为直观可视的等值线,则可以清楚地了解海水深度的空间分布,方便相关人员开展航海作业任务。因此,研究海水深度等值线生成方法,实现海水深度的连续表达和可视化显示,具有十分重要的意义。海水深度数据是生成海水深度等值线的基础,Shapefile格式电子海图是我国发行的标准电子海图,是根据海洋测绘绘制而成的数字产品,可以反映真实的海洋地理信息。电子海图中包含了大量的水深测绘数据,可以作为制作海水深度等值线的离散数据源。因此,基于电子海图数据生成海水深度等值线具有重要的意义和实用价值。
技术实现思路
本专利技术的目的在于提供一种为航海作业人员提供直观、形象、可靠的海水深度信息的基于电子海图的海水深度等值线生成方法。本专利技术的目的是这样实现的:(1)根据航海作业区域选择用于水深数据提取的电子海图:(1.1)确定航海作业区域:航海作业区域Ω的经纬度范围为(BLat~ELat),(BLon~ELon),水深数据提取海区Ω1的范围为(BLat-temp~ELat+temp),(BLon-temp~ELon+temp),其中temp>0,单位为度:(1.2)选择电子海图:逐一判断海图数据库中的电子海图,如果水深数据提取海区Ω1与当前电子海图的覆盖区域有交集,将电子海图的名字存入待提取海图列表MapList,直到所有比例尺的海图均判断完毕为止;(2)从电子海图中提取水深数据,生成离散数据源:(2.1)从MapList中选择一幅尚未进行水深提取的电子海图;(2.2)打开选择的电子海图文件,找到水深层所在的位置;(2.3)读取水深层内的离散水深数据,判断当前水深是否在海区Ω1内,若水深所在位置在Ω1内,则将水深信息经度、纬度和水深值存储到Db.dat文件中,重复操作直到此海图中的所有水深数据均进行判断;(2.4)判断MapList中是否还有尚未进行水深提取的电子海图,若有则从中选择一幅电子海图并执行步骤(2.2),否则说明水深数据提取完毕,Db.dat存储的即是进行插值的离散数据源;(3)利用克里金插值法对离散数据源进行插值,生成网格水深数据:(3.1)将航海作业区域Ω划分为M×N个网格,其中M为沿经度方向的网格数,N为沿纬度方向的网格数,Gij(xi,yj)表示第i行,第j列处的网格,xi为网格中心的经度,yj为网格中心的纬度,网格边长l为保持l≤0.05度;(3.2)利用克里金插值算法逐一对网格Gij(xi,yj)处的水深hij进行插值:取以(xi,yj)为中心,边长为L的正方形区域内的水深数据为参考水深,其中L=2ωl;ω>4,保持参数水深的个数W大于3;l为网格边长,hk为第k个参考水深的值,(4)利用关联表法生成水深等值线:(4.1)建立关联表:(4.1.1)节点链表:用节点链表存储所有节点信息,经度、纬度和深度值:(4.1.2)边链表:边链表存储每条边所包含的两个节点信息和每条边所属的两个邻面信息:(4.1.3)面链表:面链表存储它所包含的四条边在边链表中的索引号,其数据结构设计如下:(4.1.4)索引号:从网格左上角开始,按照从左至右,从上至下的顺序逐个进行标记,对于处于网格区域边界处的网格边,对于位于网格区域边界的网格边,把边链表中的下侧网格面的索引号标记为-1;(4.2)等值线追踪:将航海作业区域Ω内的水深范围按照间隔进行划分,计算出每一条要追踪的等值线属性值,航海作业区域Ω的最大水深为Hmax,最小水深为Hmin,等值线属性间隔为Δh,第i条等值线的属性值Hi=Hmin+Δh×(i-1);利用双向追踪法对于任一属性值的等值线进行追踪:(4.2.1)建立搜索标记数组边搜索标记数组中的元素与边链表中的边一一对应,数组中所有元素初始化为FALSE,每追踪到一个等值点,搜索标记数组中的对应元素设为TRUE;(4.2.2)追踪分支等值线查询边搜索标记数组,以没有被搜索过的边作为等值线起点,开始双向追踪分支等值线,建立分支等值线的等值点链表并把等值点信息存入文件:(4.2.2.1)初始化前向交点链表ForArray和后向交点链表BackArray,分别用来存储前向追踪和后向追踪过程中所得到的等值点信息;(4.2.2.2)扫描边链表,找到等值点,作为分支等值线的线头,把等值点存入前向交点链表ForArray中;(4.2.2.3)以步骤(4.2.2.2)中找到的等值点为起点,进行等值线前向追踪,当追踪到达区域边界时,即通过边链表检索到的面的索引值为-1时,或者在网格内找不到等值线出口时,等值线追踪结束;(4.2.2.4)以等值线线头为起点,进行等值线后向追踪,当追踪到达区域边界时,即通过边链表检索到的面的索引值为-1时,或者在网格内找不到等值线出口时,等值线追踪结束;(4.2.2.5)建立分支等值线所有等值点链表,根据前向交点表ForArray和后向交点表BackArray,建立包含分支等值线所有等值点的等值点链表AllArray;(4.2.3)遍历边搜索标记数组,判断是否已经把边链表中的所有边搜索过,如果边链表中还有边没有被搜索过,则执行步骤(4.2.2),继续搜索等值线,如果边链表中的所有边都被搜索过,则属性值的所有等值线搜索完毕;(5)等值线平滑和标注:采用三次B样条算法对等值线进行平滑处理;从等值点文件中以一定间隔读取等值点数据,并将等值点数据以等值线标注结构体的形式存入等值线标记数组,根据等值线标记数组中存储的等值点坐标确定要写标注的矩形区域,判断矩形区域是否在航海作业区域Ω外,如果不在Ω外,则可以标注等值线,等值线标注结构体为:(6)水深等值线与电子海图叠加显示:从等值线文件中读取数值等值线上的数据点,将等值点的经纬度坐标转换为海图坐标系下的图上坐标,在电子海图上将各等值点连接成线即可得到该数值下的等值线,采用步骤(5)生成的等值线标记数组对绘制好的等值线进行标注。本专利技术的有益效果在于:本专利技术以电子海图中的水深数据为离散数据源,生成海水深度等值线,并与电子海图进行叠加显示,可以为航海作业人员提供直观、形象、可靠的海水深度信息。附图说明图1为本专利技术所述基于电子海图的海深等值线生成流程图。图2为本专利技术所述任一属性值的所有等值线追踪流程图。图3为本专利技术所述双向追踪某一分支等值线流程图。具体实施方式下面结合附图对本专利技术作进一步描述。本专利技术公开了一种基于电子海图的海水深度等值线生成方法,该方法的具体内容包括根据航行区域进行电子海图选择,从电子海图中提取离散水深数据并存入水深文件,基于离散水深数据利用克里金插值算法生成网格水深数据,根据网格数据建立节点链表、边链表和面链表来表示节点、边、面之间的拓扑关系并利用关联表法追踪水深等值线,等值线平滑和标注以及将水深等值线与电子海图叠加显示几个步骤。本专利技术以电子海图中的水深数据为离散数据源,生成海水深度等值线,并与电子海图进行叠加显示,可以为航海作业人员提供直观、形象、本文档来自技高网...
一种基于电子海图的海水深度等值线生成方法

【技术保护点】
一种基于电子海图的海水深度等值线生成方法,其特征在于:(1)根据航海作业区域选择用于水深数据提取的电子海图:(1.1)确定航海作业区域:航海作业区域Ω的经纬度范围为(BLat~ELat),(BLon~ELon),水深数据提取海区Ω

【技术特征摘要】
1.一种基于电子海图的海水深度等值线生成方法,其特征在于:(1)根据航海作业区域选择用于水深数据提取的电子海图:(1.1)确定航海作业区域:航海作业区域Ω的经纬度范围为(BLat~ELat),(BLon~ELon),水深数据提取海区Ω1的范围为(BLat-temp~ELat+temp),(BLon-temp~ELon+temp),其中temp>0,单位为度:(1.2)选择电子海图:逐一判断海图数据库中的电子海图,如果水深数据提取海区Ω1与当前电子海图的覆盖区域有交集,将电子海图的名字存入待提取海图列表MapList,直到所有比例尺的海图均判断完毕为止;(2)从电子海图中提取水深数据,生成离散数据源:(2.1)从MapList中选择一幅尚未进行水深提取的电子海图;(2.2)打开选择的电子海图文件,找到水深层所在的位置;(2.3)读取水深层内的离散水深数据,判断当前水深是否在海区Ω1内,若水深所在位置在Ω1内,则将水深信息经度、纬度和水深值存储到Db.dat文件中,重复操作直到此海图中的所有水深数据均进行判断;(2.4)判断MapList中是否还有尚未进行水深提取的电子海图,若有则从中选择一幅电子海图并执行步骤(2.2),否则说明水深数据提取完毕,Db.dat存储的即是进行插值的离散数据源;(3)利用克里金插值法对离散数据源进行插值,生成网格水深数据:(3.1)将航海作业区域Ω划分为M×N个网格,其中M为沿经度方向的网格数,N为沿纬度方向的网格数,Gij(xi,yj)表示第i行,第j列处的网格,xi为网格中心的经度,yj为网格中心的纬度,网格边长l为保持l≤0.05度;(3.2)利用克里金插值算法逐一对网格Gij(xi,yj)处的水深hij进行插值:取以(xi,yj)为中心,边长为L的正方形区域内的水深数据为参考水深,其中L=2ωl;ω>4,具体取值以保证参考水深的个数W大于3;l为网格边长,hk为第k个参考水深的值,(4)利用关联表法生成水深等值线:(4.1)建立关联表:(4.1.1)节点链表:用节点链表存储所有节点信息,经度、纬度和深度值:(4.1.2)边链表:边链表存储每条边所包含的两个节点信息和每条边所属的两个邻面信息:(4.1.3)面链表:面链表存储它所包含的四条边在边链表中的索引号,其数据结构设计如下:(4.1.4)索引号:从网格左上角开始,按照从左至右,从上至下的顺序逐个进行标记,对...

【专利技术属性】
技术研发人员:刘厂高峰刘利强李宁张振兴
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江,23

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

1