CN111723167A - 地图坐标转换方法、装置、可读存储介质和计算机设备 - Google Patents
地图坐标转换方法、装置、可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN111723167A CN111723167A CN201910391487.3A CN201910391487A CN111723167A CN 111723167 A CN111723167 A CN 111723167A CN 201910391487 A CN201910391487 A CN 201910391487A CN 111723167 A CN111723167 A CN 111723167A
- Authority
- CN
- China
- Prior art keywords
- coordinate
- initial
- coordinates
- parallelogram
- map
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Navigation (AREA)
- Image Processing (AREA)
Abstract
本申请涉及一种地图坐标转换方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取目标位置在初始地图上的初始坐标;将所述初始坐标经过线性变换处理得到第一坐标;将所述第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标;将所述初始坐标与所述第二坐标相连,将所述输入坐标和所述第二坐标相连以构建平行四边形,得到所述平行四边形的第三坐标;将所述第三坐标作为所述目标位置在目标地图上的目标坐标。本申请提供的方案可以实现将一个地图上的坐标准确地转换为另一个地图上的对应坐标,实现将一个地图上的位置在另一个地图上精确定位。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种地图坐标转换方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术的发展,出现了定位技术,通过定位技术创建了GPS(GlobalPositioning System,全球定位系统)和WGS84(World Geodetic System 1984,世界大地坐标系,简称WGS)等坐标系统,极大地提高了地球社会的信息化水平,有力地推动了数字经济的发展。
但是,目前不同的地图上所使用的坐标系统并不相同。当需要将一个地图上的某个位置在另一个地图上标注出来时,可能会产生较大的位置偏差,无法实现精准定位。
发明内容
基于此,有必要针对一个地图上的位置无法在另一个地图上精确定位的技术问题,提供一种地图坐标转换方法、装置、计算机可读存储介质和计算机设备。
一种地图坐标转换方法,包括:
获取目标位置在初始地图上的初始坐标;
将所述初始坐标经过线性变换处理得到第一坐标;
将所述第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标;
将所述初始坐标与所述第二坐标相连,将所述输入坐标和所述第二坐标相连以构建平行四边形,得到所述平行四边形的第三坐标;
将所述第三坐标作为所述目标位置在目标地图上的目标坐标。
一种地图坐标转换装置,所述装置包括:
获取模块,用于获取目标位置在初始地图上的初始坐标;
处理模块,用于将所述初始坐标经过线性变换处理得到第一坐标;
转换模块,用于将所述第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标;
构建模块,用于将所述初始坐标与所述第二坐标相连,将所述输入坐标和所述第二坐标相连以构建平行四边形,得到所述平行四边形的第三坐标;
确定模块,用于将所述第三坐标作为所述目标位置在目标地图上的目标坐标。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
上述地图坐标转换方法、装置、计算机可读存储介质和计算机设备,通过获取目标位置在初始地图上的初始坐标,将初始坐标经过线性变换处理得到第一坐标,将第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标,以得到三个已知坐标。并将初始坐标与第二坐标相连,将输入坐标和第二坐标相连以构建平行四边形,使得能够根据三个已知坐标和三个点之间的连接关系确定平行四边形的第三坐标。将第三坐标作为目标位置在目标地图上的目标坐标,从而能够将一个地图上的坐标准确地转换为另一个地图上的对应坐标,实现将一个地图上的位置在另一个地图上精确定位。
附图说明
图1为一个实施例中地图坐标转换方法的应用环境图;
图2为一个实施例中地图坐标转换方法的流程示意图;
图3为一个实施例中得到平行四边形的第三坐标的步骤的流程示意图;
图4为一个实施例中迭代步骤的流程示意图;
图5为另一个实施例中地图坐标转换方法的流程示意图;
图6为另一个实施例中迭代步骤的流程示意图;
图7为一个实施例中将GCJ坐标转换为WGS坐标的流程示意图;
图8为一个实施例中目标位置的GCJ坐标与实际WGS坐标的误差对比图表;
图9为一个实施例中目标位置的坐标经过迭代后的误差对比图表;
图10为一个实施例中地图坐标转换装置的结构框图;
图11为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中地图坐标转换方法的应用环境图。参照图1,该地图坐标转换方法应用于地图坐标转换系统。该地图坐标转换系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本实施例中,终端110可获取目标位置在初始地图上的初始坐标,将该初始坐标发送给服务器120,由服务器120执行将初始地图上的初始坐标转化为目标地图上的目标坐标的步骤,服务器120将目标坐标返回给终端110。终端110并接收服务器120返回的目标坐标。
在本实施例中,终端110可获取目标位置在初始地图上的初始坐标,将该初始坐标经过线性变换处理得到第一坐标。终端110获取目标地图上的坐标转化为初始地图上的坐标的坐标转换函数,将第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标。接着,终端110将初始坐标与第二坐标相连,将输入坐标和第二坐标相连以构建平行四边形,可计算得到平行四边形的第三坐标。将该第三坐标作为目标位置在目标地图上的目标坐标,从而能够将初始地图上的坐标转换为目标地图上的坐标。
如图2所示,在一个实施例中,提供了一种地图坐标转换方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该地图坐标转换方法具体包括如下步骤:
步骤202,获取目标位置在初始地图上的初始坐标。
其中,目标位置是指需要转换坐标的地点。初始地图是指需要转换的坐标所处的地图。初始坐标是指目标位置在初始地图上的坐标,该初始坐标为目标位置的经纬度坐标。
具体地,终端确定需要转换坐标的目标位置,并确定该目标位置所处的初始地图。接着终端获取该目标位置在该初始地图上的初始坐标。
在本实施例中,终端可接收用户在初始地图上输入的目标位置或在初始地图上点击,并获取该目标位置的GCJ坐标。
步骤204,将该初始坐标经过线性变换处理得到第一坐标。
步骤206,将该第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标。
其中,坐标转换函数为目标地图上的坐标转换为初始地图上的坐标的转换函数。
具体地,终端将初始坐标经过GCJ加密处理,并根据处理后得到的坐标和初始坐标计算得到第一坐标。接着,终端将第一坐标作为坐标转换函数的输入坐标,将输入坐标代入坐标转换函数进行坐标转换处理,计算得到该输入坐标对应的第二坐标。该第二坐标即为第一坐标经过坐标转换处理后得到的坐标。
步骤208,将该初始坐标与该第二坐标相连,将该输入坐标和该第二坐标相连以构建平行四边形,得到该平行四边形的第三坐标。
具体地,初始坐标、第二坐标、输入坐标和第三坐标为平行四边形的四个顶点。终端将初始坐标和第二坐标相连,将输入坐标和第二坐标相连,可根据三个点的坐标和这三个点之间的连接关系,构建唯一的平行四边形。接着,终端根据构建的平行四边形确定未知的顶点坐标,即该平行四边形的第三坐标。接着,终端根据平行四边形的初始坐标、第二坐标和输入坐标三个已知坐标,以及这三个顶点之间的连接关系,计算出平行四边形的第三坐标。
步骤210,将该第三坐标作为该目标位置在目标地图上的目标坐标。
具体地,终端将计算得到的平行四边形的第三坐标作为初始地图上的目标位置的初始坐标在目标地图上的目标坐标。
在本实施例中,初始坐标可以是GCJ-02(简称GCJ)坐标。GCJ-02是由中国国家测绘局(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统,是一种对经纬度数据的加密算法,即加入随机的偏差。中国国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
目标坐标可以是WGS坐标,目标坐标为目标位置在目标地图上的经纬度坐标。初始地图可以是使用GCJ坐标系的地图,目标地图可以是使用WGS坐标系的地图。目标地图使用的坐标系与初始地图使用的坐标系为不同的坐标系。
上述地图坐标转换方法,通过获取目标位置在初始地图上的初始坐标,将初始坐标经过线性变换处理得到第一坐标,将第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标,以得到三个已知坐标。并将初始坐标与第二坐标相连,将输入坐标和第二坐标相连以构建平行四边形,使得能够根据三个已知坐标和三个点之间的连接关系确定平行四边形的第三坐标。将第三坐标作为目标位置在目标地图上的目标坐标,从而能够将一个地图上的坐标准确地转换为另一个地图上的对应坐标,实现将一个地图上的位置在另一个地图上精确定位。
在一个实施例中,初始地图使用的坐标系可以是GCJ-02(简称GCJ)坐标系、WGS-84(简称WGS)坐标系、北京54坐标系、西安80坐标系、BD-09百度坐标系和各地图应用程序开发公司所研发的坐标系,目标地图使用的坐标系可以是GCJ-02(简称GCJ)坐标系、WGS-84(简称WGS)坐标系、北京54坐标系、西安80坐标系、BD-09百度坐标系和各地图应用程序开发公司所研发的坐标系。在本实施例的地图坐标转换处理中,初始地图与目标地图所使用的坐标系为不同的坐标系。通过本方案用户可将国内的电子地图的感兴趣的位置的坐标整合到世界地图或者谷歌地图上。
在一个实施例中,将该初始坐标经过线性变换处理得到第一坐标,包括:根据坐标转换函数将初始坐标转换为第四坐标;将初始坐标作为第四坐标和第一坐标的中点坐标,得到第一坐标。
具体地,终端获取初始坐标,并获取坐标转换函数,根据坐标转换函数将初始坐标进行坐标转换处理,计算得到第四坐标。接着,终端可将初始坐标作为第四坐标和第一坐标的中点,则初始坐标为第四坐标和第一坐标的中点坐标。已知第四坐标和中点坐标,终端可根据中点公式计算出第一坐标。通过坐标转换函数将初始坐标转换得到第四坐标,再将初始坐标作为第四坐标和第一坐标的中点坐标,以求出第一坐标。使得能够将初始坐标经过线性变换处理快速的得到对应的第一坐标,从而初步得到目标坐标的近似值。
在一个实施例中,如图3所示,该得到该平行四边形的第三坐标,包括:
步骤302,确定该输入坐标相对于该第二坐标的第一偏移距离。
其中,偏移距离是指一个坐标相对于另一个坐标偏移的距离。
具体地,终端可获取输入坐标和第二坐标,并通过距离公式计算输入坐标相对于第二坐标的偏移距离,即第一偏移距离。
步骤304,确定该第二坐标相对于该初始坐标的第二偏移距离。
具体地,终端获取第二坐标和初始坐标,根据距离公式计算出第二坐标相对于该初始坐标的偏移距离,即第二偏移距离。
步骤306,根据输入坐标、第二坐标、初始坐标、第一偏移距离和第二偏移距离,确定该平行四边形的第三坐标。
具体地,根据平行四边形的性质,平行四边形的第三坐标相对于初始坐标的偏移距离等于第一坐标相对于第二坐标的偏移距离,可知第三坐标相对于初始坐标的偏移距离为第一偏移距离。平行四边形的第一坐标相对于第三坐标的偏移距离等于第二坐标相对于初始坐标的偏移距离,可知第一坐标相对于第三坐标的偏移距离为第二偏移距离。已知初始坐标和第一偏移距离,第一坐标和第二偏移距离,终端可计算出第三坐标。
在本实施例中,终端可进一步计算输入坐标相对于该第二坐标的第一偏移角度,并确定该第二坐标相对于该初始坐标的第二偏移角度。接着,终端根据输入坐标、第二坐标、该初始坐标、该第一偏移距离和该第二偏移距离,以及第一偏移角度和第二偏移角度,计算出该平行四边形的第三坐标。
上述地图坐标转换方法,通过确定输入坐标相对于第二坐标的第一偏移距离,并确定第二坐标相对于初始坐标的第二偏移距离,根据输入坐标、第二坐标、初始坐标、第一偏移距离和第二偏移距离,从而快速计算出该平行四边形的第三坐标。
在一个实施例中,得到该平行四边形的第三坐标,包括:确定该输入坐标和该初始坐标的中点坐标;根据该中点坐标和第二坐标,确定该平行四边形的第三坐标。
具体地,终端将初始坐标与第二坐标相连,将输入坐标和第二坐标相连以构建平行四边形。得到构建好的平行四边形后,确定平行四边形四个顶点的对角。根据初始坐标与第二坐标相连,输入坐标和第二坐标相连可知,初始坐标对应的顶点的对角为第一坐标对应的顶点,则初第二坐标对应的顶点的对角为第三坐标对应的顶点。接着,终端可根据初始坐标和第一坐标,计算出初始坐标和第一坐标的中点坐标。根据平行四边形的性质可知,初始坐标和第一坐标的中点坐标同样是第二坐标和第三坐标的中点坐标。则终端根据中点坐标和第二坐标,可计算出第三坐标,从而得到平行四边形未知顶点的坐标。通过平行四边形的性质,可快速准确地得到第三坐标,从而提高坐标转换的效率。
在一个实施例中,如图4所示,将该第三坐标作为该目标位置在目标地图上的目标坐标之前,还包括:
步骤402,获取预设的迭代次数。
其中,将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标,不断构建新的平行四边形并得到新的第三坐标的次数称为迭代次数。
具体地,终端可获取预先配置好的迭代次数。该迭代次数可以为3次、4次等,但不限于此。该迭代次数可根据需求进行修改。
步骤404,检测第三坐标的迭代次数,该迭代是将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标。
具体地,终端计算出平行四边形的第三坐标后,检测第三坐标的迭代次数。迭代是指根据输入坐标、初始坐标和输入坐标对应的第二坐标构建平行四边形,以得到该平行四边形的第三坐标。并以第三坐标作为新的输入坐标,经过坐标转换得到对应的第二坐标,再根据新的输入坐标、初始坐标和新的输入坐标对应的第二坐标构建平行四边形,以得到该平行四边形的第三坐标的过程。即将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标,构建平行四边形,得到第三坐标的过程。
步骤406,当检测到第三坐标的迭代次数与预设的迭代次数相同时,输出该第三坐标。
具体地,当终端检测到第三坐标的迭代次数,将第三坐标的迭代次数与预设的迭代次数进行对比,当第三坐标的迭代次数与预设的迭代次数相同时,判定当前迭代过程完成,则输出该第三坐标。当第三坐标的迭代次数小于预设的迭代次数时,判定当前迭代过程未完成,则进入下一轮迭代。即将当前得到的第三坐标作为新的输入坐标,根据坐标转换函数进行坐标转换,得到新的第二坐标,再将新的输入坐标和新的第二坐标相连,新的第二坐标和初始坐标相连,以构建新的平行四边形,得到新的第三坐标。再次检验新的第三坐标的迭代次数是否与预设的迭代次数相同,知道第三坐标的迭代次数与预设的迭代次数相同的完成迭代过程,输出最后一次迭代得到的第三坐标。
上述地图坐标转换方法中,获取预设的迭代次数,检测第三坐标的迭代次数,该迭代是将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标,以确定迭代是否结束。当检测到第三坐标的迭代次数与所述预设的迭代次数相同时,迭代结束,输出第三坐标。当第三坐标的迭代次数达到预设的迭代次数时,得到的第三坐标为目标位置在目标地图上的比较精确的坐标。
在一个实施例中,该将该第三坐标作为该目标位置在目标地图上的目标坐标之前,还包括:获取预设的迭代次数;检测该第三坐标的迭代次数,当该第三坐标的迭代次数小于预设的迭代次数时,将该第三坐标作为输入坐标,根据该输入坐标进行坐标转换得到对应的第二坐标,根据该初始坐标、输入坐标以及对应的第二坐标构建平行四边形,得到该平行四边形的第三坐标;当该平行四边形的第三坐标的迭代次数与该预设的迭代次数相同时,输出该第三坐标。
具体地,终端计算出平行四边形的第三坐标后,检测该平行四边形的第三坐标的迭代次数。当该第三坐标的迭代次数小于预设的迭代次数时,将该平行四边形的第三坐标都作为下一次坐标转换函数的输入坐标,以进行下一次迭代。进一步地,终端获取上一次迭代得到第三坐标,将上一次迭代得到的第三坐标作为坐标转换函数的输入坐标,得到本次迭代的输入坐标,并开始本次的迭代。将输入坐标经过坐标转换处理得到输入坐标对应的第二坐标,即得到本次迭代的第二坐标。接着,终端将输入坐标和第二坐标相连,并将第二坐标与初始坐标相连,以构建平行四边形,得到本次迭代构建的平行四边形。进一步地,终端根据平行四边形三个已知顶点的坐标和三个顶点之间的连接关系,求出本次迭代的平行四边形的第三坐标,从而计算出本次迭代的第三坐标。
上述地图坐标转换方法中,当该第三坐标的迭代次数小于预设的迭代次数时,将该第三坐标作为输入坐标,根据该输入坐标进行坐标转换得到对应的第二坐标。并执行新一轮的迭代,根据该初始坐标、输入坐标以及对应的第二坐标构建新的平行四边形,得到新一轮迭代的平行四边形的第三坐标,当该平行四边形的第三坐标的迭代次数与该预设的迭代次数相同时,输出该第三坐标,从而得到新一轮迭代的第三坐标。通过预设的迭代次数,得到迭代后的第三坐标,从而使得目标位置的目标坐标更精确。
在一个实施例中,如图5所示,在将该初始坐标经过线性变换处理得到第一坐标之后,还包括:
步骤502,将该第一坐标作为圆心,以预设距离为半径,得到圆。
步骤504,获取该圆上指定数量的候选点的坐标。
其中,预设距离可以是距离第一坐标1米至2米,但不限于此。圆上指定数量的候选点可以是3个候选点、5个候选点等,但不限于此。
具体地,终端获取预设的半径,以第一坐标为圆心,以预设半径画圆,得到一个圆。接着,终端从该圆上获取指定数量的候选点,并得到指定数量的候选点中每个候选点的坐标。
将该第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标,包括:
步骤506,将该候选点的坐标作为坐标转换函数的输入坐标,进行坐标转换得到候选点的坐标对应的第二坐标。
具体地,终端将指定数量的候选点中的每个候选点的坐标作为坐标转换函数的输入坐标,经过坐标转换处理,得到每个候选点的坐标对应的第二坐标。
在本实施例中,终端可将指定数量的候选点中的任一个候选点的坐标单独作为坐标转换函数的输入坐标,经过坐标转换处理,得到该候选点的坐标对应的第二坐标。接着,再选取另一候选点的坐标,经过坐标转换处理,得到对应的第二坐标,直到选取完指定数量的候选点并完成坐标转换处理时进入下一操作。
在本实例中,终端可将所有指定数量的候选点的坐标同时作为坐标转换函数的输入坐标,经过坐标转换处理,同时输出每个候选点的坐标对应的第二坐标,以实现数据的并行处理,提高坐标转换的效率。
将该初始坐标与该第二坐标相连,将该输入坐标和该第二坐标相连以构建平行四边形,得到该平行四边形的第三坐标,包括:
步骤508,将一个输入坐标和该一个输入坐标对应的第二坐标相连,将该初始坐标和该一个输入坐标对应的第二坐标相连以构建平行四边形,得到每个平行四边形的第三坐标。
具体地,终端从指定数量的候选点的坐标中选取任一个输入坐标,并获取该输入坐标对应的第二坐标,将该输入坐标和对应的第二坐标相连,并将该对应的第二坐标和初始坐标相连,以构建平行四边形,得到一个平行四边形,从而得到该平行四边形的第三坐标。并按照相同的方式,将输入坐标、第二坐标和初始坐标构建平行四边形,得到指定数量的平行四边形,从而可得到每个平行四边形对应的第三坐标,从而得到指定数量的第三坐标。
在本实施例中,终端可将指定数量的输入坐标,每个输入坐标对应的第二坐标和初始坐标按照各自的对应关系构建平行四边形,能够同时得到指定数量的平行四边形,从而可得到每个平行四边形对应的第三坐标。通过并行构建平行四边形,提高数据的处理效率。
将该第三坐标作为该目标位置在目标地图上的目标坐标,包括:
步骤510,将该每个平行四边形的第三坐标与该初始坐标进行对比。
步骤512,将与该初始坐标距离最近的第三坐标作为该目标位置在目标地图上的目标坐标。
具体地,终端得到每个平行四边形的第三坐标后,将每个平行四边形的第三坐标与初始坐标进行对比。终端可根据距离公式计算出每个平行四边形的第三坐标和初始坐标之间的距离,将每个第三坐标和初始坐标之间的距离进行比较,确定出最短的距离。将该最短的距离对应的第三坐标作为该目标位置在目标地图上的目标坐标。
在本实施例中,终端得到每个平行四边形的第三坐标后,将每个平行四边形的第三坐标进行一次GCJ加密处理,即通过坐标转换函数将每个第三坐标进行坐标转换,对应得到每个第三坐标经过坐标转换处理后的坐标。接着,终端计算出每个第三坐标经过坐标转换处理后的坐标和初始坐标之间的距离,将每个第三坐标经过坐标转换处理后的坐标和初始坐标之间的距离进行比较,确定出最短的距离。从而将最短距离对应的经过坐标转换处理后的坐标对应的第三坐标作为该目标位置在目标地图上的目标坐标。
上述地图坐标转换方法中,将第一坐标作为圆心,以预设距离为半径以得到圆,并获取圆上指定数量的候选点的坐标,将候选点的坐标作为坐标转换函数的输入坐标,进行坐标转换以得到候选点的坐标对应的第二坐标。将一个输入坐标和一个输入坐标对应的第二坐标相连,将初始坐标和一个输入坐标对应的第二坐标相连以构建平行四边形,从而得到每个平行四边形的第三坐标。将每个平行四边形的第三坐标与初始坐标进行对比,将与初始坐标距离最近的第三坐标作为目标位置在目标地图上的目标坐标,从而能够将目标位置在目标地图上精确标注出来。
在一个实施例中,如图6所示,在将与该初始坐标距离最近的第三坐标作为该目标位置在目标地图上的目标坐标之前,还包括:
步骤602,获取预设的迭代次数。
步骤604,检测每个平行四边形的第三坐标的迭代次数。
具体地,终端计算出每个平行四边形的第三坐标后,检测每个平行四边形的第三坐标的迭代次数。每个平行四边形的第三坐标都作为下一次坐标转换函数的输入坐标,以进行下一次迭代。
步骤606,当第三坐标的迭代次数小于预设的迭代次数时,将第三坐标作为输入坐标,根据该输入坐标进行坐标转换得到对应的第二坐标,根据该初始坐标、输入坐标以及对应的第二坐标构建平行四边形,得到该平行四边形的第三坐标。
具体地,终端获取上一次迭代得到的指定数量的第三坐标,将每个第三坐标作为坐标转换函数的输入坐标,得到本次迭代的指定数量的输入坐标。将指定数量的输入坐标经过坐标转换处理得到每个输入坐标对应的第二坐标,即得到本次迭代的指定数量的第二坐标。接着,终端将每个输入坐标和对应的第二坐标相连,并将每个第二坐标与初始坐标相连,以构建平行四边形,得到本次迭代构建的指定数量的平行四边形。进一步地,终端根据每个平行四边形三个已知顶点的坐标和连接关系,求出本次迭代的每个平行四边形的第三坐标,从而得到本次迭代的指定数量的第三坐标。
步骤608,当该每个平行四边形的第三坐标的迭代次数与该预设的迭代次数相同时,输出该第三坐标。
具体地,每完成一次迭代,终端检测每个平行四边形的第三坐标的迭代次数,并获取预设的迭代次数。将每个平行四边形的第三坐标的迭代次数与预设的迭代次数进行对比,当该每个平行四边形的第三坐标的迭代次数与该预设的迭代次数相同时,输出每个平行四边形的第三坐标,得到指定数量的第三坐标。
在本实施例中,终端并行执行指定数量的平行四边形的迭代过程,则终端可检测任一平行四边形的第三坐标的迭代次数。
在上述地图坐标转换方法中,通过检测每个平行四边形的第三坐标的迭代次数,当第三坐标的迭代次数小于预设的迭代次数时,将第三坐标作为输入坐标,根据输入坐标进行坐标转换得到对应的第二坐标,根据初始坐标、输入坐标以及对应的第二坐标构建平行四边形,以得到本次迭代的指定数量的平行四边形,从而得到指定数量的第三坐标。当每个平行四边形的第三坐标的迭代次数与预设的迭代次数相同时,结束迭代,输出指定数量的第三坐标。通过并行执行迭代过程,可以同时构建多个平行四边形,提高数据处理的效率,从而提高了坐标转换的效率。
在一个实施例中,提供了一种地图坐标转换方法,该方法包括:
终端获取目标位置在初始地图上的初始坐标。
接着,终端根据坐标转换函数将该初始坐标转换为第四坐标。
接着,终端将该初始坐标作为该第四坐标和第一坐标的中点坐标,得到该第一坐标。
进一步地,终端将该第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标。
接着,终端将该初始坐标与该第二坐标相连,将该输入坐标和该第二坐标相连以构建平行四边形,确定该输入坐标和该初始坐标的中点坐标。
进一步地,终端根据该中点坐标和第二坐标,确定该平行四边形的第三坐标。
接着,终端获取预设的迭代次数;检测该第三坐标的迭代次数,该迭代是将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标。
接着,当检测到第三坐标的迭代次数与该预设的迭代次数相同时,终端输出该第三坐标。
进一步地,终端将该第三坐标作为该目标位置在目标地图上的目标坐标。
上述地图坐标转换方法,通过坐标转换函数将初始坐标转换得到第四坐标,再将初始坐标作为第四坐标和第一坐标的中点坐标,以求出第一坐标。使得能够将初始坐标经过线性变换处理快速地得到对应的第一坐标,从而初步得到目标坐标的近似值。
通过平行四边形的性质,可知初始坐标和第一坐标的中点坐标同样是第二坐标和第三坐标的中点坐标,则可快速准确地得到第三坐标,从而提高坐标转换的效率。
获取预设的迭代次数,检测第三坐标的迭代次数,该迭代是将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标,以确定迭代是否结束。当检测到第三坐标的迭代次数与所述预设的迭代次数相同时,迭代结束,输出第三坐标。当第三坐标的迭代次数达到预设的迭代次数时,得到的第三坐标为目标位置在目标地图上的比较精确的坐标。从而能够将一个地图上的坐标准确地转换为另一个地图上的对应坐标,实现将一个地图上的位置在另一个地图上精确定位。
在一个实施例中,提供了一种地图坐标转换方法,该方法包括:
终端获取目标位置在初始地图上的初始坐标。
接着,终端根据坐标转换函数将该初始坐标转换为第四坐标。
进一步地,终端将该初始坐标作为该第四坐标和第一坐标的中点坐标,得到该第一坐标。
接着,终端将该第一坐标作为圆心,以预设距离为半径,得到圆。
接着,终端获取该圆上指定数量的候选点的坐标。
接着,终端将该候选点的坐标作为坐标转换函数的输入坐标,进行坐标转换得到候选点的坐标对应的第二坐标。
进一步地,终端将一个输入坐标和该一个输入坐标对应的第二坐标相连,将该初始坐标和该一个输入坐标对应的第二坐标相连以构建平行四边形,得到每个平行四边形的第三坐标。
接着,终端将该每个平行四边形的第三坐标与该初始坐标进行对比。
接着,终端获取预设的迭代次数;检测该每个平行四边形的第三坐标的迭代次数。
可选地,当该第三坐标的迭代次数小于预设的迭代次数时,终端将该第三坐标作为输入坐标,根据该输入坐标进行坐标转换得到对应的第二坐标,根据该初始坐标、输入坐标以及对应的第二坐标构建平行四边形,得到该平行四边形的第三坐标。
可选地,当该每个平行四边形的第三坐标的迭代次数与该预设的迭代次数相同时,终端输出该第三坐标。
进一步地,终端将与该初始坐标距离最近的第三坐标作为该目标位置在目标地图上的目标坐标。
上述地图坐标转换方法,通过坐标转换函数将初始坐标转换得到第四坐标,再将初始坐标作为第四坐标和第一坐标的中点坐标,以求出第一坐标。使得能够将初始坐标经过线性变换处理快速地得到对应的第一坐标,从而初步得到目标坐标的近似值。
将第一坐标作为圆心,以预设距离为半径以得到圆,并获取圆上指定数量的候选点的坐标,将候选点的坐标作为坐标转换函数的输入坐标,同时输出每个候选点的坐标对应的第二坐标,以实现数据的并行处理。将指定数量的输入坐标、每个输入坐标对应的第二坐标和初始坐标按照各自的对应关系构建平行四边形,能够同时得到指定数量的平行四边形,从而可得到每个平行四边形对应的第三坐标。通过并行构建平行四边形,提高数据的处理效率。
通过检测每个平行四边形的第三坐标的迭代次数,当第三坐标的迭代次数小于预设的迭代次数时,将第三坐标作为输入坐标,根据输入坐标进行坐标转换得到对应的第二坐标,根据初始坐标、输入坐标以及对应的第二坐标构建平行四边形,以得到本次迭代的指定数量的平行四边形,从而得到指定数量的第三坐标。当每个平行四边形的第三坐标的迭代次数与预设的迭代次数相同时,结束迭代,输出指定数量的第三坐标。通过并行执行迭代过程,可以同时构建多个平行四边形,提高数据处理的效率,从而提高了坐标转换的效率。
将每个平行四边形的第三坐标与初始坐标进行对比,将与初始坐标距离最近的第三坐标作为目标位置在目标地图上的目标坐标,从而能够将目标位置在目标地图上精确标注出来。
如图7所示,为一个实施例中将GCJ坐标转换为WGS坐标的过程。B点为目标位置在初始地图上的坐标,初始地图的坐标系为GCJ坐标系,目标地图的坐标系为WGS坐标系。终端获取B点在初始地图上的初始GCJ坐标,根据WGS坐标转换为GCJ坐标的坐标转换函数将B点的初始GCJ坐标进行GCJ加密处理,得到C点的坐标。接着,终端将B点作为C点和未知点A0点的中点,根据B点的坐标和C点的坐标得到A0点的坐标。接着,终端再根据坐标转换函数将A0点的坐标进行一次GCJ加密处理,得到B0点的坐标。接着,终端将A0与B0点相连接,将B0点和B点相连接,以构建平行四边形,得到平行四边形的另一个顶点A1,并根据该平行四边形的三个已知顶点的坐标和连接关系,计算出A1点的坐标。此时完成平行四边形的第一次迭代,构建的平行四边形的未知顶点的坐标为第三坐标,则此时第三坐标的迭代次数为1。终端可将此时的第三坐标作为目标位置在目标地图上的WGS坐标。
经过一次迭代得到的第三坐标与目标位置在目标地图上的坐标存在误差,则终端可进入下一次迭代。进一步地,终端根据坐标转换函数将A1点的坐标进行一次GCJ加密处理,得到将B1点的坐标。接着,终端将A1与B1点相连接,将B1点和B点相连接,以构建平行四边形,得到该平行四边形的另一个顶点A2,并根据该平行四边形的三个已知顶点的坐标和连接关系,计算出A2点的坐标。此时完成平行四边形的第二次迭代,则此时第三坐标的迭代次数为2。
类似地,终端按照相同的方式完成平行四边形的第三次迭代,此时第三坐标的迭代次数为3。经过三次迭代后得到的第三坐标与目标位置在目标地图上的坐标的误差非常小,则终端可将经过三次迭代后得到的第三坐标作为目标位置在目标地图上的WGS坐标。从而将一个GCJ坐标系的地图上的位置在WGS坐标系的地图上实现精确定位。
传统的将GCJ坐标转换为WGS坐标的方法一般是使用线性变换处理方式,但是经过线性变换处理得到的WGS坐标和实际的WGS坐标之间存在较大的误差。如图8所示,位置WGS是指目标位置在目标地图上的WGS坐标。其中,GCJ坐标是指目标位置的GCJ坐标,线性转换后的坐标为目标位置的GCJ坐标经过线性转换处理后得到的WGS坐标,GCJ转换偏移是指目标位置的GCJ坐标与实际的WGS坐标之间的偏移距离。线性转换距离误差是指经过线性转换处理后得到的WGS坐标与实际的WGS坐标之间的误差。
由图8可知,上海市的GCJ坐标与实际的WGS坐标之间的偏移距离大约为481.87米,即如果不进行坐标转换而直接将GCJ坐标作为另一个地图上的WGS坐标,则目标位置发生了非常大的偏移。例如,从腾讯地图上获取一个上海市的电线杆的经纬度坐标,将该电线杆展示在谷歌地图上,腾讯地图使用的是GCJ坐标,谷歌地图使用的是WGS坐标。如果直接将电线杆在腾讯地图上的GCJ坐标作为在谷歌地图上的WGS坐标,则电线杆的位置比实际位置偏移了越480米,产生了极大的误差。而经过线性变换处理后得到的WGS坐标与实际的WGS坐标之间仍会产生误差,并且不同的目标位置所产生的误差也不相同。上海市经过线性变换处理后得到的WGS坐标与实际的WGS坐标之间的误差约为2.06米。说明传统的地图坐标转换的处理方法不够精确,无法将目标位置的GCJ坐标准确转换为WGS坐标。
如图9所示,为一个实施例中目标位置使用本方案经过迭代后的距离误差。
其中,位置WGS是指目标位置在目标地图上的WGS坐标。线性变换是指使用传统的方法计算出的目标位置在目标地图上的WGS坐标与实际WGS坐标之间的误差。等视变换是指使用本方案迭代后得到的目标位置在目标地图上的WGS坐标与实际WGS坐标之间的误差。
从图8和图9中可看出,上海市在目标地图上的实际WGS坐标为(121.472644,31.231706),使用传统的线性变换处理方式得到的WGS坐标与实际WGS坐标相差了2.06米,线性变换得到的北京市的WGS坐标与实际WGS坐标相差了0.26米,深圳市的WGS坐标与实际WGS坐标相差了0.27米,广州市的WGS坐标与实际WGS坐标相差了0.92米。而使用本方案经过一次等视变换,即经过一次迭代计算出的上海市的WGS坐标与上海市的实际WGS坐标只相差5.9毫米,北京市的WGS坐标与实际WGS坐标相差38.4微米,深圳市的WGS坐标与实际WGS坐标相差82.1微米,广州市的WGS坐标与实际WGS坐标相差1.42纳米。
而经过本方案的第二次等视变换,即第二次迭代后,上海市的WGS坐标与实际WGS坐标相差19.02微米,北京市的WGS坐标与实际WGS坐标相差4.83纳米,深圳市的WGS坐标与实际WGS坐标相差17.9纳米,广州市的WGS坐标与实际WGS坐标相差1.97微米。经过第三次迭代后,深圳市的WGS坐标与实际WGS坐标的误差为0,经过第四次迭代后,上海市和广州市的WGS坐标与实际WGS坐标的误差为0。由此可知,使用本方案经过一次迭代后求出的WGS坐标的与实际WGS坐标的误差比传统的线性变换处理方式产生的误差明显减小。并且经过三次四次迭代后,有些目标位置的WGS坐标与实际的WGS坐标完全相同,表明本方案相对于传统的坐标转换处理方式更精确。
图2-图6为一个实施例中地图坐标转换方法的流程示意图。应该理解的是,虽然图2-图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
一种地图坐标转换装置,如图10所示,该地图坐标转换装置包括:
获取模块1002,用于获取目标位置在初始地图上的初始坐标。
处理模块1004,用于将该初始坐标经过线性变换处理得到第一坐标。
转换模块1006,用于将该第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标。
构建模块1008,用于将该初始坐标与该第二坐标相连,将该输入坐标和该第二坐标相连以构建平行四边形,得到该平行四边形的第三坐标。
确定模块1010,用于将该第三坐标作为该目标位置在目标地图上的目标坐标。
上述地图坐标转换装置,通过获取目标位置在初始地图上的初始坐标,将初始坐标经过线性变换处理得到第一坐标,将第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标,以得到三个已知坐标。并将初始坐标与第二坐标相连,将输入坐标和第二坐标相连以构建平行四边形,使得能够根据三个已知坐标和三个点之间的连接关系确定平行四边形的第三坐标。将第三坐标作为目标位置在目标地图上的目标坐标,从而能够将一个地图上的坐标准确地转换为另一个地图上的对应坐标,实现将一个地图上的位置在另一个地图上精确定位。
在一个实施例中,处理模块1004还用于:根据坐标转换函数将初始坐标转换为第四坐标;将初始坐标作为第四坐标和第一坐标的中点坐标,得到第一坐标。通过坐标转换函数将初始坐标转换得到第四坐标,再将初始坐标作为第四坐标和第一坐标的中点坐标,以求出第一坐标。使得能够将初始坐标经过线性变换处理快速地得到对应的第一坐标,从而初步得到目标坐标的近似值。
在一个实施例中,构建模块1008还用于:确定该输入坐标相对于该第二坐标的第一偏移距离;确定该第二坐标相对于该初始坐标的第二偏移距离;根据该输入坐标、该第二坐标、该初始坐标、该第一偏移距离和该第二偏移距离,确定该平行四边形的第三坐标。上述地图坐标转换装置,通过确定输入坐标相对于第二坐标的第一偏移距离,并确定第二坐标相对于初始坐标的第二偏移距离,根据输入坐标、第二坐标、初始坐标、第一偏移距离和第二偏移距离,从而快速计算出该平行四边形的第三坐标。
在一个实施例中,构建模块1008还用于:确定该输入坐标和该初始坐标的中点坐标;根据该中点坐标和第二坐标,确定该平行四边形的第三坐标。根据平行四边形的性质可知,初始坐标和第一坐标的中点坐标同样是第二坐标和第三坐标的中点坐标。则根据中点坐标和第二坐标,可计算出第三坐标,从而得到平行四边形未知顶点的坐标。通过平行四边形的性质,可快速准确地得到第三坐标,从而提高坐标转换的效率。
在一个实施例中,该地图坐标转换装置还包括:迭代模块。迭代模块用于:获取预设的迭代次数;检测第三坐标的迭代次数,该迭代是将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标;当检测到第三坐标的迭代次数与预设的迭代次数相同时,输出该第三坐标。上述地图坐标转换装置中,获取预设的迭代次数,检测第三坐标的迭代次数,该迭代是将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标,以确定迭代是否结束。当检测到第三坐标的迭代次数与所述预设的迭代次数相同时,迭代结束,输出第三坐标。当第三坐标的迭代次数达到预设的迭代次数时,得到的第三坐标为目标位置在目标地图上的比较精确的坐标。
在一个实施例中,处理模块1004还用于:将该第一坐标作为圆心,以预设距离为半径,得到圆;获取该圆上指定数量的候选点的坐标。
转换模块1006还用于:将该候选点的坐标作为坐标转换函数的输入坐标,进行坐标转换得到候选点的坐标对应的第二坐标;
构建模块1008还用于:将一个输入坐标和该一个输入坐标对应的第二坐标相连,将该初始坐标和该一个输入坐标对应的第二坐标相连以构建平行四边形,得到每个平行四边形的第三坐标;
确定模块1010还用于:将该每个平行四边形的第三坐标与该初始坐标进行对比;将与该初始坐标距离最近的第三坐标作为该目标位置在目标地图上的目标坐标。上述地图坐标转换装置,将第一坐标作为圆心,以预设距离为半径以得到圆,并获取圆上指定数量的候选点的坐标,将候选点的坐标作为坐标转换函数的输入坐标,进行坐标转换以得到候选点的坐标对应的第二坐标。将一个输入坐标和一个输入坐标对应的第二坐标相连,将初始坐标和一个输入坐标对应的第二坐标相连以构建平行四边形,从而得到每个平行四边形的第三坐标。将每个平行四边形的第三坐标与初始坐标进行对比,将与初始坐标距离最近的第三坐标作为目标位置在目标地图上的目标坐标,从而能够将目标位置在目标地图上精确标注出来。
在一个实施例中,迭代模块还用于:获取预设的迭代次数;检测每个平行四边形的第三坐标的迭代次数;当第三坐标的迭代次数小于预设的迭代次数时,将第三坐标作为输入坐标,根据该输入坐标进行坐标转换得到对应的第二坐标,根据该初始坐标、输入坐标以及对应的第二坐标构建平行四边形,得到该平行四边形的第三坐标;当该每个平行四边形的第三坐标的迭代次数与该预设的迭代次数相同时,输出该第三坐标。
在上述地图坐标转换装置,通过检测每个平行四边形的第三坐标的迭代次数,当第三坐标的迭代次数小于预设的迭代次数时,将第三坐标作为输入坐标,根据输入坐标进行坐标转换得到对应的第二坐标,根据初始坐标、输入坐标以及对应的第二坐标构建平行四边形,以得到本次迭代的指定数量的平行四边形,从而得到指定数量的第三坐标。当每个平行四边形的第三坐标的迭代次数与预设的迭代次数相同时,结束迭代,输出指定数量的第三坐标。通过并行执行迭代过程,可以同时构建多个平行四边形,提高数据处理的效率,从而提高了坐标转换的效率。
图11示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图11所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现地图坐标转换方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行地图坐标转换方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的地图坐标转换装置可以实现为一种计算机程序的形式,计算机程序可在如图11所示的计算机设备上运行。计算机设备的存储器中可存储组成该地图坐标转换装置的各个程序模块,比如,图10所示的获取模块1002、处理模块1004、转换模块1006、构建模块1008和确定模块1010。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的地图坐标转换方法中的步骤。
例如,图11所示的计算机设备可以通过如图10所示的地图坐标转换装置中的获取模块1002执行获取目标位置在初始地图上的初始坐标的步骤。计算机设备可通过处理模块1004执行将该初始坐标经过线性变换处理得到第一坐标的步骤。计算机设备可通过转换模块1006执行将该第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标的步骤。计算机设备可通过构建模块1008执行将该初始坐标与该第二坐标相连,将该输入坐标和该第二坐标相连以构建平行四边形,得到该平行四边形的第三坐标的步骤。计算机设备可通过确定模块1010执行将该第三坐标作为该目标位置在目标地图上的目标坐标的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述地图坐标转换方法的步骤。此处地图坐标转换方法的步骤可以是上述各个实施例的地图坐标转换方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述地图坐标转换方法的步骤。此处地图坐标转换方法的步骤可以是上述各个实施例的地图坐标转换方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种地图坐标转换方法,包括:
获取目标位置在初始地图上的初始坐标;
将所述初始坐标经过线性变换处理得到第一坐标;
将所述第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标;
将所述初始坐标与所述第二坐标相连,将所述输入坐标和所述第二坐标相连以构建平行四边形,得到所述平行四边形的第三坐标;
将所述第三坐标作为所述目标位置在目标地图上的目标坐标。
2.根据权利要求1所述的方法,其特征在于,所述将所述初始坐标经过线性变换处理得到第一坐标,包括:
根据坐标转换函数将所述初始坐标转换为第四坐标;
将所述初始坐标作为所述第四坐标和第一坐标的中点坐标,得到所述第一坐标。
3.根据权利要求1所述的方法,其特征在于,所述得到所述平行四边形的第三坐标,包括:
确定所述输入坐标相对于所述第二坐标的第一偏移距离;
确定所述第二坐标相对于所述初始坐标的第二偏移距离;
根据所述输入坐标、所述第二坐标、所述初始坐标、所述第一偏移距离和所述第二偏移距离,确定所述平行四边形的第三坐标。
4.根据权利要求1所述的方法,其特征在于,所述得到所述平行四边形的第三坐标,包括:
确定所述输入坐标和所述初始坐标的中点坐标;
根据所述中点坐标和第二坐标,确定所述平行四边形的第三坐标。
5.根据权利要求1所述的方法,其特征在于,所述将所述第三坐标作为所述目标位置在目标地图上的目标坐标之前,还包括:
获取预设的迭代次数;
检测所述第三坐标的迭代次数,所述迭代是将上一次计算得到的第三坐标作为下一次计算中坐标转换函数的输入坐标;
当检测到第三坐标的迭代次数与所述预设的迭代次数相同时,输出所述第三坐标。
6.根据权利要求1所述的方法,其特征在于,在将所述初始坐标经过线性变换处理得到第一坐标之后,还包括:
将所述第一坐标作为圆心,以预设距离为半径,得到圆;
获取所述圆上指定数量的候选点的坐标;
所述将所述第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标,包括:
将所述候选点的坐标作为坐标转换函数的输入坐标,进行坐标转换得到候选点的坐标对应的第二坐标;
所述将所述初始坐标与所述第二坐标相连,将所述输入坐标和所述第二坐标相连以构建平行四边形,得到所述平行四边形的第三坐标,包括:
将一个输入坐标和所述一个输入坐标对应的第二坐标相连,将所述初始坐标和所述一个输入坐标对应的第二坐标相连以构建平行四边形,得到每个平行四边形的第三坐标;
所述将所述第三坐标作为所述目标位置在目标地图上的目标坐标,包括:
将所述每个平行四边形的第三坐标与所述初始坐标进行对比;
将与所述初始坐标距离最近的第三坐标作为所述目标位置在目标地图上的目标坐标。
7.根据权利要求6所述的方法,其特征在于,在将与所述初始坐标距离最近的第三坐标作为所述目标位置在目标地图上的目标坐标之前,还包括:
获取预设的迭代次数;
检测所述每个平行四边形的第三坐标的迭代次数;
当所述第三坐标的迭代次数小于预设的迭代次数时,将所述第三坐标作为输入坐标,根据所述输入坐标进行坐标转换得到对应的第二坐标,根据所述初始坐标、输入坐标以及对应的第二坐标构建平行四边形,得到所述平行四边形的第三坐标;
当所述每个平行四边形的第三坐标的迭代次数与所述预设的迭代次数相同时,输出所述第三坐标。
8.一种地图坐标转换装置,其特征在于,所述装置包括:
获取模块,用于获取目标位置在初始地图上的初始坐标;
处理模块,用于将所述初始坐标经过线性变换处理得到第一坐标;
转换模块,用于将所述第一坐标作为坐标转换函数的输入坐标,进行坐标转换得到对应的第二坐标;
构建模块,用于将所述初始坐标与所述第二坐标相连,将所述输入坐标和所述第二坐标相连以构建平行四边形,得到所述平行四边形的第三坐标;
确定模块,用于将所述第三坐标作为所述目标位置在目标地图上的目标坐标。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910391487.3A CN111723167B (zh) | 2019-05-10 | 2019-05-10 | 地图坐标转换方法、装置、可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910391487.3A CN111723167B (zh) | 2019-05-10 | 2019-05-10 | 地图坐标转换方法、装置、可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723167A true CN111723167A (zh) | 2020-09-29 |
CN111723167B CN111723167B (zh) | 2023-03-24 |
Family
ID=72563863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910391487.3A Active CN111723167B (zh) | 2019-05-10 | 2019-05-10 | 地图坐标转换方法、装置、可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723167B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112146645A (zh) * | 2019-06-28 | 2020-12-29 | 浙江商汤科技开发有限公司 | 一种坐标系对齐的方法及装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779231A (zh) * | 2012-06-18 | 2012-11-14 | 郑州大学 | 基于邻近的坐标转换参数计算方法 |
CN104048659A (zh) * | 2014-06-16 | 2014-09-17 | 广州杰赛科技股份有限公司 | 地图坐标系的转换方法和系统 |
CN107391578A (zh) * | 2017-06-20 | 2017-11-24 | 国家测绘地理信息局海南基础地理信息中心 | 一种基于格网法的网络地图服务动态坐标转换方法 |
CN109189868A (zh) * | 2018-07-02 | 2019-01-11 | 广东省地质测绘院 | 坐标转换的方法、装置、计算机设备和存储介质 |
CN109408041A (zh) * | 2018-10-09 | 2019-03-01 | 深圳点猫科技有限公司 | 一种基于编程语言的地图坐标系转换方法及电子设备 |
-
2019
- 2019-05-10 CN CN201910391487.3A patent/CN111723167B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779231A (zh) * | 2012-06-18 | 2012-11-14 | 郑州大学 | 基于邻近的坐标转换参数计算方法 |
CN104048659A (zh) * | 2014-06-16 | 2014-09-17 | 广州杰赛科技股份有限公司 | 地图坐标系的转换方法和系统 |
CN107391578A (zh) * | 2017-06-20 | 2017-11-24 | 国家测绘地理信息局海南基础地理信息中心 | 一种基于格网法的网络地图服务动态坐标转换方法 |
CN109189868A (zh) * | 2018-07-02 | 2019-01-11 | 广东省地质测绘院 | 坐标转换的方法、装置、计算机设备和存储介质 |
CN109408041A (zh) * | 2018-10-09 | 2019-03-01 | 深圳点猫科技有限公司 | 一种基于编程语言的地图坐标系转换方法及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112146645A (zh) * | 2019-06-28 | 2020-12-29 | 浙江商汤科技开发有限公司 | 一种坐标系对齐的方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111723167B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | TrajCompressor: An online map-matching-based trajectory compression framework leveraging vehicle heading direction and change | |
US9786010B2 (en) | Homeowners insurance application process using geotagged photos | |
CN110992681B (zh) | 交通路网属性信息生成方法、装置、存储介质及电子设备 | |
US20240087226A1 (en) | Method in constructing a model of a scenery and device therefor | |
Sehra et al. | A systematic study of OpenStreetMap data quality assessment | |
KR20170001546A (ko) | 새로운 공급처의 주소를 확정하는 방법 및 장치 | |
CN110020144B (zh) | 一种推荐模型建立方法及其设备、存储介质、服务器 | |
CN107430631B (zh) | 从位置报告确定语义地点名称 | |
CN109800360B (zh) | 小区查询方法、装置、电子设备及存储介质 | |
JP2021192041A (ja) | 建築物の測位方法、装置、電子デバイス、記憶媒体、プログラム、及び端末デバイス | |
CN111723167B (zh) | 地图坐标转换方法、装置、可读存储介质和计算机设备 | |
CN110427574B (zh) | 路线相似度确定方法、装置、设备和介质 | |
JP2015158799A (ja) | 時空間クラスタリング処理装置、方法及びプログラム | |
WO2021103628A1 (zh) | 电子围栏上的围栏点删除方法、装置及计算机设备 | |
CN108647234B (zh) | 停电范围的获取方法、装置、计算机设备和存储介质 | |
CN111949845A (zh) | 处理测绘信息的方法、装置、计算机设备和存储介质 | |
CN114339991B (zh) | AoA估计方法、装置、基站、存储介质和计算机程序产品 | |
CN110489510B (zh) | 道路数据的处理方法、装置、可读存储介质和计算机设备 | |
CN110909097B (zh) | 多边形电子围栏生成方法、装置、计算机设备和存储介质 | |
CN110544306B (zh) | 三维地形数据获取方法、装置、计算机设备以及存储介质 | |
CN111060127B (zh) | 车辆起点定位方法、装置、计算机设备和存储介质 | |
CN115326081A (zh) | 地图匹配方法、装置、计算机设备和存储介质 | |
Yu et al. | An indoor localization of WiFi based on branch-bound algorithm | |
WO2018227507A1 (en) | Trace segments based navigation | |
CN114692250B (zh) | 墙身配筋的方法及装置、计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028550 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |