基于QT技术的自动切片存储系统和方法与流程

文档序号:11199269阅读:758来源:国知局
基于QT技术的自动切片存储系统和方法与流程

本发明涉及电子地图技术领域,尤其涉及一种基于qt技术的自动切片存储存储系统和方法。



背景技术:

切片技术是为了满足更多用户、高并发的地理空间信息资源共享服务效率的需要应运而生的,其目的是为了“提高电子地图响应效率,减轻服务器负载和网络传输负担”。地图切片技术以人们通用的地图作为地图背景,通过对地图数据进行渲染、切片,存储在地图服务器端,根据用户提供的不同要求,把相应的地图瓦片发送到客户端,减少空间数据库和磁盘访问次数,可以有效较少服务器压力,减少网络负载和网络延迟。目前,切片技术已经广泛地应用于电子地图网站和地理信息公共平台中。

目前国内采用的地图切片技术主要有以下几种:

(1)客户端切片技术:在客户端将本来只需一次请求获得的地图分解为多次请求,由客户端将这多次请求获得的地图切片组合起来,形成一幅完整的地图,但这种存储方式对服务器和网络的荷载较大;

(2)服务器端切片技术:预先在服务器上切割成金字塔式的地图瓦片,根据客户的要求,通过客户端来访问。该方式不涉及服务器的解析和地图生成过程,而是一个存储图像的加载过程,因而速度较快。

中国专利文献(申请号为201110088802.9)公开了一种超大尺寸地图切片的方法,主要包括以下步骤:使用ext,js代码库编写出java图片切片程序;对所述超大尺寸地图进行分块;通过javascript动态调用对所述各分块进行对应的图块编号;分别切出所述各已编好号的分块的图片。该方法是通过java进行编程的,虽然提高了切片效率,但实际运用中程序复杂且容易出错。



技术实现要素:

本发明要解决的技术问题是,提供一种切片准确,切片效率高,速度快的基于qt技术的自动切片存储的方法。

为了解决上述技术问题,本发明采用的技术方案是:该基于qt技术的自动切片存储的方法,采用金字塔模型通过qt技术和算法对地图数据进行切片,包括以下步骤:

(1)地图数据的导入:将从外部获取的地图数据导入到图形处理软件中,并对地图数据的数据源进行检查;

(2)参数设置:对不同的地图切片数据根据用户需求进行统计分析,确定地图切片的系统参数,并将这些参数设置到图形处理软件中,再根据用户需求对地图数据进行切片处理;

(3)地图切片:通过计算对地图数据进行切片,首先确定地图切片的范围和地图数据需要缩放的数量级别,把缩放级别最小、地图比例尺最大的地图最为金字塔的底层,并对地图其进行分块,从地图图片的左上角开始,从左到右、从上到下对地图数据进行切割,分割成相同大小的栅格图像,形成第0层切片矩阵,在第0层地图图片的基础上,按照每2*2像素的方法合成为一个像素的方法生成第1层地图图片,并对第1层地图图片进行分块,分割成与上一层相同大小的栅格图像,按照同样的方法生成剩余的其他层地图切片,切片完成后,将地图切片数据导出;

(4)建立切片索引目录:为已经切片好的地图数据建立索引目录,将导出的地图切片数据按照地图切片数据的级别、行号、列号的方式为切片数据建立目录索引;

(5)切片存储:根据用户设置的切片数据的存储路径,将切片好的地图数据进行自动化存储,为后期电子地图的浏览提供数据支撑服务。采用上述技术方案,通过qt技术将地图数据导入图形化处理软件,按照设定的技术和算法,实现地图数据自动切片处理,并对切片处理后的地图数据建立索引目录,同时实现地图切片数据的自动存储,为后期电子地图的浏览提供数据支撑服务;其中由于图像金字塔结构,上层图像由下层图像缩小生成,所以在上层图像对应下层图像完成传输后,即可根据下层图像生成上层图像。

本发明进一步改进在于,地图切片的算法的流程包括以下步骤:

1)将需要加载的地图数据加载到图形处理软件中,对地图数据进行读取;

2)用户根据自身需要对地图数据的切片参数进行个性化设置;

3)当切片的级别小于用户设置的切片级别时,进入下一步的循环;

4)根据目前切片的级别计算各级别切片的大小,进入下一步循环;

5)当前切片的行坐标小于行坐标的最大值时,进入下一步循环;

6)当前切片的列坐标小于列坐标最大值是,进入下一步循环;

7)根据地图数据的行号、列号以及切片号进行地图切片;

8)当循环条件结束时,结束循环,将地图切片数据按照用户设置的地图切片格式导出,若循环条件没有结束,则按照列循环、行循环和级别循环的顺序进行循环,直至循环结束,将地图切片数据导出。

本发明进一步改进在于,切片参数的个性化设置包括切片范围、格式、级别和存储路径。

本发明进一步改进在于,通过qt技术采用c++语言编写出地图数据切片程序。

本发明还要解决的技术问题是,提供一种切片准确,切片效率高,速度快的基于qt技术的自动切片存储系统。

为了解决上述技术问题,本发明采用的技术方案是:该基于qt技术的自动切片存储系统包括中心处理系统、数据接口、数据存储模块、数据导入模块和数据处理模块;所述数据接口模块、数据存储模块、数据导入模块和数据处理模块分别与所述中心处理系统通信连接且形成双向数据连通;所述数据导入模块用于负责地图数据的导入,采用标准的规范支持多种数据格式的地图切片数据的导入;所述数据存储模块用于实现地图切片数据的自动化存储;所述数据处理模块用于对地图数据实现自动切换处理和切片数据目录管理功能;所述数据接口模块采用标准通讯协议规范,实现与应用系统或第三方系统进行数据对接和交换。

本发明进一步改进在于,该基于qt技术的自动切片存储系统还包括问题切片处理模块,所述问题切片处理模块与所述数据存储模块通信连接;用于判断存储后的地图切片数据能否通过目录索引访问到地图切片的具体数据,如能,则判定该地图切片没问题;如不能,则判定该地图切片有问题,则将该地图切片发回中心处理系统对该有问题的地图切片进行重切,并用重切地图切片替换问题切片并重新存储。

现有技术相比,本发明具有的有益效果是:

1)基于qt技术对地图切片数据进行自动存储,提高了切片存储效率;

2)根据客户需要对地图数据进行切片级别和格式的个性化定制,满足客户需求;

3)为地图切片数据建立索引目录,方便客户的浏览和查询,提高地图响应速度。

附图说明

下面结合附图进一步描述本发明的技术方案:

图1是本发明的基于qt技术的自动切片存储系统的数据流向图;

图2是本发明的基于qt技术的自动切片存储的方法的地图切片的算法的流程图;

图3是本发明的基于qt技术的自动切片存储系统的实施例1的结构示意图;

图4是本发明的基于qt技术的自动切片存储系统的实施例2的结构示意图。

具体实施方式

为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。

实施例1:该基于qt技术的自动切片存储的方法,采用金字塔模型通过qt技术和算法对地图数据进行切片,包括以下步骤:

(1)地图数据的导入:将从外部获取的地图数据导入到图形处理软件中,并对地图数据的数据源进行检查;

(2)参数设置:对不同的地图切片数据根据用户需求进行统计分析,确定地图切片的系统参数,并将这些参数设置到图形处理软件中,再根据用户需求对地图数据进行切片处理;

(3)地图切片:首先确定地图切片的范围和地图数据需要缩放的数量级别,把缩放级别最小、地图比例尺最大的地图最为金字塔的底层,并对地图其进行分块,从地图图片的左上角开始,从左到右、从上到下对地图数据进行切割,分割成相同大小的栅格图像,形成第0层切片矩阵,在第0层地图图片的基础上,按照每2*2像素的方法合成为一个像素的方法生成第1层地图图片,并对第1层地图图片进行分块,分割成与上一层相同大小的栅格图像,按照同样的方法生成剩余的其他层地图切片,切片完成后,将地图切片数据导出;其中由于图像金字塔结构,上层图像由下层图像缩小生成,所以在上层图像对应下层图像完成传输后,即可根据下层图像生成上层图像;

(4)建立切片索引目录:为已经切片好的地图数据建立索引目录,将导出的地图切片数据按照地图切片数据的级别、行号、列号的方式为切片数据建立目录索引;

(5)切片存储:根据用户设置的切片数据的存储路径,将切片好的地图数据进行自动化存储,为后期电子地图的浏览提供数据支撑服务;其中地图切片的算法的流程包括以下步骤:

1)将需要加载的地图数据加载到图形处理软件中,对地图数据进行读取;

2)用户根据自身需要对地图数据的切片参数进行个性化设置;

3)当切片的级别小于用户设置的切片级别时,进入下一步的循环;

4)根据目前切片的级别计算各级别切片的大小,进入下一步循环;

5)当前切片的行坐标小于行坐标的最大值时,进入下一步循环;

6)当前切片的列坐标小于列坐标最大值是,进入下一步循环;

7)根据地图数据的行号、列号以及切片号进行地图切片;

8)当循环条件结束时,结束循环,将地图切片数据按照用户设置的地图切片格式导出,若循环条件没有结束,则按照列循环、行循环和级别循环的顺序进行循环,直至循环结束,将地图切片数据导出;通过图形处理软件导入地图数据,并对地图数据的基本属性信息进行数据读取,根据客户需要,确定需要切片的地图的范围以及切片的数量界别,按照设定的算法及规则实现地图的切片处理,并对切片处理后的地理图片建立索引目录,对地图切片进行自动存储;通过qt技术将地图数据导入图形化处理软件,按照设定的技术和算法,实现地图数据自动切片处理,并对切片处理后的地图数据建立索引目录,同时实现地图切片数据的自动存储,为后期电子地图的浏览提供数据支撑服务;切片参数的个性化设置包括切片范围、格式、级别和存储路径;通过qt技术采用c++语言编写出地图数据切片程序。

实施例2:该基于qt技术的自动切片存储系统包括中心处理系统、数据接口、数据存储模块、数据导入模块和数据处理模块;所述数据接口模块、数据存储模块、数据导入模块和数据处理模块分别与所述中心处理系统通信连接且形成双向数据连通;所述数据导入模块用于负责地图数据的导入,采用标准的规范支持多种数据格式的地图切片数据的导入;所述数据存储模块用于实现地图切片数据的自动化存储;所述数据处理模块用于对地图数据实现自动切换处理和切片数据目录管理功能;所述数据接口模块采用标准通讯协议规范,实现与应用系统或第三方系统进行数据对接和交换;其中数据存储模块由分布式对象存储系统组成,采用可扩展的系统结构,利用多台存储服务器分担存储负载,利用位置服务器定位存储信息,不但提高了系统的可靠性、可用性和存取效率,还易于扩展;根据可用性、并发及持久性要求,配置对象存储系统,自动多重冗余备份到存储子节点,以达到各项指标;分布式对象存储系统可以为开源的openstackswift,公有云的阿里云oss、azureblob、awss3。

实施例3:与实施例2的区别在于,该基于qt技术的自动切片存储系统在实施例2的基础上还包括问题切片处理模块和浏览模块,所述问题切片处理模块与所述数据存储模块通信连接;用于判断存储后的地图切片数据能否通过目录索引访问到地图切片的具体数据,如能,则判定该地图切片没问题;如不能,则判定该地图切片有问题,则将该地图切片发回中心处理系统对该有问题的地图切片进行重切,并用重切地图切片替换问题切片并重新存储;设置问题切片处理模块可以保证地图切片的质量,使地图切片更加精确,同时节约了人力资源;所述浏览模块与数据存储模块相连接,用于获取并显示切片图像。

对于本领域的普通技术人员而言,具体实施例只是对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

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