一种平滑海岸线的绘制方法

文档序号:10657020阅读:322来源:国知局
一种平滑海岸线的绘制方法
【专利摘要】本发明提供了一种平滑海岸线的绘制方法,包括以下步骤:首先收集海岸点;预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q;对上述处理得到的海岸点集Q进行分段圆弧拟合;将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接;将得到的海岸线进行计算机绘制和制图输出。本发明面向海岸地理空间分析,针对海岸线的存储、绘制、计算,实现海岸线的连续平滑表达,并采用分段圆弧进行拟合能有效处理多值函数问题,避免了现有方法坐标系必须旋转的弊端;本发明绘制的海岸线能够实现平滑海岸线的快速便捷存储、快速显示绘制,方便测量海岸线的长度,曲率,距离,从而基于海岸线实现海洋或陆地中最近海岸点和离岸距离的快速测量。
【专利说明】
[0001] -种平滑海岸线的绘制方法
技术领域
[0002] 本发明设及一种平滑海岸线的绘制方法,具体设及一种连续、平滑的海岸线绘制 方法。
【背景技术】
[0003] 海岸线作为海图、岛礁地图上重要要素,其准确绘制及其在地图综合尺度变换对 于航海安全、海岸带环境分析、军事战略分析具有重要意义。在"数字海洋"信息技术体系 建立中,往往需要对海岸要素实施多比例尺、多分辨率表达,满足跨比例尺海岛礁数据集成 和自适应可视化需求,该技术的实现也需要精确、平滑绘制海岸线的具体支持。
[0004] 目前,海岸线的绘制方法主要是折线方法(称为折线海岸线),即将各个海岸点用 直线连成一条折线。折线海岸线有不足和局限性,折线接点处没有切线,因此不能实现切线 和法线方向平滑过渡,为表达海岸线的平滑,只能采集更多的海岸点数据,用密集的折线近 似表达海岸线的平滑走向;同时,折线海岸线不能准确地计算海岸线长度,由于折线分段太 多不便于计算海岸线外的点到海岸线的距离。
[0005] 在降雨量等值线绘制、数控加工等技术领域,曲线绘制方法主要有抛物线曲线方 法和样条曲线方法。其中,抛物线本质上是单值函数,不能直接处理多值函数问题,很多状 态下需要进行坐标系旋转,不便于存储和计算。样条曲线方法主要包括B样条曲线,张力样 条曲线,运些方法在描绘曲线的平直区时,会产生不应有的波动、出现多余的拐点,很难利 用该方法处理处理多值函数和大晓度曲线,运些方法受点的分布状态影响,坐标系旋转时 曲线形状会发生变化。上述的运些方法中存在较多的不足,所得到的曲线极值多而导致曲 线过渡不够平缓,另外很多情况下需要进行坐标系旋转,计算复杂,甚至在有些条件下无法 进行曲线拟合。
[0006] 针对现有折线海岸线的不足且方便后续测量海岸线长度和离岸距离,需要一种能 够准确、连续表达得海岸线的绘制方法,从而为后续海陆空间分析相关的技术领域提供技 术支持。

【发明内容】

[0007] 为解决上述问题,本发明的目的是提供一种平滑海岸线的绘制方法,达到连续、平 滑绘制海岸线的目的。
[0008] 本发明采用圆弧曲线与样条曲线相结合的方法实现平滑海岸线的绘制,该方法绘 制的平滑海岸线可W实现海岸线上任意海岸点处均具有连续平滑的特性,海岸线用圆弧集 和样条曲线集来描述;具体是通过圆弧和=次样条曲线相结合的方式,用尽可能少的=次 样条曲线来平滑地连接圆弧段,实现海岸线的平滑表达,保证海岸线各点处均存在切线和 法线,从而实现海岸线上曲率、切线方向和法线方向的连续过渡。极大地方便了海岸线存 储、绘制,提高了海岸线长度测量的准确性和离岸距离测量的便捷性。
[0009] 为达到上述目的,本发明采取的具体技术方案为: 一种平滑海岸线的绘制方法,包括W下步骤: (1) 首先收集海岸点; (2) 预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q; (3) 对步骤(2)处理得到的海岸点集Q进行分段圆弧拟合:在分段圆弧拟合过程中进行 最佳圆弧计算和顺接圆弧计算,其中圆弧集包含圆弧数和圆弧列表,圆弧列表中的每个圆 弧包含圆屯、、半径、初始角、跨越角、覆盖的海岸点;分段圆弧拟合的整个流程如下: ① 置最佳圆弧ArcBest为空,覆盖点集化rc为空,拟合圆弧集ArcDest为空,海岸点计 数Index=I,点集R为空; ② 在Q中的第Index个海岸点起连续取3个点顺序放入R中; ③ 计算R中所有点的最佳拟合圆弧Arc及其对应的最大偏差B,如果B《D,转入④,如果 B>D,转入⑤; ④ArcBest=Arc ,Parc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并 转至③,如果Q中无剩余海岸点,则结束; ⑤ 如果ArcBest为空并且Q中从第Index海岸点之后剩余海岸点数>3,且不包括该第 Index海岸点,Index值加1,转至②;如果ArcBest不为空,置ArcBest的覆盖点集为化rc, ArcBest添加至拟合圆弧集ArcDest,记化rc中的点数为N,Index值增加 N-I,清空化rc、 ArcBest和R,转至⑥;若ArcBest为空且Q中从第Index海岸点之后且不包括该第Index海岸 点,剩余海岸点数<3,且不包括该第Index海岸点,则结束; ⑥ 在Q中的第Index个海岸点起取3个点顺序放入R中; ⑦ 从圆弧集ArcDest中取最新一个圆弧ArcLast,根据ArcLast和R进行顺接圆弧计算 得到最佳顺接圆弧ArcNext及其对应的最大偏差B,如果B《D,转入⑧,如果B>D,转入⑨; ⑧ArcBest=Arc化Xt ,Parc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并 转至⑦,如果Q中无剩余海岸点,则结束; ⑨ 如果ArcBest为空且Q中从第Index海岸点之后剩余海岸点数>3,且不包括该第 Index海岸点,Index值加1,转至②;如果ArcBest不为空,置ArcBest的覆盖点集为化rc, ArcBest添加至拟合圆弧集ArcDest,记化rc中的点数为N,Index值增加 N-I,清空化rc、 ArcBest和R,转至⑥; ⑩ 如果Q中从第Index海岸点之后且不包括该第Index海岸点,剩余海岸点数>3, Index值加1,转至②;否则,结束; (4) 将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接; 巧)将得到的海岸线进行计算机绘制和制图输出。
[0010] 上述步骤(1)中具体收集海岸点的方法为:根据海岸空间数据分析的需要,确定海 岸线的拟合精度,即实际距离中允许的最大偏离值D,其中D的单位是千米,其在不同地区经 缔度坐标系中每1单位的经度或缔度表示的实际距离不同;根据D值,选取海岸点数据精度 高于D的电子海图,并从电子海图中提取出海岸线中的点数据集P。
[0011] 上述步骤(2)中海岸点的具体归集方法为:根据D值,按顺序遍历海岸点集P;①初 始时,遍历索引i=l,当前点pn为空,权值W=O;处理集Q为空,数量为N=O;②对每一个遍历点 P(i),当前点pn=P(i),W=l;③如果P(i+1)与P距离小于D*0.75,则pn=(pn*W+P(i+l))/(W+ I)),W=W+1,i=i+l;④循环进行③步骤直至遍历结束或P( i+1)与P( i)距离大于D*0.75,当 遍历结束或P(i+1)与P(i)距离大于D*0.75时,处理集数量N=N+l,Q(N)=pn;⑤i=i+l,转至 ②直至遍历结束;⑥预处理完毕,Q即为预处理后的海岸点集。
[0012] 上述步骤(3)中为保证拟合精度,每段圆弧拟合不少于3个离散海岸点。
[0013] 上述步骤(3)中,所述最佳圆弧的具体设计方法为:对给定一组点的最佳圆弧按W下方 法求解,设点集为(xl,yl),(战州,...,(xn,yn),其中,n〉=3, (xl,yl)和(xn,yn)为首末点,当如声
(x0,y0)到(xl,yl)的距离,该圆弧初始角为(x0,y0)到(xl,yl)的角度,跨越角为弧段(XI, yl)至lj(xn,yn)的角度,覆盖的海岸点集即为(xl ,yl), (x2,y2),…,(xn,yn),最大偏差即为 所覆盖的海岸点到圆弧的最大距离。
[0014] 上述步骤(3)中顺接圆弧计算方法为:根据前一段圆弧AixLast及AixLast最后覆 盖海岸点起至少3个紧邻海岸点进行计算,运些海岸点表示如下:(xl,yl),(x2,y2),…, (xn,yn),n>3,其中(xl ,yl)即为ArcLast所覆盖的最后一个海岸点;ArcLast圆屯、和弧段末 点所在直线为La,点(xl,yl)和点(xn,yn)的中垂线为化;若La和化平行,贝无法计算圆弧, 否贝11,1^曰和化的交点(如,7〇)即为顺接圆弧的圆屯、,圆弧半径即为(如,7〇)至1]^1,71)的距 离,该圆弧初始角为(x0,y0)至lj(xl,yl)的角度,跨越角为弧段(xl,yl)至lj(xn,yn)的角度,覆 盖的海岸点集即为(Xl,yl),(x2,y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的 最大距离。
[0015]上述步骤(4)中,优选=次样条曲线进行分段圆弧之间的连接,具体方法为:所有 样条曲线用样条曲线集来描述,样条曲线集记录曲线数和曲线列表,曲线列表中每个=次 样条曲线包含坐标平移量、坐标旋转角度、起点、终点、起点斜率、终点斜率、=次样条曲线 系数一、=次样条曲线系数二;样条曲线连接的具体过程如下: ① 置S次样条曲线集SP为空,从分段拟合圆弧集ArcDest依次取出2个圆弧段Arcl, Arc2,记Arcl的最后覆盖点为Ps,Arc2的最初覆盖点为化; ② 若Ps声化,转至③,否则,若ArcDest中无剩余圆弧,则结束,若ArcDest中有剩余圆 弧,将ArcS赋值给Arcl,从ArcDest中继续取1个圆弧段存入ArcS,同时记Arcl的最后覆盖点 为Ps,Ar c2的最初覆盖点为化,重复②; ③ 判断Ps和化及Arcl在Ps处的切线方向角度Al、Arc2在化处的切线方向角度A2是否 满足=次样条曲线拟合条件;若满足,则进行=次样条曲线拟合,将得到的曲线S存入=次 样条曲线集SP中,并转入④,否则,设Arcl的覆盖点集中的点数为N,转入⑤; ④ 如果ArcDest中无剩余圆弧,则结束,如果ArcDest中有未取的圆弧,则继续依次取 出2个圆弧段存入Arcl、Arc2,记Arcl的最后覆盖点为Ps, Arc2的最初覆盖点为化,转入②; ⑤ 若N>3,取Arcl的覆盖点集中的第N-I个点放入Ps ,N=N-I,判断Ps和化及Arcl在Ps 处的切线方向角度Al、Arc2在化处的切线方向角度A2是否满足S次样条曲线拟合条件,若 满足则进行S次样条曲线拟合,将得到的曲线S存入S次样条曲线集SP中,更改Arcl的覆盖 点集为前N个点,更改Arcl的弧段末点为第N个点,用改后的Arcl更新ArcDest中对应的弧 段,转入④;否则,若修3,重复⑤,若N<3,设Arc2的覆盖点集中的点数为M,置N= 1,转入 ⑥; ⑥ 若N《M-2,取Arc2的覆盖点集中的第N+1个点放入Pe,N=N+1,判断Ps和化及Arcl在 Ps处的切线方向角度Al、Arc2在Pe处的切线方向角度A2是否满足S次样条曲线拟合条件, 若满足,则进行S次样条曲线拟合,将得到的曲线S存入S次样条曲线集SP中,更改Arc2的 覆盖点集为后M-N+1个点,更改Arc2的弧段起点为第N个点,用改后的Arc2更新ArcDest中对 应的弧段,并转入④;否则,若N《M-2,转入⑥,若N〉M-2,则转入⑦; ⑦ 如果ArcDest中有未取的圆弧,则继续取圆弧放入Arc2中,将Arc2的最初覆盖点放 入化,转入③;如果ArcDest中无未取的圆弧,则结束。
[0016] 在上述样条曲线连接过程中需要进行样条拟合条件判定,判断是否存在=次样条 曲线能够平滑连接前后圆弧:输入两个端点P1,P2和两个导线方向角度Al, A2(0°~360%含 0° ),WAl方向为Y轴正向,Pl为原点建立新坐标,计算P2在新坐标系中的横向坐标x2,计算 A2在新坐标系中的角度并用新角度更新A2,A2的范围为-90°~270°,且含-90°,若x2〉0,即 始点在末点左侧,若A2《A1,即A2《90,必定A2>-90,则不满足拟合条件,返回巧";若x2< 0,即始点在末点右侧,若A2>A1,即A2>90,必定A2《270,则不满足拟合条件,返回巧";若 X2=0,即始末点在X轴坐标值相等,则不满足拟合条件返回巧";除此W外,返回"是"。 本发明优选=次样条曲线进行方法描述,但不局限于=次样条曲线,其它样条曲线,如 B样条、张力样条等均能实现。
[0017] 本发明的有益效果为:本发明面向海岸地理空间分析,针对海岸线的存储、绘制、 计算,实现了海岸线的连续平滑表达,并采用分段圆弧进行拟合能有效处理多值函数问题, 避免了现有方法坐标系必须旋转的弊端;本发明在选取海岸点集时快速有效的去除一些分 布密集且对整个海岸线影响很小的海岸点,大大减少海岸点数,方便后续海岸线的计算和 表达,对一系列空间聚集的点集,W迭代计算方式通过动态权值计算中屯、点,计算快速,能 有效反映当前点集的中屯、位置。
[0018] 本发明绘制的海岸线能够实现平滑海岸线的快速便捷存储、快速显示绘制,方便 测量海岸线的长度,曲率,距离,从而基于海岸线实现海洋或陆地中最近海岸点和离岸距离 的快速测量。
【附图说明】
[0019] 图1为本发明的基本流程图。
[0020] 图2为本发明实施例1的结果输出图。
【具体实施方式】
[0021] W下结合具体实施例和附图对本发明进一步解释和说明。
[0022] 实施例1: 如图1所示,一种平滑海岸线的绘制方法,包括W下步骤: (1) 收集海岸点:选择我国迂东半岛(含)到山东半岛(含)之间的海岸点,取D值为4.5千 米,从电子海图中共提取到1374个原始海岸点存入P中; (2) 预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q,得到的Q中的海岸点 数为321; (3) 对步骤(2)处理得到的海岸点集Q进行分段圆弧拟合:在分段圆弧拟合过程中进行 最佳圆弧计算和顺接圆弧计算,其中圆弧集包含圆弧数和圆弧列表,圆弧列表中的每个圆 弧包含圆屯、、半径、初始角、跨越角、覆盖的海岸点集;分段圆弧拟合的整个流程如下:①置 最佳圆弧ArcBest为空,覆盖点集化rc为空,拟合圆弧集ArcDest为空,海岸点计数Index=I, 点集R为空,②在Q中的第Index个海岸点起连续取3个点顺序放入R中;③计算R中所有点 的最佳拟合圆弧Arc及其对应的最大偏差B,如果B《D,转入④,如果B>D,转入⑤;④ ArcBest=Arc,化;rc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并转至③, 如果Q中无剩余海岸点,则结束;⑤如果ArcBest为空并且Q中从第Index海岸点之后(不含) 剩余海岸点数>3 ,Index值加1,转至②;如果ArcBest不为空,置ArcBest的覆盖点集为 化rc ,ArcBest添加至拟合圆弧集ArcDest,记化rc中的点数为N,Index值增加 N-I,清空 Pare ,ArcBest和R,转至⑥;若ArcBest为空且Q中从第Index海岸点之后(不含)剩余海岸点 数<3,则结束;⑥在Q中的第Index个海岸点起取3个点顺序放入R中;⑦从圆弧集ArcDest 中取最新一个圆弧ArcLast,根据ArcLast和R进行顺接圆弧计算得到最佳顺接圆弧ArcNext 及其对应的最大偏差B,如果B《D,转入⑧,如果B>D,转入⑨;⑧ArcBest=ArcNext Jarc= R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并转至⑦,如果Q中无剩余海岸 点,则结束;⑨如果ArcBest为空且Q中从第Index海岸点之后(不含)剩余海岸点数>3, Index值加1,转至②;如果ArcBest不为空,置ArcBest的覆盖点集为F*a;rc,ArcBest添加至 拟合圆弧集ArcDest,记化rc中的点数为N,Index值增加 N-I,清空化rc、ArcBest和R,转至 ⑥;⑩如果Q中从第Index海岸点之后(不含)剩余海岸点数>3,Index值加1,转至②;否则, 结束; (4) 将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接; 巧)将得到的海岸线进行计算机绘制和制图输出,结果见图2。
[0023] 上述步骤(2)中海岸点的具体归集方法为:根据D值,按顺序遍历海岸线点集P;① 初始时,遍历索引i=l,当前点pn为空,权值W=O;处理集Q为空,数量为N=O;②对每一个遍历 点P(i),当前点pn=P(i),W=l;③如果P(i+1)与P距离小于0*0.75,则pn=(pn*W+P(i+l))/(W + 1)),W=W+1,i=i+l;④循环进行③步骤直至遍历结束或P(i+1)与P( i)距离大于D*0.75,当 遍历结束或P(i+1)与P(i)距离大于D*0.75时,处理集数量N=N+l,Q(N)=pn;⑤i=i+l,转至 ②直至遍历结束;⑥预处理完毕,Q即为预处理后的海岸点集; 上述步骤(3)中为保证拟合精度,每段圆弧拟合不少于3个离散海岸点;本实施例中得 到的海岸圆弧段数为63,其中顺接圆弧段数为14,所有63个海岸圆弧段覆盖点数为290,占 Q 中总点数比例为290/321〉90.3%。
[0024] 上述步骤(3)中,所述最佳圆弧的具体设计方法为:对给定一组点的最佳圆弧按W下方 法求解,设点集为(xl .vl) .(x2.v2).... .(xn.vn),其中,n〉=3. (xl ,ylWPI(xn,yn)为首末点,当如声 yn时,求解
[最小的x0,y0值,其4

为(xO,yO)到(xl,yl)的距离,该圆弧初始角为(xO,yO)到(xl,yl)的角度,跨越角为弧段 (xl ,yl)至lj(xn,yn)的角度,覆盖的海岸点集即为(xl ,yl), (x2,y2),…,(xn,yn),最大偏差 即为所覆盖的海岸点到圆弧的最大距离。 上述步骤(3)中顺接圆弧计算方法为:根据前一段圆弧Ar ^ast及Ar ^ast最后覆盖海 岸点起至少3个紧邻海岸点进行计算,运些海岸点表示如下:(xl,yl),(x2,y2),…,(xn, yn),n>3,其中(xl ,yl)即为ArcLast所覆盖的最后一个海岸点;ArcLast圆屯、和弧段末点所 在直线为La,点(X1, y 1)和点(xn, yn)的中垂线为化;若La和化平行,贝无法计算圆弧,否则, La和化的交点(xO, y O )即为顺接圆弧的圆屯、,圆弧半径即为(xO, yO )至lj( X1, y 1)的距离,该圆 弧初始角为(xO,yO)到(xl,yl)的角度,跨越角为弧段(xl,yl)到(xn,yn)的角度,覆盖的海 岸点集即为^1,71),^2,72),-,,^11,711),最大偏差即为所覆盖的海岸点到圆弧的最大距 离。
[0025]上述步骤(4)中,优选=次样条曲线进行分段圆弧之间的连接,本实施例中圆弧分 段连接的样条曲线数量为48;样条曲线连接的具体方法为:所有样条曲线用样条曲线集来 描述,样条曲线集记录曲线数和曲线列表,曲线列表中每个=次样条曲线包含坐标平移量、 坐标旋转角度、起点、终点、起点斜率、终点斜率、=次样条曲线系数一、=次样条曲线系数 二;样条曲线连接的具体过程如下:①置S次样条曲线集SP为空,从分段拟合圆弧集 ArcDest依次取出2个圆弧段Arcl, Arc2,记Arcl的最后覆盖点为Ps, Arc2的最初覆盖点为 Pe;②若Ps声Pe,转至③,否则,若ArcDest中无剩余圆弧,则结束,若ArcDest中有剩余圆 弧,将ArcS赋值给Arcl,从ArcDest中继续取1个圆弧段存入ArcS,同时记Arcl的最后覆盖点 为Ps,Arc2的最初覆盖点为Pe,重复②;③判断Ps和Pe及Arcl在Ps处的切线方向角度Al、 Arc2在Pe处的切线方向角度A2是否满足S次样条曲线拟合条件;若满足,则进行S次样条 曲线拟合,将得到的曲线S存入=次样条曲线集SP中,并转入④,否则,设Arcl的覆盖点集中 的点数为N,转入⑤;④如果ArcDeSt中无剩余圆弧,则结束,如果ArcDeSt中有未取的圆弧, 则继续依次取出2个圆弧段存入Arcl、Arc2,记Arcl的最后覆盖点为Ps,Arc2的最初覆盖点 为化,转入②;⑤若N>3,取Arcl的覆盖点集中的第N-I个点放入Ps,N=N-I,判断Ps和化及 Arcl在Ps处的切线方向角度Al、Arc2在化处的切线方向角度A2是否满足S次样条曲线拟合 条件,若满足则进行=次样条曲线拟合,将得到的曲线S存入=次样条曲线集SP中,更改 Arcl的覆盖点集为前N个点,更改Arcl的弧段末点为第N个点,用改后的Arcl更新ArcDest中 对应的弧段,转入④;否则,若N>3,重复⑤,若N<3,设Arc2的覆盖点集中的点数为M,置N =1,转入⑥;⑥若N《M-2,取Arc2的覆盖点集中的第N+1个点放入化,N=N+1,判断Ps和化及 Arcl在Ps处的切线方向角度Al、Arc2在化处的切线方向角度A2是否满足S次样条曲线拟合 条件,若满足,则进行=次样条曲线拟合,将得到的曲线S存入=次样条曲线集SP中,更改 Arc2的覆盖点集为后M-N+1个点,更改Arc2的弧段起点为第N个点,用改后的Arc2更新 ArcDest中对应的弧段,并转入④;否则,若N《M-2,转入⑥,若N〉M-2,则转入⑦;⑦如果 ArcDest中有未取的圆弧,则继续取圆弧放入Arc2中,将Arc2的最初覆盖点放入化,转入③; 如果Ar cDes t中无未取的圆弧,则结束。
[0026] 在上述样条曲线连接过程中需要进行样条拟合条件判定,判断是否存在=次样条 曲线能够平滑连接前后圆弧:输入两个端点P1,P2和两个导线方向角度Al, A2(0°~360%含 0° ),WAl方向为Y轴正向,Pl为原点建立新坐标,计算P2在新坐标系中的横向坐标x2,计算 A2在新坐标系中的角度并用新角度更新A2,A2的范围为-90°~270°,且含-90°,若x2〉0,即 始点在末点左侧,若A2《A1,即A2《90(必定A2>-90),则不满足拟合条件,返回"否";若x2< 0,即始点在末点右侧,若A2>A1,即A2>90(必定A2《270),贝怀满足拟合条件,返回巧"; 若X2=0,即始末点在X轴坐标值相等,则不满足拟合条件返回"否";除此W外,返回"是"。
[0027] 由图2可W看出,本发明提供的平滑绘制海岸线的方法,确实能够绘制出连续、平 滑表达的海岸线,图中极值、转折点较小,曲线更为连续和平滑。
[0028] W上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认 定本发明的具体实施只局限于运些说明。对于本发明所属技术领域的普通技术人员来说, 在不脱离本发明构思的前提下,还可W做出若干简单推演或替代,都应当视为属于本发 明的保护范围。
【主权项】
1. 一种平滑海岸线的绘制方法,其特征在于,包括以下步骤: (1) 首先收集海岸点; (2) 预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q; (3) 对步骤(2)处理得到的海岸点集Q进行分段圆弧拟合:在分段圆弧拟合过程中进行 最佳圆弧计算和顺接圆弧计算,其中圆弧集包含圆弧数和圆弧列表,圆弧列表中的每个圆 弧包含圆心、半径、初始角、跨越角、覆盖的海岸点;分段圆弧拟合的整个流程如下: ① 置最佳圆弧ArcBest为空,覆盖点集Pare为空,拟合圆弧集ArcDest为空,海岸点计数 Index=I,点集R为空, ② 在Q中的第Index个海岸点起连续取3个点顺序放入R中; ③ 计算R中所有点的最佳拟合圆弧Arc及其对应的最大偏差B,如果BSD,转入④,如果B >D,转入⑤; ④ ArcBest=Arc,Parc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并 转至③,如果Q中无剩余海岸点,则结束; ⑤ 如果ArcBest为空并且Q中从第Index海岸点之后剩余海岸点数彡3,且不包括该第 Index海岸点,Index值加1,转至②;如果ArcBest不为空,置ArcBest的覆盖点集为Pare, ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-I,清空Parc、 ArcBest和R,转至⑥;若ArcBest为空且Q中从第Index海岸点之后(不含)剩余海岸点数<3, 且不包括该第Index海岸点,则结束; ⑥ 在Q中的第Index个海岸点起取3个点顺序放入R中; ⑦ 从圆弧集ArcDest中取最新一个圆弧ArcLast,根据ArcLast和R进行顺接圆弧计算得 到最佳顺接圆弧ArcNext及其对应的最大偏差B,如果BSD,转入⑧,如果B>D,转入⑨; ⑧ ArcBest=ArcNext,Parc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R 中,并转至⑦,如果Q中无剩余海岸点,则结束; ⑨ 如果ArcBest为空且Q中从第Index海岸点之后剩余海岸点数彡3,且不包括该第 Index海岸点,Index值加1,转至②;如果ArcBest不为空,置ArcBest的覆盖点集为Pare, ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-I,清空Parc、 ArcBest和R,转至⑥; ⑩ 如果Q中从第Index海岸点之后剩余海岸点数多3,且不包括该第Index海岸点,Index 值加1,转至②;否则,结束; (4) 将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接; (5) 将得到的海岸线进行计算机绘制和制图输出。2. 如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(1)中具体收集 海岸点的方法为:根据海岸空间数据分析的需要,确定海岸线的拟合精度,即实际距离中允 许的最大偏离值D,其中D的单位是千米,其在不同地区经炜度坐标系中每1单位的经度或炜 度表示的实际距离不同;根据D值,选取海岸点数据精度高于D的电子海图,并从电子海图中 提取出海岸线中的点数据集P。3. 如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(2)中海岸点的 具体归集方法为:根据D值,按顺序遍历海岸线点集P: ①初始时,遍历索引i=l,当前点pn为空,权值W=O;处理集Q为空,数量为N=O; ② 对每一个遍历点P(i),当前点pn=P(i),W=1; ③ 如果P(i+1)与P距离小于D*0 · 75,则pn=(pn*W+P(i+1) )/(W+l)),W=W+1,i=i+l; ④ 循环进行③步骤直至遍历结束或P( i+1)与P( i)距离大于D*0.75,当遍历结束或P( i+ 1)与P(i)距离大于D*0.75时,处理集数量N=N+l,Q(N)=pn; ⑤ i=i+l,转至②直至遍历结束; ⑥ 预处理完毕,Q即为预处理后的海岸点集。4. 如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(3)中为保证拟 合精度,每段圆弧拟合不少于3个离散海岸点。5. 如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(3)中,所述最佳 圆弧的具体设计方法为:对给定一组点的最佳圆弧按以下方法求解,设点集为Ul,yl), (Yi?. **· Γυπ vn^. S. I=N . n ^ = ν1)和("γη νη)% 首去占-^ ν 1 i ν η FM* -步艇柿;所得到的值(x〇,y〇)即为最佳圆弧的圆心点,圆弧半径即为(x〇,y〇)到(xl,yl)的距离,该 圆弧初始角为(x〇,y〇)到(xl,yl)的角度,跨越角为弧段(xl,yl)到(xn,yn)的角度,覆盖的 海岸点集即为(11,71),(12, 72),一,(111,711),最大偏差即为所覆盖的海岸点到圆弧的最大 距离。6. 如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(3)中顺接圆弧 计算方法为:根据前一段圆弧ArcLast及ArcLast最后覆盖海岸点起至少3个紧邻海岸点进 行计算,这些海岸点表示如下:(xl,yl),(x2,y2),…,(xn,yn),n彡3,其中(xl,yl)即为 ArcLast所覆盖的最后一个海岸点;ArcLast圆心和弧段末点所在直线为La,点(xl,yI)和点 (xn,yn)的中垂线为Lb;若La和Lb平行,则无法计算圆弧,否则,La和Lb的交点(xO,yO)SP为 顺接圆弧的圆心,圆弧半径即为(x〇,y〇)到(xl,yl)的距离,该圆弧初始角为(x〇,y〇)到(xl, yl)的角度,跨越角为弧段(xl,yl)到(xn,yn)的角度,覆盖的海岸点集即为(xl,yl),(x2, y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的最大距尚。7. 如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(4)中,通过三次 样条曲线进行分段圆弧之间的连接,其具体连接方法为:所有样条曲线用样条曲线集来描 述,样条曲线集记录曲线数和曲线列表,曲线列表中每个三次样条曲线包含坐标平移量、坐 标旋转角度、起点、终点、起点斜率、终点斜率、三次样条曲线系数一、三次样条曲线系数二; 样条曲线连接的具体过程如下: ① 置三次样条曲线集SP为空,从分段拟合圆弧集ArcDest依次取出2个圆弧段Arcl, Arc2,记Arcl的最后覆盖点为Ps,Arc2的最初覆盖点为Pe; ② 若Ps辛Pe,转至③,否则,若ArcDest中无剩余圆弧,则结束,若ArcDest中有剩余圆 弧,将Arc2赋值给Arcl,从ArcDest中继续取1个圆弧段存入Arc2,同时记Arcl的最后覆盖点 为Ps,Ar c2的最初覆盖点为Pe,重复②; ③ 判断Ps和Pe及Arcl在Ps处的切线方向角度Al、Arc2在Pe处的切线方向角度A2是否满 足三次样条曲线拟合条件;若满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样 条曲线集SP中,并转入④,否则,设ArC1的覆盖点集中的点数为N,转入⑤; ④ 如果ArcDest中无剩余圆弧,则结束,如果ArcDest中有未取的圆弧,则继续依次取出 2个圆弧段存入Arcl、Arc2,记Arcl的最后覆盖点为Ps,Arc2的最初覆盖点为Pe,转入②; ⑤ 若N彡3,取Arcl的覆盖点集中的第N-I个点放入Ps,N=N-1,判断Ps和Pe及Arcl在Ps处 的切线方向角度Al、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若满 足则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arcl的覆盖点 集为前N个点,更改Arc 1的弧段末点为第N个点,用改后的Arc 1更新ArcDest中对应的弧段, 转入④;否则,若N多3,重复⑤,若N<3,设Arc2的覆盖点集中的点数为M,置N= 1,转入⑥; ⑥ 若N彡M-2,取Arc2的覆盖点集中的第N+1个点放入Pe,N=N+l,判断Ps和Pe及Arcl在Ps 处的切线方向角度Al、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若 满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arc2的覆 盖点集为后M-N+1个点,更改Arc2的弧段起点为第N个点,用改后的Arc2更新ArcDest中对应 的弧段,并转入④;否则,若NSM-2,转入⑥,若N>M-2,则转入⑦; ⑦ 如果ArcDest中有未取的圆弧,则继续取圆弧放入Arc2中,将Arc2的最初覆盖点放入 Pe,转入③;如果ArcDest中无未取的圆弧,则结束。8.如权利要求7所述的平滑海岸线的绘制方法,其特征在于,在上述样条曲线连接过程 中需要进行样条拟合条件判定,判断是否存在三次样条曲线能够平滑连接前后圆弧:输入 两个端点Pl,P2和两个导线方向角度Al,A2,A2范围为0°~360°,且含0°,以Al方向为Y轴正 向,Pl为原点建立新坐标,计算P2在新坐标系中的横向坐标x2,计算A2在新坐标系中的角度 并用新角度更新A2,A2的范围为-90°~270°,且含-90°,若x2>0,即始点在末点左侧,若A2< A1,即A2S90,则不满足拟合条件,返回"否";若x2〈0,即始点在末点右侧,若A25A1,即A2彡 90,则不满足拟合条件,返回"否";若X2=0,即始末点在X轴坐标值相等,则不满足拟合条件 返回"否";除此以外,返回"是"。
【文档编号】G06T11/20GK106023283SQ201610352411
【公开日】2016年10月12日
【申请日】2016年5月25日
【发明人】李文庆, 刘世萱, 张树刚, 苗斌, 王文彦, 王晓燕, 裴亮
【申请人】山东省科学院海洋仪器仪表研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1