本发明涉及电子地图技术领域,具体涉及一种空间地理坐标的转换方法及装置。
背景技术:
目前,GPS定位技术已经被广泛应用,GPS坐标系已成为公开的通用坐标系,如百度地图、高德地图等均采用GPS坐标。
但是,目前仍有大部分地图采用城市坐标系,城市坐标系是由于国家控制网的精度只能满足中、小比例尺测图的要求,许多城市为了适应城市规划与建设管理,各类工程的勘察设计、施工和管理、地形图测绘、城镇地籍测量等需要,建设的高精度的城市坐标系。例如,目前绝大部分政务内网都是采用城市坐标系的本地地图。
目前,由于各地方地图采用的比例尺、精度不尽相同,其采用的城市坐标系与GPS坐标系也不相同,GPS坐标系和城市坐标系没有明确、直接的转换关系,因此,在使用地方地图时难以结合GPS坐标进行识读,而使用通用GPS地图时也难以和城市坐标系结合识读;而随着信息社会的发展,将城市坐标系与GPS坐标系结合的需求越来越强,例如制作具有上述两种坐标系的叠加图,以便于用户根据不同的需求进行识读、标记等,因此,迫切需要一种能够将城市坐标系与GPS坐标系进行转换的方法。
技术实现要素:
针对现有技术中的缺陷,本发明提供一种空间地理坐标的转换方法及装置,以实现不同坐标系之间的相互转换,以便于用户采用更多的坐标系识读地图,以及为制作多种坐标系下的叠加地图提供技术支持。
第一方面,本发明提供的一种空间地理坐标的转换方法,包括:
获取样本数据,所述样本数据包括地图中多个采样地点的坐标数据,每个采样点的坐标数据均包括第一坐标系下第一坐标和第二坐标系下的第二坐标;
利用机器学习方法根据所述样本数据训练坐标转换模型,获得训练后的坐标转换模型;
采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
可选的,所述利用机器学习方法根据所述样本数据训练坐标转换模型,包括:
利用机器学习方法根据所述样本数据训练基于四参数法建立的坐标转换模型。
可选的,所述获取样本数据,包括:
采用地图标点工具从地图中标出多个采样地点的坐标数据作为样本数据;或者,
获取用户上传的样本数据。
可选的,所述坐标转换模型基于JAVA语言编程实现,并提供对外服务接口,以使用户通过所述对外服务接口调用训练后获得的所述坐标转换模型进行坐标系转换。
可选的,所述采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换,包括:
利用分布式流计算引擎采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
第二方面,一种空间地理坐标的转换装置,包括:
样本获取模块,用于获取样本数据,所述样本数据包括地图中多个采样地点的坐标数据,每个采样点的坐标数据均包括第一坐标系下第一坐标和第二坐标系下的第二坐标;
模型训练模块,用于利用机器学习方法根据所述样本数据训练坐标转换模型,获得训练后的坐标转换模型;
坐标转换模块,用于采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
可选的,所述模型训练模块,包括:
四参数模型训练单元,用于利用机器学习方法根据所述样本数据训练基于四参数法建立的坐标转换模型。
可选的,所述样本获取模块,包括:
标点工具获取单元,用于采用地图标点工具从地图中标出多个采样地点的坐标数据作为样本数据;
或者,
上传数据获取单元,用于获取用户上传的样本数据。
可选的,所述坐标转换模型基于JAVA语言编程实现,所述坐标转换模块提供对外服务接口,以使用户通过所述对外服务接口调用训练后获得的所述坐标转换模型进行坐标系转换。
可选的,所述坐标转换模块,包括:
分布式坐标转换单元,用于利用分布式流计算引擎采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
由上述技术方案可知,本发明提供的一种空间地理坐标的转换方法,通过采集不同坐标系下的样本数据,并利用机器学习方法根据所述样本数据训练坐标转换模型,可以获得准确度较高的坐标转换模型,进而可以利用训练后获得的坐标转换模型实现不同坐标系之间的相互转换,以便于用户采用更多的坐标系识读地图,以及为制作多种坐标系下的叠加地图提供技术支持。
本发明提供的一种空间地理坐标的转换装置,与上述空间地理坐标的转换方法出于相同的发明构思,具有相同的有益效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本发明第一实施例所提供的一种空间地理坐标的转换方法的流程图;
图2示出了本发明第二实施例所提供的一种空间地理坐标的转换装置的示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
本发明提供一种空间地理坐标的转换方法、一种空间地理坐标的转换装置和一种空间地理坐标的转换系统。下面结合附图对本发明的实施例进行说明。
图1示出了本发明第一实施例所提供的一种空间地理坐标的转换方法的流程图。如图1所示,本发明第一实施例提供的一种空间地理坐标的转换方法包括以下步骤:
步骤S101:获取样本数据,所述样本数据包括地图中多个采样地点的坐标数据,每个采样点的坐标数据均包括第一坐标系下第一坐标和第二坐标系下的第二坐标。
例如,所述第一坐标系可以是城市坐标系,所述第二坐标系可以是GPS坐标。
其中,所述获取样本数据,可以是采用地图标点工具从地图中标出多个采样地点的坐标数据作为样本数据;也可以是获取用户上传的样本数据,如为用户开放数据接口,通过该数据接口接收用户反馈的样本数据。
所述样本数据的数据量可大可小,一般而言,样本越大训练出来的模型精确度越高。
步骤S102:利用机器学习方法根据所述样本数据训练坐标转换模型,获得训练后的坐标转换模型。
在获得样本数据后,即可采用所述样本数据训练相应的坐标转换模型,机器学习是根据经验数据获取新的知识或技能,重新组织已有的知识结构并识别现有知识,能通过经验自动改进的计算机算法,本发明实施例中,所述样本数据即为经验数据,通过机器学习,可以建立第一坐标系和第二坐标系的对应关系,通过坐标转换模型的训练确定该对应关系中的各项参数,即可确定较为准确的坐标转换模型。
在本发明提供的一个实施例中,所述坐标转换模型可以是基于四参数法建立的坐标转换模型,所述利用机器学习方法根据所述样本数据训练坐标转换模型,包括:
利用机器学习方法根据所述样本数据训练基于四参数法建立的坐标转换模型。
其中,四参数法是两个不同的二维平面直角坐标系之间转换时通常使用的方法(数学方程组),其构建一个数学模型,在该模型中有四个未知参数,即:
(1)两个坐标平移量(ΔX和ΔY),即两个平面坐标系的坐标原点之间的坐标差值;
(2)平面坐标轴的旋转角度θ,通过旋转一个角度,可以使两个坐标系的X和Y轴重合在一起。
(3)尺度因子m,即两个坐标系内的同一段直线的长度比值,实现尺度的比例转换。
通常至少需要两个公共已知点,在两个不同平面直角坐标系中的四对XY坐标值,才能推算出这四个未知参数,计算出了这四个参数,就可以通过四参数方程组,将一个平面直角坐标系下一个点的XY坐标值转换为另一个平面直角坐标系下的XY坐标值。
本发明实施例中,可以将所述样本数据中的每一组坐标均转换为矩阵形式,然后采用矩阵形式的样本数据进行训练,并通过最小二乘法确定上述四个参数,即可确定较为准确的坐标转换模型。
其中,四参数法是现有技术中较为常用的进行坐标转换的方法,具体步骤不再赘述,本发明实施例采用机器学习与四参数法相结合的方法,由于机器学习的样本数据量更大,训练速度更快,最后确定的坐标转换模型也更为精确,实用性更强。
步骤S103:采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
在所述坐标转换模型训练完成后,即可利用训练好的坐标转换模型进行坐标的转换,所述转换可以是第一坐标系下的坐标向第二坐标系下转换,也可以是第二坐标系下的坐标向第一坐标系下转换,其均在本发明的保护范围之内。
在本发明提供的一个实施例中,所述坐标转换模型基于JAVA语言编程实现,并提供对外服务接口,以使用户通过所述对外服务接口调用训练后获得的所述坐标转换模型进行坐标系转换,如可以采用webservice/http server对外提供服务。
需要说明的是,地图是由大量的坐标点组成,本发明实施例,可以针对地图中的某一个点进行坐标系的转换,也可以是对部分点的进行坐标系的批量转换,还可以是对整个地图的点全部进行转换,以便于制作多种坐标系叠加的地图,便于用户识读。
考虑到对于坐标点较多的情况,由于数据量较大,转换过程势必极大的耗费转换系统的资源,其转换效率也会较低,因此,在本发明提供的一个实施例中,所述采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换,包括:
利用分布式流计算引擎采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
分布式流计算引擎主要用于处理海量数据,其采用分布式计算(后台多台机器同时处理),可以有效的提高海量坐标的转换效率,解决单台计算机处理时运算负荷量大、效率低的问题,尤其适用于对地图所有点全部进行坐标转换的情形,进而制作多种坐标系下的叠加地图。所述分布式流计算引擎可以采用Storm、Spark和Samza等,本发明并不限定其具体实施方式,以上均在本发明的保护范围之内。
至此,通过步骤S101至步骤S103,完成了本发明第一实施例所提供的一种空间地理坐标的转换方法的流程。本发明实施例提供的所述空间地理坐标的转换方法,通过采集不同坐标系下的样本数据,并利用机器学习方法根据所述样本数据训练坐标转换模型,可以获得准确度较高的坐标转换模型,进而可以利用训练后获得的坐标转换模型实现不同坐标系之间的相互转换,以便于用户采用更多的坐标系识读地图,以及为制作多种坐标系下的叠加地图提供技术支持。
在上述的第一实施例中,提供了一种空间地理坐标的转换方法,与之相对应的,本申请还提供一种空间地理坐标的转换装置。请参考图2,其为本发明第二实施例提供的一种空间地理坐标的转换装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本发明第二实施例提供的一种空间地理坐标的转换装置,包括:
样本获取模块101,用于获取样本数据,所述样本数据包括地图中多个采样地点的坐标数据,每个采样点的坐标数据均包括第一坐标系下第一坐标和第二坐标系下的第二坐标;
模型训练模块102,用于利用机器学习方法根据所述样本数据训练坐标转换模型,获得训练后的坐标转换模型;
坐标转换模块103,用于采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
在本发明提供的一个实施例中,所述模型训练模块102,包括:
四参数模型训练单元,用于利用机器学习方法根据所述样本数据训练基于四参数法建立的坐标转换模型。
在本发明提供的一个实施例中,所述样本获取模块101,包括:
标点工具获取单元,用于采用地图标点工具从地图中标出多个采样地点的坐标数据作为样本数据;
或者,
上传数据获取单元,用于获取用户上传的样本数据。
在本发明提供的一个实施例中,所述坐标转换模型基于JAVA语言编程实现,所述坐标转换模块103提供对外服务接口,以使用户通过所述对外服务接口调用训练后获得的所述坐标转换模型进行坐标系转换。
在本发明提供的一个实施例中,所述坐标转换模块103,包括:
分布式坐标转换单元,用于利用分布式流计算引擎采用训练后获得的所述坐标转换模型对待转换地点的坐标进行坐标系转换。
以上,为本发明第二实施例提供的一种空间地理坐标的转换装置的实施例说明。
本发明提供的一种空间地理坐标的转换装置与上述空间地理坐标的转换方法出于相同的发明构思,具有相同的有益效果,此处不再赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
需要说明的是,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的空间地理坐标的转换装置可以是计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。