地图数据包全流程自适应生成与加密方法、装置和设备转让专利

申请号 : CN202211013463.2

文献号 : CN115098888B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 鄂超林欢谢潇伍庭晨杨溯刘景磊耿琦岳雅琦王金星高睿

申请人 : 北京帝测科技股份有限公司

摘要 :

本发明提供了地图数据包全流程自适应生成与加密方法、装置和设备。所述方法包括获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,批量生成电子地图瓦片,对电子地图元数据和电子地图瓦片进行加密处理;获取电子地图的配图规则以及配图所需资源,通过电子地图元数据获取图层进行渲染,生成渲染样式文件;对渲染样式文件进行加密处理;基于预设的组织架构创建地图包的层级结构,将电子地图数据导入地图包,并进行压缩和加密处理,生成地图数据包。以此方式,通过离线地图包实现涉密内网环境下电子地图成果的分发,对离线地图包进行深度加密,进行渲染,实现加密后数据的安全校验和解析渲染,实现对数据及应用的整体安全保障。

权利要求 :

1.一种地图数据包全流程自适应生成与加密方法,其特征在于,包括:获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,并基于所述电子地图元数据,批量生成电子地图瓦片,对所述电子地图元数据和电子地图瓦片进行加密处理;

获取电子地图的配图规则以及配图所需资源,根据所述电子地图的配图规则以及配图所需资源,通过电子地图元数据获取图层进行渲染,生成渲染样式文件;对所述渲染样式文件进行加密处理;所述渲染样式文件包括渲染样式以及缩略图;

基于预设的组织架构创建地图包的层级结构,将电子地图数据导入地图包,并进行压缩和加密处理,生成地图数据包;

所述创建电子地图服务,生成电子地图元数据,包括:创建电子地图服务,配置基础信息;

选择待发布的电子地图数据,作为电子地图的图层,并选择所述图层的属性字段,形成图层信息;

根据所选图层的矢量数据和栅格数据计算标准地图服务的四至范围和中心点;

根据标准地图服务规范,将所述基础信息、图层信息、四至范围、中心点组织成所述电子地图元数据;

所述基于所述电子地图元数据,批量生成电子地图瓦片,包括:获取所述电子地图元数据,计算每个级别下行列号,根据行列号循环每个级别下的各个电子地图瓦片,根据所述电子地图瓦片的行列号信息计算出当前电子地图瓦片对应的空间范围;

将所述电子地图瓦片对应的空间范围与全部图层进行空间相交,筛选出包含的地图图层;

循环每个筛选出的地图图层,将所述电子地图瓦片对应的空间范围与地图图层数据进行空间裁切,得到多个图层的空间数据及其属性信息;

将所述多个图层的空间数据及其属性信息按预设的切片格式进行组织,形成电子地图瓦片。

2.根据权利要求1所述的方法,其特征在于,所述将电子地图数据导入地图包,包括:将加密后的所述电子地图元数据导入地图包;以及

生成地图包的校验信息,并通过国密算法加密后导入地图包;以及将加密后的渲染样式文件以及配图所需资源导入地图包;以及将加密后的电子地图瓦片以及索引信息按照预设的规则组织成紧凑型切片包文件,导入地图包。

3.根据权利要求2所述的方法,其特征在于,还包括:对所述地图数据包进行校验,获取所述地图数据包的文件信息,生成配图资源请求和电子地图瓦片请求;

根据所述配图资源请求对应获取配图资源信息,并关联到所述渲染样式;

根据所述电子地图瓦片请求对应获取电子地图瓦片的索引信息,根据所述电子地图瓦片的索引信息获取对应的电子地图瓦片数据;

根据所述渲染样式和配图资源信息对电子地图瓦片进行渲染。

4.根据权利要求3所述的方法,其特征在于,所述根据所述电子地图瓦片的索引信息获取对应的电子地图瓦片数据,包括:判断所述电子地图瓦片的索引信息对应的电子地图瓦片数据是否存在,若存在,则获取所述电子地图瓦片数据在所述紧凑型切片包中的存储位置,根据所述存储位置从所述紧凑型切片包中读取对应的电子地图瓦片数据。

5.一种地图数据包全流程自适应生成与加密装置,其特征在于,包括:瓦片生成加密模块,用于获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,并基于所述电子地图元数据,批量生成电子地图瓦片,对所述电子地图元数据和电子地图瓦片进行加密处理;

地图渲染样式加密模块,用于获取电子地图的配图规则以及配图所需资源,根据所述电子地图的配图规则以及配图所需资源,通过电子地图元数据获取图层进行渲染,生成渲染样式文件;对所述渲染样式文件进行加密处理;所述渲染样式文件包括渲染样式以及缩略图;

地图数据包生成模块,用于基于预设的组织架构创建地图包的层级结构,将电子地图数据导入地图包,并进行压缩和加密处理,生成地图数据包;

所述创建电子地图服务,生成电子地图元数据,包括:创建电子地图服务,配置基础信息;

选择待发布的电子地图数据,作为电子地图的图层,并选择所述图层的属性字段,形成图层信息;

根据所选图层的矢量数据和栅格数据计算标准地图服务的四至范围和中心点;

根据标准地图服务规范,将所述基础信息、图层信息、四至范围、中心点组织成所述电子地图元数据;

所述基于所述电子地图元数据,批量生成电子地图瓦片,包括:获取所述电子地图元数据,计算每个级别下行列号,根据行列号循环每个级别下的各个电子地图瓦片,根据所述电子地图瓦片的行列号信息计算出当前电子地图瓦片对应的空间范围;

将所述电子地图瓦片对应的空间范围与全部图层进行空间相交,筛选出包含的地图图层;

循环每个筛选出的地图图层,将所述电子地图瓦片对应的空间范围与地图图层数据进行空间裁切,得到多个图层的空间数据及其属性信息;

将所述多个图层的空间数据及其属性信息按预设的切片格式进行组织,形成电子地图瓦片。

6.一种电子设备,包括至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其特征在于,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑4中任一项所述的方法。

7.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1‑4中任一项所述的方法。

说明书 :

地图数据包全流程自适应生成与加密方法、装置和设备

技术领域

[0001] 本发明一般涉及领域,并且更具体地,涉及地图数据包全流程自适应生成与加密方法、装置和设备。

背景技术

[0002] 涉密内网环境下,当电子地图数据需要分发应用时,存在涉密安全和应用不方便的情况:原始数据精度高不允许对外提供、数据量大,加载读取渲染困难卡顿、数据传输过
程中安全性无法保障、数据应用无法有效控制(限制使用范围、使用时间、使用的环境、使用
的人),数据及程序运行环境的安全保障不足。

发明内容

[0003] 根据本发明的实施例,提供了一种地图数据包全流程自适应生成与加密方案。本方案通过离线地图包实现涉密内网环境下电子地图成果的分发,并对离线地图包进行深度
加密,并进行渲染,实现加密后数据的安全校验和解析渲染,实现对数据及应用的整体安全
保障。
[0004] 在本发明的第一方面,提供了一种地图数据包全流程自适应生成与加密方法。该方法包括:
[0005] 获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,并基于所述电子地图元数据,批量生成电子地图瓦片,对所述电子地图元数据和电子地图瓦片进行加密
处理;
[0006] 获取电子地图的配图规则以及配图所需资源,根据所述电子地图的配图规则以及配图所需资源,通过电子地图元数据获取图层进行渲染,生成渲染样式文件;对所述渲染样
式文件进行加密处理;所述渲染样式文件包括渲染样式以及缩略图;
[0007] 基于预设的组织架构创建地图包的层级结构,将电子地图数据导入地图包,并进行压缩和加密处理,生成地图数据包。
[0008] 进一步地,所述创建电子地图服务,生成电子地图元数据,包括:
[0009] 创建电子地图服务,配置基础信息;
[0010] 选择待发布的电子地图数据,作为电子地图的图层,并选择所述图层的属性字段,形成图层信息;
[0011] 根据所选图层的矢量数据和栅格数据计算标准地图服务的四至范围和中心点;
[0012] 根据标准地图服务规范,将所述基础信息、图层信息、四至范围、中心点组织成所述电子地图元数据。
[0013] 进一步地,所述基于所述电子地图元数据,批量生成电子地图瓦片,包括:
[0014] 获取所述电子地图元数据,计算每个级别下行列号,根据行列号循环每个级别下的各个电子地图瓦片,根据所述电子地图瓦片的行列号信息计算出当前电子地图瓦片对应
的空间范围;
[0015] 将所述电子地图瓦片对应的空间范围与全部图层进行空间相交,筛选出包含的地图图层;
[0016] 循环每个筛选出的地图图层,将所述电子地图瓦片对应的空间范围与地图图层数据进行空间裁切,得到多个图层的空间数据及其属性信息;
[0017] 将所述多个图层的空间数据及其属性信息按预设的切片格式进行组织,形成电子地图瓦片。
[0018] 进一步地,所述将电子地图数据导入地图包,包括:
[0019] 将加密后的所述电子地图元数据导入地图包;以及
[0020] 生成地图包的校验信息,并通过国密算法加密后导入地图包;以及
[0021] 将加密后的渲染样式文件以及配图所需资源导入地图包;以及
[0022] 将加密后的电子地图瓦片以及索引信息按照预设的规则组织成紧凑型切片包文件,导入地图包。
[0023] 进一步地,还包括:
[0024] 对所述地图数据包进行校验,获取所述地图数据包的文件信息,生成配图资源请求和电子地图瓦片请求;
[0025] 根据所述配图资源请求对应获取配图资源信息,并关联到所述渲染样式;
[0026] 根据所述电子地图瓦片请求对应获取电子地图瓦片的索引信息,根据所述电子地图瓦片的索引信息获取对应的电子地图瓦片数据;
[0027] 根据所述渲染样式和配图资源信息对电子地图瓦片进行渲染。
[0028] 进一步地,所述根据所述电子地图瓦片的索引信息获取对应的电子地图瓦片数据,包括:
[0029] 判断所述电子地图瓦片的索引信息对应的电子地图瓦片数据是否存在,若存在,则获取所述电子地图瓦片数据在所述紧凑型切片包中的存储位置,根据所述存储位置从所
述紧凑型切片包中读取对应的电子地图瓦片数据。
[0030] 在本发明的第二方面,提供了一种地图数据包全流程自适应生成与加密装置。该装置包括:
[0031] 瓦片生成加密模块,用于获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,并基于所述电子地图元数据,批量生成电子地图瓦片,对所述电子地图元数据和
电子地图瓦片进行加密处理;
[0032] 地图渲染样式加密模块,用于获取电子地图的配图规则以及配图所需资源,根据所述电子地图的配图规则以及配图所需资源,通过电子地图元数据获取图层进行渲染,生
成渲染样式文件;对所述渲染样式文件进行加密处理;所述渲染样式文件包括渲染样式以
及缩略图;
[0033] 地图数据包生成模块,用于基于预设的组织架构创建地图包的层级结构,将电子地图数据导入地图包,并进行压缩和加密处理,生成地图数据包。
[0034] 在本发明的第三方面,提供了一种电子设备。该电子设备至少一个处理器;以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行
的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明
第一方面的方法。
[0035] 在本发明的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本发明第一方面的方法。
[0036] 应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理
解。

附图说明

[0037] 结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
[0038] 图1示出了根据本发明的实施例的地图数据包全流程自适应生成与加密方法的流程图;
[0039] 图2示出了根据本发明的实施例的生成电子地图元数据的流程图;
[0040] 图3示出了根据本发明的实施例的批量生成电子地图瓦片的流程图;
[0041] 图4示出了根据本发明的实施例的对电子地图瓦片进行渲染的流程图;
[0042] 图5示出了根据本发明的实施例的地图数据包全流程自适应生成与加密装置的方框图;
[0043] 图6示出了能够实施本发明的实施例的示例性电子设备的方框图;
[0044] 其中,600为电子设备、601为CPU、602为ROM、603为RAM、604为总线、605为I/O接口、606为输入单元、607为输出单元、608为存储单元、609为通信单元。

具体实施方式

[0045] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
[0046] 另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另
外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0047] 本发明中,通过离线地图包实现涉密内网环境下电子地图成果的分发,并对离线地图包进行深度加密,并定制化开发电子地图加载渲染的客户端,实现加密后数据的安全
校验和解析渲染,实现对数据及应用的整体安全保障。
[0048] 图1示出了本发明实施例的地图数据包全流程自适应生成与加密方法的流程图。
[0049] 该方法包括:
[0050] S101、获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,并基于所述电子地图元数据,批量生成电子地图瓦片,对所述电子地图元数据和电子地图瓦片进
行加密处理。
[0051] 作为本发明的一种实施例,如图2所示,所述获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,包括:
[0052] S201、创建电子地图服务,配置基础信息。
[0053] 在本实施例中,所述基础信息包括:
[0054] 1)地图服务类型(规范),如:WMTS地图服务、矢量切片地图服务等。
[0055] 2)地图服务版本:规范的具体版本号。
[0056] 3)名称:服务的名字。
[0057] 4)级别:地图可以缩放的层级(地图放大/缩小一次,即改变了一次层级),如1至20级。
[0058] 5)描述信息:详细描述。
[0059] 6)权属信息:所属人。
[0060] 7)坐标系:地图服务的坐标系,常见的如WGS1984,CGCS2000,Web墨卡托等。必须指定一种,以此作为地图展示的坐标基准,如果某一图层数据不是这个坐标系的,需要重投影
变换到这个坐标系。
[0061] 8)地图瓦片格式:电子地图瓦片的存储格式。
[0062] 9)地图瓦片服务地址:获取地图瓦片的URL地址。
[0063] 10)瓦片矩阵集信息:指定瓦片的宽度、高度、分辨率、以及每个级别的比例尺、分辨率的信息。所述瓦片矩阵集信息是生成瓦片的主要依据。
[0064] S202、选择待发布的电子地图数据,作为电子地图的图层,并选择所述图层的属性字段,形成图层信息。
[0065] 在本实施例中,所述图层信息为每个图层的图层名称、图层描述、图层显示级别、图层类型以及所选属性字段;其中,图层类型例如点、线、面;所选属性字段,例如高速公路
图层的属性字段有高速名称、总长度、道路宽度、建成年份、服务区数量等。
[0066] S203、根据所选图层的矢量数据和栅格数据计算标准地图服务的四至范围和中心点。
[0067] 在本实施例中,计算标准地图服务的四至范围,具体包括:
[0068] 获取图层的经纬度坐标范围,取最大最小经度/纬度,作为标准地图服务整体的四至范围。
[0069] 在本实施例中,标准地图服务的中心点的位置参考地图中心点位置的经度、纬度以及中间级别(级别是指地图可以缩放的层级如1‑20级)。
[0070] S204、根据标准地图服务规范,将所述基础信息、图层信息、四至范围、中心点组织成所述电子地图元数据。
[0071] 所述电子地图元数据,又叫切片矩阵集,是电子地图发布时的核心属性信息,包含电子地图的基础信息、发布的标准服务规则;电子地图的基础信息即描述性信息,如电子地
图名称,空间范围,坐标系,级别,制作人/时间等;发布的标准服务规则例如地图服务的坐
标系、切片矩阵集(每个级别的比例尺分辨率等)。
[0072] 在本实施例中,将所述基础信息、图层信息、四至范围、中心点组织成组织成Json格式的电子地图元数据。
[0073] 作为本发明的一种实施例,如图3所示,所述基于所述电子地图元数据,批量生成电子地图瓦片,包括:
[0074] S301、获取所述电子地图元数据,计算每个级别下行列号,根据行列号循环每个级别下的各个电子地图瓦片,根据所述电子地图瓦片的行列号信息计算出当前电子地图瓦片
对应的空间范围。
[0075] 具体包括:
[0076] S301‑1、获取元数据中的四至范围、最大最小级别和每个级别的分辨率信息。
[0077] 在本实施例中,经纬度四至范围为:经度最小:116.43889017883126;
[0078] 纬度最小:40.09515966667534;经度最大:116.47920214786761;纬度最大:40.138816244354764;最小至最大级别为0级至20级。每个级别(0级至20级)的瓦片分辨率
数值为:0级: 78271.51696402048;1级: 39135.75848201024;2级: 19567.87924100512;3
级: 9783.93962050256……
[0079] 瓦片分辨率的含义为1个像素代表的实际范围,举例来说在地图为0级时,1个像素的范围,即代表78271.5…米乘以78271.5…米的矩形范围,即0级的时候一张瓦片上的一个
像素就代表了6126.43平方公里的巨大范围,而3级的时候一张瓦片上的一个像素仅代表
95.72平方公里的范围。每个级别的瓦片分辨率数值是预先指定好的规则,目的是将全球范
围,划分固定的瓦片数量。若规定每个瓦片大小为512 X 512 像素,且在1级的时候,刚好有
2行2列的瓦片就能包含全球范围,则可计算得到像素分辨率:
[0080] 分辨率 = 瓦片代表的实际距离 ÷瓦片像素大小
[0081] 1级时:分辨率  =  20037508.3427892  ÷  512  ,即  1级时,分辨率为: 39135.75848201024;若要在2级的时候,刚好有4行4列的瓦片,就能包含全球范围,即2级
时,分辨率=10018754.1713946÷512=19567.87924100512。
[0082] S301‑2、将经纬度四至范围,重投影到当前坐标系下。
[0083] 由S301‑1可知电子地图的经纬度四至范围,但是服务采用Web墨卡托坐标系(以米为单位),需要将经纬度四至坐标转换到 Web墨卡托投影坐标。坐标转换方式为GIS常用算
法。将S301‑1中的经纬度四至范围,作为入参(lat纬度,lon经度),计算投影后的四至范围
为:X最小:12961917.97;Y最小:4879780.28;X最大:12966405.47;Y最大:4886135.23。
[0084] S301‑3、循环每个级别,计算每个级别下的最大最小行列号。
[0085] 瓦片行列号换算的公式如下:
[0086] 定义:地图切图的原点是(x0,y0),地图的瓦片大小是tileSize,地图屏幕上1像素代表的实际距离是resolution。计算坐标点(x,y)所在的瓦片行列号(col列;row行):
[0087] col = floor((x ‑x0 )/( tileSize*resolution))
[0088] row = floor((y0 ‑ y)/( tileSize*resolution))
[0089] 注:floor函数,向下取整,将数字向下舍入到最接近的整数。
[0090] 公式说明 ①地图切图的原点(x0,y0)
[0091] 地图切图以左上角为原点,在Web墨卡托坐标系下,原点x0为X最小:‑20037508.3427892米,原点y0为Y最大:20037508.3427892米;
[0092] ②地图的瓦片大小tileSize
[0093] 本例中,瓦片大小为512 X512 像素,即tileSize为512;
[0094] ③分辨率resolution
[0095] 每个级别(0级至24级)的瓦片分辨率数值由步骤S301‑1可知。
[0096] ④坐标点(x,y)
[0097] 由S301‑2可知电子地图投影后的四至范围,将最小x和最大y,以及最大x,最小y分别代入,作为坐标点,可得最小行列号和最大行列号。
[0098] S301‑4、根据每个瓦片的级别和行列号,计算出每个瓦片的空间范围。
[0099] 根据S301‑3,可推算出,每个级别下,一共的瓦片行列数以及每个瓦片的行列号信息。接下来,要就计算每个瓦片对应的空间范围,用于后续的图层相交和裁切等。计算公式
如下:
[0100] 定义:resolution 地图屏幕上1像素代表的实际距离;earthRad地球半径,常量,值为6378137;Math.PI 圆周率,派;tileSize 瓦片像素大小(本例中为512);col瓦片列号;
row瓦片行号;xmin,ymin,xmax,ymax为计算结果,即该瓦片的在四至范围(Web墨卡托坐标下,单位为米)
[0101] xmin = col * tileSize * resolution ‑ (Math.PI * earthRad);
[0102] ymin = (Math.PI * earthRad) ‑ (row+1) * tileSize * resolution;
[0103] xmax = (col+1) * tileSize * resolution ‑ (Math.PI * earthRad);
[0104] ymax = (Math.PI * earthRad) ‑ row * tileSize * resolution;
[0105] 地图切片是基于切片矩阵集规范,按照级别、行号、列号、确定的空间范围,对地图数据进行裁切变换生成的切片数据,且具有级别、行号、列号的信息特征。
[0106] 级别指地图可以显示的层级(地图放大/缩小一次,即改变了一次层级),如1至20级,每个级别的比例尺都不相同,例如1级可以看全球的地图,12级可以看区县级的数据,18
级可以看社区级的地图等等。
[0107] S302、将所述电子地图瓦片对应的空间范围与全部图层进行空间相交,筛选出包含的地图图层。
[0108] 具体地,瓦片与图层相交计算的过程,包括:
[0109] S302‑1、获取每个图层,并读取和计算出四至范围。由元数据信息可知,电子地图使用的所有图层,读取出每个图层的四至范围,若图层的坐标系(经纬度)不等于电子地图
服务的坐标系(Web墨卡托),则需要进行坐标变换。坐标变换过程同S301‑2。
[0110] S302‑2、根据瓦片的级别、行号、列号信息,计算对应的空间范围。由S301‑3即可得每个级别下的最大最小行列号。
[0111] S302‑3、循环每个级别,并循环最大最小行列号区间,遍历可得到每张瓦片的信息(级别、行号、列号)。
[0112] 循环每个瓦片,由S301‑4即可根据瓦片信息计算出空间范围。循环每个瓦片,判断瓦片的空间范围和每个图层的空间范围是否相交,筛选出相交的图层。
[0113] 瓦片四至范围是矩形,图层的四至范围亦是矩形,判断两个矩形是否相交,通过简单的拓扑计算即可(两个矩形相交的条件:两个矩形的重心距离在X和Y轴上都小于两个矩
形长或宽的一半之和)。从而筛选出与该瓦片空间相交的若干个图层,等待进入下一步的裁
切过程。
[0114] S303、循环每个筛选出的地图图层,将所述电子地图瓦片对应的空间范围与地图图层数据进行空间裁切,得到多个图层的空间数据及其属性信息。
[0115] S303‑1、根据瓦片的空间范围,对筛选出的相交图层进行裁切,获取裁切后的空间数据。
[0116] 按照当前某瓦片的空间范围,对筛选出的若干个图层的空间数据(点线面)分别进行裁切,获取在瓦片的矩形范围内部的数据。
[0117] 裁切方式为GIS通用的拓扑计算方法。若为点图层,提取出在瓦片矩形范围内的点;若为线图层,按瓦片矩形范围裁切,提取出范围内的线段(超出的线段在边界处裁掉);
若为面图层,按瓦片矩形范围裁切,提取出范围内的面(超出的面在边界处裁掉)。将若干个
图层分别裁切后,提取出若干个图层的空间数据,备用。
[0118] S303‑2、获取裁切后的空间数据(点、线、面)的属性信息。
[0119] 首先,根据元数据信息,获取电子地图使用的图层的属性字段名称及其类型。例如第一个公园的面图层“GongYuan_Mian”的属性字段,包括MingCheng(字符串类型)、DiZhi
(字符串类型)、YingYeShiJian(字符串类型)、DianHua(整数类型)、GaiKuang(字符串类
型)。
[0120] 其次,根据裁切后若干图层的空间数据,按照该图层所需的属性字段名称及其类型,从图层中,提取出所需的属性信息,形成表格。例如第一个图层“GongYuan_Mian”为面图
层(假设一共100个面),按步骤三裁切后,包含了3个面。按照给定的属性字段MingCheng、
DiZhi、YingYeShiJian、DianHua、GaiKuang,从图层“GongYuan_Mian”中,查询这3个面的对
应的属性值,形成了属性表(5列,3行)。
[0121] S304、将所述多个图层的空间数据及其属性信息按预设的切片格式进行组织,形成电子地图瓦片。
[0122] 在本实施例中,将某个瓦片裁切后的空间数据和属性数据,按照标准规范形成切片的过程,包括:
[0123] 切片包含了空间信息和属性信息,切片格式采用的是标准规范:由MapBox提出的MapBoxVectorTile规范,简称mvt。mvt切片格式的生成过程就是通过一系列的指令(也可以
理解成函数)将数据编码并且记录,比如一个点(116.30,39.92)在mvt编码的文件中就会执
行moveTo(116.30,39.92)编码就是把数据通过函数转换为二进制代码,在浏览器解析文件
的时候又会有解析指令来解析这些二进制代码。因此被编码后生成的文件的后缀名是.mvt
这是一个二进制代码文件。每一个切片都是一个mvt文件,前端请求电子地图的矢量切片服
务也是加载这一个一个的mvt文件,mvt相比于geojson和topjson易读性较差,私密性较高,
加载速率快。mvt切片生成的过程概括如下:
[0124] 1)图层信息编码:将该瓦片裁切后的若干图层信息,经编码转换为mvt规范。图层信息包括版本、名称等。
[0125] 2)要素(裁切后的单个点、线、面)信息编码:将上述图层包含的多个要素分别都转成mvt规范的几何图形编码。
[0126] 3)要素属性信息:将上述多个要素的属性表信息也转成mvt规范的属性信息编码。
[0127] 4)数据序列化:循环1)至3),将裁切后的全部图层都编码完成后,采用Google Protocol Buffers进行序列化,生成二进制代码文件。
[0128] 进一步地,对所述电子地图元数据和电子地图瓦片进行加密处理。其中,加密处理使用国密算法中的SM4算法。所述SM4算法是一种分组密码算法。其分组长度为128bit,密钥
长度也为128bit。加密算法与密钥扩展算法均采用32轮非线性迭代结构,以字(32位)为单
位进行加密运算,每一次迭代运算均为一轮变换函数F。SM4算法加/解密算法的结构相同,
只是使用轮密钥相反,其中解密轮密钥是加密轮密钥的逆序。
[0129] S102、获取电子地图的配图规则以及配图所需资源,根据所述电子地图的配图规则以及配图所需资源,通过电子地图元数据获取图层进行渲染,生成渲染样式文件;对所述
渲染样式文件进行加密处理。
[0130] 具体地,所述电子地图的配图规则采用 MapBox标准的配图规范。配图规则是一个JSON文档,它定义了地图的视觉外观:绘制什么数据、绘制顺序以及绘制数据时如何设置数
据样式。样式文档是具有特定根级别和嵌套属性的JSON对象。Mapbox 样式由一组根属性组
成,其中一些描述单个全局属性,其中一些包含嵌套属性。一些根属性,如version、name和
metadata,对地图的外观或行为没有任何影响,但提供与地图相关的重要描述信息。其他,
如layers和sources,它们决定了哪些地图要素将出现在地图上以及它们的外观。一些属
性,如center、zoom、pitch和bearing,为地图渲染器提供了一组默认值,以便在最初显示地
图时使用。
[0131] 具体地,所述配图所需资源包括:符号(图标)(sprite)和字体(glyphs),也是基于Mapbox的配图规范。
[0132] 其中,字体(glyphs)和符号(图标)的规范说明:
[0133] 字体:用于配置地图上的文字采用何种字体样式展示,如微软雅黑字体,宋体等。 MapBox规范中将字体数据转成.pbf的分片格式组织。上述配图规则json中通过glyphs属性
提供了一个 URL 模板,用于以 PBF 格式加载字体。
[0134] 图标(符号)库:sprite文件主要是将一堆小图生成一种大图的方法,并且将每张小图的位置信息保存下来,方便读取。在网络请求中会减少请求的数量,MapBox规范借鉴前
端中CSS Sprite方法存储图标信息。sprite.png文件保存图标,sprite.json保存名称及位
置信息。上述配图规则json中通过sprite属性以 URL 模板作为其值的属性。
[0135] 所述渲染样式文件包括渲染样式以及缩略图,其中,渲染样式为:配图规则的Json样式文档,并通过“glyphs”和“sprite”两个属性,分别关联了使用的字体和图标的URL地
址。通过URL地址,即可获取配图资源。当使用到该字体 或图标的时候,就会调用配图资源
进行渲染。
[0136] 所述缩略图为根据最终地图配图规则,对电子地图中的图层进行渲染可视化后的地图,在缩放至全图范围下(如北京市电子地图,配图渲染后,缩放至北京市全图范围),生
成一个限定了宽或高不超过300像素的图片。
[0137] 进一步地,对所述渲染样式文件进行加密处理,使用国密算法中的SM4算法。
[0138] S103、基于预设的组织架构创建地图包的层级结构,将电子地图数据导入地图包,并进行压缩和加密处理,生成地图数据包。
[0139] 在一些实施例中,可以预设地图包的组织架构。所述地图包基于文件夹结构组织,存放电子地图所需的全部内容,并将文件夹进行整体压缩,生成.map格式(类似.zip压缩
包)。支持将多个电子地图,存储在一个离线地图包中。
[0140] 地图包文件组织架构如下表1所示:
[0141] 一级文件夹 二级文件夹 三级文件夹 存放内容Metadata(元数据) info 无 加密后地图元数据(切片矩阵集)
AAA.md、BBB.md
verify 无 校验信息 Map.lic
Tiles (紧凑型地图 根据电子地图的名称命名多个文件 根据电子地图的名称命名多个文件 切片索引+紧凑型切片包文件 瓦片包) 夹如AAA、BBB 夹如AAA、BBB AAA.tiles、BBB.tiles
Styles (配图样式) info 无 加密后样式文件 AAA.style、BBB.style
thumbnail 无 加密后渲染样式缩略图 AAA.thn、
BBB.thn
Resources(配图资 fonts 根据字体名称命名多个文件夹 字体文件
源)
sprites 根据电子地图的名称命名多个文件 图标符号文件
夹如AAA、BBB
[0142] 表1
[0143] 在上述实施例中,地图包的层级结构创建如下:
[0144] 地图元数据的存储,每个地图包中包含两个电子地图AAA和BBB;地图包的校验文件的存储,每个地图包只有一个校验文件。
[0145] 地图瓦片存储组织包含两个电子地图AAA,BBB,且分开存放;通过文件夹进行级别分类,例如编号为0‑15的文件夹表示不同级别;级别文件夹内部存放紧凑型瓦片包数据(瓦
片索引+瓦片文件),命名方式为R行号C列号.tiles。其中,R后面的数字表示起始的行号,C
后面的数字表示起始的列号,要注意的是行号列号是16进制表示的。表示从起始行列号
(含)开始往下推移128行,128列的瓦片,都放在相同的紧凑型瓦片包里。这样分割的目的是
不至于 紧凑型包的数量和占用的空间过于庞大。
[0146] 渲染样式文件和缩略图文件的存储均包含两个电子地图AAA和BBB的样式。
[0147] 资源文件‑‑字体的存储包含多个字体资源,如微软雅黑;资源文件‑‑图标符号的存储包含两个电子地图AAA,BBB,分开存放;例如,通过sprite.png文件存放多个图标合并
后的图片,sprite.json文本中存放每个图标的名称、像素位置(x,y),像素宽度高度
(width、height)。
[0148] 作为本发明的一种实施例,所述将电子地图数据导入地图包,包括:
[0149] 将加密后的所述电子地图元数据导入地图包;以及
[0150] 生成地图包的校验信息,并通过国密算法加密后导入地图包;以及
[0151] 将加密后的渲染样式文件以及配图所需资源导入地图包;以及
[0152] 将加密后的电子地图瓦片以及索引信息按照预设的规则组织成紧凑型切片包文件,导入地图包。
[0153] 在上述实施例中,可以将加密后的所述电子地图元数据照预设规范进行组织,导入地图包,预设规范是指地图包的组织方式,地图包本质是一个压缩包,其内部的文件夹和
文件是有规范的进行组织的,即所述预设规范。
[0154] 在本实施例中,地图包的校验信息为地图包标识;通过国密算法加密后导入地图包即将加密后的元数据(.md)进行哈希加密后,形成的唯一标识信息。目的在于防止地图包
被篡改。
[0155] 在本实施例中,通过切片索引记录瓦片的索引信息(级别、行号、列号)建立索引机制,便于快速的检索查询与数据加载。
[0156] 索引信息主要包括:
[0157] 每个级别的最大最小行列号、该级别的瓦片数量、行数、列数等。
[0158] 每张切片的文件流索引:文件流开始位置、文件流长度。
[0159] 紧凑型瓦片包的索引组织:在紧凑包的头文件(文件字节流的开头)为每个瓦片开辟固定的12个字节来存储索引,其中8个字节(长整型)用来存储某个瓦片在紧凑型切片包
的起始字节位置,4个字节(整型)用来存储某个瓦片的本身的大小(字节长度)。因此头文件
中一共会开辟固定的字节长度(16384张瓦片乘以12字节)来存储所有瓦片的索引。而且每
个瓦片的索引是从小到大,先逐行后逐列连续排列的,根据瓦片的行列号就能推算索引存
放的位置(字节)。
[0160] 定义:R0为该紧凑包的起始行(最小行号);C0为该紧凑包的起始列(最小列号);TileR为某一瓦片的行号;TileC为某一瓦片的列号;TileIndex为结果,某一瓦片的索引存
储的起始位置。公式:
[0161] TileIndex = ((TileR - R0)* 128 +(TileC -C0))* 12
[0162] 即,某一瓦片的索引存储的起始位置=((瓦片行 - 起始行)*128 +(瓦片列 -起始列))* 12,进而可以存入和读取瓦片的索引内容。
[0163] 例如:某一瓦片(级别15,行号为12300,列号为27010),将存储在
[0164] R3000C6980.tiles紧凑包内,该紧凑包内可存储的是 12288 12415行 27008~ ~
27135列 的瓦片。想要获取该瓦片的索引信息存储的位置,则代入公示可得:
[0165] 该索引开始位置(字节) = ((12300‑12288)*128+(27010‑27008))*12 =18456 即从18456字节开始,可知该瓦片的索引;先读取8个字节转成长整型,可知该瓦片内容在紧凑
型切片包的起始字节位置,再读取4个字节,转成整型,可知该瓦片的本身的大小(字节长
度)。
[0166] 这样,通过索引就知道了瓦片自身的存储位置和大小,然后从相应位置读取相应的字节长度,就能拿到瓦片自身的文件流了。可见,本实施例不需要存储偏移量,即可进行
索引。
[0167] 在本实施例中,组织成紧凑型切片包文件的预设规则包括:
[0168] 紧凑型瓦片包数据(瓦片索引+瓦片文件)的存储组织示例,BBB文件夹的下一级文件夹为15,表示电子地图BBB在15级下的瓦片存放。R2f80C6900.tiles命名中R后面的数字
表示起始的行号,C后面的数字表示起始的列号,要注意的是行号列号是16进制表示的。表
示从起始行列号(含)开始往下推移128行,128列的瓦片,都放在相同的紧凑型瓦片包里。这
样分割的目的是不至于紧凑型包的数量和占用的空间过于庞大。
[0169] 具体介绍如下:一个紧凑型瓦片包设计为可存储连续的128行128列瓦片(共16384张),由于行列号都是从0开始的。本质上形成了128X128的网格划分。根据电子地图服务的
最大最小行列号情况,可推算出某行某列的瓦片,应该存储于哪一个紧凑型瓦片内。例如:
R2f80C6900.tiles紧凑包内存储的是12160 12287行26880 27007列的瓦片(16进制转回10
~ ~
进制)而R3000C6980.tiles紧凑包内存储的是12288 12415行27008 27135列的瓦片。
~ ~
[0170] 在本发明的实施例中,紧凑型瓦片为一个文件,即头文件是索引,后面是瓦片,且对紧凑型瓦片进行加密。按从小到大,先逐列后逐行连续排列的顺序获取每个加密的瓦片
后,即可读取其字节长度,从头文件之后(16384张瓦片乘以12字节),开辟读取瓦片的字节
长度(每个瓦片长度不等)按顺序存入该瓦片的字节内容。存入后,即可知瓦片存入时的起
始位置和长度。然后起始位置和长度,就构成了索引信息,存入头文件的索引信息中。
[0171] 作为本发明的一种实施例,如图4所示,所述地图数据包全流程自适应生成与加密方法还包括:
[0172] S401、对所述地图数据包进行校验,获取所述地图数据包的文件信息,生成配图资源请求和电子地图瓦片请求。
[0173] 具体地,对所述地图数据包进行校验,包括:
[0174] 读取metadata/verify路径下的Map.lic校验文件并解密,依次校验以下内容:
[0175] ①校验地图包标识:获取地图包标识;获取metadata/info路径下的加密后的元数据(.md)并进行哈希加密后,与地图包标识比对数据一致。
[0176] ②校验使用平台:校验当前客户端类型和版本与地图包要求是否一致。
[0177] ③使用时间:校验地图包可用时间与系统时间,判断是否过期。
[0178] ④数据使用单位:校验地图包数据单位和客户端单位是否一致。
[0179] ⑤联网报警:互联网连通性测试,警告信息组织与发送。
[0180] S402、根据所述配图资源请求对应获取配图资源信息,并关联到所述渲染样式。
[0181] 具体地,配图规则(渲染样式)的Json中,通过 “glyphs”和“sprite”两个属性,分别关联了使用的字体和图标的URL地址。通过URL地址,即可获取配图资源。当使用到该字体
或图标的时候,就会调用配图资源进行渲染。例如,图层中“地铁站”,在配图中使用了“微软
雅黑”字体,来标注地铁站名称,且使用了北京市的地铁标志符号,设置了配图规则;当点图
层“地铁站”需要显示时,基于MapBox配图规范,会调用对应的字体资源和符号资源,实现图
层的正确渲染。
[0182] S403、根据所述电子地图瓦片请求对应获取电子地图瓦片的索引信息,根据所述电子地图瓦片的索引信息获取对应的电子地图瓦片数据。
[0183] 具体地,判断所述电子地图瓦片的索引信息对应的电子地图瓦片数据是否存在,若存在,则获取所述电子地图瓦片数据在所述紧凑型切片包中的存储位置,根据所述存储
位置从所述紧凑型切片包中读取对应的电子地图瓦片数据。
[0184] 所述紧凑型切片包按级别划分多个文件夹,每个级别下,将所属地图瓦片按照既定的方式聚合到一起,形成了一个目标文件,该目标文件就是紧凑型切片包,同时限定每个
切片包最多存储连续的128 X 128 张瓦片,超出部分继续创建新的紧凑型切片包。直到将
该级别下的瓦片全部存储。每张瓦片在存储时,记录文件流中的起始位置和长度,形成索
引,保存在切片索引文件中。通过索引,才可获取准确的瓦片数据。
[0185] S404、根据所述渲染样式和配图资源信息对电子地图瓦片进行渲染。
[0186] 根据本发明的实施例,通过离线地图包实现涉密内网环境下电子地图成果的分发,并对离线地图包进行深度加密,并进行渲染,实现加密后数据的安全校验和解析渲染,
实现对数据及应用的整体安全保障。
[0187] 作为本发明的一种实施例,在生成地图数据包后,所述方法还包括:对所述地图数据包进行安全校验和解析渲染。具体包括:
[0188] 获取加密后的地图数据包,通过密码解密后,读取文件,比对地图数据包校验信息,验证授权可用性;
[0189] 若通过校验,则获取并解密元数据、渲染样式、缩略图等文件,并展示地图包基本信息;
[0190] 基于元数据、渲染样式信息等组织标准地图服务请求(请求配图资源信息及地图瓦片信息);
[0191] 按规范组织配图资源信息,关联到渲染样式中,用于后续渲染;
[0192] 根据地图瓦片请求,通过地图数据包中的索引信息,判断瓦片是否存在,以及存储位置,若存在,根据存储位置,从紧凑型切片包中读取瓦片数据;
[0193] 将瓦片数据解密后,根据之前获取的渲染样式和资源文件,对地图瓦片进行渲染,实现电子地图的浏览。
[0194] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为
依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知
悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明
所必须的。
[0195] 以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
[0196] 如图5所示,装置500包括:
[0197] 瓦片生成加密模块510,用于获取电子地图原始数据,创建电子地图服务,生成电子地图元数据,并基于所述电子地图元数据,批量生成电子地图瓦片,对所述电子地图元数
据和电子地图瓦片进行加密处理;
[0198] 地图渲染样式加密模块520,用于获取电子地图的配图规则以及配图所需资源,根据所述电子地图的配图规则以及配图所需资源,通过电子地图元数据获取图层进行渲染,
生成渲染样式文件;对所述渲染样式文件进行加密处理;所述渲染样式文件包括渲染样式
以及缩略图;
[0199] 地图数据包生成模块530,用于基于预设的组织架构创建地图包的层级结构,将电子地图数据导入地图包,并进行压缩和加密处理,生成地图数据包。
[0200] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0201] 本发明的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0202] 根据本发明的实施例,本发明还提供了一种电子设备。
[0203] 图6示出了可以用来实施本发明的实施例的电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助
理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形
式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装
置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制
本文中描述的和/或者要求的本发明的实现。
[0204] 设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当
的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、
ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0205] 设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通
信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如
因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0206] 计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工
智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及
任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,
例如方法S101 S103。例如,在一些实施例中,方法S101 S103可被实现为计算机软件程序,
~ ~
其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分
或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机
程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的方法S101 S103的一个
~
或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,
借助于固件)而被配置为执行方法S101 S103。
~
[0207] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算
机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器
可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出
装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
[0208] 用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0209] 在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0210] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视
器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的
反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0211] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算
系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界
面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网
(LAN)、广域网(WAN)和互联网。
[0212] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的
服务器,或者是结合了区块链的服务器。
[0213] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只
要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0214] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明
的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。