路线防护区边界的计算方法与流程

文档序号:16068309发布日期:2018-11-24 12:53阅读:276来源:国知局

本发明属于路线防护区技术领域,具体涉及一种路线防护区边界的计算方法。

背景技术

目前基于gps路线的缓冲区计算方法基本都是采用arcgis软件提供的相应缓冲区计算方法,但由于arcgis软件未提供动态路线的缓冲区获取接口,很大程度上限制其应用场景。人行进路线需在不同的距离范围设置安全防护及警力部署,同时还需对路线一定距离范围内的要素进行关联分析比对,计算危险指数及防护等级,这就需要有一种算法能够根据客户设置的路线及防护距离计算出缓冲区边界点集合的方法。几何角度上看,所有的路线都可以简化成若干条线段的集合,根据数据几何原理,基本上可以满足简单的线性路线进行防护区域的边界点的计算,但对于复杂的弯曲的路线,采用以上的方法无法满足需求。由此可见,发明一种可实现任何路线计算的路线防护区边界的计算方法是亟待解决的生产问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种路线防护区边界的计算方法,主要根据路线的gps点集合和防护距离计算出防护区域的边界点集合。

为实现上述目的,本发明提供一种路线防护区边界的计算方法,所述方法用于通过预设的防护距离计算出路线的防护区边界线的坐标点集合,所述路线由位于路线上的起点l1、转折点l2-ln-1和终点ln连接而成,具体包括以下步骤:s1:计算所述路线的所述起点l1的半圆防护区边界线的坐标点集合;s2:计算所述路线的各个所述转折点l2-ln-1的防护区边界线的坐标点集合;s3:计算所述路线的所述终点ln的半圆防护区边界线的坐标点集合;s4:合并所述路线的所述起点l1、所述转折点l2-ln-1和所述终点ln的防护区边界线的坐标点集合,形成所述路线的防护区边界线;s5:计算所述路线的防护区边界线的交叉点;s6:过滤所述路线的防护区边界线内的无效点;以及s7:得出所述路线的最终的防护区边界线。本发明的路线防护区边界的计算方法通过分别计算并合并起点、转折点和终点的防护区边界线的坐标点集合,得出防护区边界,然后过滤掉该防护区边界线内的无效点,从而最终得出路线的防护区边界,计算方法简单方便,科学合理,可以针对任何路线计算其防护区边界。

优选的,所述s1的步骤具体包括:s11:根据点l1、l2的坐标,计算线l1l2的方位角a1;s12:根据线l1l2的所述方位角a1,计算垂直于线l1l2的方位角b1;s13:根据所述方位角b1及所述防护距离,每隔一定角度建立一个坐标点,计算出所述起点l1的半圆防护区边界线的坐标点集合。通过计算线l1l2方位角a1和垂直于线l1l2的方位角b1,并根据预设的防护距离,可以确定起点l1的防护区边界线的坐标点集合,这些坐标点集合连接后会形成半圆的形状,便为起点l1的防护区边界线。

优选的,所述s2的步骤具体包括:s21:根据形成所述转折点l2-ln-1的其中一个转折点的两个路段的方位角,计算出垂直于所述两个路段的四个方位角;s22:根据所述四个方位角、所述其中一个转折点的坐标及防护距离,计算出所述两个路段的防护区边界线的坐标点集合;s23:计算出所述两个路段的方位角差值;s24:根据所述方位角差值及防护距离,计算出所述其中一个转折点的扇形防护区边界线的坐标点集合;s25:针对所述转折点l2-ln-1中的其余转折点执行步骤s21-s24;s26:合并所有路段和所有转折点的防护区边界线的坐标点集合。计算路线的各个转折点l2-ln-1的防护区边界线的坐标点集合的时候,分别计算所有路段l1l2、l2l3……ln-1ln的防护区边界线的坐标点集合,和所有转折点l2、l3……ln-1的路线防护区边界线的坐标点集合,最后,合并所有路段和所有转折点的路线防护区边界线的坐标点集合,从而得到中间路段及转折点的防护区边界线的坐标点集合。

优选的,所述s3的步骤具体包括:s31:根据点ln-1、ln的坐标,计算线ln-1ln的方位角an;s32:根据线ln-1ln的所述方位角an,计算垂直于线ln-1ln的方位角bn;s33:根据所述方位角bn及所述防护距离,每隔一定角度建立一个坐标点,计算出所述终点ln的半圆防护区边界线的坐标点集合。终点ln的半圆防护区边界线的坐标点集合的计算方法和起点l1一样。

优选的,所述s5的步骤具体包括:s51:将合并后的所述路线的防护区边界线的坐标点集合按顺序相邻两点列为一条线段,形成线集合;s52:将线集合中的线段两两比较,若有交叉,则将交叉点的坐标信息增加到所述路线的防护区边界线的坐标点集合中;s53:将线集合中的所有线段两两交叉比较完成后,形成新的所述路线的防护区边界线的坐标点集合。通过s3-s4的计算步骤,可以计算出路线防护区边界线的坐标点集合,但这个点集合内所有点的连线会出现交叉的情况,本环节需将区域边界的点集合内点的连线计算出交叉点,并将交叉点坐标加入到原坐标点集合中,形成新的坐标点集合,可以进一步扩大原有的坐标点集合,便于进一步做比较。

优选的,所述s6的步骤具体包括:将所述s5步骤所形成的新的所述路线的防护区边界线的坐标点集合中的所有的点与所述s4步骤所形成的所述路线的防护区边界线的区域进行比较,若所述所有的点中的点的坐标在所述防护区边界线上,则所述所有的点中的点的该坐标有效,若所述所有的点中的点的坐标不在所述防护区边界线上,则所述所有的点中的点的该坐标无效。通过将s5步骤增加进来的点与原有的防护区边界线区域进行比较,可以过滤掉无效点,保留有效点,形成最终的防护区边界线。

优选的,所述角度为1度,所述起点l1的半圆防护区边界线为181个坐标点连接而成的半圆型弧线。角度可以设定为任意值,1度是个合理的值,便于进行统计。

优选的,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序当被计算机执行时,实施如上文所述的方法。

附图说明

图1是本发明的路线防护区边界的计算方法的流程示意图;

图2是本发明的路线防护区边界的计算方法的s1步骤的流程示意图;

图3是本发明的路线防护区边界的计算方法的防护区边界示意图;

图4是本发明的路线防护区边界的计算方法的s2步骤的流程示意图;

图5是本发明的路线防护区边界的计算方法的s3步骤的流程示意图;

图6是本发明的路线防护区边界的计算方法的s5步骤的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

图1示出了本发明的路线防护区边界的计算方法的流程示意图,本发明提出了一种路线防护区边界的计算方法,所述方法用于通过预设的防护距离计算出路线的防护区边界线的坐标点集合,所述路线由位于路线上的起点l1、转折点l2-ln-1和终点ln连接而成,具体包括以下步骤:s1:计算所述路线的所述起点l1的半圆防护区边界线的坐标点集合;s2:计算所述路线的各个所述转折点l2-ln-1的防护区边界线的坐标点集合;s3:计算所述路线的所述终点ln的半圆防护区边界线的坐标点集合;s4:合并所述路线的所述起点l1、所述转折点l2-ln-1和所述终点ln的防护区边界线的坐标点集合,形成所述路线的防护区边界线;s5:计算所述路线的防护区边界线的交叉点;s6:过滤所述路线的防护区边界线内的无效点;以及s7:得出所述路线的最终的防护区边界线。本发明的路线防护区边界的计算方法通过分别计算并合并起点、转折点和终点的防护区边界线的坐标点集合,得出防护区边界,然后过滤掉该防护区边界线内的无效点,从而最终得出路线的防护区边界,计算方法简单方便,科学合理,可以针对任何路线计算其防护区边界。

图2示出了本发明的路线防护区边界的计算方法的s1步骤的流程示意图,图3示出了防护区边界示意图。s1的步骤具体包括:s11:根据点l1、l2的坐标,计算线l1l2的方位角a1;s12:根据线l1l2的所述方位角a1,计算垂直于线l1l2的方位角b1,b1的计算方法是在a1的基础上加或者减去90度;s13:根据所述方位角b1及所述防护距离s,每隔一定角度建立一个坐标点,计算出所述起点l1的半圆防护区边界线的坐标点集合。所述角度可以设定为任意值,该角度可以为1度,这时起点l1的半圆防护区边界线便为181个坐标点连接而成的半圆型弧线ai。通过计算线l1l2方位角a1和垂直于线l1l2的方位角b1,并根据预设的防护距离,可以确定起点l1的防护区边界线的坐标点集合,这些坐标点集合连接后会形成半圆的形状ai,便为起点l1的防护区边界线。在本发明的具体实施例中,已知点l1(x1,y1)、l2(x2,y2)的坐标,以下为方位角a1的计算过程。其中,rc为赤道半径,rj为极半径,lo1为点l1的经度弧度,lo2为点l2的经度弧度,la1为点l1的纬度弧度,la2为点l2的纬度弧度,ec为点l1相对地心半径,ed为点l1投射赤道面至地心的距离,dx为经度差圆弧数,dy为纬度差圆弧数。

rc==6378137

rj=6356725

ed=ec×cos(la1)

dx=(lo2-lo1)×ed

dy=(la2-la1)×ec

图4示出了本发明的路线防护区边界的计算方法的s2步骤的流程示意图,所述s2的步骤具体包括:s21:根据形成所述转折点l2-ln-1的其中一个转折点的两个路段的方位角,计算出垂直于所述两个路段的四个方位角;s22:根据所述四个方位角、所述其中一个转折点的坐标及防护距离,计算出所述两个路段的防护区边界线的坐标点集合;s23:计算出所述两个路段的方位角差值;s24:根据所述方位角差值及防护距离,计算出所述其中一个转折点的扇形防护区边界线的坐标点集合;s25:针对所述转折点l2-ln-1中的其余转折点执行步骤s21-s24;s26:合并所有路段和所有转折点的防护区边界线的坐标点集合。计算路线的各个转折点l2-ln-1的防护区边界线的坐标点集合的时候,分别计算所有路段l1l2、l2l3……ln-1ln的防护区边界线的坐标点集合,和所有转折点l2、l3……ln-1的路线防护区边界线的坐标点集合,最后,合并所有路段和所有转折点的路线防护区边界线的坐标点集合,从而得到中间路段及转折点的防护区边界线的坐标点集合。如图3所示,计算转折点l2的防护区边界线的坐标点集合,首先计算垂直于路段l1-l2和路段l2-l3的四个方位角,并根据这四个方位角、l2的坐标和防护距离s计算出路段l1l2和路段l2l3的防护区边界线的坐标点集合,也即ac、bd、gf和ih上的坐标点集合,然后计算路段l1l2和路段l2l3的方位角差值r,根据r和防护距离s,计算出l2的扇形防护区边界线hg的坐标点集合,合并ac、bd、gf、ih和hg上的坐标点集合。

图5示出了本发明的路线防护区边界的计算方法的s3步骤的流程示意图,所述s3的步骤具体包括:s31:根据点ln-1、ln的坐标,计算线ln-1ln的方位角an;s32:根据线ln-1ln的所述方位角an,计算垂直于线ln-1ln的方位角bn;s33:根据所述方位角bn及所述防护距离,每隔一定角度建立一个坐标点,计算出所述终点ln的半圆防护区边界线的坐标点集合。终点ln的半圆防护区边界线的坐标点集合的计算方法和起点l1一样,如图3所示,假设l3为终点,则l3的半圆防护区边界线为半圆df。

图6示出了本发明的路线防护区边界的计算方法的s5步骤的流程示意图,所述s5的步骤具体包括:s51:将合并后的所述路线的防护区边界线的坐标点集合按顺序相邻两点列为一条线段,形成线集合;s52:将线集合中的线段两两比较,若有交叉,则将交叉点的坐标信息增加到所述路线的防护区边界线的坐标点集合中;s53:将线集合中的所有线段两两交叉比较完成后,形成新的所述路线的防护区边界线的坐标点集合。通过s3-s4的计算步骤,可以计算出路线防护区边界线的坐标点集合,但这个点集合内所有点的连线会出现交叉的情况,本环节需将区域边界的点集合内点的连线计算出交叉点,并将交叉点坐标加入到原坐标点集合中,形成新的坐标点集合,可以进一步扩大原有的坐标点集合,便于进一步做比较。在本发明的具体的实施例中,已知线ab[(xa,ya),(xb,yb)]、线cd[(xc,yc),(xd,yd)],计算交叉点p(xp,yp),计算方法如下:

根据本发明的进一步实施例,所述s6的步骤具体包括:将所述s5步骤所形成的新的所述路线的防护区边界线的坐标点集合中的所有的点与所述s4步骤所形成的所述路线的防护区边界线的区域进行比较,若所述所有的点中的点的坐标在所述防护区边界线上,则所述所有的点中的点的该坐标有效,若所述所有的点中的点的坐标不在所述防护区边界线上,则所述所有的点中的点的该坐标无效。通过将s5步骤增加进来的点与原有的防护区边界线区域进行比较,可以过滤掉无效点,保留有效点,形成最终的防护区边界线。如图3所示,b、c点坐标位于区域内,则b、c点为无效坐标点,去除b、c点后,原线abcd则变为新的线aed。直至所有无效坐标点去除完毕后,形成最后有效的防护区边界线的坐标点集合。

根据本发明的再进一步实施例,已知点a(xa,ya),根据点b据点a的距离d,和方位角a,求b点的坐标(xb,yb),计算方法如下。其中,rc为赤道半径,rj为极半径,la为点a的纬度弧度,ec为点a相对地心半径,ed为点a1投射赤道面至地心的距离,dx为根据距离d换算经线差数,dy为根据距离d换算纬线差数。

rc=6378137

rj=6356725

ed=ec×cos(la)

根据本发明的再进一步实施例,已知两点坐标a(xa,ya),b(xb,yb),求a、b两点间的距离l,计算方法如下。其中,rc为赤道半径,r1为a点纬度弧度值,r2为b点纬度弧度值,a为ab点纬度弧度差值,b为ab点纬度角度差值。

rc=6378137

a=r1-r2

根据本发明的再进一步实施例,求第三点p(xp,yp)到线段ab[(xa,ya),(xb,yb)]的最短距离lm,根据上文所述的方法,分别求出线pa、pb、ab的距离l1、l2、l3,然后计算出三点连线的周长l和三点组成的三角形的面积s,进一步求出最短距离lm,具体计算步骤为:

本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序当被计算机执行时,实施如上文所述的方法。

由此可见,本发明的路线防护区边界的计算方法设计合理,通过分别计算并合并起点、转折点和终点的防护区边界线的坐标点集合,得出防护区边界,然后过滤掉该防护区边界线内的无效点,从而最终得出路线的防护区边界,计算方法简单方便,能够计算出任意路线的防护区边界,具有良好的推广使用价值。

显然,本领域技术人员在不偏离本发明的精神和范围的情况下可以作出对本发明的实施例的各种修改和改变。以该方式,如果这些修改和改变处于本发明的权利要求及其等同形式的范围内,则本发明还旨在涵盖这些修改和改变。词语“包括”不排除未在权利要求中列出的其它元件或步骤的存在。某些措施记载在相互不同的从属权利要求中的简单事实不表明这些措施的组合不能被用于获利。权利要求中的任何附图标记不应当被认为限制范围。

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