1.一种基于结点排序的等深线生成方法,其特征在于,该生成方法包括以下步骤:
1)根据水深数据构建水深Delaunay三角网;
2)遍历每个三角单元并提取等深线段,将提取的等深线段与已生成的等深线段根据位置关系进行排序,并生成某深度值等深线结点链表;
3)根据排序结果将等深线结点链表中的等深点按顺序连接,所连接得到的线即为等深线。
2.根据权利要求1所述的基于结点排序的等深线生成方法,其特征在于,为消除等深线生成的不确定性因素,在构建水深Delaunay三角网前对水深数据进行预处理。
3.根据权利要求1所述的基于结点排序的等深线生成方法,其特征在于,步骤2)中等深线结点链表的生成过程如下:将提取的等深线段的首尾结点存储到相应ID链表中,根据链表之间的关系对ID链表进行合并,合并后的结果即为等深线结点链表,该链表中存储的结点顺序即为最终的等深点排序结果。
4.根据权利要求3所述的基于结点排序的等深线生成方法,其特征在于,链表之间关系的具体类型通过表两ID链表的首尾元素值进行判断。
5.根据权利要求3所述的基于结点排序的等深线生成方法,其特征在于,所述步骤2)的具体实现过程如下:
A.输入一条等深线段的结点ID链表List_segi,若存在等深线段链表集合List_lines为空,则将List_segi加入到List_lines,并执行步骤D,若不为空,则执行步骤B;
B.将List_segi与List_lines中所有的结点ID链表List_segj逐一进行比较,判断链表之间的关系,若两个结点ID链表相接,则将List_segi加入到List_lines,并执行步骤D,否则将List_segi按照顺序或者倒序的排序插入到List_segj中,插入前将插入位置的重复元素删除;
C.继续将List_segi与List_lines中未比较的结点ID链表进行比较,若List_segi与List_segk为相接的关系,则执行步骤D,否则将List_segk按照顺序或者倒序的排序插入到List_segj中,插入前将插入位置的重复元素删除,插入后将List_segk删除,执行步骤D;
D.继续遍历三角网,输入下一段等深线段的结点ID链表。
6.根据权利要求1所述的基于结点排序的等深线生成方法,其特征在于,如果链表首尾的结点ID相同则该结点序列组成的等深线是闭合曲线;如果链表首尾的结点ID不相同则该结点序列组成的等深线是非闭合曲线。
7.一种基于结点排序的等深线生成装置,其特征在于,该生成装置包括Delaunay三角网构建模块、等深线结点链表生成模块和等深线确定模块,
所述Delaunay三角网构建模块用于根据水深数据构建水深Delaunay三角网;
所述等深线结点链表生成模块用于遍历每个三角单元并提取等深线段,将提取的等深线段与已生成的等深线段根据位置关系进行排序,并生成某深度值等深线结点链表;
所述等深线确定模块用于根据排序结果将等深线结点链表中的等深点按顺序连接,所连接得到的线即为等深线。
8.根据权利要求7所述的基于结点排序的等深线生成装置,其特征在于,为消除等深线生成的不确定性因素,该装置该包括预处理模块,用于在构建水深Delaunay三角网前对水深数据进行预处理。
9.根据权利要求7所述的基于结点排序的等深线生成装置,其特征在于,等深线结点链表生成模块生成等深线结点链表的过程如下:将提取的等深线段的首尾结点存储到相应ID链表中,根据链表之间的关系对ID链表进行合并,合并后的结果即为等深线结点链表,该链表中存储的结点顺序即为最终的等深点排序结果。
10.根据权利要求9所述的基于结点排序的等深线生成装置,其特征在于,链表之间关系的具体类型通过表两ID链表的首尾元素值进行判断。