一种地图数据处理方法、装置、电子设备及存储介质与流程

文档序号:20083288发布日期:2020-03-13 05:54阅读:149来源:国知局
一种地图数据处理方法、装置、电子设备及存储介质与流程

本发明涉及进程控制技术,尤其涉及一种地图数据处理方法、装置、电子设备及存储介质。



背景技术:

现有技术中,三维地图模型(3dimensionalcitymodel;三维),也可以简称为三维模型或者三维模型,经过多年的研究和应用,已经在交通、勘察、测绘,特别是城市规划和建设等方面得到广泛应用,并发挥了一定的作用。三维地图模型能够从三维立体的角度展现城市中的建筑或者自然中的山川河流域,表现形式非常直观、丰富,但是,现有技术往往仅能够用于二维绘制技术为平面绘制,无法做到三维立体化的渲染效果;人工搭建三维模型,对于城市级别的模型数量来说,成本过于高昂,不利于大规模地推广使用。



技术实现要素:

有鉴于此,本发明实施例提供一种地图数据处理方法、装置、电子设备及存储介质,能够自动化生成城市内的所有道路、建筑、山脉、水域等的三维模型,实现对城市级别的地图进三维化渲染,降低了对城市级别的模型的处理成本过于高昂,有利于大规模地推广使用时,快速准确地将原始二维地图转换为三维地图。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种地图数据处理方法,所述方法包括:

获取地图转换请求,其中,所述地图转换请求用于表征请求将原始二维地图转换为三维地图;

解析所述地图转换请求,获取相应的地图标识;

根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据;

确定所述原始二维地图数据的数据类型,并根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据;

将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图。

本发明实施例还提供了一种地图数据处理装置,所述装置包括:

信息传输模块,用于获取地图转换请求,其中,所述地图转换请求用于表征请求将原始二维地图转换为三维地图;

信息处理模块,用于解析所述地图转换请求,获取相应的地图标识;

所述信息处理模块,用于根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据;

所述信息处理模块,用于确定所述原始二维地图数据的数据类型;

所述信息处理模块,用于根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据;

所述信息处理模块,用于将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图。

上述方案中,

所述信息处理模块,用于根据所述地图标识,确定与所述地图标识相对应的地图边缘信息;

所述信息处理模块,用于根据所述地图边缘信息,截取与所述地图边缘信息相对应的二维地图数据;

所述信息处理模块,用于通过对所截取的与所述地图边缘信息相对应的二维地图数据进行矢量化处理,形成与所述地图标识相匹配的原始二维地图数据。

上述方案中,

所述信息处理模块,用于当所述原始二维地图数据的数据类型为道路数据时,根据所述原始二维地图数据确定相应的道路宽度数据以及与所述道路对应的顶点的位置偏移量参数;

根据所述原始二维地图数据中的道路的原始数据点,确定所述三维地图数据中所述道路对应的顶点生成方向参数;

响应于所述顶点生成方向参数,根据所述道路对应的顶点的位置偏移量参数对所述道路的原始数据点进行调整,以形成所述三维地图数据中所述道路对应的顶点集合;

对所述三维地图数据中所述道路对应的顶点集合中的参数进行三角化处理,生成与所述原始二维地图数据中道路相匹配的道路数据索引。

上述方案中,

所述信息处理模块,用于当所述原始二维地图数据的数据类型为建筑数据时,根据所述建筑数据,确定与所述建筑数据相对应的底部多边形顶点;

所述信息处理模块,用于通过对所述建筑数据对应的底部多边形顶点配置相应的高度数据,确定与所述建筑数据相对应的顶部多边形顶点;

所述信息处理模块,用于通过对所述建筑数据对应的顶部多边形顶点和底部多边形顶点进行三角化处理,生成与所述原始二维地图数据中建筑相匹配的建筑数据索引。

上述方案中,

所述信息处理模块,用于当所述原始二维地图数据的数据类型为山脉数据时,根据所述山脉数据中的等高线数据,确定所述山脉的环形顶点,以及与所述山脉的环形顶点相对应的侧面参数集合;

所述信息处理模块,用于通过对所述山脉数据的环形顶点的侧面参数集合进行三角化处理进行三角化处理,生成与所述原始二维地图数据中山脉相匹配的建山脉数据索引。

上述方案中,

所述信息处理模块,用于当所述原始二维地图数据的数据类型为水域数据时,根据所述水域数据,确定所述水域的水域轮廓多边形的环状顶点;

所述信息处理模块,用于通过对所述水域轮廓多边形的环状顶点进行三角化处理,生成与所述原始二维地图数据中水域相匹配的建水域数据索引。

上述方案中,

所述信息处理模块,用于确定所述三维地图的输出格式信息;

所述信息处理模块,用于根据所述原始二维地图数据的数据类型,确定所述二维地图数据对应的数据索引;

所述信息处理模块,用于根据所述二维地图数据对应的数据索引,将所述原始二维地图数据对应的三维地图数据进行组合;

所述信息处理模块,用于响应于所述三维地图的输出格式信息,对所述三维地图数据的组合结果进行渲染,以形成与所述输出格式信息相匹配的三维地图。

本发明实施例还提供了一种电子设备,所述电子设备包括:

存储器,用于存储可执行指令;

处理器,用于运行所述存储器存储的可执行指令时,实现前序的地图数据处理方法。

本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序的地图数据处理方法。

本发明实施例具有以下有益效果:

通过获取地图转换请求,其中,所述地图转换请求用于表征请求将原始二维地图转换为三维地图;解析所述地图转换请求,获取相应的地图标识;根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据;确定所述原始二维地图数据的数据类型,并根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据;将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图,由此,能够自动化生成城市内的所有道路、建筑、山脉、水域等的三维模型,实现对城市级别的地图进三维化渲染,降低了对城市级别的模型的处理,有利于大规模地推广使用时,快速准确地将原始二维地图转换为三维地图。

附图说明

图1是本发明实施例提供的地图数据处理方法的使用环境示意图;

图2为本发明实施例提供的地图数据处理装置的组成结构示意图;

图3为本发明实施例提供的地图数据处理方法一个可选的流程示意图;

图4为本发明实施例提供的地图数据处理方法一个可选的二维地图显示示意图;

图5为本发明实施例提供的地图数据处理方法一个可选的流程示意图;

图6a本发明实施例提供的地图数据处理方法一个可选的流程示意图;

图6b为本发明实施例提供的地图数据处理方法一个可选的三维地图显示示意图;

图7本发明实施例提供的地图数据处理方法一个可选的流程示意图;

图8是本发明实施例提供的地图数据处理装置100的架构示意图

图9是本发明实施例提供的区块链网络200中区块链的结构示意图;

图10是本发明实施例提供的区块链网络200的功能架构示意图;

图11是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图;

图12是本发明实施例提供的地图数据存储示意图;

图13是本发明实施例提供的地图数据存储示意图;

图14是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图;

图15是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图;

图16是本发明实施例提供的地图数据处理方法的一个可选的存储过程示意图;

图17是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图;

图18是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图;

图19是本发明实施例提供的地图数据处理方法的一个可选的存储过程示意图;

图20是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图;

图21是本发明实施例提供的地图数据处理方法的一个可选的存储过程示意图;

图22是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图;

图23为本发明实施例提供的地图数据处理方法一个可选的三维地图显示示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

1)esrishapefile(shp),或简称shapefile,是美国环境系统研究所公司(esri)开发的一种空间数据开放格式。[1]目前,该文件格式已经成为了地理信息软件界的一个开放标准,这表明esri公司在全球的地理信息系统市场的重要性。shapefile也是一种重要的交换格式,它能够在esri与其他公司的产品之间进行数据互操作。

2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。

3)交易(transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。

4)区块链(blockchain),是由区块(block)形成的加密的、链式的交易的存储结构。

5)区块链网络(blockchainnetwork),通过共识的方式将新区块纳入区块链的一系列的节点的集合。

6)账本(ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。

7)智能合约(smartcontracts),也称为链码(chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询的操作。

8)共识(consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(pow,proofofwork)、权益证明(pos,proofofstake)、股份授权证明(dpos,delegatedproof-of-stake)、消逝时间量证明(poet,proofofelapsedtime)等。

图1为本发明实施例提供的地图数据处理方法的使用场景示意图,参见图1,终端(包括终端10-1和终端10-2)上设置有带有地图显示软件的客户端,用户通过所设置的地图客户端可以选择所要进行转换的二维地图,带有地图显示功能的客户端也可以接收并与二维地图相对应的三维地图,并将所接收的三维地图向用户进行展示;终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。

作为一个示例,服务器200用于布设相应的地图数据处理装置以实现地图数据处理方法,以实现根据所述二维地图数据,触发执行将二维地图数据转换为三维地图数据信息业务进程,以实现相应的将原始二维地图转换为三维地图的业务,并通过终端(终端10-1和/或终端10-2)展示与原始二维地图相对应的三维地图。

当然在通过地图数据处理装置是实现将原始二维地图转换为三维地图业务进程,具体包括:获取地图转换请求,其中,所述地图转换请求用于表征请求将原始二维地图转换为三维地图;解析所述地图转换请求,获取相应的地图标识;根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据;确定所述原始二维地图数据的数据类型,并根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据;将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图。

下面对本发明实施例的地图数据处理装置的结构做详细说明,地图数据处理装置可以各种形式来实施,如带有地图数据处理功能的专用终端,也可以为设置有地图数据处理功能的服务器,例如前序图1中的服务器200。图2为本发明实施例提供的地图数据处理装置的组成结构示意图,可以理解,图2仅仅示出了地图数据处理装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。

本发明实施例提供的地图数据处理装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。地图数据处理装置中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。

其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。

可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。

在一些实施例中,本发明实施例提供的地图数据处理装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的问答模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的地图数据处理方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。

作为本发明实施例提供的地图数据处理装置采用软硬件结合实施的示例,本发明实施例所提供的地图数据处理装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的地图数据处理方法。

作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

作为本发明实施例提供的地图数据处理装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件执行实现本发明实施例提供的地图数据处理方法。

本发明实施例中的存储器202用于存储各种类型的数据以支持地图数据处理装置的操作。这些数据的示例包括:用于在地图数据处理装置上操作的任何可执行指令,如可执行指令,实现本发明实施例的从地图数据处理方法的程序可以包含在可执行指令中。

在另一些实施例中,本发明实施例提供的地图数据处理装置可以采用软件方式实现,图2示出了存储在存储器202中的地图数据处理装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括地图数据处理装置,地图数据处理装置中包括以下的软件模块:信息传输模块2081,信息处理模块2082。当地图数据处理装置中的软件模块被处理器201读取到ram中并执行时,将实现本发明实施例提供的地图数据处理方法,下面继续说明地图数据处理装置中各个软件模块的功能,其中,

信息传输模块2081,用于获取地图转换请求,其中,所述地图转换请求用于表征请求将原始二维地图转换为三维地图;

信息处理模块2082,用于解析所述地图转换请求,获取相应的地图标识;

所述信息处理模块2082,用于根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据;

所述信息处理模块2082,用于确定所述原始二维地图数据的数据类型;

所述信息处理模块2082,用于根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据;

所述信息处理模块2082,用于将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图。

结合图2示出的地图数据处理装置说明本发明实施例提供的地图数据处理方法,参见图3,图3为本发明实施例提供的地图数据处理方法一个可选的流程示意图,可以理解地,图3所示的步骤可以由运行地图数据处理装置的各种电子设备执行,例如可以是如带有地图数据处理装置的专用终端、服务器或者服务器集群,其中,带有地图数据处理装置的专用终端可以为前序图2所示的实施例中带有地图数据处理装置的电子设备。下面针对图3示出的步骤进行说明。

步骤301:服务器获取地图转换请求。

其中,所述地图转换请求用于表征请求将原始二维地图转换为三维地图。

步骤302:解析所述地图转换请求,获取相应的地图标识。

步骤303:根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据。

在本发明的一些实施例中,根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据,可以通过以下方式实现:

根据所述地图标识,确定与所述地图标识相对应的地图边缘信息;根据所述地图边缘信息,截取与所述地图边缘信息相对应的二维地图数据;通过对所截取的与所述地图边缘信息相对应的二维地图数据进行矢量化处理,形成与所述地图标识相匹配的原始二维地图数据。其中,用户在电子地图的使用过程中,通常仅需要将某一部分的二维地图转换为相应的三维地图,或者,在现有的三维地图不完整时,需要重新选择相应的二维地图区域(可以是完整的二维地图区域或者缺失的三维地图所对应的二维地图区域),通过根据所述地图边缘信息,截取与所述地图边缘信息相对应的二维地图数据;通过对所截取的与所述地图边缘信息相对应的二维地图数据进行矢量化处理,所形成的矢量化的二维地图数据能够被地图数据处理装置处理,以形成相应的三维地图数据。

步骤304:确定所述原始二维地图数据的数据类型,并根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据。

继续结合2示出的地图数据处理装置说明本发明实施例提供的地图数据处理方法;参见图4,图4为本发明实施例提供的地图数据处理方法一个可选的二维地图显示示意图,其中,在所显示的二维地图中,包括有各类型的地图数据,例如:道路a,建筑b,山川c和水域d。参见图5,图5为本发明实施例提供的地图数据处理方法一个可选的流程示意图,可以理解地,图5所示的步骤可以由运行地图数据处理装置的各种电子设备执行,例如可以是如带有地图数据处理功能的专用终端、服务器或者服务器集群。下面针对图5示出的步骤进行说明。

步骤3041:当所述原始二维地图数据的数据类型为道路数据时,服务器根据所述原始二维地图数据确定相应的道路宽度数据以及与所述道路对应的顶点的位置偏移量参数;

在本发明的一些实施例中,可选的,当原始二维地图数据确定相应的道路宽度数据为w时,与所述道路对应的顶点的位置偏移量参数为w/2。

步骤3042:根据所述原始二维地图数据中的道路的原始数据点,确定所述三维地图数据中所述道路对应的顶点生成方向参数。

其中,原始二维地图数据中包含有若干个道路的原始数据点,包括起点p1(p1x,p1y)、p2(p2x,p2y)…..终点pn(pnx,pny),通过相邻的参数点即前一个点px-1以及后一个点px+1以确定生成顶点的方向参数n。其中,相邻的参数点为通过转换原始二维地图数据获得。由此,无需考虑道路的原始数据点所对应的道路特征(其中,道路特征包括拐角点、岔口点和直线点),仅通过相邻的参数点即可确定三维地图数据中道路信息。

步骤3043:服务器响应于所述顶点生成方向参数,根据所述道路对应的顶点的位置偏移量参数对所述道路的原始数据点进行调整,以形成所述三维地图数据中所述道路对应的顶点集合;

步骤3044:对所述三维地图数据中所述道路对应的顶点集合中的参数进行三角化处理,生成与所述原始二维地图数据中道路相匹配的道路数据索引。

继续结合2示出的地图数据处理装置说明本发明实施例提供的地图数据处理方法;参见图4,其中,在所显示的二维地图中,包括有各类型的地图数据,例如:道路a,建筑b,山川c和水域d,在对建筑b处理过程中,参见图6a,图6a本发明实施例提供的地图数据处理方法一个可选的流程示意图,可以理解地,图6a所示的步骤可以由运行地图数据处理装置的各种电子设备执行,例如可以是如带有地图数据处理功能的专用终端、服务器或者服务器集群。下面针对图6a示出的步骤进行说明。

步骤601:当所述原始二维地图数据的数据类型为建筑数据时,服务器根据所述建筑数据,确定与所述建筑数据相对应的底部多边形顶点。

步骤602:服务器通过对所述建筑数据对应的底部多边形顶点配置相应的高度数据,确定与所述建筑数据相对应的顶部多边形顶点。

步骤603:服务器通过对所述建筑数据对应的顶部多边形顶点和底部多边形顶点进行三角化处理,生成与所述原始二维地图数据中建筑相匹配的建筑数据索引。

由此,可以完成对原始二维地图数据中建筑相匹配的建筑数据索引的建立过程,同理,通过图6a所示的过程可以对图4所示的所有建筑并行处理,建立各自对应的建筑数据索引。参见图6b,图6b为本发明实施例提供的地图数据处理方法一个可选的三维地图显示示意图,其中,通过对图4所示的所有建筑并行处理,建立各自对应的建筑数据索引,可以将图4中所有的二维结构的建筑,转换为相应的三维地图中的建筑。

继续结合2示出的地图数据处理装置说明本发明实施例提供的地图数据处理方法;参见图4,其中,在所显示的二维地图中,包括有各类型的地图数据,例如:道路a,建筑b,山川c和水域d,在对山川c和水域d处理过程中,参见图7,图7本发明实施例提供的地图数据处理方法一个可选的流程示意图,可以理解地,图7所示的步骤可以由运行地图数据处理装置的各种电子设备执行,例如可以是如带有地图数据处理功能的专用终端、服务器或者服务器集群。下面针对图7示出的步骤进行说明。

步骤701:当所述原始二维地图数据的数据类型为山脉数据时,服务器根据所述山脉数据中的等高线数据,确定所述山脉的环形顶点,以及与所述山脉的环形顶点相对应的侧面参数集合。

步骤702:服务器通过对所述山脉数据的环形顶点的侧面参数集合进行三角化处理进行三角化处理,生成与所述原始二维地图数据中山脉相匹配的建山脉数据索引。

步骤703:当所述原始二维地图数据的数据类型为水域数据时,服务器根据所述水域数据,确定所述水域的水域轮廓多边形的环状顶点。

步骤704:服务器通过对所述水域轮廓多边形的环状顶点进行三角化处理,生成与所述原始二维地图数据中水域相匹配的建水域数据索引。

由此,可以完成对原始二维地图数据中建筑相匹配的山川和水域数据索引的建立过程,同理,通过图6所示的过程可以对图4所示的所有山川和水域并行处理,建立各自对应的山川数据索引和水域数据索引。

步骤305:将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图。

在本发明的一些实施例中,所述将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图,可以通过以下方式实现:

确定所述三维地图的输出格式信息;根据所述原始二维地图数据的数据类型,确定所述二维地图数据对应的数据索引;根据所述二维地图数据对应的数据索引,将所述原始二维地图数据对应的三维地图数据进行组合;响应于所述三维地图的输出格式信息,对所述三维地图数据的组合结果进行渲染,以形成与所述输出格式信息相匹配的三维地图。

继续参见图8,图8是本发明实施例提供的地图数据处理装置100的架构示意图,包括区块链网络200(示例性示出了共识节点210-1至共识节点210-3)、认证中心300、业务主体400和业务主体500,下面分别进行说明。

区块链网络200的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络200;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络200,此时,成为区块链网络200中的客户端节点。

在一些实施例中,客户端节点可以只作为区块链网络200的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络200的共识节点210的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络200中,通过区块链网络200实现数据和业务处理过程的可信和可追溯。

区块链网络200中的共识节点接收来自不同业务主体(例如图8中示出的业务主体400和业务主体500)的客户端节点(例如,图8中示出的归属于业务主体400的客户端节点410、以及归属于业务主体500的客户端节点510)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。

例如,客户端节点410/510可以订阅区块链网络200中感兴趣的事件,例如区块链网络200中特定的组织/通道中发生的交易,由共识节点210推送相应的交易通知到客户端节点410/510,从而触发客户端节点410/510中相应的业务逻辑。

下面以多个业务主体接入区块链网络以实现对二维地图数据和三维地图数据管理为例,说明区块链网络的示例性应用。

参见图8,管理环节涉及的多个业务主体,如业务主体400可以是基于人工智能的地图数据处理装置,业务主体500可以是带有地图数据处理装功能的显示系统,从认证中心300进行登记注册获得各自的数字证书,数字证书中包括业务主体的公钥、以及认证中心300对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络200请求接入而成为客户端节点。

业务主体400的客户端节点410用于获取地图转换请求,其中,所述地图转换请求用于表征请求将原始二维地图转换为三维地图;解析所述地图转换请求,获取相应的地图标识;根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据;确定所述原始二维地图数据的数据类型,并根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据;将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图,将相应的二维地图数据和三维地图数据信息发送至区块链网络200。

其中,将相应的二维地图数据和三维地图数据信息发送至区块链网络200,可以预先在客户端节点410设置业务逻辑,当形成相应的三维地图时,客户端节点410将待处理的二维地图数据和三维地图数据信息自动发送至区块链网络200,也可以由业务主体400的业务人员在客户端节点410中登录,手动打包二维地图数据和三维地图数据信息以及相应的转换进程信息,并将其发送至区块链网络200。在发送时,客户端节点410根据二维地图数据和三维地图数据信息以及相应的转换业务进程信息生成对应更新操作的交易,在交易中指定了实现更新操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点410的数字证书、签署的数字签名(例如,使用客户端节点410的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200中的共识节点210。

区块链网络200中的共识节点210中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体400的身份,确认业务主体400是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络200中广播。

区块链网络200中的共识节点210接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络200中的共识节点210广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交更新待处理的二维地图数据和三维地图数据信息以及相应的业务进程信息的交易,在状态数据库中添加包括二维地图数据和三维地图数据信息以及相应的业务进程信息的键值对。

业务主体500的业务人员在客户端节点510中登录,输入二维地图数据和三维地图数据信息查询请求,客户端节点510根据二维地图数据和三维地图数据信息查询请求生成对应更新操作/查询操作的交易,在交易中指定了实现更新操作/查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点510的数字证书、签署的数字签名(例如,使用客户端节点510的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200中的共识节点210。

区块链网络200中的共识节点210中接收到交易,对交易进行验证、区块填充及共识一致后,将填充的新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交的更新某一三维地图数据信息对应的人工识别结果的交易,根据人工识别结果更新状态数据库中该三维地图数据信息对应的键值对;对于提交的查询某个三维地图数据信息的交易,从状态数据库中查询二维地图数据和三维地图数据信息对应的键值对,并返回交易结果。

值得说明的是,在图8中示例性地示出了将二维地图数据和三维地图数据信息以及相应的业务进程信息直接上链的过程,但在另一些实施例中,对于二维地图数据和三维地图数据信息数据量较大的情况,客户端节点410可二维地图数据和三维地图数据信息的哈希以及相应的二维地图数据和三维地图数据信息的哈希成对上链,将二维地图数据和三维地图数据信息以及相应的业务进程信息存储于分布式文件系统或数据库。客户端节点510从分布式文件系统或数据库获取到二维地图数据和三维地图数据信息以及相应的业务进程信息后,可结合区块链网络200中对应的哈希进行校验,从而减少上链操作的工作量。

作为区块链的示例,参见图9,图9是本发明实施例提供的区块链网络200中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。

下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图10,图10是本发明实施例提供的区块链网络200的功能架构示意图,包括应用层201、共识层202、网络层203、数据层204和资源层205,下面分别进行说明。

资源层205封装了实现区块链网路200中的各个节点210的计算资源、存储资源和通信资源。

数据层204封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。

网络层203封装了点对点(p2p,pointtopoint)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。

其中,p2p网络协议实现区块链网络200中节点210之间的通信,数据传播机制保证了交易在区块链网络200中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点210之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络200的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络200的权限;业务主体身份管理用于存储允许接入区块链网络200的业务主体的身份、以及权限(例如能够发起的交易的类型)。

共识层202封装了区块链网络200中的节点210对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括pos、pow和dpos等共识算法,支持共识算法的可插拔。

交易管理用于验证节点210接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络200的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。

账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块向量号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易向量号查询区块;根据交易向量号查询交易;根据业务主体的账号(向量号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。

应用层201封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。

下面继续以图4所示的二维地图数据为例对本申请所提供的地图数据处理方法进行介绍,其中,图11是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图,具体包括以下步骤:

步骤1101:对目标地理信息数据进行处理。

其中,地理信息数据一般以某种格式存储,本申请可以支持各种类型的数据格式(具体类型本申请不做限制),在执行算法前会将原始数据进行格式转换,转换成本方案自定义的数据格式,以便进行后续的数据算法执行。在本发明的一些实施例中,参考图12,图12是本发明实施例提供的地图数据存储示意图,其中,原始地理信息数据可以以shp标准格式存储,经过数据处理算法,将二维经纬度数据,转换为三维渲染空间中的坐标,并将原始数据中的无效数据剔除,得到可用于生成三维模型的数据。

其中,地理信息数据分为3种类型,点(point),线(arc),多边形(polygon),其中线和多边形都为点的合集,点的数据结构为二维的经度和纬度,所以只需要将所有点的经度和纬度都转换为三维空间中的坐标即可在本发明的一些实施例中,可选的数据处理算法包括:

已知地球周长e=40075036.0

经度l1对应坐标p1可以通过以下公式求得

p1=l1*e/360*cos(l1*π/180)

纬度l2对应坐标p2可以通过以下公式求得

p2=l2*e/360。由此,可以确定三维渲染空间中的坐标。

步骤1102:通过模型生成算法对目标地理信息数据进行处理。

其中,模型生成算法是指通过原始地理信息数据,通过以点、线、多边形等形式存储的数据,生成对应的三维模型顶点,并对生成后的顶点数据进行三角化,生成对应的索引数据,具体包括以下种类:

1)道路模型顶点生成算法:

其中,参考图13,图13是本发明实施例提供的地图数据存储示意图,其中,道路数据在地理信息系统中以线(arc)格式存储,根据每一个道路的原始数据点以及道路宽度数据,可以生成两个对应的道路顶点v1(v1x,v1y)和v2(v2x,v2y);道路原始数据点p(px,py),道路宽度w;对于每一个点(除第一个点和最后一个点),可以通过前一个点p-1以及后一个点p+1,来确定生成顶点的方向n,然后通过平移w/2的距离,得到如图14所示的v1和v2;其中,图14是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图,最后,参考图15,图15是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图,根据生成的顶点数据,进行三角化处理,生成对应的索引数据,完成如图15所示的模型数据生成结果。

2)建筑模型顶点生成算法:

其中,参考图16,图16是本发明实施例提供的地图数据处理方法的一个可选的存储过程示意图,建筑数据在地理信息系统中以多边形(polygon)格式存储,继续参考图17,图17是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图,其中,建筑模型顶点包含底部多边形和顶部多边形,顶面和侧面进行三角化,生成索引数据。底部多边形顶点可以从原始数据中直接得来,顶部多边形通过底部顶点增加高度z数据而得。原始数据p为(px,py);生成顶点v为(vx,vy,z)。继续参考图18,图18是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图,最后进行顶部和侧面三角化,生成对应的索引数据,完成模型数据生成。

3)山脉模型顶点生成算法:

其中,参考图19,图19是本发明实施例提供的地图数据处理方法的一个可选的存储过程示意图,山脉等高线数据在地理信息系统中以数个多边形(polygon)格式存储;继续参考图20,图20是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图,其中,按照等高线数据生成对应的环状顶点,顶点高度z为等高线高度最后在将环状顶点侧面进行三角化,生成索引数据,完成模型数据生成。

4)水域模型顶点生成算法:

其中,参考图21,图21是本发明实施例提供的地图数据处理方法的一个可选的存储过程示意图,其中,水域数据在地理信息系统中以多边形(polygon)格式存储,继续参考图22,图22是本发明实施例提供的地图数据处理方法的一个可选的处理过程示意图,按照水域轮廓多边形生成对应的环状顶点,然后对水面进行三角化处理,生成索引数据,完成水域模型数据生成,

步骤1103:进行模型输出处理。

其中,完成步骤1102后,本申请可以按照所需的模型文件格式,进行模型输出(具体格式本申请不做限制),在本发明的一些实施例中,当在数字城市产品中使用本申请所提供的地图数据处理方法时,可以采用相应的虚幻引擎,在模型输出时,可以使用虚幻引擎的api进行导出,导出格式为uasset。

参见图23,图23为本发明实施例提供的地图数据处理方法一个可选的三维地图显示示意图,其中,在所显示的三维地图中,对应图4所示的二维地图,包括有各类型的地图数据,例如:道路a,建筑b,山川c和水域d。

由此,实现了三维地图模型基于地理信息数据的自动化生成,在城市级别的渲染项目中,极大的减少了建模所需要的人力、物力,节省了项目开发的成本,使得短期内对某一城市进行快速建模成为可能,有利于三维动态模型的大规模推广使用,同时提升用户的使用体验。

本发明具有以下有益技术效果:

本发明通过获取地图转换请求,解析所述地图转换请求,获取相应的地图标识;根据所述地图标识,提取与所述地图标识相匹配的原始二维地图数据;确定所述原始二维地图数据的数据类型,并根据所述原始二维地图数据的数据类型,触发相应的转换进程,以实现将将原始二维地图数据转换为对应的三维地图数据;将所述原始二维地图数据对应的三维地图数据进行组合,形成相应的三维地图,由此,能够自动化生成城市内的所有道路、建筑、山脉、水域等的三维模型,实现对城市级别的地图进三维化渲染,降低了对城市级别的模型的处理成本,有利于大规模地推广使用时,快速准确地将原始二维地图转换为三维地图。

以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1