本发明涉及一种高速公路十米桩号与经纬度的转换方法,属于公路交通管理技术领域。

背景技术:

高速公路属于高等级公路,一般来说,高速公路能适应120公里/小时或者更高的速度,路面有四个以上车道的宽度,中间设置分隔带,采用沥青混凝土或水泥混凝土高级路面,设有齐全的标志、标线、信号及照明装置;禁止行人和非机动车在路上行走,与其他线路采用立体交叉、行人跨线桥或地道通过;目前高速公路的建设里程呈直线上升趋势,高速公路上每间隔一段距离就会设置路桩桩号,用于标示路线里程或距离,目前随着电子信息的发展,手机地图导航逐渐成为人们出行的必备工具,手机地图的数据通常会和高速公路桩号来进行结合定位使用者所处的位置,目前,现有的高速公路桩号与经纬度的转换方法只能实现距离为一千米的整公里数桩号与经纬度的互相转换,不能满足精确定位的需求。

技术实现要素:

为解决现有技术的不足,本发明提供一种高速公路十米桩号与经纬度的转换方法,目的在于实现精确到高速公路道路十米桩的桩号与经纬度的互相转换,可以获得误差范围在2米以内的十米桩号和经纬度的对应表,实现十米桩号和经纬度的快速互转;将高速公路道路的常用标记手段桩号以精确到10±2米的精度转换为经纬度,方便在地图上进行标注显示。

为了实现上述目的,本发明采用如下的技术方案:

高速公路十米桩号与经纬度的转换方法,包括以下步骤:

S1、将高速公路道路经纬度数据、千米桩经纬度数据进行整合,通过算法对二维空间中的道路曲线进行降维,形成一维直线,并对高速公路道路经纬度数据中的道路点、千米桩经纬度数据中的桩号点按道路方向进行排序,形成一系列沿道路同一方向的点合集为:

其中(xi,k,yi,k)表示桩号为i与桩号为i+1的两个千米桩之间的第k个道路点的经纬度,(xi,0,yi,0)表示桩号为i的千米桩的经纬度,ni表示桩号为i与i+1的两个千米桩之间的道路点的个数,N表示该高速公路的终点桩号;

S2、通过公式:d=R·cos-1(cos y1cos y2cos(x2-x1)+sin y1sin y2)计算相邻道路点之间的直线距离,得到相邻道路点之间的直线距离合集为:

其中di,k表示桩号为i与i+1的两个千米桩之间的第k个点(xi,k,yi,k)和第k+1个点(xi,k+1,yi,k+1)之间的距离;表示桩号为i与i+1的两个千米桩之间的最后一个点与桩号为i+1的千米桩(xi+1,0,yi+1,0)之间的距离;

S3、计算相邻千米桩之间的曲线距离,即千米桩之间所有线段的长度之和:

{D0,D1,…………,DN-1},

其中表示桩号为i和i+1的两个千米桩之间的距离,令Ri=Di/1000米,则为千米桩校准系数,其原理为,通过计算所有相邻道路点之间的距离,并以此计算千米桩之间公路里程,获得千米桩校准系数;

S4、根据道路点的对应公路里程以及校准系数计算道路点的桩号,所述道路点对应桩号表示对于点(xi,k,yi,k),其对应桩号为:

S5、计算所有十米桩的对应经纬度:

设置桩号为i+s的十米桩,其中i表示其千米桩号,单位为千米,s表示其十米桩号,单位为米:

(1)找到k使得i+s桩在点(xi,k,yi,k)和(xi,k+1,yi,k+1)之间,即si,k与si,k+1满足:si,k≤s≤si,k+1;

(2)i+s桩的经纬度为:

获得十米桩对应经纬度;

S6、通过上述步骤,遍历所有高速公路道路的所有十米桩号取值,获得所有十米桩号与经纬度的对应表,对于一个经纬度(x,y),从所述十米桩号与经纬度的对应表中寻找与(x,y)距离最近的点(xi+s,yi+s)及其对应桩号i+s,计算(xi+s,yi+s)与(x,y)之间距离,若距离超过s0=10米,则(x,y)不在公路上;距离小于s0,则(x,y)对应十米桩号为i+s。

优选的是,所述的步骤S1中的算法采用的是Isomap算法,即等距离特征映射算法,使用Isomap算法将道路点与桩号点按道路行进方向进行排序,使数据简单明了。

优选的是,所述的步骤S5中的是采用线性差分法,根据距离十米桩点最近的道路点及其桩号,计算十米桩的经纬度,实现十米桩转经纬度。

作为优选,所述的十米桩经纬度坐标是通过高速公路道路经纬度坐标数据和千米桩经纬度数据计算得出,其计算间距为10米。

本发明的有益之处在于:实现了精确到高速公路道路十米桩的桩号与经纬度的互相转换,可以获得误差范围在2米以内的十米桩号和经纬度的对应表,实现十米桩号和经纬度的快速互转;将高速公路道路的常用标记手段桩号以精确到10±2米的精度转换为经纬度,方便在地图上进行标注显示。

具体实施方式

以下结合具体实施例对本发明作具体的介绍。

实施例一

本实施例是高速公路十米桩号与经纬度的转换方法,包括以下步骤:

S1、将高速公路道路经纬度数据、千米桩经纬度数据进行整合,通过Isomap算法,即等距离特征映射算法将道路点与桩号点按道路行进方向进行排序,对二维空间中的道路曲线进行降维,形成一维直线,并对高速公路道路经纬度数据中的道路点、千米桩经纬度数据中的桩号点按道路方向进行排序,形成一系列沿道路同一方向的点合集为:

其中(xi,k,yi,k)表示桩号为i与桩号为i+1的两个千米桩之间的第k个道路点的经纬度,(xi,0,yi,0)表示桩号为i的千米桩的经纬度,ni表示桩号为i与i+1的两个千米桩之间的道路点的个数,N表示该高速公路的终点桩号;

S2、通过公式:d=R·cos-1(cos y1cos y2cos(x2-x1)+sin y1sin y2)计算相邻道路点之间的直线距离,得到相邻道路点之间的直线距离合集为:

其中di,k表示桩号为i与i+1的两个千米桩之间的第k个点(xi,k,yi,k)和第k+1个点(xi,k+1,yi,k+1)之间的距离;表示桩号为i与i+1的两个千米桩之间的最后一个点与桩号为i+1的千米桩(xi+1,0,yi+1,0)之间的距离;

S3、计算相邻千米桩之间的曲线距离,即千米桩之间所有线段的长度之和:

{D0,D1,…………,DN-1},

其中表示桩号为i和i+1的两个千米桩之间的距离,令Ri=Di/1000米,则为千米桩校准系数,其原理为,通过计算所有相邻道路点之间的距离,并以此计算千米桩之间公路里程,获得千米桩校准系数;

S4、根据道路点的对应公路里程以及校准系数计算道路点的桩号,所述道路点对应桩号表示对于点(xi,k,yi,k),其对应桩号为:

S5、计算所有十米桩的对应经纬度:

设置桩号为i+s的十米桩,其中i表示其千米桩号,单位为千米,s表示其十米桩号,单位为米:

(1)找到k使得i+s桩在点(xi,k,yi,k)和(xi,k+1,yi,k+1)之间,即si,k与si,k+1满足:si,k≤s≤si,k+1;

(2)i+s桩的经纬度为:

获得十米桩对应经纬度,其采用的是线性差分法,根据距离十米桩点最近的道路点及其桩号,计算十米桩的经纬度,实现十米桩转经纬度;

S6、通过上述步骤,遍历所有高速道路的所有十米桩号取值,获得所有十米桩号与经纬度的对应表,十米桩经纬度坐标是通过高速公路道路经纬度坐标数据和千米桩经纬度数据计算得出,其计算间距为10米;对于一个经纬度(x,y),从十米桩号与经纬度的对应表中寻找与(x,y)距离最近的点(xi+s,yi+s)及其对应桩号i+s,计算(xi+s,yi+s)与(x,y)之间距离,若距离超过s0=10米,则(x,y)不在公路上;距离小于s0,则(x,y)对应十米桩号为i+s。

本发明方法实现了精确到高速公路道路十米桩的桩号与经纬度的互相转换,可以获得误差范围在2米以内的十米桩号和经纬度的对应表,实现十米桩号和经纬度的快速互转;将高速公路道路的常用标记手段桩号以精确到10±2米的精度转换为经纬度,方便在地图上进行标注显示。

以上显示和描述了本发明的基本原理、主要特征和优点;本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

米转经纬度_高速公路十米桩号与经纬度的转换方法与流程相关推荐

  1. 米转经纬度_经纬度换算米(经纬度精度换算米数)

    经度113度55分24秒.纬度22度29分3秒. 经纬度的距离都是一度=111公里.一公里=1000米,经纬度分度.分.秒都是60进制. 记忆中好象是每一度是1852米,也就是一海里.那么既然知道了一 ...

  2. 米转经纬度;经纬度算距离

    //米转地理距离度 private static double meterToDegree(double len){double ra = Math.pow((Math.pow(len, -1)) * ...

  3. java 墨卡托转经纬度_经纬度,墨卡托等坐标转换

    1.经纬度转墨卡托 1.1Java: public static double[] lngLat2Mercator(double lng, double lat) { double[] xy = ne ...

  4. arcgis公里坐标转经纬度_高德api交通态势爬取及可视化利用 python+arcgis

    近日做项目,有一部分要分析研究范围内的交通运行情况.传统的方法是要去现场调研数车,通过交通量和道路通行能力来计算道路的服务水平.但是因为疫情原因,不想外出,想要利用其它方法来获得区域的交通运行水平.首 ...

  5. python地址转经纬度_经纬度地址转换的方法集合(Python描述)

    Python 2.7 IDE Pycharm 5.0.3 Geopy 1.11 前言 这只是我想做的一部分,写一块太大了,单独记录 目的 获取2015年GDP TOP100城市并获取城市对应经纬度,存 ...

  6. Java中getneighbor,桩号转经纬度的实现[Java编程]

    赞助商链接 本文"桩号转经纬度的实现[Java编程]"是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体 ...

  7. python自定义函数求差_[VBA]发布一个计算桩号之差的Excel自定义函数(VBA)

    这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量. 该函数具有一定的通用性.可以在MS Office和金山WPS上使用. 文末会给出使用 ...

  8. cass有坐标文件生成里程文件_怎样用CASS生成里程文件,带桩号的

    展开全部 1   一般来说获取地形图断面里程文件可以通过南方32313133353236313431303231363533e58685e5aeb931333431353339cass软件在 -里操作 ...

  9. 道路里程桩号标注_划重点!我区国、省道交通标志及里程桩“变脸”了,今后开车更享受~...

    以前G243与G318交叉路口压根没有指示标牌,每次开车开到这里都要小心再小心,生怕走错了方向.现在好了,新立的指路牌简洁明了,看一眼就知道该走哪个方向了. 8月14日 驾驶员李俊迪再次行经 G243 ...

最新文章

  1. 源码-0205-02--聊天布局
  2. Netty Channel源码分析
  3. 排序之二分查找插入排序算法
  4. javascript计算小数保留两位小数,多位小数的方法
  5. 大数据人工智能物联网论文_物联网学报“大数据”相关论文汇总
  6. IntentService用法小结
  7. javascript学习之利用方向键控制div模块的移动
  8. 全国青少年编程等级考试scratch三级真题2019年3月(含题库答题软件账号)
  9. 转载 编程新手入门
  10. 软件需求分析步骤方法
  11. PS | 工作区,工具栏不见了怎么办 -- 复位基本功能
  12. 宣传折页设计三折页宣传册(案例分享)(版权归redtrans所有,请勿私用)
  13. 信管1132班32 章泳涛 数据结构课程设计
  14. 使用U盘安装openSUSE-Leap-15.4-DVD-x86_64
  15. H5页面判断安卓苹果
  16. 大数据治理工程师_大数据治理体系的思考,究竟能为大数据工程师行业带来什么,原来!!!...
  17. 工具-Sublist3r使用说明
  18. java jdom解析xml文件_Java 使用JDOM解析XML文档
  19. 大一新生计算机类专业入门
  20. TIMIT数据集介绍

热门文章

  1. tmpfs临时文案系统
  2. 【信号处理】系统与卷积积分
  3. 华为被曝自研编程语言“仓颉”,南大教授冯新宇领衔
  4. 永磁同步电机带电流补偿反馈的矢量控制
  5. python新年快乐代码_先祝福大家新年快乐 Python 大神们 帮忙看看是什么问题
  6. transaction 2 failed while formatting outputs from RPC
  7. Python绘图实例25:内切圆绘制
  8. 数字福建物联网首批重点实验室建设启动 厦门两所高校入围
  9. Python 小技之实现的鲜花盛宴,你准备好了吗?
  10. 跨域Response to preflight request doesn‘t pass access control check: It does not have HTTP ok status.