CN118227717A - 地图数据处理方法、装置、设备、存储介质和程序产品 - Google Patents

地图数据处理方法、装置、设备、存储介质和程序产品 Download PDF

Info

Publication number
CN118227717A
CN118227717A CN202211633937.3A CN202211633937A CN118227717A CN 118227717 A CN118227717 A CN 118227717A CN 202211633937 A CN202211633937 A CN 202211633937A CN 118227717 A CN118227717 A CN 118227717A
Authority
CN
China
Prior art keywords
coordinate system
coordinates
longitude
orthogonal
latitude
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.)
Pending
Application number
CN202211633937.3A
Other languages
English (en)
Inventor
肖童星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211633937.3A priority Critical patent/CN118227717A/zh
Publication of CN118227717A publication Critical patent/CN118227717A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种地图数据处理方法、装置、计算机设备、存储介质和计算机程序产品。该方法可应用于地图领域,可应用在车辆导航、人工智能、智慧交通、辅助驾驶、车载终端等各种场景,所述方法包括:获取原始地图数据,原始地图数据包括位置点的经纬度坐标;将位置点的经纬度坐标转换为正交坐标系中的正交坐标;基于位置点在正交坐标系中的正交坐标,进行几何运算,得到与位置点相关的地图元素在正交坐标系中的正交坐标;将地图元素在正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;地图元素的经纬度坐标,用于在地图中显示地图元素。采用本方法能够实现快捷、准确地自动化处理原始地图数据以生成各种地图元素。

Description

地图数据处理方法、装置、设备、存储介质和程序产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种地图数据处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术与互联网技术的快速发展,车道级高精度地图、普通地图、城市道路模型等用于模拟城市道路状况的虚拟地图产品层出不穷,为人们的日常出行带来了便利。
在一些情况下,需要使用原始地图数据生成地图元素,如道路面、路口面、斑马线或是缺失高精地图数据的道路的道路线、道路面等,相关技术中一般是采用经纬度坐标直接进行地图数据的几何处理,然而经纬度坐标不便于进行几何计算,无法便捷、可靠地进行自动化的数据处理以得到相关的地图元素,导致生成地图元素的便捷性、可靠性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升自动化生成地图元素的便捷性与可靠性的地图数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种地图数据处理方法。所述方法包括:
获取原始地图数据,所述原始地图数据包括位置点的经纬度坐标;
将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标;
基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标;
将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;所述地图元素的经纬度坐标,用于在地图中显示所述地图元素。
第二方面,本申请还提供了一种地图数据处理装置。所述装置包括:
获取模块,用于获取原始地图数据,所述原始地图数据包括位置点的经纬度坐标;
第一转换模块,用于将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标;
几何运算模块,用于基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标;
第二转换模块,用于将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;所述地图元素的经纬度坐标,用于在地图中显示所述地图元素。
在一个实施例中,所述第一转换模块还用于将所述原始地图数据中的任一位置点,确定为正交坐标系的原点;确定所述原始地图数据中其它位置点与所述原点的连线的距离与角度,所述其它位置点是所述原始地图数据中除所述任一位置点之外的位置点;根据所述距离与角度,将所述其它位置点的经纬度坐标转换为正交坐标系中的正交坐标。
在一个实施例中,所述第一转换模块还用于根据所述其它位置点与所述任一位置点各自在所述经纬度坐标系中的经纬度坐标,计算所述其它位置点与所述任一位置点的连线的距离;将所述距离,作为所述其它位置点在所述正交坐标系中与所述原点的距离。
在一个实施例中,所述第一转换模块还用于将所述其它位置点与所述任一位置点各自在所述经纬度坐标系中的经纬度坐标,转换为墨卡托坐标系中的墨卡托坐标;根据所述其它位置点与所述任一位置点各自在墨卡托坐标系中的墨卡托坐标,确定所述其它位置点与所述任一位置点之间连线的单位向量;确定墨卡托坐标系中正东方向的单位向量;根据所述其它位置点与所述任一位置点之间连线的单位向量、所述墨卡托坐标系中正东方向的单位向量,计算所述其它位置点与所述任一位置点之间连线与正东方向的夹角;将计算得到的夹角,作为所述其它位置点与所述原点的连线的角度。
在一个实施例中,所述第一转换模块还用于根据所述其它位置点与所述原点的连线的距离与角度,确定所述其它位置点在以所述原点为极点的极坐标系中的极坐标;将所述极坐标从所述极坐标系转换到正交坐标系,得到所述其它位置点在正交坐标系中的正交坐标。
在一个实施例中,与所述位置点相关的地图元素为道路面,所述几何运算模块,还用于获取用于形成道路面的预设道路宽度;根据所述原始地图数据中形成道路的点串在所述正交坐标系中的正交坐标与所述预设道路宽度,进行几何运算,得到形成所述道路的道路边界线的点串在所述正交坐标系中的正交坐标;将形成所述道路的道路边界线的点串在所述正交坐标系中的正交坐标,作为所述道路的道路面在所述正交坐标系中的正交坐标。
在一个实施例中,与所述道路相关的地图元素为路口面,所述几何运算模块,还用于获取第一路口面的各位置点在第一正交坐标系中的正交坐标,所述第一正交坐标系是以第一位置点为原点的正交坐标系;将所述第一正交坐标系平移至以第二位置点为原点,得到第二正交坐标系;将所述第一路口面的各位置点在所述第一正交坐标系中的正交坐标,作为复制的第二路口面的各位置点在以所述第二位置点为原点的所述第二正交坐标系中的正交坐标。
可选地,所述第二转换模块,还用于基于所述第一位置点的经纬度坐标,将所述第一路口面的各位置点在所述第一正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;基于所述第二位置点的经纬度坐标,将所述第二路口面的各位置点在所述第二正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,得到复制的第二路口面。
在一个实施例中,所述第二转换模块,还用于根据所述地图元素的各位置点在所述正交坐标系中的正交坐标与所述正交坐标系中原点的正交坐标,确定各位置点到所述原点的距离、以及各位置点与所述原点之间的连线所在的单位向量;将所述原点对应的经纬度坐标,沿着所述连线所在的单位向量按所述距离进行延长,得到所述地图元素的各位置点在经纬度坐标系中的经纬度坐标。
在一个实施例中,所述第二转换模块,还用于对于所述地图元素的每个位置点,根据所述原点对应的经纬度坐标、所述位置点到所述原点的距离、以及所述连线所在的单位向量,计算所述位置点在经纬度坐标系中的当前经纬度坐标;计算所述位置点的当前经纬度坐标到所述原点对应的经纬度坐标的距离;计算所述位置点到所述原点的距离与计算的距离之间的差异;当所述差异不满足迭代停止条件时,基于所述连线所在的单位向量将所述差异叠加到计算的所述当前经纬度坐标,得到所述位置点的更新经纬度坐标;将更新经纬度坐标作为所述位置点的当前经纬度坐标,继续计算所述位置点的当前经纬度坐标到所述原点对应的经纬度坐标的距离,直至所述差异满足迭代停止条件时,将所述位置点的当前经纬度坐标作为所述位置点的经纬度坐标。
在一个实施例中,所述装置还包括地图显示模块,用于根据所述地图元素的经纬度坐标,在虚拟地图中渲染显示所述地图元素。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取原始地图数据,所述原始地图数据包括位置点的经纬度坐标;
将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标;
基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标;
将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;所述地图元素的经纬度坐标,用于在地图中显示所述地图元素。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取原始地图数据,所述原始地图数据包括位置点的经纬度坐标;
将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标;
基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标;
将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;所述地图元素的经纬度坐标,用于在地图中显示所述地图元素。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取原始地图数据,所述原始地图数据包括位置点的经纬度坐标;
将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标;
基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标;
将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;所述地图元素的经纬度坐标,用于在地图中显示所述地图元素。
上述地图数据处理方法、装置、计算机设备、存储介质和计算机程序产品,先将获取的原始地图数据从经纬度坐标系转换成正交坐标系,正交坐标系下的正交坐标可直接进行几何运算,可以快捷、准确地得到与位置点相关的地图元素在正交坐标系中的正交坐标,无需考虑距离或角度的偏差问题,再将地图元素在正交坐标系中的正交坐标,从正交坐标系转换回经纬度坐标系,可供上层的地图业务使用,以在地图中显示与位置点相关的地图元素,即实现快捷、准确地自动化生成各种地图元素。
附图说明
图1为一个实施例中地图数据处理方法的应用环境图;
图2为一个实施例中地图数据处理方法的流程示意图;
图3为一个实施例中正交坐标系的示意图;
图4为一个实施例中将经纬度坐标转换为正交坐标的流程示意图;
图5为一个实施例中确定其它位置点与原点的连线的角度的流程示意图;
图6为一个实施例中生成道路面的示意图;
图7为一个实施例中得到位置点相关的地图元素的正交坐标的流程示意图;
图8为一个实施例中将地图元素的正交坐标转换为经纬度坐标的流程示意图;
图9为一个实施例中纠正距离的差异的迭代过程示意图;
图10为一个具体的实施例中地图数据处理方法的流程示意图;
图11为一个实施例中地图数据处理装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的地图数据处理方法,可以应用于高精度地图(HighDefinition Map)、普通精度地图、城市道路模型等各种虚拟地图产品中,可以用于可视化呈现各个地图元素。该地图数据处理方法,可以理解为是对原始地图数据的编译的过程,即作为一个承上启下的环节,对原始地图数据进行加工、处理,生成更紧凑、更易于使用的文件或数据。编译得到的数据可以提供给上层的业务(如地图导航、定位技术、地图渲染等)调用。示例性的,生成的路口面、道路面、斑马线的经纬度坐标,能够为导航引擎提供底图数据,在导航地图中渲染相关的地图元素,增强导航界面的可视化效果。
本申请提供的地图数据处理方法,至少涉及以下的智能交通系统、云计算、计算机视觉技术等技术。智能交通系统(intelligent traffic system,ITS)又称智能运输系统(Intelligent Transportation System),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
车道级导航主要使用高精度地图数据,在一些情形中,由于高精度地图的覆盖面积比较有限,比如有些城市五环外才有高精度地图数据,五环内是没有的,为了在没有高精度地图数据的地方获得近似于高精度地图的效果,需要用算法根据原始地图数据生成一些道路元素,作为地图元素补充到地图中,例如生成道路的路口面、道路线,以得到更好的导航界面的可视化效果。还有一些情形,比如需要复制路口面到其它路口等等。然而这些算法通常涉及到几何运算,相关技术中,采用经纬度坐标进行地图数据的几何处理操作,但经纬度坐标计算角度十分麻烦,有些采用墨卡托坐标进行地图数据的处理,它可以保证角度,但计算出来的两点距离与真实距离相比一般偏小,不能保证距离。因此,相关技术中,由于原始地图数据是经纬度坐标系下的经纬度坐标,不方便进行几何运算,无法应用到大量原始地图数据处理中,导致生成地图元素的便捷性、可靠性较差。
本申请实施例提供的地图数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据,如原始地图数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
在一个实施例中,可以由服务器104实施本申请的地图数据处理方法,服务器104获取原始地图数据,原始地图数据包括位置点的经纬度坐标;将位置点的经纬度坐标转换为正交坐标系中的正交坐标;基于位置点在正交坐标系中的正交坐标,进行几何运算,得到与位置点相关的地图元素在正交坐标系中的正交坐标;将地图元素在正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;地图元素的经纬度坐标,用于在地图中显示地图元素。终端102可以从服务器104调用生成的地图元素的经纬度坐标,根据经纬度坐标,在地图中显示地图元素。
在一些实施例中,终端102上可以安装并运行有支持地图服务的应用程序,服务器104可以是为该应用程序提供服务的服务器,终端102基于该应用程序与服务器104实现交互。该应用程序可以是地图应用、导航应用、定位应用或者任一支持显示路口的应用程序,例如,交通出行应用、需要调用并显示地图的游戏应用等。可以理解,在一些实施例中,也可以由终端执行本申请实施例提供的地图数据处理方法,本申请实施例中不限定执行主体。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等,智能车载设备可以车载导航终端和车载电脑等,便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
在一个实施例中,如图2所示,提供了一种地图数据处理方法,以该方法应用于图1中的计算机设备(如终端102或服务器104)为例进行说明,包括以下步骤:
步骤202,获取原始地图数据,原始地图数据包括位置点的经纬度坐标。
其中,原始地图数据是普通精度的地图数据,原始地图数据中各个位置点通过经纬度坐标系中的经纬度坐标表示,原始地图数据还包括包括位置点的海拔高度。原始地图数据一般以文本文件的形式给出,常见的格式有geojson等。计算机设备可以获取目标地理区域的原始地图数据,如某个地区、某个乡镇、某条道路或某个路口的原始地图数据,以在后续步骤中,生成与该目标地理区域相关的地图元素的经纬度坐标,例如,生成道路的道路面、路口的路口面、路口的斑马线,等等。
步骤204,将位置点的经纬度坐标转换为正交坐标系中的正交坐标。
为了得到与位置点相关的地图元素的经纬度坐标,计算机设备需要先将已知经纬度坐标的位置点,从经纬度坐标系转换成正交坐标系,得到这些位置点在正交坐标系中的坐标(本申请实施例中称之为正交坐标),以便于利用这些位置点的正交坐标进行几何运算。
在一个实施例中,为了将位置点的经纬度坐标转换为正交坐标系中的正交坐标,计算机设备需要先建立一个正交坐标系。对于获取的原始地图数据,计算机设备可以从原始地图数据所表征的多个位置点中任选一个位置点,此处为方便描述,该位置点记为A,将该位置点A作为正交坐标系的原点,即在该正交坐标系中,该位置点A的正交坐标为(0,0,0),此外,计算机设备可以以位置点A的正东方向(E)为x轴正方向、以位置点A的正北方向(N)为y轴正方向、以过位置点A且垂直地面向上的方向为z轴正方向,从而建立一个以位置点A为原点的正交坐标系A-xyz,如图3所示。
在一个实施例中,为了获得已知经纬度的其它位置点在该正交坐标系中的正交坐标,计算机设备只需要计算该其它位置点到该正交坐标系中原点的距离,以及该其它位置点与原点的连线与x轴方向的夹角,从而根据该距离与夹角,确定该其它位置点在该正交坐标系中的正交坐标。
也即,如图4所示,步骤204,将位置点的经纬度坐标转换为正交坐标系中的正交坐标,包括:
步骤402,将原始地图数据中的任一位置点,确定为正交坐标系的原点。
步骤404,确定原始地图数据中其它位置点与原点的连线的距离与角度,该其它位置点是原始地图数据中除任一位置点之外的位置点。
步骤406,根据距离与角度,将该其它位置点的经纬度坐标转换为正交坐标系中的正交坐标。
其中,该任一位置点,可以从原始地图数据中随机地选取的任意一个位置点,也可以根据实际情况进行选取。
例如,在生成道路面的场景中,原始地图数据为表示一条道路的点串数据(即一连串的位置点),则可以选取该点串数据的首个位置点作为正交坐标系的原点,也可以选取该点串数据的终点作为正交坐标系的原点,还可以选取该点串数据的中点作为正交坐标系的原点。计算机设备可以在原点处以正东方向为x轴正方向,以正北方向为y轴正方向,以过原点且垂直地面向上的方向为z轴正方向,建立一个正交坐标系,计算机设备可以计算该点串数据中其它位置点在该正交坐标系中的正交坐标,这样,根据形成该道路的一连串位置点在该正交坐标系中的正交坐标,可以得到该一条道路在该正交坐标系下的几何表示,从而方便计算与该道路相关的地图元素(如道路面、道路边界线等)的正交坐标。
又例如,在生成路口的路口面的场景中,原始地图数据为表示一个路口面的点串数据(即一连串的位置点),计算机设备可以将该点串数据的起点或终点作为正交坐标系的原点。计算机设备还可以将该路口面的形心(也即中心点)作为正交坐标系的原点,在确定该形心时,计算机设备可以获取形成该路口面的位置点的经纬度坐标,计算形成该路口面的位置点的经度的平均值,作为形心的经度,计算形成该路口面的位置点的维度的平均值,作为形心的纬度,有了经度与纬度,该形心即被确定,然后计算机设备可以在该形心处以正东方向为x轴正方向,以正北方向为y轴正方向,以过该形心且垂直地面向上的方向为z轴正方向,建立一个正交坐标系,然后计算形成该路口面的各位置点在该正交坐标系中的正交坐标。
可以理解,正交坐标系本质是相对坐标系,正交坐标系在进行坐标系平移时,只需要将正交坐标系的原点设置为移动后的原点即可,其他位置点的正交坐标无需修改,十分便捷。这一特性的应用场景如下:例如,在需要将以A点为形心的路口面A1复制到另一个路口得到一个以B点为形心的路口面B1的场景中,在获得了该路口面的各位置点分别在以A点为原点构建的正交坐标系A-xyz下的正交坐标的情况下,则只需要将正交坐标系的原点改成B点,即平移这个正交坐标系,得到正交坐标系B-xyz,即可直接得到复制的路口面B1中各位置点在该正交坐标系B-xyz的正交坐标,无需重新计算,后续只需要根据B点的经纬度,将路口面B1中各位置点的正交坐标转换为各自的经纬度坐标即可。
可选地,原始地图数据表征的是各位置点的经纬度坐标,经纬度坐标系中,两点之间的距离可以直接由经纬度坐标准确计算得到。本申请实施例中,任一位置点与原点的距离,可以是该任一位置点原始的经纬度坐标与该原点对应的经纬度坐标之间的距离。
也即,在一个实施例中,确定其它位置点与原点的连线的距离,包括:根据其它位置点与任一位置点各自在经纬度坐标系中的经纬度坐标,计算该其它位置点与任一位置点的连线的距离;将距离,作为该其它位置点在正交坐标系中与原点的距离。
举例来说,设原点、某个其它位置点各自的原始地图数据即在经纬度坐标系中的经纬度坐标分别为P1(long1,lat1)、P2(long2,lat2),如果经度与维度是用度分秒形式表示,则需将其转换成十进制度的形式,如P1点的纬度Y1为23度30分,则其纬度值转换成十进制度的形式为23.5度。接着,分别将P1、P2这两点的经度、纬度值转换成弧度制形式,如P1纬度为23.5度,转换成弧度制则为:23.5*π/180。P1、P2的纬度、经度的弧度制值分别用P1latInRad、P1longInRad、P2latInRad、P2longInRad表示。接着,分别计算P1、P2这两点间的纬度差(dlat)与经度差(dlon),以及计算P1、P2这两点间的正弦值与余弦值,公式如下:
A=sin2(dlat/2)+cos(P1latInRad)*cos(P2latInRad)*Sin2(dlon/2);
计算两点间的正切值,公式如下:
C=2*Math.Atan2(Math.Sqrt(A),Math.Sqrt(1-A));
其中,Math.atan2()函数用于计算两点之间直线的倾斜角;Math.Sqrt()函数用于计算平方根。
最后计算两点间的距离D,公式如下:
D=EarthRadiusKm*C,其中EarthRadiusKm是指地球半径,单位为千米。
这样,直接由两点的经纬度坐标,就可以计算两点之间的距离。
可选地,原始地图数据表征的是各位置点的经纬度坐标,经纬度坐标系中,两点之间连线的角度不便计算,而墨卡托坐标在地图数据处理中应用比较广,它可以保证角度的准确性,但计算出来的两点距离与真实距离相比一般偏小。故而,可以先将各位置点从经纬度坐标系转换成墨卡托坐标系,以计算各点与正交坐标系的原点之间连线相对于正东方向的角度。
也即,如图5所示,在一个实施例中,确定其它位置点与原点的连线的角度,包括:
步骤502,将其它位置点与任一位置点各自在经纬度坐标系中的经纬度坐标,转换为墨卡托坐标系中的墨卡托坐标。
假设位置点的经纬度坐标为[long,lat],将经纬度的角度转为弧度为[λ,φ],其中λ=long*π/180,φ=lat*π/180,则墨卡托投影就是将[λ,φ]转换为平面直角坐标[x,y],计算公式如下:
x=R*λ;
y=R*ln|tan(φ/2+π/4)|;
其中,R表示地球半径。
步骤504,根据该其它位置点与任一位置点各自在墨卡托坐标系中的墨卡托坐标,确定该其它位置点与任一位置点之间连线的单位向量。
假设,该任一位置点(即正交坐标系中的原点)的墨卡托坐标记为P0(x0,yo),某个其它位置点的墨卡托坐标记为P1(x1,y1),则该其它位置点与任一位置点之间连线的单位向量可以用以下公式计算:
步骤506,确定墨卡托坐标系中正东方向的单位向量。
例如,正东方向的单位向量为:
步骤508,根据该其它位置点与任一位置点之间连线的单位向量、墨卡托坐标系中正东方向的单位向量,计算该其它位置点与任一位置点之间连线与正东方向的夹角。
与/>之间夹角θ的余弦值可以用以下公式表示:
与/>之间夹角θ的正弦值可以用以下公式表示:
根据余弦值计算与/>之间夹角θ为:
若sinθ≥0,则θ即为P1(x1,y1)与P0(x0,yo)的连线与正东方向的夹角,逆时针为正,否则若sinθ<0,则360°-θ即为P1(x1,y1)与P0(x0,yo)的连线与正东方向的夹角,逆时针为正。
步骤510,将计算得到的夹角,作为该其它位置点与原点的连线的角度。
这样,利用经纬度坐标系的优势,计算两点之间的距离,此外又利用墨卡托坐标系的优势,计算两点之间的夹角,取长补短,既便于计算距离又便于计算角度。
在得到该其它位置点与原点的距离以及与原点连线的角度后,就可以确定该其它位置点在正交坐标系中的正交坐标。也即,在一个实施例中,步骤406,根据距离与角度,将其它位置点的经纬度坐标转换为正交坐标系中的正交坐标,包括:根据该其它位置点与原点的连线的距离与角度,确定该其它位置点在以原点为极点的极坐标系中的极坐标;将极坐标从极坐标系转换到正交坐标系,得到该其它位置点在正交坐标系中的正交坐标。
可以理解,在得到每个其它位置点在正交坐标系中相对于原点正东方向的角度与距离之后,也就得到了一个以原点为极点的极坐标系,计算机设备可以根据该其它位置点与原点的连线的距离l与角度θ,确定该其它位置点在以原点为极点的极坐标系中的极坐标(θ,l),然后计算机设备可以采用如下公式,将极坐标从极坐标系转换到正交坐标系,即:
x=l·cosθ;
y=l·sinθ;
即,该其它位置点在正交坐标系中的正交坐标为(x,y),至此就完成了从经纬度坐标系到正交坐标系的转换。转换过程中,采用位置点在经纬度坐标系中的经纬度坐标计算距离,采用位置点在墨卡托坐标系中的墨卡托坐标计算角度,再确定相应的极坐标,最后将极坐标转换成正交坐标,同时具备利用经纬度坐标系计算距离较为准确与利用墨卡托坐标系计算角度较为准确的优点,取长补短,可以生成准确的正交坐标。需要说明的是,前文提到正交坐标系是一个立体坐标系,存在z轴,但位置点在z轴方向的值通常不参与几何运算,故而不需要转换,可采用原始地图数据中相应位置点的海拔高度的值。
步骤206,基于位置点在正交坐标系中的正交坐标,进行几何运算,得到与位置点相关的地图元素在正交坐标系中的正交坐标。
正交坐标系是相对坐标系,便于计算角度与距离,也即,便于进行几何运算。本申请实施例中,地图元素是根据实际需求需要显示在电子地图中的元素,如道路线、道路面、路口面、斑马线等等。然而,原始地图数据通常是缺乏绘制这些额外的地图元素的原始地图数据,也即缺少这些地图元素所对应的位置点及其经纬度坐标,此外,有些地方的道路数据是缺失的,在生成地图尤其是高精度地图数据时,这些地图元素所对应的位置点的经纬度坐标是需要额外计算并补充的。为便捷、准确地得到形成这些地图元素的位置点的经纬度坐标,本申请实施例基于原始地图数据中已知经纬度坐标的位置点在正交坐标系中的正交坐标,进行几何运算,从而得到与这些已知经纬度坐标的位置点相关的地图元素在正交坐标系中的正交坐标,可以理解,这些地图元素的正交坐标反映的是地图元素与这些已知经纬度坐标的位置点的位置关系,从而后续可利用这些已知经纬度坐标的位置点的经纬度坐标与相应的位置关系进行转换,得到这些地图元素所对应的位置点在经纬度坐标系中的经纬度坐标,可供上层地图应用调用后在电子地图中生成相应的地图元素。
步骤208,将地图元素在正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;地图元素的经纬度坐标,用于在地图中显示地图元素。
绘制、渲染地图所需的数据是经纬度坐标系中的经纬度坐标,因此,计算机设备还需要将地图元素在正交坐标系中的正交坐标转换成经纬度坐标系中的经纬度坐标。按照前面的步骤可知,正交坐标系中的原点是经纬度已知的任一位置点,正交坐标系的本质是各位置点相对于原点的向量,该向量可以表示为单位向量乘以长度,长度即该位置点到原点的距离,单位向量即某个角度下长度为1的向量,距离与角度均可以通过该位置点与原点的正交坐标计算得到,那么,将一位置点的正交坐标从正交坐标系转换成经纬度坐标系的经纬度坐标的本质,就是将一已知经纬度的位置点(正交坐标系的原点)沿着一个方向(即单位向量)延伸得到一定距离(向量长度)以外的另一个点(即得到其它位置点的经纬度坐标)。基于这种思路,计算机设备就可以根据正交坐标系中原点的经纬度坐标,将形成地图元素的各位置点在正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,地图元素的经纬度坐标,用于在地图中显示地图元素。
在一个实施例中,在得到地图元素的经纬度坐标之后,计算机设备就可以根据地图元素的经纬度坐标,在虚拟地图中渲染显示地图元素,例如,计算机设备可以根据原始地图数据与生成的这些地图元素的经纬度坐标,生成绘制高精度地图所需的高精度地图数据包,将该数据包提供给上层应用,以供上层应用根据该数据包绘制并渲染高精度地图。
上述地图数据处理方法,先将获取的原始地图数据从经纬度坐标系转换成正交坐标系,正交坐标系下的正交坐标可直接进行几何运算,可以快捷、准确地得到与位置点相关的地图元素在正交坐标系中的正交坐标,无需考虑距离或角度的偏差问题,再将地图元素在正交坐标系中的正交坐标,从正交坐标系转换回经纬度坐标系,可供上层的地图业务使用,以在地图中显示与位置点相关的地图元素,即实现快捷、准确地自动化生成各种地图元素。
上述步骤206中的几何运算,可以是指,在同一个正交坐标系进行的几何运算。例如,在同一个正交坐标系下,在已知与原点的位置关系(位置关系可通过距离、角度、是否平行、是否交叉、高程差等表征)的情况下,可以计算地图元素上的位置点在该同一个正交坐标系下的正交坐标。
在一个实施例中,与位置点相关的地图元素为道路面,基于位置点在正交坐标系中的正交坐标,进行几何运算,得到与位置点相关的地图元素在正交坐标系中的正交坐标,包括:获取用于形成道路面的预设道路宽度;根据原始地图数据中形成道路的点串在正交坐标系中的正交坐标与预设道路宽度,进行几何运算,得到形成道路的道路边界线的点串在正交坐标系中的正交坐标;将形成道路的道路边界线的点串在正交坐标系中的正交坐标,作为道路的道路面在正交坐标系中的正交坐标。
本实施例,以地图元素为道路面为例进行说明。本实施例中,原始地图数据中包括形成道路的点串,按照前述步骤202至步骤204,可以获得这些点串在一个正交坐标系中的正交坐标,这样,计算机设备在获取预设道路宽度后,可以基于这些点串在该正交坐标系中的正交坐标,在该正交坐标系中进行几何运算,得到该道路的道路边界线上的位置点在该正交坐标系中的正交坐标。
举例来说,如图6所示,为一个实施例中生成道路面的示意图。参照图6,按照前述步骤,以形成道路R的点串(即位置点1、2、3、4……)中的首个点串1为原点构建了一个正交坐标系,且计算出该点串中各个位置点在该正交坐标系下的正交坐标后,可以以该点串作为道路中心线,基于道路边界线应当与道路中心线平行的原则,根据预设道路宽度W,即可计算出形成上下两条道路边界线的点串在该正交坐标系中的正交坐标。
在本实施例中,后续可以基于该正交坐标系中原点的经纬度坐标,将上下两条道路边界线的点串中各个位置点在该正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标。
上述步骤206中的几何运算,还可以是指,对正交坐标系进行平移后在平移后的正交坐标系中进行的几何运算。下面以需要将一个路口的路口面复制到另一个路口为例进行说明。
在一个实施例中,与道路相关的地图元素为路口面,如图7所示,基于位置点在正交坐标系中的正交坐标,进行几何运算,得到与位置点相关的地图元素在正交坐标系中的正交坐标,包括:
步骤702,获取第一路口面的各位置点在第一正交坐标系中的正交坐标,第一正交坐标系是以第一位置点为原点的正交坐标系。
第一路口面的各位置点在第一正交坐标系中的正交坐标,可以按前文提到的实施例确定。例如,原始地图数据中包括形成第一路口的位置点M,计算机设备可以构建以位置点M为原点的第一正交坐标系,基于预设路口面大小与形状,计算与位置点M相关的第一路口面上各位置点在该第一正交坐标系中的正交坐标。例如,假设路口面是正方形,第一路口面以位置点M为中心,则可以计算以位置点M为中心的正方形上各位置点在该第一正交坐标系中的正交坐标,也即第一路口面上各位置点在该第一正交坐标系中的正交坐标。
步骤704,将第一正交坐标系平移至以第二位置点为原点,得到第二正交坐标系。
若存在在第二位置点处绘制一个路口面的需求,则计算机设备无需按上述方法进行重新计算,而是直接将在第一位置点处构建的正交坐标系平移至第二位置点,也就是,以第二位置点为原点,构建另一个正交坐标系,即第二正交坐标系。
步骤706,将第一路口面的各位置点在第一正交坐标系中的正交坐标,作为复制的第二路口面的各位置点在以第二位置点为原点的第二正交坐标系中的正交坐标。
在第二正交坐标系中,待复制的第二路口面上各位置点与第二位置点的位置关系,和第一路口面上各位置点与第一位置点的位置关系,是相同的,那么可以直接将第一路口面的各位置点在第一正交坐标系中的正交坐标,作为第二路口面的各位置点在第二正交坐标系中的正交坐标,也就得到了第二路口面各位置点的正交坐标。
这样,无需重复计算,利用正交坐标系是相对坐标系,其反应的是相对位置关系而直接复制数据,可以减少大量重复计算,十分便捷。
可选地,本实施例中,将地图元素在正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,包括:基于第一位置点的经纬度坐标,将第一路口面的各位置点在第一正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;基于第二位置点的经纬度坐标,将第二路口面的各位置点在第二正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,得到复制的第二路口面。
即,在将各位置点在正交坐标系中的正交坐标转换成经纬度坐标系中的经纬度坐标时,依赖的是位置点所在的正交坐标系中的原点的经纬度坐标。对于第一路口面的各位置点,在确定了该第一路口面的各位置点在第一正交坐标系中的正交坐标之后,就可以基于该第一正交坐标系的原点即第一位置点的经纬度坐标,将第一路口面的各位置点的正交坐标转换为经纬度坐标系中的经纬度坐标。对于第二路口面的各位置点,在确定了该第二路口面的各位置点在第二正交坐标系中的正交坐标之后,就可以基于该第二正交坐标系的原点即第二位置点的经纬度坐标,将第二路口面的各位置点的正交坐标转换为经纬度坐标系中的经纬度坐标。
在一个实施例中,基于正交坐标系中的正交坐标表征的是各位置点相对于原点的向量的思想,根据原点对应的经纬度坐标,就可以将地图元素的各位置点在正交坐标系中的正交坐标,转换到经纬度坐标系。
也即,在一个实施例中,如图8所示,将地图元素在正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,包括:
步骤802,根据地图元素的各位置点在正交坐标系中的正交坐标与正交坐标系中原点的正交坐标,确定各位置点到原点的距离、以及各位置点与原点之间的连线所在的单位向量。
其中,正交坐标系中各位置点到原点的距离与单位向量,均可以通过各自在该正交坐标系中的正交坐标计算得到。例如,原点的正交坐标为(0,0,0),其它位置点的正交坐标为(x,y,0),计算机设备可以按如下公式确定正交坐标系中各位置点到原点的距离Dis与连线所在的单位向量v:
步骤804,将原点对应的经纬度坐标,沿着连线所在的单位向量按距离进行延长,得到地图元素的各位置点在经纬度坐标系中的经纬度坐标。
在一个实施例中,步骤802,包括:对于地图元素的每个位置点,根据原点对应的经纬度坐标、位置点到原点的距离、以及连线所在的单位向量,计算位置点在经纬度坐标系中的当前经纬度坐标;计算位置点的当前经纬度坐标到原点对应的经纬度坐标的距离;计算位置点到原点的距离与计算的距离之间的差异;当差异不满足迭代停止条件时,基于连线所在的单位向量将差异叠加到计算的当前经纬度坐标,得到位置点的更新经纬度坐标;将更新经纬度坐标作为位置点的当前经纬度坐标,返回计算位置点的当前经纬度坐标到原点对应的经纬度坐标的距离的步骤继续执行,直至差异满足迭代停止条件时,将位置点的当前经纬度坐标作为位置点的经纬度坐标。
本申请实施例中,基于负反馈控制理论,通过一个迭代的过程,保证最终得到的经纬度坐标与原点对应的经纬度坐标之间的距离,与在正交坐标系中的距离是一致的,可以保证两个经纬度坐标之间的距离满足任意给定精度。
该迭代过程中,已知正交坐标系中某一点(即原点)的经纬度坐标P(long,lat)、另一点到原点之间的连线所在的单位向量v(v_long,v_lat)、以及另一点到原点的距离Dis,计算另一个点P1(long 1,lat 1)。该迭代过程基于负反馈控制理论,即检测偏差并纠正偏差。
如图9所示,为一个实施例中纠正偏差的迭代过程示意图。参照图9,首次迭代过程根据原点对应的经纬度坐标P(long,lat)、位置点到原点的距离Dis、以及连线所在的单位向量v(v_long,v_lat),计算位置点在经纬度坐标系中的当前经纬度坐标的公式如下:
long 1=long+Dis·v_long;
lat 1=lat+Dis·v_lat;
接着,再计算P1(long 1,lat 1)与P(long,lat)之间的距离,即currDis,将该距离与位置点到原点的距离Dis进行比较,即检测偏差,得到差异diff=Dis-currDis,其中Dis可认为是要达到的目标,currDis是当前已达到的状态,diff就是当前与理想目标的差距。如果差距diff小于给定的精度阈值T或迭代次数已经达到设定值max_time,则认为达到了目标,终止迭代过程,否则就将这个差异diff叠加到当前经纬度坐标newPoint即P1(long1,lat 1)上,得到位置点的更新经纬度坐标,即P2(long 2,lat 2),具体可通过如下公式:
long 2=long1+diff·v_long;
lat 2=lat1+diff·v_lat;
这个操作就是在试图纠正偏差,希望在下一次迭代中差距diff会越来越小,直到达到给定的精度T或迭代次数达到设定值。
接着,再计算P2(long 2,lat 2)与P(long,lat)之间的距离,即currDis,将该距离与位置点到原点的距离Dis进行比较,即diff=Dis-currDis,如果差异diff小于给定的精度T或迭代次数已经达到设定值,则认为达到了目标,终止迭代过程,否则就将这个差距diff叠加到当前经纬度坐标newPoint即P2(long 2,lat 2)上,得到位置点的更新经纬度坐标,即P3(long 3,lat3),具体可通过如下公式:
long 3=long2+diff·v_long;
lat 3=lat2+diff·v_lat;
以此类推,按照这样的方式,直至迭代过程被终止时,输出位置点的经纬度坐标。通过上述迭代过程,可以保证从正交坐标系转换到经纬度坐标系的经纬度坐标不仅方向准确、且距离的精度也能达到要求,能够准确反映位置点与原点之间的位置关系,使得基于该经纬度坐标生成的地图元素可以提升高精度地图的可视化效果。
如图10所示,为一个具体的实施例中地图数据处理方法的流程示意图。该地图数据处理方法可以由计算机设备执行,参照图10,包括以下步骤:
步骤1002,获取原始地图数据,该原始地图数据包括位置点的经纬度坐标。
步骤1004,将该原始地图数据中的任一位置点,确定为正交坐标系的原点。
步骤1006,根据该原始地图数据中其它位置点与该任一位置点各自在该经纬度坐标系中的经纬度坐标,计算该其它位置点与该任一位置点的连线的距离。
步骤1008,将该距离,作为该其它位置点在该正交坐标系中与该原点的距离。
步骤1010,将该其它位置点与该任一位置点各自在该经纬度坐标系中的经纬度坐标,转换为墨卡托坐标系中的墨卡托坐标。
步骤1012,根据该其它位置点与该任一位置点各自在墨卡托坐标系中的墨卡托坐标,确定该其它位置点与该任一位置点之间连线的单位向量。
步骤1014,确定墨卡托坐标系中正东方向的单位向量。
步骤1016,根据该其它位置点与该任一位置点之间连线的单位向量、该墨卡托坐标系中正东方向的单位向量,计算该其它位置点与该任一位置点之间连线与正东方向的夹角。
步骤1018,将计算得到的夹角,作为该其它位置点与该原点的连线的角度。
步骤1020,根据该其它位置点与该原点的连线的距离与角度,确定该其它位置点在以该原点为极点的极坐标系中的极坐标。
步骤1022,将该极坐标从该极坐标系转换到正交坐标系,得到该其它位置点在正交坐标系中的正交坐标。
步骤1024,基于该位置点在该正交坐标系中的正交坐标,进行几何运算,得到与该位置点相关的地图元素在该正交坐标系中的正交坐标。
步骤1026,根据该地图元素的各位置点在该正交坐标系中的正交坐标与该正交坐标系中原点的正交坐标,确定各位置点到原点的距离、以及各位置点与该原点之间的连线所在的单位向量。
步骤1028,对于该地图元素的每个位置点,根据原点对应的经纬度坐标、该位置点到原点的距离、以及该连线所在的单位向量,计算该位置点在经纬度坐标系中的当前经纬度坐标。
步骤1030,计算该位置点的当前经纬度坐标到原点对应的经纬度坐标的距离。
步骤1032,计算该位置点到原点的距离与计算的距离之间的差异。
步骤1034,当该差异不满足迭代停止条件时,基于该连线所在的单位向量将该差异叠加到计算的该当前经纬度坐标,得到该位置点的更新经纬度坐标。
步骤1036,未满足迭代停止条件时,将更新经纬度坐标作为该位置点的当前经纬度坐标。返回步骤1030继续执行。
步骤1038,满足迭代停止条件时,将该位置点的当前经纬度坐标作为该位置点的经纬度坐标,根据地图元素中各位置点的经纬度坐标,在虚拟地图中渲染显示该地图元素。
上述地图数据处理方法,先将获取的原始地图数据从经纬度坐标系转换成正交坐标系,正交坐标系下的正交坐标可直接进行几何运算,可以快捷、准确地得到与位置点相关的地图元素在正交坐标系中的正交坐标,无需考虑距离或角度的偏差问题,再将地图元素在正交坐标系中的正交坐标,从正交坐标系转换回经纬度坐标系,可供上层的地图业务使用,以在地图中显示与位置点相关的地图元素,即实现快捷、准确地自动化生成各种地图元素。
本申请实施例提供的地图数据处理方法,可以应用到任一需要依据原始地图数据生成或补充地图元素的中,例如,在高精度地图中,若某些地区缺乏相应的高精度数据,可以使用普通地图数据采用本申请实施例提供的地图数据处理方法,为这些地区补充相应的地图元素、如道路面、路口面、道路线、斑马线等。可以在仅依赖于原始地图数据的情况下,便捷、准确地生成地图元素,既能保证距离又能保证角度。生成的地图元素的经纬度坐标数据,可供地图应用调用后,直接根据该经纬度坐标数据渲染、显示该地图元素。在涉及城市道路模型的游戏应用,可直接根据城市道路模型中地图元素的点串数据渲染显示相应的游戏画面。当然,可应用场景不局限于此。
下面以一个场景详细说明:本申请实施例提供的地图数据处理方法,主要包括将原始地图数据从经纬度坐标系转换成正交坐标系,从正交坐标系转换成经纬度坐标系。
从经纬度坐标系转换成正交坐标系的第一步是确定正交坐标系的原点,这个原点用经纬度坐标表达(因为在正交坐标系中原点的坐标必然是0)。正交坐标系的原点可以任意指定,也可以选为所有给定位置点的形心。形心的经度是所有给定位置点的经度的平均值,形心的纬度是所有给定点的纬度的平均值。正交坐标系的原点可以任意指定意味着这个坐标系是一个相对坐标系。比如要处理一个路口面的数据,将原点选为路口面的中心点,在这个中心点处以正东方向为x轴正方向,以正北方向为y轴正方向,以垂直地面向上的方向为z轴正方向,建立一个正交坐标系,然后计算路口面的各位置点在这个正交坐标系中的正交坐标。从经纬度坐标系转换成正交坐标系的第二步是计算各位置点相对于原点的距离,可直接根据原始地图数据中位置点的经纬度坐标与原点的经纬度坐标计算得到。从经纬度坐标系转换成正交坐标系的第三步是计算各位置点与原点的连线相对于正东方向的角度,逆时针为正。先将各位置点从经纬度坐标系转换成墨卡托坐标,然后基于墨卡托坐标计算和原点的连线与正东方向的夹角。得到各位置点相对于原点正东方向的准确的角度θ和距离l之后,也就是得到了一个极坐标系,从经纬度坐标系转换成正交坐标系的第四步是将极坐标系转换成正交坐标系,至此就完成了从经纬度坐标系到正交坐标系的转换。
此后,就可以直接在这个正交坐标系下进行几何计算,得到与位置点相关的地图元素在正交坐标系中的坐标,无需考虑距离或角度的偏差问题,因此既便于计算距离又便于计算角度,单独使用经纬度或墨卡托坐标都无法达到这种目的。
接着,将正交坐标系转换成经纬度坐标系。正交坐标系的本质是各位置点相对于原点的向量,该向量可以表示为单位向量乘以长度,长度即该位置点到原点的距离,单位向量即某个角度下长度为1的向量,距离与角度均可以通过该位置点与原点的正交坐标计算得到,那么,将一位置点的正交坐标从正交坐标系转换成经纬度坐标系的经纬度坐标的本质,就是将一已知经纬度的位置点(正交坐标系的原点)沿着一个方向(即单位向量)延伸得到一定距离(向量长度)以外的另一个点(即得到其它位置点的经纬度坐标)。基于这种思路,结合负反馈控制理论,通过一个迭代的过程,保证最终得到的经纬度坐标与原点对应的经纬度坐标之间的距离,与在正交坐标系中的距离是一致的,可以保证两个经纬度坐标之间的距离满足任意给定精度。
以上,就完成了从经纬度坐标系转换成正交坐标系,从正交坐标系转换成经纬度坐标系的过程。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的地图数据处理方法的地图数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个地图数据处理装置实施例中的具体限定可以参见上文中对于地图数据处理方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种地图数据处理装置1100,包括:获取模块1102、第一转换模块1104、几何运算模块1106和第二转换模块1108,其中:
获取模块1102,用于获取原始地图数据,原始地图数据包括位置点的经纬度坐标;
第一转换模块1104,用于将位置点的经纬度坐标转换为正交坐标系中的正交坐标;
几何运算模块1106,用于基于位置点在正交坐标系中的正交坐标,进行几何运算,得到与位置点相关的地图元素在正交坐标系中的正交坐标;
第二转换模块1108,用于将地图元素在正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;地图元素的经纬度坐标,用于在地图中显示地图元素。
在一个实施例中,第一转换模块1104还用于将原始地图数据中的任一位置点,确定为正交坐标系的原点;确定原始地图数据中其它位置点与原点的连线的距离与角度,该其它位置点是原始地图数据中除任一位置点之外的位置点;根据距离与角度,将该其它位置点的经纬度坐标转换为正交坐标系中的正交坐标。
在一个实施例中,第一转换模块1104还用于根据该其它位置点与任一位置点各自在经纬度坐标系中的经纬度坐标,计算该其它位置点与任一位置点的连线的距离;将距离,作为该其它位置点在正交坐标系中与原点的距离。
在一个实施例中,第一转换模块1104还用于将该其它位置点与任一位置点各自在经纬度坐标系中的经纬度坐标,转换为墨卡托坐标系中的墨卡托坐标;根据该其它位置点与任一位置点各自在墨卡托坐标系中的墨卡托坐标,确定该其它位置点与任一位置点之间连线的单位向量;确定墨卡托坐标系中正东方向的单位向量;根据该其它位置点与任一位置点之间连线的单位向量、墨卡托坐标系中正东方向的单位向量,计算该其它位置点与任一位置点之间连线与正东方向的夹角;将计算得到的夹角,作为该其它位置点与原点的连线的角度。
在一个实施例中,第一转换模块1104还用于根据该其它位置点与原点的连线的距离与角度,确定该其它位置点在以原点为极点的极坐标系中的极坐标;将极坐标从极坐标系转换到正交坐标系,得到该其它位置点在正交坐标系中的正交坐标。
在一个实施例中,与位置点相关的地图元素为道路面,几何运算模块1106,还用于获取用于形成道路面的预设道路宽度;根据原始地图数据中形成道路的点串在正交坐标系中的正交坐标与预设道路宽度,进行几何运算,得到形成道路的道路边界线的点串在正交坐标系中的正交坐标;将形成道路的道路边界线的点串在正交坐标系中的正交坐标,作为道路的道路面在正交坐标系中的正交坐标。
在一个实施例中,与道路相关的地图元素为路口面,几何运算模块1106,还用于获取第一路口面的各位置点在第一正交坐标系中的正交坐标,第一正交坐标系是以第一位置点为原点的正交坐标系;将第一正交坐标系平移至以第二位置点为原点,得到第二正交坐标系;将第一路口面的各位置点在第一正交坐标系中的正交坐标,作为复制的第二路口面的各位置点在以第二位置点为原点的第二正交坐标系中的正交坐标。
可选地,第二转换模块1108,还用于基于第一位置点的经纬度坐标,将第一路口面的各位置点在第一正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;基于第二位置点的经纬度坐标,将第二路口面的各位置点在第二正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,得到复制的第二路口面。
在一个实施例中,第二转换模块1108,还用于根据地图元素的各位置点在正交坐标系中的正交坐标与正交坐标系中原点的正交坐标,确定各位置点到原点的距离、以及各位置点与原点之间的连线所在的单位向量;将原点对应的经纬度坐标,沿着连线所在的单位向量按距离进行延长,得到地图元素的各位置点在经纬度坐标系中的经纬度坐标。
在一个实施例中,第二转换模块1108,还用于对于地图元素的每个位置点,根据原点对应的经纬度坐标、位置点到原点的距离、以及连线所在的单位向量,计算位置点在经纬度坐标系中的当前经纬度坐标;计算位置点的当前经纬度坐标到原点对应的经纬度坐标的距离;计算位置点到原点的距离与计算的距离之间的差异;当差异不满足迭代停止条件时,基于连线所在的单位向量将差异叠加到计算的当前经纬度坐标,得到位置点的更新经纬度坐标;将更新经纬度坐标作为位置点的当前经纬度坐标,继续计算位置点的当前经纬度坐标到原点对应的经纬度坐标的距离,直至差异满足迭代停止条件时,将位置点的当前经纬度坐标作为位置点的经纬度坐标。
在一个实施例中,地图数据处理装置1100还包括地图显示模块,用于根据地图元素的经纬度坐标,在虚拟地图中渲染显示地图元素。
上述地图数据处理装置1100,先将获取的原始地图数据从经纬度坐标系转换成正交坐标系,正交坐标系下的正交坐标可直接进行几何运算,可以快捷、准确地得到与位置点相关的地图元素在正交坐标系中的正交坐标,无需考虑距离或角度的偏差问题,再将地图元素在正交坐标系中的正交坐标,从正交坐标系转换回经纬度坐标系,可供上层的地图业务使用,以在地图中显示与位置点相关的地图元素,即实现快捷、准确地自动化生成各种地图元素。
上述地图数据处理装置1100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始地图数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种地图数据处理方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任一个或多个实施例提供的地图数据处理方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任一个或多个实施例提供的地图数据处理方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请任一个或多个实施例提供的地图数据处理方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (15)

1.一种地图数据处理方法,其特征在于,所述方法包括:
获取原始地图数据,所述原始地图数据包括位置点的经纬度坐标;
将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标;
基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标;
将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;所述地图元素的经纬度坐标,用于在地图中显示所述地图元素。
2.根据权利要求1所述的方法,其特征在于,所述将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标,包括:
将所述原始地图数据中的任一位置点,确定为正交坐标系的原点;
确定所述原始地图数据中其它位置点与所述原点的连线的距离与角度,所述其它位置点是所述原始地图数据中除所述任一位置点之外的位置点;
根据所述距离与角度,将所述其它位置点的经纬度坐标转换为正交坐标系中的正交坐标。
3.根据权利要求2所述的方法,其特征在于,所述确定所述原始地图数据中其它位置点与所述原点的连线的距离,包括:
根据所述其它位置点与所述任一位置点各自在所述经纬度坐标系中的经纬度坐标,计算所述其它位置点与所述任一位置点的连线的距离;
将所述距离,作为所述其它位置点在所述正交坐标系中与所述原点的距离。
4.根据权利要求2所述的方法,其特征在于,确定所述原始地图数据中其它位置点与所述原点的连线的角度,包括:
将所述其它位置点与所述任一位置点各自在所述经纬度坐标系中的经纬度坐标,转换为墨卡托坐标系中的墨卡托坐标;
根据所述其它位置点与所述任一位置点各自在墨卡托坐标系中的墨卡托坐标,确定所述其它位置点与所述任一位置点之间连线的单位向量;
确定墨卡托坐标系中正东方向的单位向量;
根据所述其它位置点与所述任一位置点之间连线的单位向量、所述墨卡托坐标系中正东方向的单位向量,计算所述其它位置点与所述任一位置点之间连线与正东方向的夹角;
将计算得到的夹角,作为所述其它位置点与所述原点的连线的角度。
5.根据权利要求2所述的方法,其特征在于,所述根据所述距离与角度,将所述其它位置点的经纬度坐标转换为正交坐标系中的正交坐标,包括:
根据所述其它位置点与所述原点的连线的距离与角度,确定所述其它位置点在以所述原点为极点的极坐标系中的极坐标;
将所述极坐标从所述极坐标系转换到正交坐标系,得到所述其它位置点在正交坐标系中的正交坐标。
6.根据权利要求1所述的方法,其特征在于,与所述位置点相关的地图元素为道路面,所述基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标,包括:
获取用于形成道路面的预设道路宽度;
根据所述原始地图数据中形成道路的点串在所述正交坐标系中的正交坐标与所述预设道路宽度,进行几何运算,得到形成所述道路的道路边界线的点串在所述正交坐标系中的正交坐标;
将形成所述道路的道路边界线的点串在所述正交坐标系中的正交坐标,作为所述道路的道路面在所述正交坐标系中的正交坐标。
7.根据权利要求1所述的方法,其特征在于,与所述道路相关的地图元素为路口面,所述基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标,包括:
获取第一路口面的各位置点在第一正交坐标系中的正交坐标,所述第一正交坐标系是以第一位置点为原点的正交坐标系;
将所述第一正交坐标系平移至以第二位置点为原点,得到第二正交坐标系;
将所述第一路口面的各位置点在所述第一正交坐标系中的正交坐标,作为复制的第二路口面的各位置点在以所述第二位置点为原点的所述第二正交坐标系中的正交坐标。
8.根据权利要求7所述的方法,其特征在于,所述将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,包括:
基于所述第一位置点的经纬度坐标,将所述第一路口面的各位置点在所述第一正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;
基于所述第二位置点的经纬度坐标,将所述第二路口面的各位置点在所述第二正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,得到复制的第二路口面。
9.根据权利要求1所述的方法,其特征在于,所述将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标,包括:
根据所述地图元素的各位置点在所述正交坐标系中的正交坐标与所述正交坐标系中原点的正交坐标,确定各位置点到所述原点的距离、以及各位置点与所述原点之间的连线所在的单位向量;
将所述原点对应的经纬度坐标,沿着所述连线所在的单位向量按所述距离进行延长,得到所述地图元素的各位置点在经纬度坐标系中的经纬度坐标。
10.根据权利要求9所述的方法,其特征在于,所述将所述原点对应的经纬度坐标,沿着所述连线所在的单位向量按所述距离进行延长,得到所述地图元素的各位置点在经纬度坐标系中的经纬度坐标,包括:
对于所述地图元素的每个位置点,根据所述原点对应的经纬度坐标、所述位置点到所述原点的距离、以及所述连线所在的单位向量,计算所述位置点在经纬度坐标系中的当前经纬度坐标;
计算所述位置点的当前经纬度坐标到所述原点对应的经纬度坐标的距离;
计算所述位置点到所述原点的距离与计算的距离之间的差异;
当所述差异不满足迭代停止条件时,基于所述连线所在的单位向量将所述差异叠加到计算的所述当前经纬度坐标,得到所述位置点的更新经纬度坐标;
将更新经纬度坐标作为所述位置点的当前经纬度坐标,返回所述计算所述位置点的当前经纬度坐标到所述原点对应的经纬度坐标的距离的步骤继续执行,直至所述差异满足迭代停止条件时,将所述位置点的当前经纬度坐标作为所述位置点的经纬度坐标。
11.根据权利要求1至10任意一项所述的方法,其特征在于,所述方法还包括:
根据所述地图元素的经纬度坐标,在虚拟地图中渲染显示所述地图元素。
12.一种地图数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取原始地图数据,所述原始地图数据包括位置点的经纬度坐标;
第一转换模块,用于将所述位置点的经纬度坐标转换为正交坐标系中的正交坐标;
几何运算模块,用于基于所述位置点在所述正交坐标系中的正交坐标,进行几何运算,得到与所述位置点相关的地图元素在所述正交坐标系中的正交坐标;
第二转换模块,用于将所述地图元素在所述正交坐标系中的正交坐标,转换为经纬度坐标系中的经纬度坐标;所述地图元素的经纬度坐标,用于在地图中显示所述地图元素。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202211633937.3A 2022-12-19 2022-12-19 地图数据处理方法、装置、设备、存储介质和程序产品 Pending CN118227717A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211633937.3A CN118227717A (zh) 2022-12-19 2022-12-19 地图数据处理方法、装置、设备、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211633937.3A CN118227717A (zh) 2022-12-19 2022-12-19 地图数据处理方法、装置、设备、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN118227717A true CN118227717A (zh) 2024-06-21

Family

ID=91507114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211633937.3A Pending CN118227717A (zh) 2022-12-19 2022-12-19 地图数据处理方法、装置、设备、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN118227717A (zh)

Similar Documents

Publication Publication Date Title
Chang Introduction to geographic information systems
EP2530433B1 (en) Method of generating a database for a navigation device
CA2435270C (en) Navigation map creation system
Dąbrowski et al. Integration of multi-source geospatial data from GNSS receivers, terrestrial laser scanners, and unmanned aerial vehicles
CN105247575A (zh) 用于在三维场景上叠加二维地图数据的系统和方法
CN116433860B (zh) 路口面生成方法、装置、设备、存储介质和程序产品
CN116295457B (zh) 一种基于二维语义地图的车辆视觉定位方法及系统
Lee et al. Implementation of an open platform for 3D spatial information based on WebGL
CN115346012A (zh) 路口面的生成方法、装置、设备、存储介质和程序产品
CN111275807A (zh) 一种3d道路建模的方法和系统
Liu et al. An approach to 3D model fusion in GIS systems and its application in a future ECDIS
CN117539970B (zh) 车道数据压缩方法、装置、计算机设备和存储介质
US20090087034A1 (en) Static and dynamic contours
Liu et al. Generating 3D depiction for a future ECDIS based on digital earth
CN118227717A (zh) 地图数据处理方法、装置、设备、存储介质和程序产品
CN115830073A (zh) 地图要素重建方法、装置、计算机设备和存储介质
Saračević et al. IoT application for smart cities data storage and processing based on triangulation method
CN114972599A (zh) 一种对场景进行虚拟化的方法
Siopi et al. A study on high definition maps' standards and specifications for autonomous vehicles
Liu et al. Fusing multiscale charts into 3D ENC systems based on underwater topography and remote sensing image
CN112667761A (zh) 地理信息数据生成、地图呈现方法及装置、存储介质、计算设备
Khairnar An Approach of Automatic Reconstruction of Building Models for Virtual Cities from Open Resources
US9958273B2 (en) Computer-implemented map of assets conversion method and system
Góralski Three-Dimensional Interactive Maps–Theory and Practice
Luo et al. Dynamic Update Exploration and Discussion of Basic Geographic Information Data Based on Multi-Source Data Fusion

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication