CN102508888B - 提高地图访问效率的文件压缩存储及索引方法 - Google Patents
提高地图访问效率的文件压缩存储及索引方法 Download PDFInfo
- Publication number
- CN102508888B CN102508888B CN201110320506.7A CN201110320506A CN102508888B CN 102508888 B CN102508888 B CN 102508888B CN 201110320506 A CN201110320506 A CN 201110320506A CN 102508888 B CN102508888 B CN 102508888B
- Authority
- CN
- China
- Prior art keywords
- map
- file
- index
- access efficiency
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及移动终端地图应用领域,特别是一种提高地图访问效率的文件压缩存储及索引方法,包括以下步骤:(1)制定四进制化的地图文件命名结构;(2)制定移动终端下地图文件的数据结构及索引结构;(3)对所需各级地图文件进行文件打包、压缩存储;(4)建立用于提高地图访问效率解包处理方法;本发明对各级地图文件进行压缩存储,建立有效的数据索引,并通过地图放大、缩小的级别及当前的地图范围,快速定位所需要的地图文件,大大缩短了地图文件的检索时间,从而大大提高地图访问的效率。
Description
技术领域
本发明涉及移动终端地图应用领域,特别是一种提高地图访问效率的文件压缩存储及索引方法。
背景技术
移动终端上的地图访问应用有通常两种方式,一种是网络式的地图访问,该方式必须让应用访问实时连接网络,从而获取到对应的网络地图图片进行显示,其缺陷是需要实时的在线网络;另外一种是将地图文件下载到移动终端中,通过终端本地访问的方式进行地图图片的显示,该方式无须访问网络即可进行地图访问。但在当前的移动终端由于采用存储卡的方式存储文件,该方式不利于多级文件的检索,且移动终端本身的资源处理能力及性能问题,使得本地化的地图访问应用上具有一定的局限性,特别是访问多级的地图文件让移动终端本身资源上的占用问题比较突出。
本发明重点对移动终端下本地化地图文件的操作去繁从简,通过对地图的多级图片文件建立统一的数据结构,同时进行文件的压缩存储,并建立对应的文件索引方式,优化地图文件的加载、调用方法,使其在移动终端上尽可能快的定位所需的地图图片资源,从而提升其整体的访问效率。
发明内容
本发明的目的在于克服现有技术的不足,提供一种提高地图访问效率的文件压缩存储及索引方法,该方法有利于提高在移动终端上地图访问的速度及效率。
为实现上述之目的,本发明采用的技术方案是提高地图访问效率的文件压缩存储及索引方法,其特征在于:包括以下步骤:
步骤1:利用字符对地图文件进行命名,首先通过地图放大级别将地图分成若干级数,且地图级别每增加一级,每个地图块分割为与原地图块大小相等的四个子地图块,然后由四个字符代表左上、右上、左下、右下四个位置,最后根据每张子地图的位置定义出由字符形成的文件名;
步骤2:制定移动终端下地图文件的数据结构及索引结构:将地图文件包以紧凑的队列形式头尾相接的排列于文件流中,通过制定统一的数据索引结构,将各级地图文件的文件索引及起始位和结束位被提取记录于索引文件中,该索引文件结构包括:索引目录和索引内容;
步骤3:把步骤1中定义的文件名的第一个字母和后缀去掉,且左上的字符对应0,右上的字符对应1,左下的字符对应2,右下的字符对应3,组成一个四进制的整数,再把此四进制整数转化为十进制整数,即为此文件存储的标识,并将此标识信息打包存储于索引文件中;
步骤4:通过所需要的经度、纬度数值快速计算得到对应像素坐标,并取得该像素坐标范围内所有地图块的索引值,通过索引值获取到对应的地图文件,并进行地图显示。
本发明的有益效果是对各级地图文件进行压缩存储,建立有效的数据索引,并通过地图放大、缩小的级别及当前的地图范围,快速定位所需要的地图文件,大大缩短了移动终端下地图文件的检索时间,从而提高地图访问的效率。
下面结合附图及具体实施例对本发明作进一步的详细说明。
附图说明
图1是本发明方法的总体流程图;
图2是本发明地图文件命名示意图;
图3是本发明方法的数据索引结构图;
图4是本发明方法的打包处理流程图;
图5为本发明方法的地图块获取原理;
图6为本发明方法的解包处理流程图。
具体实施方式
本发明提高地图访问效率的文件压缩存储及索引方法,包括以下步骤:
(1)制定四进制化的地图文件命名结构;
(2)制定移动终端下地图文件的数据结构及索引结构;
(3)对所需各级地图文件进行文件打包、压缩存储;
(4)建立用于提高地图访问效率解包处理方法;
步骤(1)的实现方法是:以四进制化的字符对地图文件进行命名,该四进制化的字符是利用字符对地图文件进行命名,这里以Q,R,S,T分别代表左上、右上、左下、右下,该字符并不以此为限,并通过地图放大级别将地图分成若干级数,地图级别每增加一级,每个地图块分割为与原地图块大小相等的4个子地图块,这样,第一级地图只有一张地图则采用T来标识地图文件名;第二级地图有四张,则相对于第一级地图文件该地图左上角的地图名为TQ、右上角的为TR、左下角的为TS、右下角的为TT;第三级地图则有16张,即是将第二级地图中每张都分成四个子地图,则相对于其上一级的各地图的命名如图2所示,以此类推,注意:图2只是命名的示意图,其每块图片大小应该都与第一级的图片大小相等。如第9级某一个地图文件名为:TRSTTRRQQS。
步骤(2)的实现方法是:地图文件包的数据结构,以简单,紧凑,节约空间为主,地图文件包以紧凑的队列形式头尾相接的排列于文件流中,通过制定统一的数据索引结构,将各级地图文件的文件索引及起始位和结束位被提取记录于索引文件中。索引文件结构包括:索引目录和索引内容,索引目录占据索引文件的前600个字节,用于存放每个级别的地图文件的索引在索引内容中的起始字节数(long形8字节)及结束字节数(long形8字节)。例如索引目录前24个字节是存放:8 600 4824,这表示地图索引文件中从600字节起到4824字节这段内容中存的是第8级的地图文件。索引内容从索引文件的600字节开始到文件未,存放的是地图包中每个地图文件的标识(long形8字节),起始字节数(long形8字节),结束字节数(long形8字节)。例如索引内容中描述内容:205684 1800752 1801899,这就表示:地图包文件中从1800752字节到180189字节之间的内容为标识为205684的地图文件。索引内容中,同一级别的文件的索引的排序顺序必须是按标识从小到大或从大到小进行排列,具体格式结构见图3。
步骤(3)的实现方法是:在各级地图文件进行文件打包前,对地图文件名按规则进行处理,把文件名的第一个字母(无用,固定为T)和后缀去掉,Q对应0,R对应1,S对应2,T对应3,组成一个四进制的整数,再把此四进制整数转化为十进制整数,即为此文件存储的标识。如地图文件TRSTTRRQQSS.jpg,去掉首字母和后缀后为RSTTRRQQSS,对应的四进制整数为:1233110022。转化为十进制的数值为:455946(1*49+2*48+3*47+3*46+…+2*40=455946),此整数即为地图文件TRSTTRRQQSS.jpg的索引标识,并将此标识信息打包存储于索引文件中,见图4。
步骤(4)的实现方法是:由于地图文件是由一块块相等大小,经纬度均匀分布的地图块组成的。地图级别每增加一级,每个地图块分割为与原地图块大小相等的4个子地图块。当地图级别为n时,每一横排地图块数量与每一纵排地图块数量皆为2n个;由于地图的操作是采用经纬度坐标系操作,地图图片采用像素坐标系操作,所以要通过经纬度与像素转换来实现二种坐标系的操作一致性。假设每个地图块的大小为(w,h),则此时整个地图的大小为:(w*2n , h *2n)。由于全图的经度为360,纬度为180。则可得出:每经度对应像素数为:w*2n/360,每纬度对应像素数为:h *2n/180。见图5,例如,我们要查询经纬度为(X1,Y1)的A点,则根据A点经纬度和移动终端显示屏幕的大小size取得矩形右下角B点经纬度(X2,Y2),即需要载入移动终端显示屏显示的地图块则为灰度区域。然后将上述A、B点经纬度根据上述的像素对应公式:每经度对应像素数为:w*2n/360,每纬度对应像素数为:h *2n/180,转换成像素坐标,然后根据每个图块的像素坐标确定灰度区域最左上角的地图块在整个地图中是处于横数第minColIndex,纵数第minRowIndex个地图块,最右下角的地图块在整个地图中是横数第maxColIndex,纵数第maxRowIndex个地图块。并通过原点O在存储结构中索引起始地址向横数遍历minColIndex块位置,向纵数遍历minRowIndex块位置,从而得到一C(x,y)的索引位置,得到C点索引位置后,再通过遍历横数maxColIndex块位置,纵数maxRowIndex块位置,将该灰度范围内的所有图块的索引文件进行循环解包,通过解包算法即得到所需地图包中的图片,每放大、缩小一级地图都进行该步骤的操作。见图6,该解包算法包括以下步骤:
1)载入索引文件前600个字节,每24字节为一个单位共25个单位;
2)将所求地图文件的级数依次与25个单位的前8字节组成的long形数字比较,若相等记录下这个单位,若未找到退出;
3)将记录的单位的9到16字节赋给起始字节,17到24字节赋给结束字节;
4)在起始字节与结束字节之间以折半查找法查找地图文件标识为所求标识的索引,若找到,提取标识后面两个8字节分别为地图文件在地图包中地址的开始地址和结束地址,若找到退出;5)载入地图包,用得到的开始地址和结束地址载取地图文件流返回显示。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (3)
1.一种提高地图访问效率的文件压缩存储及索引方法,其特征在于:包括以下步骤:
步骤1:利用字符对地图文件进行命名,首先通过地图放大级别将地图分成若干级数,且地图级别每增加一级,每个地图块分割为与原地图块大小相等的四个子地图块,然后由四个字符代表左上、右上、左下、右下四个位置,最后根据每张子地图的位置定义出由字符形成的文件名;
步骤2:制定移动终端下地图文件的数据结构及索引结构:将地图文件包以紧凑的队列形式头尾相接的排列于文件流中,通过制定统一的数据索引结构,将各级地图文件的文件索引及起始位和结束位被提取记录于索引文件中,该索引文件结构包括:索引目录和索引内容;
步骤3:把步骤1中定义的文件名的第一个字母和后缀去掉,且左上的字符对应0,右上的字符对应1,左下的字符对应2,右下的字符对应3,组成一个四进制的整数,再把此四进制整数转化为十进制整数,即为此文件存储的标识,并将所述标识打包存储于索引文件中;
步骤4:通过所需要的经度、纬度数值快速计算得到对应像素坐标,并取得该像素坐标范围内所有地图块的索引文件,通过索引文件获取到对应的地图文件,并进行地图显示。
2.根据权利要求1所述的提高地图访问效率的文件压缩存储及索引方法,其特征在于:步骤1中代表左上、右上、左下、右下四个位置的字符分别是Q、R、S、T。
3.根据权利要求1所述的提高地图访问效率的文件压缩存储及索引方法,其特征在于:所述步骤2中索引目录占据索引文件的前600个字节,用于存放每个级别的地图文件的索引在索引内容中的起始字节及结束字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110320506.7A CN102508888B (zh) | 2011-10-20 | 2011-10-20 | 提高地图访问效率的文件压缩存储及索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110320506.7A CN102508888B (zh) | 2011-10-20 | 2011-10-20 | 提高地图访问效率的文件压缩存储及索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508888A CN102508888A (zh) | 2012-06-20 |
CN102508888B true CN102508888B (zh) | 2014-04-09 |
Family
ID=46220974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110320506.7A Active CN102508888B (zh) | 2011-10-20 | 2011-10-20 | 提高地图访问效率的文件压缩存储及索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508888B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050263A (zh) * | 2014-06-18 | 2014-09-17 | 厦门雅迅网络股份有限公司 | 在导航终端中高效存取路口放大图文件数据的方法 |
CN104834723A (zh) * | 2015-05-12 | 2015-08-12 | 天脉聚源(北京)教育科技有限公司 | 一种地图的显示处理方法及装置 |
CN108768503B (zh) * | 2018-06-04 | 2020-12-11 | 中国气象局公共气象服务中心 | 基于北斗卫星的预警信息发布系统及发布方法 |
CN110427345B (zh) * | 2019-07-25 | 2023-02-03 | 武汉星源云意科技有限公司 | 一种网络层级地图数据的快速缓存方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945578A (zh) * | 2006-08-26 | 2007-04-11 | 福州开睿动力通信科技有限公司 | 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法 |
CN101435708A (zh) * | 2008-12-05 | 2009-05-20 | 四川长虹电器股份有限公司 | 移动导航设备中矢量地图的实时漫游与缩放的方法 |
CN101763356A (zh) * | 2008-10-08 | 2010-06-30 | 新奥特(北京)视频技术有限公司 | 一种虚拟地图中地形数据的获取和组织方法 |
-
2011
- 2011-10-20 CN CN201110320506.7A patent/CN102508888B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945578A (zh) * | 2006-08-26 | 2007-04-11 | 福州开睿动力通信科技有限公司 | 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法 |
CN101763356A (zh) * | 2008-10-08 | 2010-06-30 | 新奥特(北京)视频技术有限公司 | 一种虚拟地图中地形数据的获取和组织方法 |
CN101435708A (zh) * | 2008-12-05 | 2009-05-20 | 四川长虹电器股份有限公司 | 移动导航设备中矢量地图的实时漫游与缩放的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102508888A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786942B (zh) | 一种基于云平台的地理信息存储系统 | |
CN1659595B (zh) | 用于编码纹理信息的方法和设备 | |
CN108022269B (zh) | 一种GPU压缩纹理存储Cache的建模系统 | |
CN102508888B (zh) | 提高地图访问效率的文件压缩存储及索引方法 | |
US20110285715A1 (en) | Method and System for Providing Scene Data of Virtual World | |
CN110209719B (zh) | 一种基于微服务架构的多种数据库统一访问系统及方法 | |
CN101833542A (zh) | 一种用户界面字体渲染方法及装置 | |
CN102368259A (zh) | 电子地图数据存储和查询方法、装置及系统 | |
CN108733317A (zh) | 数据存储方法和装置 | |
CN104680421A (zh) | 一种可伸缩矢量图形svg显示方法及装置 | |
CN104539750A (zh) | 一种ip定位方法和装置 | |
CN102437894B (zh) | 用于对待发送信息进行压缩处理的方法、装置及设备 | |
CN110515900A (zh) | 一种电力三维数据的存储文件结构 | |
CN107168890B (zh) | 一种内存池的管理方法和装置 | |
CN111475245B (zh) | 动态图片显示方法、装置、电子设备及计算机存储介质 | |
CN105404672A (zh) | 网页数据存储和操作的系统及方法 | |
CN205899536U (zh) | 一种基于瓦片地图的地理信息服务系统 | |
CN111581233A (zh) | 电网设备矢量图形数据的实时切片方法及存储介质 | |
CN101976229A (zh) | 一种系统中外部设备的数据读取方法、系统及装置 | |
US9449249B2 (en) | Method and apparatus for enhancing visual search | |
CN106599460A (zh) | 一种基于电力gis的可视化应用实现方法 | |
CN115190102B (zh) | 信息广播方法、装置、电子单元、soc及电子设备 | |
CN107436848B (zh) | 一种实现用户数据和压缩数据间转换的方法及装置 | |
CN103034975A (zh) | 图像处理方法及装置 | |
CN115858163A (zh) | 一种物联网平台海量设备指令数据存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 350001 unit 6, 4 building, 245 Xiu Shan Road, Xin Dian Town, Jinan District, Fuzhou, Fujian, 608 Patentee after: Four creation technology limited company Address before: 350001 Fuzhou, Fujian, Jinan District, Jinshan District, three Town Road, D, 19 floor, 305 unit Patentee before: Fujian Strong Software Co., Ltd. |