三维地图生成方法、终端及服务器与流程

文档序号:20348561发布日期:2020-04-10 22:49阅读:309来源:国知局
三维地图生成方法、终端及服务器与流程

本发明涉及计算机技术领域,尤其涉及一种三维地图生成方法、终端及服务器。



背景技术:

目前,用户通常使用软件arcgis或globalmapper生成三维地图,具体为在终端设备打开软件,利用数字高程模型(digitalelevationmodel,dem)数据和卫星影像数据,对地图进行渲染。

但是,由于上述三维地图的生成方法是基于终端设备的桌面端软件进行的,当用户在终端设备的桌面端生成三维地图的时候,尤其当dem数据中包含有大量的点位信息时,就需要终端设备对大量的数据进行渲染,并且随着数据量的增大,渲染效率也会随之下降。因此,如何提高终端设备生成三维地图的效率,是一个亟待解决的技术问题。



技术实现要素:

本发明提供一种三维地图生成方法、终端及服务器,用于生成三维地图。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,提供了一种三维地图生成方法,应用于终端,方法包括:向服务器发送请求指令;其中,请求指令包括待渲染瓦片的标识;请求指令用于请求服务器根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标;获取服务器发送的影像数据,以及多个点位中各个点位的空间坐标;根据影像数据及多个点位中各个点位的空间坐标,生成待渲染瓦片覆盖范围内的三维地图。

基于上述技术方案,本发明向服务器发送请求对待渲染瓦片进行渲染需要数据的指令,使服务器根据指令中所包含的待渲染瓦片的标识,查询与待渲染瓦片所对应的多个点位中各点位的空间坐标及与待渲染瓦片所对应的影像数据;在获取到渲染待渲染瓦片所需要的数据之后,根据与待渲染瓦片所对应的多个点位中各点位的空间坐标及影像数据,生成待渲染瓦片覆盖范围内的三维地图。通过上述方法,终端设备在桌面端渲染时无需要对dem高程数据进行全部渲染,只需渲染经服务器处理后的与待渲染瓦片对应的数据即可,从而提高了终端设备生成三维地图的效率。

第二方面,提供了一种三维地图生成方法,应用于服务器,方法包括:获取终端发送的请求指令;其中,请求指令包括待渲染瓦片的标识;根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标;发送待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标至终端,以使得终端根据影像数据及多个点位中各个点位的空间坐标,生成待渲染瓦片覆盖范围内的三维地图。

基于上述技术方案,本发明向服务器发送请求对待渲染瓦片进行渲染需要数据的指令,使服务器根据指令中所包含的待渲染瓦片的标识,查询与待渲染瓦片所对应的多个点位中各点位的空间坐标及与待渲染瓦片所对应的影像数据;在获取到渲染待渲染瓦片所需要的数据之后,根据与待渲染瓦片所对应的多个点位中各点位的空间坐标及影像数据,生成待渲染瓦片覆盖范围内的三维地图。通过上述方法,服务器将处理后的与待渲染瓦片对应的数据发送至终端设备,终端设备在桌面端渲染时只需要对接收到的dem高程数据进行渲染即可,无需渲染全部的dem高程数据,从而提高了终端设备生成三维地图的效率。

第三方面,提供了一种终端,终端包括第一发送单元、第一获取单元及渲染单元;第一发送单元,用于向服务器发送请求指令;其中,请求指令包括待渲染瓦片的标识;请求指令用于请求服务器根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标;第一获取单元,用于在第一发送单元向服务器发送请求指令之后,获取服务器发送的影像数据,以及多个点位中各个点位的空间坐标;渲染单元,用于根据第一获取单元获取到的影像数据及多个点位中各个点位的空间坐标,生成待渲染瓦片覆盖范围内的三维地图。

第四方面,提供了一种服务器,服务器包括:第二获取单元、查询单元及第二发送单元;第二获取单元,用于接收终端发送的请求指令;其中,请求指令包括待渲染瓦片的标识;查询单元,用于在第二获取单元获取请求指令之后,根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标;第二发送单元,用于将查询单元查询到的待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标发送至终端,以使得终端根据影像数据及多个点位中各个点位的空间坐标,生成待渲染瓦片覆盖范围内的三维地图。

第五方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当被计算机执行时使计算机执行如第一方面的三维地图生成方法。

第六方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当被计算机执行时使计算机执行如第二方面的三维地图生成方法。

第七方面,提供了一种终端,终端包括处理器、存储器和通信接口;其中,通信接口用于终端和其他设备或网络通信;存储器用于存储一个或多个程序,一个或多个程序包括计算机执行指令,当终端运行时,处理器执行存储器存储的计算机执行指令,以使终端执行如第一方面的三维地图生成方法。

第八方面,提供了一种服务器,服务器包括处理器、存储器和通信接口;其中,通信接口用于服务器和其他设备或网络通信;存储器用于存储一个或多个程序,一个或多个程序包括计算机执行指令,当服务器运行时,处理器执行存储器存储的计算机执行指令,以使服务器执行如第二方面的三维地图生成方法。

第九方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述如第一方面的三维地图生成方法。

第十方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述如第二方面的三维地图生成方法。

附图说明

图1为本发明的实施例提供的一种三维地图生成方法流程示意图一;

图2为本发明的实施例提供的一种三维地图生成方法流程示意图二;

图3为本发明的实施例提供的一种三维地图生成方法流程示意图三;

图4为本发明的实施例提供的一种第二范围示意图一;

图5为本发明的实施例提供的一种三维地图生成方法流程示意图四;

图6为本发明的实施例提供的一种终端结构示意图一;

图7为本发明的实施例提供的一种终端结构示意图二;

图8为本发明的实施例提供的一种服务器结构示意图一;

图9为本发明的实施例提供的一种服务器结构示意图二;

图10为本发明的实施例提供的一种终端结构示意图三;

图11为本发明的实施例提供的一种服务器结构示意图三。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

在本发明的描述中,除非另有说明,“/”表示“或”的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

以下,介绍本发明的发明构思:目前,用户在使用软件arcgis或globalmapper生成三维地图时,将dem数据和卫星影像数据输入到软件中,由软件利用dem数据和卫星影像数据,对地图进行渲染。

基于上述技术,本发明发现,上述技术中的dem数据为标签图像文件格式(tagimagefileformat,tiff),通过用一组有序数值阵列形式表示地面高程,上述三维地图的生成方法是基于终端设备的桌面端软件进行的,当用户在终端设备的桌面端生成三维地图,尤其dem数据中包含有大量的点位信息的时候,就需要终端设备对大量的数据进行渲染,并且随着数据量的增大,渲染效率也会随之下降。因此,如何提高终端设备生成三维地图的效率,是一个亟待解决的技术问题。

针对上述技术问题,本发明中考虑到,能否通过后端服务器对dem数据及卫星影像数据按照瓦片进行预处理并进行存储,当终端设备需要生成三维地图时,直接按照向服务器发送请求,只获取待渲染的瓦片所对应的数据,可以减少终端设备需要渲染的数据,从而可以解决上述技术问题。

基于上述发明构思,本发明实施例提供了一种业务处理方法,应用于终端100及服务器200,如图1所示,该方法包括s301-s304:

s301、终端100向服务器200发送请求指令,以使得服务器200获取终端100发送的请求指令。

其中,请求指令包括待渲染瓦片的标识。请求指令用于请求服务器200根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标。

需要说明的,请求指令为终端100基于用户的请求操作生成的。待渲染瓦片包括终端100所要渲染的区域所包含的瓦片;每个瓦片的大小相同,但所覆盖的区域是不同的。

示例性的,终端100中需要渲染的瓦片是分级的,可以人为的设置为0-17级:0级的瓦片个数为1个,其覆盖区域所对应的经度为[-180.0,180.0],纬度为(-85.05,85.05);1级的瓦片个数为4个,4个1级瓦片覆盖的区域连接后,与1个0级瓦片的覆盖的区域相同。4个1级瓦片中其中一个瓦片的覆盖区域所对应的经度为[-45.0,45.0],纬度为(-21.26,21.26)。

s302、服务器200根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标。

作为一种可能的实现方式,服务器200根据待渲染瓦片的标识,从数据库中查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标。

其中,待渲染瓦片所对应的影像数据,包括:经服务器200根据待渲染瓦片的覆盖范围确定的卫星影像数据。

需要说明的,待渲染瓦片所对应的多个点位中各个点位的空间坐标,具体包括每一个点位的经纬度及高程。

示例性的,多个点位中各个点位的空间坐标可以具体包括以下样式[(x1,y1,z1),(x2,y2,z2),……,(xk,yk,zk)]。其中,x1为多个点位中第一点位的经度,y1为多个点位中第一点位的纬度,z1为多个点为中第一点位的高程,k为多个点位的总个数。

s303、服务器200发送待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标至终端100。相应的,终端100获取服务器200发送的待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标。

可选的,为了使终端100与服务器200之间无需通过软件定义的预设接口进行传输信令或数据,终端100可以通过restful(representationalstatetransfer)服务向服务器200发送请求指令;服务器200也可以通过restful服务向终端100传输数据。其中,restful服务基于超文本传输协议http,可以使用可扩展标记语言(extensiblemarkuplanguage,xml)格式定义或对象简谱(javascriptobjectnotation,json)格式定义,为终端100与服务器200提供交互服务。

本发明实施例中终端100通过上述restful服务与服务器200之间进行交互,能够不依赖于软件之间的预设接口。也就是说,用户无需在终端100上安装专门的渲染软件,直接通过全球广域网(worldwideweb,web)即可进行传输数据,有利于三维地图的分享与传播。

s304、终端100根据待渲染瓦片所对应的影像数据及待渲染瓦片所对应的多个点位中各个点位的空间坐标,生成待渲染瓦片覆盖范围内的三维地图。

作为一种可能的实现方式,终端100通过web浏览器接收到服务器200发送渲染瓦片所对应的影像数据及待渲染瓦片所对应的多个点位中各个点位的空间坐标之后,对待渲染瓦片进行渲染,生成三维地图。

可选的,本发明实施例提供的三维地图生成方法中,终端100可以利用终端100的图形处理器(graphicsprocessingunit,gpu),对待渲染瓦片进行渲染,生成三维地图。

本发明实施例中利用终端100的gpu执行渲染任务,使用户在查看三维地图的过程中充分利用终端100的硬件资源,能够提高渲染效率,减少生成及查看三维地图时的卡顿,从而增强用户体验。

可选的,如图2所示,本发明实施例提供的s304,具体可以包括s3041-s3043:

s3041、终端100根据待渲染瓦片所对应的多个点位中各个点位的空间坐标,生成第一范围内的三角网。

其中,第一范围由多个点位组成。第一范围包含待渲染瓦片的覆盖范围,且不与待渲染瓦片的覆盖范围的边缘重合。

在本发明实施例中,三角网为web图形库(webgraphicslibrary,webgl)中的基本绘制单元。

作为一种可能的实现方式,终端100从待渲染瓦片对应的多个点位中各个点位的空间坐标在空间中形成的点中,选择相邻三个点进行连接,形成多个三角形。

其中,多个三角形中各个三角形,为三角网中最小的绘制单元。

进一步的,终端100将多个三角形中具有相同边的三角形进行连接,形成第一范围内的三角网。

s3042、终端100将影像数据映射到三角网中,生成第一范围内的三维地图。

作为一种可能的实现方式,终端100将三角网投影至平面地图中,在平面地图上生成目标三角网,并对目标三角网进行光栅化,以确定目标三角网中的至少一个像素。

在上述可能的实现方式之后,终端100将影像数据在每个像素中的纹理,按照像素的坐标信息,映射到目标三角网中。

s3043、终端100从第一范围内的三维地图中,删除待渲染瓦片的覆盖范围外的三维地图,生成待渲染瓦片覆盖范围内的三维地图。

需要说明的,待渲染瓦片覆盖范围内的三维地图,包括待渲染瓦片覆盖范围的边缘处的像素的三维地图。

本发明的实施例提供的一种三维地图生成方法,通过向服务器发送请求对待渲染瓦片进行渲染需要数据的指令,使服务器根据指令中所包含的待渲染瓦片的标识,查询与待渲染瓦片所对应的多个点位中各点位的空间坐标及与待渲染瓦片所对应的影像数据;在获取到渲染待渲染瓦片所需要的数据之后,根据与待渲染瓦片所对应的多个点位中各点位的空间坐标及影像数据,生成待渲染瓦片覆盖范围内的三维地图。通过上述方法,终端设备在桌面端渲染时无需要对dem高程数据进行全部渲染,只需渲染经服务器处理后的与待渲染瓦片对应的数据即可,从而提高了终端设备生成三维地图的效率。

当服务器200从数据库中查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标时,为了使数据库中预先存储有上述数据,服务器200可以预先对每个瓦片对应的点位的数据以及卫星影像数据进行预先处理。

下面以服务器对目标瓦片进行预处理为例进行说明。可以理解的是,目标瓦片为多个瓦片中的任意一个瓦片。

如图3所示,服务器对目标瓦片进行预处理,包括以下步骤:

s401、服务器200获取目标瓦片的标识。

需要说明的,目标瓦片的标识,可以由从终端100中获得,也可以由运维人员直接输入到服务器200中。

s402、服务器200根据目标瓦片的标识,获取目标瓦片的覆盖范围。

作为一种可能的实现方式,服务器200按照目标瓦片的标识,从数据库中查询目标瓦片的覆盖范围。

需要说明的,数据库中的目标瓦片的覆盖范围,可以由运维人员设定后,存储至数据库中。

s403、服务器200查询第二范围内所有点位的位置数据以及高程数据。

其中,第二范围包含目标瓦片的覆盖范围,且第二范围与目标瓦片的覆盖范围的边缘不重合。

s404、服务器200根据第二范围内所有点位的位置数据及高程数据,生成目标瓦片所对应的多个点位中各个点位的空间坐标。

作为一种可能的实现方式,服务器200将第二范围内所有点位的位置数据及高程数据进行汇聚,生成数据集,并将数据集按照预设格式进行转换,生成目标瓦片所对应的多个点位中各个点位的空间坐标。

s405、服务器200存储目标瓦片所对应的多个点位中各个点位的空间坐标至数据库。

需要说明的,数据库中还可以包括目标瓦片所对应的多个点位的横向压缩比、纵向压缩比、横向点数量及纵向点数量。

s406、服务器200获取卫星影像数据。

需要说明的,卫星影像数据可以由运维人员输入到服务器200中。或者,卫星影像数据也可以由运维人员预先存储到数据库之后,服务器200从数据库中获取卫星影像数据。

s407、服务器200根据目标瓦片的覆盖范围,获取目标瓦片所对应的影像数据。

作为一种可能的实现方式,服务器200根据目标瓦片的覆盖范围,将卫星影像数据进行划分,以获取目标瓦片所对应的影像数据。

s408、服务器200存储目标瓦片所对应的影像数据。

作为一种可能的实现方式,服务器200将目标瓦片所对应的影响数据存储至数据库。

可选的,本发明实施例提供的s403,具体可以包括s4031-s4032:

s4031、服务器200根据目标瓦片的覆盖范围,确定第二范围。

作为一种可能的实现方式,服务器200将目标瓦片的覆盖范围的边缘,按照预设距离向外平移,得到第二范围。

需要说明的,预设距离可以由运维人员预先在服务器200中进行设定。

示例性的,如图4所示,第二范围为目标瓦片的覆盖范围的边缘向外平移得到的。

s4032、服务器200根据dem数据中所有点位的位置数据,从dem数据中,查询第二范围内的点位。

作为一种可能的实现方式,服务器200在获取dem数据后,根据dem数据中所有点位的位置数据,从dem数据中,查询第二范围内的点位。

需要说明的,dem数据可以由运维人员输入到服务器200中。或者,dem数据也可以在运维人员预先存储到数据库之后,由服务器200从数据库中获取dem数据。

可选的,由于dem数据为包含大量点位的tiff文件,为了更快速的查询第二范围内的点位,本发明实施例提供的s4032中,服务器200在获取tiff文件之后,可以按照预设规则,将tiff文件划分为多个文件块。根据目标瓦片的覆盖范围所在的经纬度,从多个文件块中确定与目标瓦片对应的目标文件块。从目标文件块中查询第二范围内的点位。

需要说明的,服务器200根据目标瓦片的覆盖范围所在的经纬度,从多个文件块中确定与目标瓦片对应的目标文件块,具体可以利用大数据计算框架spark进行处理。

s4033、服务器200从dem数据中获取第二范围内所有点位的位置数据以及高程数据。

可选的,如图5所示,本发明实施例提供的s403之后,具体还可以包括s409-s411:

s409、服务器200检测第二范围包含的点位的数目是否大于等于预设阈值。

需要说明的,预设阈值为目标瓦片在渲染过程中所能承载的最大点位数目。

示例性的,预设阈值可以为1024。

s410、若第二范围包含的点位的数目大于等于预设阈值,则服务器200根据第二范围内所有的点位的位置数据及高程数据,生成预设个数的点位的位置数据及高程数据。

其中,预设个数小于等于预设阈值。

可选的,本发明实施例提供的s410,具体可以包括s4101-s4102:

s4101、服务器200将第二范围划分为预设阈值个子范围。

需要说明的,为便于服务器200进行处理,服务器200可以将第二范围均匀的划分为预设阈值个子范围。

s4102、服务器200对每个子范围内的至少一个点位的位置数据及高程数据进行处理,生成目标点位的位置数据及高程数据。

其中,目标点位的位置数据包括该子范围的中心坐标,目标点位的高程数据根据以下公式一得到:

其中,zx为目标点位的高程数据,n为该子范围内的点位个数,zi为该子范围内第i个点位的高程数据。

需要说明的,若存在任意一个子范围内不存在点位信息,则服务器200不对该子范围进行处理。

s411、服务器200根据预设个数的点位的位置数据及高程数据,生成目标瓦片所对应的多个点位中个各点位的空间坐标。

需要说明的,本步骤的具体实现方式可以参见上述步骤s404,此处不再赘述。

在一种实现方式中,本发明实施例提供的s404,在s409之后,具体包括:若服务器200检测到第二范围包含的点位的数目小于等于预设阈值,则服务器200根据第二范围内所有点位的位置数据及高程数据,生成目标瓦片所对应的多个点位中各个点位的空间坐标。

本发明实施例提供的一种服务器200处理dem数据及卫星影像数据方法,通过按照瓦片的覆盖范围对dem数据及卫星影像进行相应处理,并使数据库中预先存储有上述数据。相应的,服务器200在获取终端设备的数据请求之后,直接根据瓦片标识从数据库中查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标,无需再依据瓦片标识对dem数据及卫星影像进行处理,节省了数据处理的时间,能够提高终端设备生成三维地图的渲染效率。

本发明实施例可以根据上述方法示例对终端100及服务器200进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本发明实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,本发明实施例提供了上述实施例中所涉及的终端100的一种可能的结构示意图,如图6所示,终端100包括第一发送单元101、第一获取单元102及渲染单元103。

第一发送单元101,用于向服务器200发送请求指令。其中,请求指令包括待渲染瓦片的标识。请求指令用于请求服务器200根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标。

第一获取单元102,用于在第一发送单元101向服务器200发送请求指令之后,获取服务器200发送的待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标。

渲染单元103,用于根据第一获取单元102获取到的影像数据及多个点位中各个点位的空间坐标,生成待渲染瓦片覆盖范围内的三维地图。

可选的,如图7所示,本发明实施例提供的渲染单元103,具体包括第一生成子单元1031、映射子单元1032及删除子单元1033。

第一生成子单元1031,用于根据待渲染瓦片所对应的多个点位中各个点位的空间坐标,生成第一范围内的三角网。其中,第一范围由多个点位组成;第一范围包含待渲染瓦片的覆盖范围,且不与待渲染瓦片的覆盖范围的边缘重合。

映射子单元1032,用于在第一生成子单元1031生成三角网之后,将影像数据映射到三角网中,生成第一范围内的三维地图。

删除子单元1033,用于在映射子单元1032生成第一范围内的三维地图之后,从第一范围内的三维地图中,删除待渲染瓦片的覆盖范围外的三维地图,生成待渲染瓦片覆盖范围内的三维地图。

在采用对应各个功能划分各个功能模块的情况下,本发明实施例提供了上述实施例中所涉及的服务器200的一种可能的结构示意图,如图8所示,服务器200包括:第二获取单元201、查询单元202及第二发送单元203。

第二获取单元201,用于接收终端100发送的请求指令。其中,请求指令包括待渲染瓦片的标识。

查询单元202,用于在第二获取单元201获取请求指令之后,根据待渲染瓦片的标识,查询待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标。

第二发送单元203,用于将查询单元202查询到的待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标发送至终端100,以使得终端100根据待渲染瓦片所对应的影像数据及待渲染瓦片所对应的多个点位中各个点位的空间坐标,生成待渲染瓦片覆盖范围内的三维地图。

可选的,如图9所示,本发明实施例提供的服务器200,还包括生成单元204及存储单元205。

第二获取单元201,还用于在查询单元202查询到待渲染瓦片所对应的影像数据,以及待渲染瓦片所对应的多个点位中各个点位的空间坐标之前,根据目标瓦片的标识,获取目标瓦片的覆盖范围。其中,目标瓦片为多个瓦片中的任意一个瓦片。

查询单元202,还用于在第二获取单元201获取目标瓦片的覆盖范围之后,查询第二范围内所有点位的位置数据以及高程数据。其中,第二范围包含目标瓦片的覆盖范围,且第二范围与目标瓦片的覆盖范围的边缘不重合。

生成单元204,用于根据查询单元202查询到的第二范围内所有点位的位置数据及高程数据,生成目标瓦片所对应的多个点位中各个点位的空间坐标。

存储单元205,用于生成单元204生成目标瓦片所对应的多个点位中各个点位的空间坐标之后,存储目标瓦片所对应的多个点位中各个点位的空间坐标。

可选的,如图9所示,本发明实施例提供的服务器200,还包括检测单元206。

检测单元206,用于在查询单元202查询第二范围内所有点位的位置数据以及高程数据之后,检测第二范围包含的点位的数目是否大于等于预设阈值。

生成单元204,还用于若检测单元206确定第二范围包含的点位的数目大于等于预设阈值,则根据第二范围内所有的点位的位置数据及高程数据,生成预设个数的点位的位置数据及高程数据。其中,预设个数小于等于预设阈值。

生成单元204,还用于在生成预设个数的点位的位置数据及高程数据之后,根据预设个数的点位的位置数据及高程数据,生成目标瓦片所对应的多个点位中各个点位的空间坐标。

可选的,本发明实施例提供的查询单元202,具体包括确定子单元2021、查询子单元2022及获取子单元2023。

确定子单元2021,用于目标瓦片的覆盖范围,确定第二范围。

查询子单元2022,用于在确定子单元2021确定第二范围之后,根据dem数据中所有点位的位置数据,从dem数据中,查询第二范围内的点位。

获取子单元2023,用于在查询子单元2022查询第二范围内的点位之后,从dem数据中获取第二范围内所有点位的位置数据以及高程数据。

可选的,本发明实施例提供的生成单元204,具体可以包括确定子单元2041及第三生成子单元2042。

确定子单元2041,用于将第二范围划分为预设阈值个子范围。

第三生成子单元2042,用于在确定子单元2041将第二范围划分为预设阈值个子范围之后,对每个子范围内的至少一个点位的位置数据及高程数据进行处理,生成目标点位的位置数据及高程数据。其中,目标点位的位置数据包括该子范围的中心坐标,目标点位的高程数据根据以下公式一得到:

其中,zx为目标点位的高程数据,n为该子范围内的点位个数,zi为该子范围内第i个点位的高程数据。

图10示出了上述实施例中所涉及的终端100的又一种可能的结构示意图。该终端100包括:第一存储器501、第一处理器502、第一通信接口503和第一总线504。第一存储器501用于存储装置的程序代码和数据;第一处理器502用于对装置的动作进行控制管理,例如,执行上述方法实施例中所示的方法流程中的各个步骤,和/或用于执行本文所描述的技术的其它过程;第一通信接口503用于支持该终端100与其他网络或设备的通信。

其中,上述第一处理器502可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,单元和电路。该第一处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,单元和电路。第一处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

第一存储器501可以包括易失性存储器,例如随机存取存储器;该第一存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该第一存储器还可以包括上述种类的存储器的组合。

第一总线504可以是扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。第一总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

图11示出了上述实施例中所涉及的服务器200的又一种可能的结构示意图。该服务器200包括:第二存储器601、第二处理器602、第二通信接口603和第二总线604。第二存储器601用于存储装置的程序代码和数据;第二处理器602用于对装置的动作进行控制管理,例如,执行上述方法实施例中所示的方法流程中的各个步骤,和/或用于执行本文所描述的技术的其它过程;第二通信接口603用于支持该终端100与其他网络或设备的通信。

其中,上述第二处理器602可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,单元和电路。该第二处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,单元和电路。第二处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

第二存储器601可以包括易失性存储器,例如随机存取存储器;该第二存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该第二存储器还可以包括上述种类的存储器的组合。

第二总线604可以是扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。第二总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的控制器和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。

本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的三维地图生成方法。

其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(applicationspecificintegratedcircuit,asic)中。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

由于本发明的实施例中的终端、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。

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