CN106023283B - 一种平滑海岸线的绘制方法 - Google Patents
一种平滑海岸线的绘制方法 Download PDFInfo
- Publication number
- CN106023283B CN106023283B CN201610352411.6A CN201610352411A CN106023283B CN 106023283 B CN106023283 B CN 106023283B CN 201610352411 A CN201610352411 A CN 201610352411A CN 106023283 B CN106023283 B CN 106023283B
- Authority
- CN
- China
- Prior art keywords
- point
- seashore
- circular arc
- arc
- coastline
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
- Sampling And Sample Adjustment (AREA)
Abstract
本发明提供了一种平滑海岸线的绘制方法,包括以下步骤:首先收集海岸点;预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q;对上述处理得到的海岸点集Q进行分段圆弧拟合;将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接;将得到的海岸线进行计算机绘制和制图输出。本发明面向海岸地理空间分析,针对海岸线的存储、绘制、计算,实现海岸线的连续平滑表达,并采用分段圆弧进行拟合能有效处理多值函数问题,避免了现有方法坐标系必须旋转的弊端;本发明绘制的海岸线能够实现平滑海岸线的快速便捷存储、快速显示绘制,方便测量海岸线的长度,曲率,距离,从而基于海岸线实现海洋或陆地中最近海岸点和离岸距离的快速测量。
Description
技术领域
本发明涉及一种平滑海岸线的绘制方法,具体涉及一种连续、平滑的海岸线绘制方法。
背景技术
海岸线作为海图、岛礁地图上重要要素,其准确绘制及其在地图综合尺度变换对于航海安全、海岸带环境分析、军事战略分析具有重要意义。在 “数字海洋” 信息技术体系建立中,往往需要对海岸要素实施多比例尺、多分辨率表达,满足跨比例尺海岛礁数据集成和自适应可视化需求,该技术的实现也需要精确、平滑绘制海岸线的具体支持。
目前,海岸线的绘制方法主要是折线方法(称为折线海岸线),即将各个海岸点用直线连成一条折线。折线海岸线有不足和局限性,折线接点处没有切线,因此不能实现切线和法线方向平滑过渡,为表达海岸线的平滑,只能采集更多的海岸点数据,用密集的折线近似表达海岸线的平滑走向;同时,折线海岸线不能准确地计算海岸线长度,由于折线分段太多不便于计算海岸线外的点到海岸线的距离。
在降雨量等值线绘制、数控加工等技术领域,曲线绘制方法主要有抛物线曲线方法和样条曲线方法。其中,抛物线本质上是单值函数,不能直接处理多值函数问题,很多状态下需要进行坐标系旋转,不便于存储和计算。样条曲线方法主要包括B样条曲线,张力样条曲线,这些方法在描绘曲线的平直区时,会产生不应有的波动、出现多余的拐点,很难利用该方法处理处理多值函数和大挠度曲线,这些方法受点的分布状态影响,坐标系旋转时曲线形状会发生变化。上述的这些方法中存在较多的不足,所得到的曲线极值多而导致曲线过渡不够平缓,另外很多情况下需要进行坐标系旋转,计算复杂,甚至在有些条件下无法进行曲线拟合。
针对现有折线海岸线的不足且方便后续测量海岸线长度和离岸距离,需要一种能够准确、连续表达得海岸线的绘制方法,从而为后续海陆空间分析相关的技术领域提供技术支持。
发明内容
为解决上述问题,本发明的目的是提供一种平滑海岸线的绘制方法,达到连续、平滑绘制海岸线的目的。
本发明采用圆弧曲线与样条曲线相结合的方法实现平滑海岸线的绘制,该方法绘制的平滑海岸线可以实现海岸线上任意海岸点处均具有连续平滑的特性,海岸线用圆弧集和样条曲线集来描述;具体是通过圆弧和三次样条曲线相结合的方式,用尽可能少的三次样条曲线来平滑地连接圆弧段,实现海岸线的平滑表达,保证海岸线各点处均存在切线和法线,从而实现海岸线上曲率、切线方向和法线方向的连续过渡。极大地方便了海岸线存储、绘制,提高了海岸线长度测量的准确性和离岸距离测量的便捷性。
为达到上述目的,本发明采取的具体技术方案为:
一种平滑海岸线的绘制方法,包括以下步骤:
(1)首先收集海岸点;
(2)预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q;
(3)对步骤(2)处理得到的海岸点集Q进行分段圆弧拟合:在分段圆弧拟合过程中进行最佳圆弧计算和顺接圆弧计算,其中圆弧集包含圆弧数和圆弧列表,圆弧列表中的每个圆弧包含圆心、半径、初始角、跨越角、覆盖的海岸点;分段圆弧拟合的整个流程如下:
①置最佳圆弧ArcBest为空,覆盖点集Parc为空,拟合圆弧集ArcDest为空,海岸点计数Index=1,点集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的覆盖点集为Parc,ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-1,清空Parc、ArcBest和R,转至⑥;若ArcBest为空且Q中从第Index海岸点之后且不包括该第Index海岸点,剩余海岸点数<3,且不包括该第Index海岸点,则结束;
⑥在Q中的第Index个海岸点起取3个点顺序放入R中;
⑦从圆弧集ArcDest中取最新一个圆弧ArcLast,根据ArcLast和R进行顺接圆弧计算得到最佳顺接圆弧ArcNext及其对应的最大偏差B,如果B≤D,转入⑧,如果B>D,转入⑨; ⑧ArcBest=ArcNext,Parc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并转至⑦,如果Q中无剩余海岸点,则结束;
⑨如果ArcBest为空且Q中从第Index海岸点之后剩余海岸点数≥3,且不包括该第Index海岸点,Index值加1,转至②;如果ArcBest不为空,置 ArcBest的覆盖点集为Parc,ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-1,清空Parc、ArcBest和R,转至⑥;
⑩如果Q中从第Index海岸点之后且不包括该第Index海岸点,剩余海岸点数≥3,Index值加1,转至②;否则,结束;
(4)将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接;
(5)将得到的海岸线进行计算机绘制和制图输出。
上述步骤(1)中具体收集海岸点的方法为:根据海岸空间数据分析的需要,确定海岸线的拟合精度,即实际距离中允许的最大偏离值D,其中D的单位是千米,其在不同地区经纬度坐标系中每1单位的经度或纬度表示的实际距离不同;根据D值,选取海岸点数据精度高于D的电子海图,并从电子海图中提取出海岸线中的点数据集P。
上述步骤(2)中海岸点的具体归集方法为:根据D值,按顺序遍历海岸点集P; ①初始时,遍历索引i=1,当前点pn为空,权值W=0;处理集Q为空,数量为N=0; ②对每一个遍历点P(i),当前点pn=P(i),W=1; ③如果P(i+1)与P距离小于D*0.75,则pn=(pn*W+P(i+1))/(W+1)),W=W+1,i=i+1; ④循环进行③步骤直至遍历结束或P(i+1)与P(i)距离大于D*0.75,当遍历结束或P(i+1)与P(i)距离大于D*0.75时,处理集数量N=N+1,Q(N)=pn; ⑤i=i+1,转至②直至遍历结束; ⑥预处理完毕,Q即为预处理后的海岸点集。
上述步骤(3)中为保证拟合精度,每段圆弧拟合不少于3个离散海岸点。
上述步骤(3)中,所述最佳圆弧的具体设计方法为:对给定一组点的最佳圆弧按以下方法求解,设点集为(x1,y1),(x2,y2),…,(xn,yn),其中,n>=3, (x1,y1)和(xn,yn)为首末点,当y1≠yn时,求解使值最小的x0,y0值,其中,;当时,求解使值最小的y0, 同时,;所得到的值(x0,y0)即为最佳圆弧的圆心点,圆弧半径即为(x0,y0)到(x1,y1)的距离,该圆弧初始角为(x0,y0)到(x1,y1)的角度,跨越角为弧段(x1,y1)到(xn,yn)的角度,覆盖的海岸点集即为(x1,y1),(x2,y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的最大距离。
上述步骤(3)中顺接圆弧计算方法为:根据前一段圆弧ArcLast及ArcLast最后覆盖海岸点起至少3个紧邻海岸点进行计算,这些海岸点表示如下:(x1,y1),(x2,y2),…,(xn,yn),n≥3,其中(x1,y1)即为ArcLast所覆盖的最后一个海岸点;ArcLast圆心和弧段末点所在直线为La,点(x1,y1)和点(xn,yn)的中垂线为Lb;若La和Lb平行,则无法计算圆弧,否则,La和Lb的交点(x0,y0)即为顺接圆弧的圆心,圆弧半径即为(x0,y0)到(x1,y1)的距离,该圆弧初始角为(x0,y0)到(x1,y1)的角度,跨越角为弧段(x1,y1)到(xn,yn)的角度,覆盖的海岸点集即为(x1,y1),(x2,y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的最大距离。
上述步骤(4)中,优选三次样条曲线进行分段圆弧之间的连接,具体方法为:所有样条曲线用样条曲线集来描述,样条曲线集记录曲线数和曲线列表,曲线列表中每个三次样条曲线包含坐标平移量、坐标旋转角度、起点、终点、起点斜率、终点斜率、三次样条曲线系数一、三次样条曲线系数二; 样条曲线连接的具体过程如下:
①置三次样条曲线集SP为空,从分段拟合圆弧集ArcDest依次取出2个圆弧段Arc1,Arc2,记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe;
②若Ps≠Pe,转至③,否则,若ArcDest中无剩余圆弧,则结束,若ArcDest中有剩余圆弧,将Arc2赋值给Arc1,从ArcDest中继续取1个圆弧段存入Arc2,同时记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe,重复②;
③判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件;若满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,并转入④,否则,设Arc1的覆盖点集中的点数为N,转入⑤;
④如果ArcDest中无剩余圆弧,则结束,如果ArcDest中有未取的圆弧,则继续依次取出2个圆弧段存入Arc1、Arc2,记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe,转入②;
⑤若N≥3,取Arc1的覆盖点集中的第N-1个点放入Ps,N=N-1,判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若满足则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arc1的覆盖点集为前N个点,更改Arc1的弧段末点为第N个点,用改后的Arc1更新ArcDest中对应的弧段,转入④;否则,若 N≥3,重复⑤,若N<3,设Arc2的覆盖点集中的点数为M,置N=1,转入⑥;
⑥若N≤M-2,取Arc2的覆盖点集中的第N+1个点放入Pe,N=N+1,判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arc2的覆盖点集为后M-N+1个点,更改Arc2的弧段起点为第N个点,用改后的Arc2更新ArcDest中对应的弧段,并转入④;否则,若 N≤M-2,转入⑥,若N>M-2,则转入⑦;
⑦如果ArcDest中有未取的圆弧,则继续取圆弧放入Arc2中,将Arc2的最初覆盖点放入Pe,转入③;如果ArcDest中无未取的圆弧,则结束。
在上述样条曲线连接过程中需要进行样条拟合条件判定,判断是否存在三次样条曲线能够平滑连接前后圆弧:输入两个端点P1,P2和两个导线方向角度A1,A2(0°~360°,含0°),以A1方向为Y轴正向,P1为原点建立新坐标,计算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轴坐标值相等,则不满足拟合条件返回“否”;除此以外,返回“是”。
本发明优选三次样条曲线进行方法描述,但不局限于三次样条曲线,其它样条曲线,如B样条、张力样条等均能实现。
本发明的有益效果为:本发明面向海岸地理空间分析,针对海岸线的存储、绘制、计算,实现了海岸线的连续平滑表达,并采用分段圆弧进行拟合能有效处理多值函数问题,避免了现有方法坐标系必须旋转的弊端;本发明在选取海岸点集时快速有效的去除一些分布密集且对整个海岸线影响很小的海岸点,大大减少海岸点数,方便后续海岸线的计算和表达,对一系列空间聚集的点集,以迭代计算方式通过动态权值计算中心点,计算快速,能有效反映当前点集的中心位置。
本发明绘制的海岸线能够实现平滑海岸线的快速便捷存储、快速显示绘制,方便测量海岸线的长度,曲率,距离,从而基于海岸线实现海洋或陆地中最近海岸点和离岸距离的快速测量。
附图说明
图1为本发明的基本流程图。
图2为本发明实施例1的结果输出图。
具体实施方式
以下结合具体实施例和附图对本发明进一步解释和说明。
实施例1:
如图1所示,一种平滑海岸线的绘制方法,包括以下步骤:
(1)收集海岸点:选择我国辽东半岛(含)到山东半岛(含)之间的海岸点,取D值为4.5千米,从电子海图中共提取到1374个原始海岸点存入P中;
(2)预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q,得到的Q中的海岸点数为321;
(3)对步骤(2)处理得到的海岸点集Q进行分段圆弧拟合:在分段圆弧拟合过程中进行最佳圆弧计算和顺接圆弧计算,其中圆弧集包含圆弧数和圆弧列表,圆弧列表中的每个圆弧包含圆心、半径、初始角、跨越角、覆盖的海岸点集;分段圆弧拟合的整个流程如下:①置最佳圆弧ArcBest为空,覆盖点集Parc为空,拟合圆弧集ArcDest为空,海岸点计数Index=1,点集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值加1,转至②;如果ArcBest不为空,置 ArcBest的覆盖点集为Parc,ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-1,清空Parc、ArcBest和R,转至⑥;若ArcBest为空且Q中从第Index海岸点之后(不含)剩余海岸点数<3,则结束; ⑥在Q中的第Index个海岸点起取3个点顺序放入R中; ⑦从圆弧集ArcDest中取最新一个圆弧ArcLast,根据ArcLast和R进行顺接圆弧计算得到最佳顺接圆弧ArcNext及其对应的最大偏差B,如果B≤D,转入⑧,如果B>D,转入⑨; ⑧ArcBest=ArcNext,Parc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并转至⑦,如果Q中无剩余海岸点,则结束; ⑨如果ArcBest为空且Q中从第Index海岸点之后(不含)剩余海岸点数≥3,Index值加1,转至②;如果ArcBest不为空,置 ArcBest的覆盖点集为Parc,ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-1,清空Parc、ArcBest和R,转至⑥; ⑩如果Q中从第Index海岸点之后(不含)剩余海岸点数≥3,Index值加1,转至②;否则,结束;
(4)将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接;
(5)将得到的海岸线进行计算机绘制和制图输出,结果见图2。
上述步骤(2)中海岸点的具体归集方法为:根据D值,按顺序遍历海岸线点集P; ①初始时,遍历索引i=1,当前点pn为空,权值W=0;处理集Q为空,数量为N=0; ②对每一个遍历点P(i),当前点pn=P(i),W=1; ③如果P(i+1)与P距离小于D*0.75,则pn=(pn*W+P(i+1))/(W+1)),W=W+1,i=i+1; ④循环进行③步骤直至遍历结束或P(i+1)与P(i)距离大于D*0.75,当遍历结束或P(i+1)与P(i)距离大于D*0.75时,处理集数量N=N+1,Q(N)=pn; ⑤i=i+1,转至②直至遍历结束; ⑥预处理完毕,Q即为预处理后的海岸点集;
上述步骤(3)中为保证拟合精度,每段圆弧拟合不少于3个离散海岸点;本实施例中得到的海岸圆弧段数为63,其中顺接圆弧段数为14,所有63个海岸圆弧段覆盖点数为290,占Q中总点数比例为290/321>90.3%。
上述步骤(3)中,所述最佳圆弧的具体设计方法为:对给定一组点的最佳圆弧按以下方法求解,设点集为(x1,y1),(x2,y2),…,(xn,yn),其中,n>=3, (x1,y1)和(xn,yn)为首末点,当y1≠yn时,求解使值最小的x0,y0值,其中,;当时,求解使值最小的y0, 同时,;所得到的值(x0,y0)即为最佳圆弧的圆心点,圆弧半径即为(x0,y0)到(x1,y1)的距离,该圆弧初始角为(x0,y0)到(x1,y1)的角度,跨越角为弧段(x1,y1)到(xn,yn)的角度,覆盖的海岸点集即为(x1,y1),(x2,y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的最大距离。
上述步骤(3)中顺接圆弧计算方法为:根据前一段圆弧ArcLast及ArcLast最后覆盖海岸点起至少3个紧邻海岸点进行计算,这些海岸点表示如下:(x1,y1),(x2,y2),…,(xn,yn),n≥3,其中(x1,y1)即为ArcLast所覆盖的最后一个海岸点;ArcLast圆心和弧段末点所在直线为La,点(x1,y1)和点(xn,yn)的中垂线为Lb;若La和Lb平行,则无法计算圆弧,否则,La和Lb的交点(x0,y0)即为顺接圆弧的圆心,圆弧半径即为(x0,y0)到(x1,y1)的距离,该圆弧初始角为(x0,y0)到(x1,y1)的角度,跨越角为弧段(x1,y1)到(xn,yn)的角度,覆盖的海岸点集即为(x1,y1),(x2,y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的最大距离。
上述步骤(4)中,优选三次样条曲线进行分段圆弧之间的连接,本实施例中圆弧分段连接的样条曲线数量为48;样条曲线连接的具体方法为:所有样条曲线用样条曲线集来描述,样条曲线集记录曲线数和曲线列表,曲线列表中每个三次样条曲线包含坐标平移量、坐标旋转角度、起点、终点、起点斜率、终点斜率、三次样条曲线系数一、三次样条曲线系数二; 样条曲线连接的具体过程如下: ①置三次样条曲线集SP为空,从分段拟合圆弧集ArcDest依次取出2个圆弧段Arc1,Arc2,记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe; ②若Ps≠Pe,转至③,否则,若ArcDest中无剩余圆弧,则结束,若ArcDest中有剩余圆弧,将Arc2赋值给Arc1,从ArcDest中继续取1个圆弧段存入Arc2,同时记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe,重复②; ③判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件;若满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,并转入④,否则,设Arc1的覆盖点集中的点数为N,转入⑤; ④如果ArcDest中无剩余圆弧,则结束,如果ArcDest中有未取的圆弧,则继续依次取出2个圆弧段存入Arc1、Arc2,记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe,转入②; ⑤若N≥3,取Arc1的覆盖点集中的第N-1个点放入Ps,N=N-1,判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若满足则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arc1的覆盖点集为前N个点,更改Arc1的弧段末点为第N个点,用改后的Arc1更新ArcDest中对应的弧段,转入④;否则,若 N≥3,重复⑤,若N<3,设Arc2的覆盖点集中的点数为M,置N=1,转入⑥; ⑥若N≤M-2,取Arc2的覆盖点集中的第N+1个点放入Pe,N=N+1,判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arc2的覆盖点集为后M-N+1个点,更改Arc2的弧段起点为第N个点,用改后的Arc2更新ArcDest中对应的弧段,并转入④;否则,若 N≤M-2,转入⑥,若N>M-2,则转入⑦; ⑦如果ArcDest中有未取的圆弧,则继续取圆弧放入Arc2中,将Arc2的最初覆盖点放入Pe,转入③;如果ArcDest中无未取的圆弧,则结束。
在上述样条曲线连接过程中需要进行样条拟合条件判定,判断是否存在三次样条曲线能够平滑连接前后圆弧:输入两个端点P1,P2和两个导线方向角度A1,A2(0°~360°,含0°),以A1方向为Y轴正向,P1为原点建立新坐标,计算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轴坐标值相等,则不满足拟合条件返回“否”;除此以外,返回“是”。
由图2可以看出,本发明提供的平滑绘制海岸线的方法,确实能够绘制出连续、平滑表达的海岸线,图中极值、转折点较小,曲线更为连续和平滑。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明, 不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下, 还可以做出若干简单推演或替代, 都应当视为属于本发明的保护范围。
Claims (7)
1.一种平滑海岸线的绘制方法,其特征在于,包括以下步骤:
(1)首先收集海岸点;
(2)预处理海岸点:将收集的海岸点集P进行归集得到海岸点集Q;具体归集方法为:根据D值,按顺序遍历海岸线点集P;根据海岸空间数据分析的需要,确定海岸线的拟合精度,即实际距离中允许的最大偏离值D,其中D的单位是千米,其在不同地区经纬度坐标系中每1单位的经度或纬度表示的实际距离不同:
①初始时,遍历索引i=1,当前点pn为空,权值W=0;点集Q为空,数量为N=0;
②对每一个遍历点P(i),当前点pn=P(i),W=1;
③如果P(i+1)与P距离小于D*0.75,则pn=(pn*W+P(i+1))/(W+1),W=W+1,i=i+1;
④循环进行③步骤直至遍历结束或P(i+1)与P(i)距离大于D*0.75,当遍历结束或P(i+1)与P(i)距离大于D*0.75时,处理集数量N=N+1,Q(N)=pn;
⑤i=i+1,转至②直至遍历结束;
⑥预处理完毕,Q即为预处理后的海岸点集;
(3)对步骤(2)处理得到的海岸点集Q进行分段圆弧拟合:在分段圆弧拟合过程中进行最佳圆弧计算和顺接圆弧计算,圆弧集包含圆弧数和圆弧列表,圆弧列表中的每个圆弧包含圆心、半径、初始角、跨越角、覆盖的海岸点;分段圆弧拟合的整个流程如下:
①置最佳圆弧ArcBest为空,覆盖点集Parc为空,拟合圆弧集ArcDest为空,海岸点计数Index=1,点集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的覆盖点集为Parc,ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-1,清空Parc、ArcBest和R,转至⑥;若ArcBest为空且Q中从不含第Index海岸点之后剩余海岸点数<3,且不包括该第Index海岸点,则结束;
⑥在Q中的第Index个海岸点起取3个点顺序放入R中;
⑦从圆弧集ArcDest中取最新一个圆弧ArcLast,根据ArcLast和R进行顺接圆弧计算得到最佳顺接圆弧ArcNext及其对应的最大偏差B,如果B≤D,转入⑧,如果B>D,转入⑨;
⑧ArcBest=ArcNext,Parc=R,如果Q中有剩余海岸点,从Q中继续顺序取海岸点放入R中,并转至⑦,如果Q中无剩余海岸点,则结束;
⑨如果ArcBest为空且Q中从第Index海岸点之后剩余海岸点数≥3,且不包括该第Index海岸点,Index值加1,转至②;如果ArcBest不为空,置ArcBest的覆盖点集为Parc,ArcBest添加至拟合圆弧集ArcDest,记Parc中的点数为N,Index值增加N-1,清空Parc、ArcBest和R,转至⑥;
⑩如果Q中从第Index海岸点之后剩余海岸点数≥3,且不包括该第Index海岸点,Index值加1,转至②;否则,结束;
(4)将上述得到的分段圆弧海岸段利用样条曲线进行平滑连接;
(5)将得到的海岸线进行计算机绘制和制图输出。
2.如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(1)中具体收集海岸点的方法为:根据D值,选取海岸点数据精度高于D的电子海图,并从电子海图中提取出海岸线中的点数据集P。
3.如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(3)中为保证拟合精度,每段圆弧拟合不少于3个离散海岸点。
4.如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(3)中,所述最佳圆弧的具体设计方法为:对给定一组点的最佳圆弧按以下方法求解,设点集为(x1,y1),(x2,y2),…,(xn,yn),其中,n>=3,(x1,y1)和(xn,yn)为首末点,当y1≠yn时,求解使值最小的x0,y0值,其中y=kx+b,当y1=yn时,求解使值最小的y0,同时,所得到的值(x0,y0)即为最佳圆弧的圆心点,圆弧半径即为(x0,y0)到(x1,y1)的距离,该圆弧初始角为(x0,y0)到(x1,y1)的角度,跨越角为弧段(x1,y1)到(xn,yn)的角度,覆盖的海岸点集即为(x1,y1),(x2,y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的最大距离。
5.如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(3)中顺接圆弧计算方法为:根据前一段圆弧ArcLast及ArcLast最后覆盖海岸点起至少3个紧邻海岸点进行计算,这些海岸点表示如下:(x1,y1),(x2,y2),…,(xn,yn),n≥3,其中(x1,y1)即为ArcLast所覆盖的最后一个海岸点;ArcLast圆心和弧段末点所在直线为La,点(x1,y1)和点(xn,yn)的中垂线为Lb;若La和Lb平行,则无法计算圆弧,否则,La和Lb的交点(x0,y0)即为顺接圆弧的圆心,圆弧半径即为(x0,y0)到(x1,y1)的距离,该圆弧初始角为(x0,y0)到(x1,y1)的角度,跨越角为弧段(x1,y1)到(xn,yn)的角度,覆盖的海岸点集即为(x1,y1),(x2,y2),…,(xn,yn),最大偏差即为所覆盖的海岸点到圆弧的最大距离。
6.如权利要求1所述的平滑海岸线的绘制方法,其特征在于,上述步骤(4)中,通过三次样条曲线进行分段圆弧之间的连接,其具体连接方法为:所有样条曲线用样条曲线集来描述,样条曲线集记录曲线数和曲线列表,曲线列表中每个三次样条曲线包含坐标平移量、坐标旋转角度、起点、终点、起点斜率、终点斜率、三次样条曲线系数一、三次样条曲线系数二;样条曲线连接的具体过程如下:
①置三次样条曲线集SP为空,从分段拟合圆弧集ArcDest依次取出2个圆弧段Arc1,Arc2,记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe;
②若Ps≠Pe,转至③,否则,若ArcDest中无剩余圆弧,则结束,若ArcDest中有剩余圆弧,将Arc2赋值给Arc1,从ArcDest中继续取1个圆弧段存入Arc2,同时记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe,重复②;
③判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件;若满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,并转入④,否则,设Arc1的覆盖点集中的点数为N,转入⑤;
④如果ArcDest中无剩余圆弧,则结束,如果ArcDest中有未取的圆弧,则继续依次取出2个圆弧段存入Arc1、Arc2,记Arc1的最后覆盖点为Ps,Arc2的最初覆盖点为Pe,转入②;
⑤若N≥3,取Arc1的覆盖点集中的第N-1个点放入Ps,N=N-1,判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若满足则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arc1的覆盖点集为前N个点,更改Arc1的弧段末点为第N个点,用改后的Arc1更新ArcDest中对应的弧段,转入④;否则,若N≥3,重复⑤,若N<3,设Arc2的覆盖点集中的点数为M,置N=1,转入⑥;
⑥若N≤M-2,取Arc2的覆盖点集中的第N+1个点放入Pe,N=N+1,判断Ps和Pe及Arc1在Ps处的切线方向角度A1、Arc2在Pe处的切线方向角度A2是否满足三次样条曲线拟合条件,若满足,则进行三次样条曲线拟合,将得到的曲线S存入三次样条曲线集SP中,更改Arc2的覆盖点集为后M-N+1个点,更改Arc2的弧段起点为第N个点,用改后的Arc2更新ArcDest中对应的弧段,并转入④;否则,若N≤M-2,转入⑥,若N>M-2,则转入⑦;
⑦如果ArcDest中有未取的圆弧,则继续取圆弧放入Arc2中,将Arc2的最初覆盖点放入Pe,转入③;如果ArcDest中无未取的圆弧,则结束。
7.如权利要求6所述的平滑海岸线的绘制方法,其特征在于,在上述样条曲线连接过程中需要进行样条拟合条件判定,判断是否存在三次样条曲线能够平滑连接前后圆弧:输入两个端点P1,P2和两个导线方向角度A1,A2,A2范围为0°~360°,且含0°,以A1方向为Y轴正向,P1为原点建立新坐标,计算P2在新坐标系中的横向坐标x2,计算A2在新坐标系中的角度并用新角度更新A2,A2的范围为-90°~270°,且含-90°,若x2>0,即始点在末点左侧,若A2≤A1,即A2≤90°,则不满足拟合条件,返回“否”;若x2<0,即始点在末点右侧,若A2≥A1,即A2≥90°,则不满足拟合条件,返回“否”;若x2=0,即始末点在X轴坐标值相等,则不满足拟合条件返回“否”;除此以外,返回“是”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610352411.6A CN106023283B (zh) | 2016-05-25 | 2016-05-25 | 一种平滑海岸线的绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610352411.6A CN106023283B (zh) | 2016-05-25 | 2016-05-25 | 一种平滑海岸线的绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106023283A CN106023283A (zh) | 2016-10-12 |
CN106023283B true CN106023283B (zh) | 2018-12-25 |
Family
ID=57093376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610352411.6A Active CN106023283B (zh) | 2016-05-25 | 2016-05-25 | 一种平滑海岸线的绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106023283B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492372B (zh) * | 2018-01-15 | 2020-04-03 | 哈尔滨工业大学(威海) | 一种b样条曲面的形状编辑方法 |
CN108898645A (zh) * | 2018-04-12 | 2018-11-27 | 北京趣拿软件科技有限公司 | 商圈绘制方法和装置 |
CN111428324B (zh) * | 2020-04-23 | 2023-09-26 | 上海普适导航科技股份有限公司 | 一种不规则河道切分方法及系统 |
CN115511390B (zh) * | 2022-11-14 | 2023-06-27 | 南方科技大学 | 一种沿海沿江脆弱性评估方法、系统、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988002153A1 (en) * | 1986-09-10 | 1988-03-24 | Fanuc Ltd | Curve producing method |
CN101140460A (zh) * | 2006-09-06 | 2008-03-12 | 北京数码大方科技有限公司 | 用于驱动数控机床进行空间圆弧插补加工的方法和装置 |
CN102968524A (zh) * | 2012-11-06 | 2013-03-13 | 西北工业大学 | 一种二维变曲率型材零件工艺模型的建模方法 |
CN103455674A (zh) * | 2013-08-31 | 2013-12-18 | 西北工业大学 | 一种拓扑优化结果的几何重构方法 |
CN104268330A (zh) * | 2014-09-19 | 2015-01-07 | 华南理工大学 | 一种复杂曲线的Bezier拟合方法 |
-
2016
- 2016-05-25 CN CN201610352411.6A patent/CN106023283B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988002153A1 (en) * | 1986-09-10 | 1988-03-24 | Fanuc Ltd | Curve producing method |
CN101140460A (zh) * | 2006-09-06 | 2008-03-12 | 北京数码大方科技有限公司 | 用于驱动数控机床进行空间圆弧插补加工的方法和装置 |
CN102968524A (zh) * | 2012-11-06 | 2013-03-13 | 西北工业大学 | 一种二维变曲率型材零件工艺模型的建模方法 |
CN103455674A (zh) * | 2013-08-31 | 2013-12-18 | 西北工业大学 | 一种拓扑优化结果的几何重构方法 |
CN104268330A (zh) * | 2014-09-19 | 2015-01-07 | 华南理工大学 | 一种复杂曲线的Bezier拟合方法 |
Non-Patent Citations (6)
Title |
---|
Dynamics based Trajectory Segmentation for UAV videos;Prithviraj Banerjee等;《Advanced Video and Signal Based Surveillance (AVSS), 2010 Seventh IEEE International Conference on》;20101007;全文 * |
FITTING DIGITAL CURVE USING CIRCULAR ARCS;SOO-CHANG PEI等;《Pattern Recognition》;19950131;第28卷(第1期);全文 * |
Generalities on Static Equilibrium Bays;J.R.C. HSU;《Coastal Engineering》;19890131;第12卷(第4期);全文 * |
Numerical methods for approximating digitized curves by piecewise circular arcs;Shi-Nine Yang等;《Journal of Computational and Applied Mathematics》;19960131;第66卷(第1-2期);全文 * |
基于最小均方误差的圆弧分段曲线拟合方法;涂嘉文等;《计算机应用》;20010331;第21卷(第3期);全文 * |
最佳一致性逼近及容差平滑圆弧拟合平面点列;肖涤尘;《重庆大学学报》;19890531;第12卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106023283A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106023283B (zh) | 一种平滑海岸线的绘制方法 | |
CN110263866A (zh) | 一种基于深度学习的电力用户负荷区间预测方法 | |
Sueyoshi et al. | Exploring sources of China's CO2 emission: decomposition analysis under different technology changes | |
CN102609898B (zh) | 一种顾及地理特征的溺谷海岸线化简方法 | |
CN110807134A (zh) | 一种海洋三维标量场可视化方法 | |
CN110222911A (zh) | 一种卫星遥感与地面数据协同的雨量站网优化布局方法 | |
CN108389243A (zh) | 一种矢量线要素多尺度Bézier曲线分段拟合方法 | |
CN103854068A (zh) | 一种居民小区短期负荷预测方法 | |
CN109671070A (zh) | 一种基于特征加权和特征相关性融合的目标检测方法 | |
CN103699809B (zh) | 一种基于克里金插值方程的水土流失空间监测方法 | |
CN113901085A (zh) | 一种船舶轨迹动态绘制方法及系统 | |
CN102521624A (zh) | 一种土地利用类型分类的方法和系统 | |
CN104572924A (zh) | 用于gis矢量建筑物多边形的多尺度表达信息生成方法 | |
CN113505189A (zh) | 一种基于多层级全球格网的面状目标栅格化方法 | |
CN109884734A (zh) | 一种基于相似离度的海水温度相似预报方法 | |
CN108846845A (zh) | 基于缩略图与分层模糊聚类的sar图像分割方法 | |
CN106097408A (zh) | 一种海岸线要素连续多尺度表达方法及系统 | |
CN110909949A (zh) | 基于聚类-回归算法的近岸海域叶绿素a浓度预测方法 | |
CN105718600A (zh) | 一种异构数据集特征质量可视化方法 | |
CN109583503A (zh) | 一种可中断负荷预测方法 | |
CN108805034A (zh) | 一种基于概率几何特征的指纹特征相似度评价方法 | |
CN116403007A (zh) | 基于目标向量的遥感影像变化检测方法 | |
CN115439864A (zh) | 水表读数识别方法、系统、计算机设备及存储介质 | |
CN108491482B (zh) | 一种顾及邻近度关系的地质图动态综合方法及系统 | |
CN113344410B (zh) | 配电网节能改造多维评估方法、系统、终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |