一种线路里程标转换为经纬度坐标的方法及装置与流程

文档序号:23507371发布日期:2021-01-01 18:17阅读:777来源:国知局
一种线路里程标转换为经纬度坐标的方法及装置与流程
本发明涉及一种线路里程标转换为经纬度坐标的方法、装置及存储介质,属于轨道交通
技术领域

背景技术
:铁路部门通常用里程标定位铁路线路上的某一点(如京沪线k233+800,即距离京沪线起点233800米的地点),在一些业务系统中,相关工作人员需要在gis地图上定位到某一个里程标的位置,因此需要实现一维的里程标与二维的经纬度坐标进行转换。现有的里程标与经纬度的转换,一般是通过机车等交通工具采集固定点位的经纬度坐标,并记录对应的里程标,形成一组对应的数据进行记录,供使用时查询转换。其核心方法是查表法,即根据所输入里程标从预先产生的数据中查找对应经纬度坐标。其不足之处在于:通过机车跑完全部线路才能采集到完整数据,人力和设备成本非常高,尤其是铁路线路,因线路较多且数据采集时间也不易协调更是导致实施方法成本骤增;另外,所采集到经纬度坐标仅为固定点数据,对应任意里程标的换算仍需采用其他近似方式获取,没有可以直接转换的方式或公式导致转换结果精度不高;由于行业封闭的特性,业内多年来一直沿用前述方法,导致从一维的里程标到二维的经纬度坐标的转换一直是行业难点,目前尚无有效的解决手段。公开于该
背景技术
部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域普通技术人员所公知的现有技术。技术实现要素:本发明的目的在于克服现有技术中的不足,提供一种线路里程标转换为经纬度坐标的方法及装置,解决现有技术中将线路里程标转换为经纬度坐标成本高、难度大、精度不高的技术问题。为达到上述目的,本发明是采用下述技术方案实现的:第一方面,本发明提供一种线路里程标转换为经纬度坐标的方法,所述方法包括如下步骤:将给定里程标所属线路从起点至终点顺次分割为若干直线段;确定给定里程标对应地点所归属的直线段,查询所归属直线段两端点的经纬度坐标;根据所归属直线段两端点的经纬度坐标计算与给定里程标对应地点的墨卡托投影坐标;将给定里程标对应地点的墨卡托投影坐标转换成经纬度坐标。进一步地,确定给定里程标所归属直线段的方法包括:根据给定里程标确定给定里程标对应地点与所归属线路起点的距离hgd-xl;以所归属线路起点为零点,顺次叠加直线段长度,每叠加一次,便将叠加值与hgd-xl进行一次比较,直至叠加值大于hgd-xl;将最后叠加的直线段确定为给定里程标所归属直线段。进一步地,计算与给定里程标对应地点的墨卡托投影坐标的方法包括如下步骤:将所归属直线段两端点的经纬度坐标转换为墨卡托投影坐标;根据所归属直线段两端点的墨卡托投影坐标确定所归属直线段的直线方程;计算给定里程标对应地点与所归属直线段起点的距离hgd-zx;根据所确定的直线方程及hgd-zx计算给定里程标对应地点的墨卡托投影坐标。进一步地,所归属直线段两端点的经纬度坐标通过gps设备或利用免费电子地图的坐标拾取功能沿所归属线路采集获取。第二方面,本发明提供一种线路里程标转换为经纬度坐标的装置,所述装置包括:分割模块:用于将给定里程标所属线路从起点至终点顺次分割为若干直线段;确定模块:用于确定给定里程标对应地点所归属的直线段;查询模块:用于查询所归属直线段两端点的经纬度坐标;计算模块:用于根据所归属直线段两端点的经纬度坐标计算与给定里程标对应地点的墨卡托投影坐标;转换模块:用于将给定里程标对应地点的墨卡托投影坐标转换成经纬度坐标。进一步地,所述确定模块包括:第一确定子模块:用于根据给定里程标确定给定里程标对应地点与所归属线路起点的距离hgd-xl;叠加模块:用于以所归属线路起点为零点,顺次叠加直线段长度;比较模块:用于每叠加一次,将叠加模块输出的叠加值与hgd-xl进行一次比较,直至叠加值大于hgd-xl;第二确定子模块:用于将最后叠加的直线段确定为给定里程标所归属直线段。进一步地,所述计算模块包括:第一转换子模块:用于将所归属直线段两端点的经纬度坐标转换为墨卡托投影坐标;第三确定子模块:用于根据所归属直线段两端点的墨卡托投影坐标确定所归属直线段的直线方程;第二计算子模块:用于计算给定里程标对应地点与所归属直线段起点的距离hgd-zx;第三计算子模块:用于根据所确定的直线方程及hgd-zx计算与给定里程标对应地点的墨卡托投影坐标。第三方面,本发明提供一种线路里程标转换为经纬度坐标的装置,包括处理器及存储介质;所述存储介质用于存储指令;所述处理器用于根据所述指令进行操作以执行第一方面任一项所述方法的步骤。第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述方法的步骤。与现有技术相比,本发明所达到的有益效果是:将线路分割为若干直线段,仅需采集直线段两端点的经纬度坐标,采集数据量明显减少,能够显著降低数据采集成本;对于任意给定里程标,均能够根据给定里程标对应地点与所归属直线段起点的距离及所归属直线段的直线方程计算获取,计算精度高。附图说明图1是本发明实施例提供的将铁路线路分割为直线段的示意图;图2是本发明实施例提供的计算与给定里程标对应地点的墨卡托投影坐标的原理图。具体实施方式下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。实施例一:本发明实施例提供了一种线路里程标转换为经纬度坐标的方法,所述方法包括如下步骤:步骤一:根据给定里程标确定其所属线路;根据给定里程标可以确定对应地点所在位置,例如:给定里程标为京沪线k233+800,即距离京沪线起点233800米的地点。步骤二:将给定里程标所属线路从起点至终点顺次分割为若干直线段;如图1所示,是本发明实施例提供的将铁路线路分割为直线段的示意图。根据图1可以看出,弯道处分割点更为密集,以确保相邻两分割点之间的连线为直线或近似直线。相邻直线段之间的连接点(即分割点)均标注经纬度坐标,该经纬度坐标可以通过gps沿铁路线路采集获取,也可以通过其他方式获取,按照铁路线路从起点(k0+0)开始的顺序保存到数据组中。在本发明实施例中,对应于图1,所构建的数据组如表1所示:表1:索引经纬度起点经纬度终点起点到终点的距离(米)1121.153081,31.323963121.102201,31.3427172121.102201,31.342717121.093002,31.3454313121.093002,31.345431121.081216,31.3466644121.081216,31.346664121.03896,31.3395095121.03896,31.339509121.027461,31.3380296121.027461,31.338029121.007052,31.3392627121.007052,31.339262121.007627,31.340249。对于每个直线段的长度,可以根据直线段两端点的经纬度坐标计算获取,数学计算方程为:式中,la(wa,ja)、b(wb,jb)分别为直线段起点和终点的经纬度坐标,wa和wb为纬度,ja和jb为经度,r为地球半径,公式中的经纬度均用弧度表示。根据上述计算方法计算表1中所给出直线段的距离(即直线段的长度),如表2所示,表中索引1表示线路分割后第一条直线段,相应的,索引2、3……对应线路分割后第二、三……条直线段:表2:索引经纬度起点经纬度终点起点到终点的距离(米)1121.153081,31.323963121.102201,31.34271752002121.102201,31.342717121.093002,31.3454316003121.093002,31.345431121.081216,31.34666412004121.081216,31.346664121.03896,31.33950937005121.03896,31.339509121.027461,31.33802915006121.027461,31.338029121.007052,31.3392628007121.007052,31.339262121.007627,31.3402491400。步骤三:确定给定里程标对应地点所归属的直线段,包括如下步骤:s301:根据给定里程标确定给定里程标对应地点与所归属线路起点的距离hgd-x1;s302:以所归属线路起点为零点,顺次叠加直线段长度,每叠加一次,便将叠加值与hgd-xl进行一次比较,直至叠加值大于hgd-xl;s303:将最后叠加的直线段确定为给定里程标所归属直线段。下面以表2为例对确定给定里程标对应地点所归属的直线段的方法作进一步详细说明,具体步骤如下:以线路的起点为零点,从第一条索引开始,顺次将直线段长度相加,每加一次,就与hgd-xl进行一次比较,当相加结果大于hgd-xl时,停止计算,并取出对应索引的“经纬度起点”和“经纬度终点”的经纬度坐标,该经纬度坐标确定的直线段即为给定里程标对应地点所归属的直线段。结合表2:若hgd-xl大于5200(即第一条直线段长度),则将第一、第二条直线段长度相加;否则,将第一条直线段作为给定里程标对应地点所归属的直线段;若hgd-xl大于5200+600(即第一、第二条直线段长度之和),则将第一、第二、第三条直线段长度相加;否则,将第二条直线段作为给定里程标对应地点所归属的直线段;若hgd-xl大于5200+600+1200(即第一、第二、第三条直线段长度之和),则将第一、第二、第三、第四条直线段长度相加;否则,将第三条直线段作为给定里程标对应地点所归属的直线段;……如此操作,直至hgd-xl不大于直线段长度相加之和,确定最后相加的直线段为给定里程标所归属直线段。步骤四:查询所归属直线段两端点的经纬度坐标;通过所建立的如表2所示的数据组,即可确定所归属直线段两端点的经纬度坐标。步骤五:根据所归属直线段两端点的经纬度坐标计算与给定里程标对应地点的墨卡托投影坐标,具体计算方法包括如下步骤:s501:将所归属直线段两端点的经纬度坐标转换成墨卡托投影坐标,转换算法如下:其中,lng表示经度值;lat表示纬度值;相应的墨卡托投影方程式为:x=r*rlog式中,rlog表示以弧度为单位的经度,rlat表示以弧度为单位的纬度,r表示地球半径,x、y为墨卡托投影坐标,单位为米。s502:根据所归属直线段两端点的墨卡托投影坐标确定所归属直线段的直线方程;如图2所示,图中a点为直线段起点,b点为直线段终点,c点为给定里程标对应地点,当确定所归属直线段两端点的墨卡托投影坐标时,根据平面坐标系中的两点成一线的原理,可以确定所归属直线段的二元一次方程。s503:计算给定里程标对应地点与所归属直线段起点的距离hgd-zx;给定里程标对应地点与所归属直线段起点的距离hgd-zx可以根据步骤三中最后一次直线段相加结果减去hgd-xl计算获取。以表2为例,假如给定里程标对应地点位于第3条直线段,给定里程标对应地点与所归属线路起点的距离hgd-xl=3800米,则hgd-zx=5200+600+1200-3800=3200米,即给定里程标对应地点与所归属直线段起点的距离为3200米。s504:根据所确定的直线方程及hgd-zx计算给定里程标对应地点的墨卡托投影坐标。将给定里程标对应地点的墨卡托投影坐标作为未知数代入前述的二元一次方程,同时根据给定里程标对应地点与所归属直线段起点的距离构建二元二次方程,联合两方程即可求得给定里程标对应地点的墨卡托投影坐标。步骤六:将给定里程标对应地点的墨卡托投影坐标转换成经纬度坐标,具体算法如下:相应的,墨卡托投影方程式为:在本发明实施例中,所归属直线段两端点的经纬度坐标可以通过gps设备沿所归属线路采集获取。本发明实施例提供的线路里程标转换为经纬度坐标的方法,将线路分割为若干直线段,仅需采集直线段两端点的经纬度坐标,采集数据量明显减少,能够显著降低数据采集成本;对于任意给定里程标,均能够根据给定里程标对应地点与所归属直线段起点的距离及所归属直线段的直线方程计算获取,计算精度高。实施例二:本发明实施例提供了一种线路里程标转换为经纬度坐标的装置,所述装置可以用于执行实施例一所述的方法步骤,其包括:分割模块:用于将给定里程标所属线路从起点至终点顺次分割为若干直线段;确定模块:用于确定给定里程标对应地点所归属的直线段;查询模块:用于查询所归属直线段两端点的经纬度坐标;计算模块:用于根据所归属直线段两端点的经纬度坐标计算与给定里程标对应地点的墨卡托投影坐标;转换模块:用于将给定里程标对应地点的墨卡托投影坐标转换成经纬度坐标。其中,所述确定模块包括:第一确定子模块:用于根据给定里程标确定给定里程标对应地点与所归属线路起点的距离hgd-xl;叠加模块:用于以所归属线路起点为零点,顺次叠加直线段长度;比较模块:用于每叠加一次,将叠加模块输出的叠加值与hgd-xl进行一次比较,直至叠加值大于hgd-xl;第二确定子模块:用于将最后叠加的直线段确定为给定里程标所归属直线段。其中,所述计算模块包括:第一转换子模块:用于将所归属直线段两端点的经纬度坐标转换为墨卡托投影坐标;第三确定子模块:用于根据所归属直线段两端点的墨卡托投影坐标确定所归属直线段的直线方程;第二计算子模块:用于计算给定里程标对应地点与所归属直线段起点的距离hgd-zx;第三计算子模块:用于根据所确定的直线方程及hgd-zx计算与给定里程标对应地点的墨卡托投影坐标。本发明实施例中各模块执行相应方法步骤的具体方法可参见实施例一,本实施例与实施例一基于相同的技术构思,亦能够产生相同的技术效果,在此不再赘述。实施例三:本发明实施例还提供了一种线路里程标转换为经纬度坐标的装置,包括处理器及存储介质;所述存储介质用于存储指令;所述处理器用于根据所述指令进行操作以执行实施例一所述方法的步骤。本实施例与实施例一基于相同的技术构思,亦能够产生相同的技术效果,在此不再赘述。实施例四:本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述方法的步骤。本实施例与实施例一基于相同的技术构思,亦能够产生相同的技术效果,在此不再赘述。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1