著录项信息
专利名称 | 一种地图瓦片生成方法及装置 |
申请号 | CN201210122785.0 | 申请日期 | 2012-04-24 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-10-30 | 公开/公告号 | CN103377222A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 北京四维图新科技股份有限公司 | 申请人地址 | 北京市朝阳区曙光西里甲5号凤凰置地广场A座写字楼17层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京四维图新科技股份有限公司 | 当前权利人 | 北京四维图新科技股份有限公司 |
发明人 | 刘忠志;刘晓苏;高成光 |
代理机构 | 北京银龙知识产权代理有限公司 | 代理人 | 许静;姜精斌 |
摘要
本发明提供了一种地图瓦片生成方法及装置,通过根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息;基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。从而在瓦片渲染前,确定无数据的空瓦片区域,并在瓦片生产过程中,避让无数据区域,仅对有数据区域生产瓦片,达到大幅缩短瓦片生产时间的功效,形成网络地图快速更新机制。
1.一种地图瓦片生成方法,其特征在于,包括:
根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;
基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;
若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。
2.如权利要求1所述的方法,其特征在于,所述标识信息由所述区域在分割后的世界空间范围中的行号和列号组成;
且所述根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息包括:
所述区域在分割后的世界空间范围中所占的行号DataBlock_X的计算公式为:
其中,Tile.X为所述瓦片左上角点距离空间数据参考基准点X轴值,Org.X为世界空间范围左上角点距离空间数据参考基准点X轴值,DataBlock_Width为所述区域的宽度;
所述区域在分割后的世界空间范围中所占的列号DataBlock_Y的计算公式为:
其中,Tile.Y为所述瓦片左上角点距离空间数据参考基准点Y轴值,Org.Y为世界空间范围左上角点距离空间数据参考基准点Y轴值,DataBlock_Height为所述区域的高度。
3.如权利要求1所述的方法,其特征在于,在根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息之前,所述方法还包括:
按预设的分割方式,将世界空间范围分割成多个区域;
对每一个分割后的区域进行标识,确定每一个分割后的区域的标识信息。
4.如权利要求1所述的方法,其特征在于,在根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息之前,所述方法还包括:
对世界空间范围中,每一个空间数据图层中的空间对象进行分割,获取分割后每一个空间数据图层中的空间数据;
若第一区域内存在分割后的空间数据,则将分割后属于第一区域的不同空间数据图层中的空间数据,存储至存储文件中与第一区域对应的存储单元中,所述存储文件中只保存存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据;
将第一区域的标识信息,设定为存储文件中,与第一区域对应的存储单元的标识信息,并确定所述与第一区域对应的存储单元的存储位置信息。
5.如权利要求4所述的方法,其特征在于,在基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据之前,所述方法还包括:
基于存储单元的标识信息、或者存储单元的标识信息和存储位置信息,建立索引库。
6.一种地图瓦片生成装置,其特征在于,包括:
第一确定模块,用于根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;
第二确定模块,用于基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;
生成模块,用于若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。
7.如权利要求6所述的装置,其特征在于,所述标识信息由所述区域在分割后的世界空间范围中的行号和列号组成;
且所述根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息包括:
所述区域在分割后的世界空间范围中所占的行号DataBlock_X的计算公式为:
其中,Tile.X为所述瓦片左上角点距离空间数据参考基准点X轴值,Org.X为世界空间范围左上角点距离空间数据参考基准点X轴值,DataBlock_Width为所述区域的宽度;
所述区域在分割后的世界空间范围中所占的列号DataBlock_Y的计算公式为:
其中,Tile.Y为所述瓦片左上角点距离空间数据参考基准点Y轴值,Org.Y为世界空间范围左上角点距离空间数据参考基准点Y轴值,DataBlock_Height为所述区域的高度。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
第一分割模块,用于按预设的分割方式,将世界空间范围分割成多个区域;
标识模块,用于对每一个分割后的区域进行标识,确定每一个分割后的区域的标识信息。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二分割模块,用于对世界空间范围中,每一个空间数据图层中的空间对象进行分割,获取分割后每一个空间数据图层中的空间数据;
存储模块,用于若第一区域内存在分割后的空间数据,则将分割后属于第一区域的不同空间数据图层中的空间数据,存储至存储文件中与第一区域对应的存储单元中,所述存储文件中只保存存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据;
确定模块,用于将第一区域的标识信息,设定为存储文件中,与第一区域对应的存储单元的标识信息,并确定所述与第一区域对应的存储单元的存储位置信息。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
建立模块,用于基于存储单元的标识信息、或者存储单元的标识信息和存储位置信息,建立索引库。
一种地图瓦片生成方法及装置\n技术领域\n[0001] 本发明涉及地图生成技术领域,具体涉及一种地图瓦片生成方法及装置。\n背景技术\n[0002] 地图瓦片技术,是将全世界范围的空间数据渲染为不同分辨率的图片,并对其进行分块,从包括全世界空间范围的数据地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(通常为256x256像素)的正方形地图瓦片。\n[0003] 通常,将全世界范围的空间数据缩放在一个瓦片范围内的比例尺级别,称之为0级,是最小分辨率级别。下一比例尺级别为第1级别,分辨率为0级的2倍,即2*2个瓦片表达全世界范围。以此类推,形成0~N级地图瓦片。目前,各网站提供的网络地图,均可提供00~\n18级地图瓦片。\n[0004] 目前现有采用的一种瓦片生成瓦片的方法,如附图1所示,是在经历了空间搜索、数据提取、渲染环境初始化、图形绘制步骤后,判断内存位图是否为瓦片默认底色的单色位图,从而判定此瓦片是否为空瓦片,如果为空瓦片则不必被保存为存储文件,将其抛弃;如果不是空瓦片,将经过数据压缩后,将压缩后的瓦片文件转储。\n[0005] 另一种通常采用的方法中,如附图2所示,在经历了空间搜索、数据提取、渲染环境初始化、图形绘制、数据压缩步骤后,判定数据流是否与空瓦片文件的内存数据流完全相同,从而判定此瓦片是否为空瓦片,如果为空瓦片时,将其抛弃,如果不是,则将瓦片文件转储。\n[0006] 现有两种瓦片生成方法,都经历了空间搜索、数据提取、渲染环境初始化、图形绘制步骤,附图2所示的方法还经历了内存地图到栅格图片格式的转化过程(图片压缩过程)。\n在一系列的环节中,需要经历多次磁盘文件读取、大量CPU运算,时间消耗较多。\n[0007] 可见现有瓦片生成方法中,空瓦片的生成占据整个瓦片生成过程中的绝大部分时间,例如,在生成覆盖中国全境的00~18级地图瓦片时,90%以上瓦片都为空瓦片,即瓦片中无任何被渲染的图形要素,仅以地图默认底色呈现。\n[0008] 由于大量无需渲染等处理的空瓦片的生成,已经成为阻碍提高瓦片生产效率的瓶颈,并制约了网络地图瓦片快速更新。因此,如何快速判断空瓦片,将其抛弃不保存为存储文件,成为网络地图快速更新的关键问题。\n发明内容\n[0009] 本发明的目的在于提供一种地图瓦片生成方法及装置,从而加快了地图更新速度。\n[0010] 本发明提供方案如下:\n[0011] 本发明实施例提供了一种地图瓦片生成方法,包括:\n[0012] 根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;\n[0013] 基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;\n[0014] 若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。\n[0015] 优选的,所述标识信息由所述区域在分割后的世界空间范围中的行号和列号组成;\n[0016] 且所述根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息包括:\n[0017] 所述区域在分割后的世界空间范围中所占的行号DataBlock_X的计算公式为:\n[0018]\n[0019] 其中,Tile.X为所述瓦片左上角点距离空间数据参考基准点X轴值,Org.X为世界空间范围左上角点距离空间数据参考基准点X轴值,DataBlock_Width为所述区域的宽度;\n[0020] 所述区域在分割后的世界空间范围中所占的列号DataBlock_Y的计算公式为:\n[0021]\n[0022] 其中,Tile.Y为所述瓦片左上角点距离空间数据参考基准点Y轴值,Org.Y为世界空间范围左上角点距离空间数据参考基准点Y轴值,DataBlock_Height为所述区域的高度。\n[0023] 优选的,在根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息之前,所述方法还包括:\n[0024] 按预设的分割方式,将世界空间范围分割成多个区域;\n[0025] 对每一个分割后的区域进行标识,确定每一个分割后的区域的标识信息。\n[0026] 优选的,在根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息之前,所述方法还包括:\n[0027] 对世界空间范围中,每一个空间数据图层中的空间对象进行分割,获取分割后每一个空间数据图层中的空间数据;\n[0028] 若第一区域内存在分割后的空间数据,则将分割后属于第一区域的不同空间数据图层中的空间数据,存储至存储文件中与第一区域对应的存储单元中,所述存储文件中只保存存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据;\n[0029] 将第一区域的标识信息,设定为存储文件中,与第一区域对应的存储单元的标识信息,并确定所述与第一区域对应的存储单元的存储位置信息。\n[0030] 优选的,在基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据之前,所述方法还包括:\n[0031] 基于存储单元的标识信息、或者存储单元的标识信息和存储位置信息,建立索引库\n[0032] 本发明实施例还提供了一种地图瓦片生成装置,包括:\n[0033] 第一确定模块,用于根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;\n[0034] 第二确定模块,用于基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;\n[0035] 生成模块,用于若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。\n[0036] 优选的,所述标识信息由所述区域在分割后的世界空间范围中的行号和列号组成;\n[0037] 且所述根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息包括:\n[0038] 所述区域在分割后的世界空间范围中所占的行号DataBlock_X的计算公式为:\n[0039]\n[0040] 其中,Tile.X为所述瓦片左上角点距离空间数据参考基准点X轴值,Org.X为世界空间范围左上角点距离空间数据参考基准点X轴值,DataBlock_Width为所述区域的宽度;\n[0041] 所述区域在分割后的世界空间范围中所占的列号DataBlock_Y的计算公式为:\n[0042]\n[0043] 其中,Tile.Y为所述瓦片左上角点距离空间数据参考基准点Y轴值,Org.Y为世界空间范围左上角点距离空间数据参考基准点Y轴值,DataBlock_Height为所述区域的高度。\n[0044] 优选的,所述装置还包括:\n[0045] 第一分割模块,用于按预设的分割方式,将世界空间范围分割成多个区域;\n[0046] 标识模块,用于对每一个分割后的区域进行标识,确定每一个分割后的区域的标识信息。\n[0047] 优选的,所述装置还包括:\n[0048] 第二分割模块,用于对世界空间范围中,每一个空间数据图层中的空间对象进行分割,获取分割后每一个空间数据图层中的空间数据;\n[0049] 存储模块,用于若第一区域内存在分割后的空间数据,则将分割后属于第一区域的不同空间数据图层中的空间数据,存储至存储文件中与第一区域对应的存储单元中,所述存储文件中只保存存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据;\n[0050] 确定模块,用于将第一区域的标识信息,设定为存储文件中,与第一区域对应的存储单元的标识信息,并确定所述与第一区域对应的存储单元的存储位置信息。\n[0051] 优选的,所述装置还包括:\n[0052] 建立模块,,用于基于存储单元的标识信息、或者存储单元的标识信息和存储位置信息,建立索引库。\n[0053] 从以上所述可以看出,本发明提供的地图瓦片生成方法及装置,通过根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。从而在瓦片渲染前,确定无数据的空瓦片区域,并在瓦片生产过程中,避让无数据区域,仅对有数据区域生产瓦片,达到大幅缩短瓦片生产时间的功效,形成网络地图快速更新机制。\n附图说明\n[0054] 图1为现有技术示意图一;\n[0055] 图2为现有技术示意图二;\n[0056] 图3为本发明实施例提供的地图瓦片生成方法实现过程示意图一;\n[0057] 图4为本发明实施例提供的地图瓦片生成方法实现过程示意图二;\n[0058] 图5为本发明实施例提供的地图瓦片生成方法实现过程示意图三;\n[0059] 图6为本发明实施例提供的地图瓦片生成方法实现过程示意图四;\n[0060] 图7为本发明实施例提供的地图瓦片生成装置结构示意图一;\n[0061] 图8为本发明实施例提供的地图瓦片生成装置结构示意图二。\n具体实施方式\n[0062] 本发明实施例提供了一种地图瓦片生成方法,如附图3所示,该方法具体可以包括:\n[0063] 步骤31,根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;\n[0064] 步骤32,基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;\n[0065] 步骤33,若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。\n[0066] 本发明实施例提供的地图瓦片生成方法的实现,可以避免生成无空间数据的空瓦片,从而加快瓦片生产速度,有利于网络地图快速更新。\n[0067] 本发明实施例中,瓦片所属的区域,可以是基于预设的分割方式,对包含世界范围空间数据等的世界空间范围进行分割后形成的,因此,本发明实施例中在根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息之前,可以涉及以下步骤:\n[0068] 用于按预设的分割方式,将世界空间范围分割成多个区域。\n[0069] 本发明实施例中所涉及的分割方式,可以为按预设的实际地理位置的长度和宽度信息,例如200公里*200公里,并基于世界空间范围的视图比例,确定世界空间范围中需要分割的区域的大小,并基于确定区域大小,将世界空间范围分割成多个区域。\n[0070] 而在另一个实施例中,本发明实施例所涉及的分割方式,具体还可如附图4所示,即首先可将世界空间范围,均匀四等分为四个区域(第一次分割),再对每一区域进行四等分(第二分割),如此进行递归等分,直至完成预设的分割次数,从而将世界空间范围分割成多个区域。\n[0071] 本发明实施例中,每一个最终分割后的区域范围可为一个瓦片面积大小的4n倍,而在实际生成中,通常分割后的最小区域范围大小为一个最大比例尺级别瓦片的16倍大小。\n[0072] 本发明实施例为了便于对每一个分割后的区域进行区分,在根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息之前,还可涉及以下步骤:\n[0073] 对每一个分割后的区域进行标识,确定每一个分割后的区域的标识信息。\n[0074] 该步骤的实现,可以赋予每一个按预设分割次数分割后形成的区域唯一编码值即标识信息,即一分割后的区域存在唯一一个与之对应的标识信息。\n[0075] 本发明实施例中所涉及的标识信息,具体可为一区域在世界空间范围分割后形成的所有区域的排列序号,且所有分割后形成的区域的排列顺序,具体可以以世界空间范围对应的地图图片左上角为起点,从左至右,从上至下,按顺序排列。例如一区域的排列序号为56,则该区域的标识信息具体可为00000056。\n[0076] 本发明实施例中所涉及的标识信息,具体还可由区域在分割后的世界空间范围中所占的行号和列号组成,而区域在分割后的世界空间范围中所占的行号和列号的计算,可以以世界空间范围左上角为起点,分别向右、向下递增,并从0起算。例如:一区域在分割后的世界空间范围所形成的阵列中,其行号为15,列号为31,则该区域的标识信息即编码值可为00001531。\n[0077] 如果本发明实施例是采用如附图4所示的分割方式对世界空间范围进行分割,那么本发明实施例所涉及的标识信息,进一步还可以包括预设的分割次数。例如:一经过第四次分割后形成的区域,其行号为15,列号为31,则该区域的标识信息即编码值可为\n00041531。\n[0078] 上述对世界空间范围的分割以及对分割后的区域进行标识,是实现本发明实施例所涉及的步骤31的前提,只有在上述两个步骤实现后,方可根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息。\n[0079] 在一实施例中,已知需要生成的瓦片范围内一点例如左上角点的坐标位置,则可以通过该坐标位置,判断该瓦片具体属于哪一个区域,那么,这里有一个前提,即该实施例中,在对世界空间范围分割后,需要记录所有分割后形成的区域的范围信息,这样,就可以基于瓦片已知的空间范围信息即坐标位置,通过与所有区域的范围进行逐一对比,从而判断瓦片所属的区域。\n[0080] 在本发明的另一实施例中,还可通过公式计算,确定瓦片所属区域在分割后的世界空间范围中所占的行号(DataBlock_X)和列号(DataBlock_Y)。\n[0081] 具体的,本发明实施例中确定需要生成的瓦片所属区域在分割后的世界空间范围中所占的行号DataBlock_X的过程,可以基于以下计算公式完成:\n[0082]\n[0083] 其中,Tile.X为需要生成的瓦片左上角点距离空间数据参考基准点X轴值,Org.X为世界空间范围左上角点距离空间数据参考基准点X轴值,DataBlock_Width为瓦片所属区域的宽度。\n[0084] 这里需要说明的是,本发明实施例中所涉及的空间数据参考基准点,可以是地图制作领域,国际标准所设置的空间数据参考基准点。\n[0085] 那么通过公式(1)可以看出,通过计算需要生成的瓦片左上角点距离空间数据参考基准点X轴值,与世界空间范围左上角点距离空间数据参考基准点X轴值之间的差值,即可获取需要生成的瓦片左上角点与世界空间范围左上角点之间X轴的距离,并将获取的该X轴的距离除以每一个分割后的区域的宽度,即可确定需要生成的瓦片与世界空间范围起始点之间在X轴方向包括多少个区域,从而确定需要生成的瓦片所属区域在分割后的世界空间范围中所占的行号(DataBlock_X)。\n[0086] 而本发明实施例中,确定需要生成的瓦片所属区域在分割后的世界空间范围中所占的列号DataBlock_Y,可以基于以下计算公式完成:\n[0087]\n[0088] 其中,Tile.Y为需要生成的瓦片左上角点距离空间数据基准点Y轴值,Org.Y为世界空间范围左上角点距离空间数据基准点Y轴值,DataBlock_Height为所述区域的高度。\n[0089] 与公式(1)类似,公式(2)也是通过确定需要生成的瓦片与世界空间范围起始点之间在Y轴方向包括多少个区域,从而确定需要生成的瓦片所属区域在分割后的世界空间范围中所占的列号(DataBlock_Y)。\n[0090] 通过上述公式(1)、(2)的计算,即可获知需要生成的瓦片所属区域在分割后的世界空间范围中所占的行号(DataBlock_X)和列号(DataBlock_Y),从而可确定需要生成的瓦片所属区域的标识信息即编码值,后续可执行步骤32,即基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据。\n[0091] 如果区域的标识信息中包括预设的分割次数,则由于分割次数是已知的,那么将已知的分割次数与上述计算确定的行号列好,即可确定区域的标识信息。\n[0092] 本发明实施例中,在执行步骤32之前,进一步还需要进行以下步骤:\n[0093] 对世界空间范围中,每一个空间数据图层中的空间对象进行分割,获取分割后每一个空间数据图层中的空间数据;\n[0094] 若第一区域内存在分割后的空间数据,则将分割后属于第一区域的不同空间数据图层中的空间数据,存储至存储文件中与第一区域对应的存储单元中,所述存储文件中只保存存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据;\n[0095] 将第一区域的标识信息,设定为存储文件中,与第一区域对应的存储单元的标识信息,并确定所述与第一区域对应的存储单元的存储位置信息。\n[0096] 具体的,本发明实施例中可以利用区域分割线等分割工具,对世界空间范围中,每个空间数据图层中的空间对象进行分割,将线、面空间对象切割形成短线、小多边形等空间数据,而对于点状图层,则可以不做任何处理。\n[0097] 在对世界空间范围中,所有空间数据图层中的空间对象进行分割后,对所有图层数据进行统一存储管理,将属于相同区域内的各个图层数据存储在一起,形成一个存储单元,即将分割后属于同一个区域的不同空间数据图层中的空间数据,存储于同一数据块即存储单元中。这样,后续可通过读取该存储单元中,即可获取该存储单元对应的区域所有图层的空间数据。\n[0098] 这里进一步需要说明的是,本发明实施例中,如果一区域内,存在分割后的空间数据,则将分割后属于同一个区域的不同空间数据图层中的空间数据,存储至存储文件中,与该区域对应的存储单元中。如果一区域内,没有任何可见数据,即该区域内的所有瓦片无需进行渲染,仅以地图默认底色呈现,则本发明实施例不对其进行保存,将其视为无需进行瓦片生成处理的对象而放弃。即本发明实施例中所涉及的存储文件,只保存存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据,而不保存不存在分割后的空间数据的区域的任何信息。\n[0099] 本发明实施例中,为了便于对存储单元进行识别,以及标识存储单元与区域之间的对应关系,还可将不同空间数据图层中的空间数据所属区域的标识信息,设定为存储该区域所属的不同空间数据图层中的空间数据的存储单元的标识信息。即本发明实施例中,存储文件中所设置的存储单元,与存在分割后的空间数据的区域是一一对应的。\n[0100] 然后,可将所有存储单元,按顺序存储到存储文件中,并对确定所有存储单元进行物理存储位置信息,且存储位置信息具体可以包括:存储单元的大小、相对于存储文件起始位置的偏移量等。具体可如附图5所示。\n[0101] 那么可以看出,本发明实施例提供的地图瓦片生成方法,将分散管理的原始空间数据,统一存储到一个存储文件中,且不同图层、空间上相邻的对象在物理存储位置上也将靠近,从而有利于区域数据的读取。\n[0102] 本发明实施例中,为了便于区域数据的读取,还可以基于存储单元的标识信息以及物理存储位置信息,建立索引库。由于本发明实施例中只保存了存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据,因此,本发明实施例中,基于存储单元的标识信息以及物理存储位置信息,所建立了的索引库中,只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息。\n[0103] 这样,当执行步骤32时,可将存储单元的标识信息作为索引钥匙(KEY),将存储单元物理存储位置信息即存储单元相对于存储文件起始位置的偏移量以及存储单元的大小作为索引值(VALUE),通过检索已经建立的索引库,确定存储文件中,是否存在事先保存的所述区域的数据信息。\n[0104] 本发明实施例中,为了避免生成空瓦片,可通过判断存储文件中,是否存需要生成的瓦片所属区域的空间数据信息,来判定需要生成的瓦片是否为空瓦片,并且,本发明实施例中,只执行存储文件中存在所属区域的空间数据信息的瓦片的生成过程,而不执行存储文件中不存在所属区域的空间数据信息的瓦片即空瓦片的生成过程,从而加快瓦片生产速度,有利于网络地图快速更新。\n[0105] 本发明实施例中,基于所述空间数据,生成所述瓦片的过程具体可以包括:\n[0106] 基于存储单元的标识信息,通过检索所述索引库,确定所述存储单元的存储位置信息;\n[0107] 基于所述存储单元的存储位置信息,读取所述存储单元中保存的不同空间数据图层中的空间数据;\n[0108] 基于所述存储单元中保存的不同空间数据图层中的空间数据,生成所述瓦片。\n[0109] 为了便于对本发明实施例的理解,下面结合附图6,对本发明实施例提供的地图瓦片生成方法的一个具体实现过程,进行详尽的表述。\n[0110] 该过程具体可以包括:\n[0111] 步骤601,基于预设的分割方式,对世界空间范围进行分割。\n[0112] 具体可参照本发明实施例所适用的所有分割方式,对世界空间范围进行分割。\n[0113] 步骤602,确定分割后的区域的标识信息。\n[0114] 具体可参照本发明实施例所适用的所有标识信息组成方式以及确定方式,确定分割后的区域的标识信息。\n[0115] 步骤603,对世界空间范围中,每一个空间数据图层中的空间对象进行分割。\n[0116] 具体可利用区域分割线等分割工具,对世界空间范围中,每个空间数据图层中的空间对象进行分割,将线、面空间对象切割形成短线、小多边形等空间数据,而对于点状图层,则可以不做任何处理。\n[0117] 这里需要说明的是,步骤603的执行顺序也可在步骤601或602之前。\n[0118] 步骤604,将分割后属于同一区域的不同空间数据图层中的空间数据,存储于同一个存储单元中。\n[0119] 每一个分割后的空间数据均有各自的位置信息,那么可以基于该位置信息,确定每一个分割后的空间数据所属区域,这样就可以将分割后属于同一区域的不同空间数据图层中的空间数据,存储于同一个存储单元中。\n[0120] 这里需要说明的是,本发明实施例中,是不保存不存在空间数据的区域的相关信息的。\n[0121] 步骤605,确定存储单元的标识信息以及存储位置信息。\n[0122] 具体可以将不同空间数据图层中的空间数据所属区域的标识信息,设定为存储该区域所属的不同空间数据图层中的空间数据的存储单元的标识信息。\n[0123] 而存储单元的存储位置信息具体可以包括存储单元的大小、相对于存储文件起始位置的偏移量等。具体可如附图5所示。\n[0124] 步骤606,建立索引库。\n[0125] 具体可以基于存储单元的标识信息以及物理存储位置信息等,建立索引库。\n[0126] 由于索引库是基于存储单元的标识信息以及物理存储位置信息建立的,那么,建立后的索引库中,是不存在无空间数据的区域的标识信息的。\n[0127] 步骤607,根据需要生成的瓦片的空间范围信息,确定瓦片所属区域的标识信息。\n[0128] 具体的,可基于本发明实施例所适用的所有方式,确定需要生成的瓦片所属区域唯一的标识信息即编码值。\n[0129] 步骤608,基于标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据。\n[0130] 此步骤中,具体可以基于需要生成的瓦片所属区域的标识信息,即存储该区域空间数据信息的存储单元的标识信息,通过检索步骤606中所建立的索引信息,从而确定存储文件中,是否存储有需要生成的瓦片所属区域的空间数据信息。\n[0131] 若存储文件中,存储有需要生成的瓦片所属区域的空间数据信息,则执行步骤\n609,基于存储文件中存储的需要生成的瓦片所属区域的空间数据信息,生成瓦片,否者,执行步骤610,放弃生成瓦片。\n[0132] 通过执行上述步骤,即可实现本发明实施例提供的地图瓦片生成方法,从而可以避免生成空瓦片,加快瓦片生产速度,有利于网络地图快速更新。\n[0133] 本发明实施例还提供了一种地图瓦片生成装置,如附图7所示,该装置具体可以包括:\n[0134] 第一确定模块71,用于根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;\n[0135] 第二确定模块72,用于基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;\n[0136] 生成模块73,用于若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。\n[0137] 优选的,如附图8所示,本发明实施例提供的所述装置还可以包括:\n[0138] 第一分割模块74,用于按预设的分割方式,将世界空间范围分割成多个区域;\n[0139] 标识模块75,用于对每一个分割后的区域进行标识,确定每一个分割后的区域的标识信息。\n[0140] 优选的,如附图8所示,本发明实施例提供的所述装置还可以包括:\n[0141] 第二分割模块76,用于对世界空间范围中,每一个空间数据图层中的空间对象进行分割,获取分割后每一个空间数据图层中的空间数据;\n[0142] 存储模块77,用于若一区域内存在分割后的空间数据,则将分割后属于该区域的不同空间数据图层中的空间数据,存储至存储文件中与该区域对应的存储单元中,所述存储文件中只保存存在分割后的空间数据的区域所属的不同空间数据图层中的空间数据;\n[0143] 确定模块78,用于将一区域的标识信息,设定为存储文件中,与该区域对应的存储单元的标识信息,并确定所述与该区域对应的存储单元的存储位置信息。\n[0144] 优选的,如附图8所示,本发明实施例提供的所述装置还可以包括:\n[0145] 建立模块79,用于基于存储单元的标识信息,或者存储单元的标识信息和存储位置信息,建立索引库。\n[0146] 从以上所述可以看出,本发明提供的地图瓦片生成方法及装置,通过根据需要生成的瓦片的空间范围信息,确定所述瓦片所属区域的标识信息,所述区域为将世界空间范围按预设分割方式进行分割后形成,所述标识信息用于唯一标识一区域;基于所述标识信息,通过检索事先建立的索引库,确定存储文件中是否保存有与所述标识信息对应的区域的空间数据,所述索引库中只保存存在空间数据的区域的标识信息,而不保存不存在空间数据的区域的标识信息;若经过检索确定所述存储文件中,保存有与所述标识信息对应的区域的空间数据,则基于所述空间数据,生成所述瓦片,否者,放弃生成所述瓦片。从而在瓦片渲染前,确定无数据的空瓦片区域,并在瓦片生产过程中,避让无数据区域,仅对有数据区域生产瓦片,达到大幅缩短瓦片生产时间的功效,形成网络地图快速更新机制。\n[0147] 以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
法律信息
- 2016-11-09
- 2013-11-27
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210122785.0
申请日: 2012.04.24
- 2013-10-30
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-10-27
|
2010-06-09
| | |
2
| |
2007-07-18
|
2007-01-08
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |