海量栅格瓦块地图发布方法技术

技术编号:8271449 阅读:647 留言:0更新日期:2013-01-31 03:40
本发明专利技术提出了一种海量栅格瓦块地图发布方法,属于地图发布领域。该方法包括以下步骤:S1、将矢量地图切割成多个栅格小图片并存储于地图目录Root中,遍历该地图目录Root中的栅格小图片并打包至数据文件中,由此减小了磁盘空间的占有量;S2、建立索引文件,该索引文件用于表示URL路径与数据文件中对应栅格小图片存储位置的索引关系;该索引文件使用路径与文件名分别编码的方法进行压缩存储,可一次性加载到内存,利用索引文件查找栅格小图片时不必访问磁盘,进一步提高了查找效率;S3、根据客户端请求的URL路径以及索引文件,在数据文件中查找与该URL路径对应的栅格小图片的存储位置,读取该栅格小图片并发送给客户端。

【技术实现步骤摘要】
本专利技术涉及一种地图发布方法,尤其涉及一种海量栅格瓦块地图发布方法
技术介绍
Web GIS是Internet技术应用于GIS开发的地理信息系统。其使用的静态背景地图多采用预先生成栅格瓦块地图,然后通过HTTP (HyperText Transfer Protocol,超文本传输协议)的方式发布。这种方式减少了服务器端动态生成地片的计算压力,是目前采用最多的Web GIS技术之一。栅格瓦块地图一般的发布方式是使用工具把矢量地图按行列切割为大小统一的栅格小图片并存储于地图目录Root下;然后将这些栅格小图片拷贝至Web服务器上并发布出去;客户端程序根据当前地图范围计算待加载的栅格小图片的URL(Universal Resour ceLocator,统一资源定位符)路径,并根据该URL路径查找对应栅格小图片的存储位置;最后客户端通过HTTP加载对应的栅格小图片。目前,栅格瓦块地图一般通过IIS软件进行发布出去,IIS软件发布方式存在以下缺点将矢量地图切割成海量栅格小图片,增大了磁盘空间的占有量,此外在栅格小图片存储于地图目录Root过程中,针对大量相同的图片(诸如空白图片)均按照行列分别重本文档来自技高网...

【技术保护点】
一种海量栅格瓦块地图发布方法,其特征在于包括以下步骤:S1、将矢量地图切割成多个栅格小图片并存储于地图目录Root中,遍历该地图目录Root中的栅格小图片并打包至数据文件中;S2、建立索引文件,该索引文件用于表示URL路径与数据文件中对应栅格小图片存储位置的索引关系;S3、根据客户端请求的URL路径以及索引文件,在数据文件中查找与该URL路径对应的栅格小图片的存储位置,读取该栅格小图片并发送给客户端。

【技术特征摘要】
1.一种海量栅格瓦块地图发布方法,其特征在于包括以下步骤 51、将矢量地图切割成多个栅格小图片并存储于地图目录Root中,遍历该地图目录Root中的栅格小图片并打包至数据文件中; 52、建立索引文件,该索引文件用于表示URL路径与数据文件中对应栅格小图片存储位置的索引关系; 53、根据客户端请求的URL路径以及索引文件,在数据文件中查找与该URL路径对应的栅格小图片的存储位置,读取该栅格小图片并发送给客户端。2.根据权利要求I所述的海量栅格瓦块地图发布方法,其特征在于所述步骤SI由以下步骤组成 510、将矢量地图切割成多个栅格小图片并存储于地图目录Root中,针对大量内容相同的栅格小图片设置模板文件T= (path, size, context, fno, offset),其中T. path表示模板文件T的存储路径,T. size表示模板文件T的大小,T. context表示模板文件T的内容,T. fno表示模板文件T所在数据文件Fi的编号,T. offset表示模板文件T在数据文件Fi中的偏移,初始状态下T. fno=T. Offset=O且i为整数; 511、设置i=0,打开数据文件Fi,读取模板文件T并将该模板文件T=(path,size,context, fno, offset)写入数据文件Fi中,保存该模板文件T在数据文件Fi中的偏移T. offset 且 T. fno=i ; 512、深度遍历该地图目录Root,依次读取该地图目录Root下各栅格小图片LF=(path,size, context, fno, offset),其中LF. path表示栅格小图片LF的存储路径,LF. size表示栅格小图片LF的大小,LF. context表示栅格小图片LF的内容,LF. fno表示栅格小图片LF所在数据文件Fi的编号,LF. offset表示栅格小图片LF在数据文件Fi中的偏移,在初始状态下 LF. fno=LF. offset=0 ; 513、将各栅格小图片LF与该模板文件T进行比较 在LF. size=T. size且LF. context=T. context时表不该栅格小图片LF与模板文件T相同,不再将该栅格小图片LF重复写入该数据文件Fi中,并且LF. Offset=T. offset,LF. fno=T. fno=i ; 否则表示该栅格小图片LF与模板文件T不相同,进一步判断数据文件Fi是否超过其最大容量值MaxSize :如果判定该数据文件Fi未超过其最大容量值MaxSize,则将LF. context存放至当前的数据文件Fi中,保存该栅格小图片LF在该数据文件Fi中的偏移LF. offset 且 LF. fno=i ; 如果判定该数据文件Fi超过其最大容量值MaxSize,则关闭当前的数据文件Fi,i=i+l,打开下一数据文件Fi,将LF. context存放至下一数据文件Fi中,并且保存该栅格小图片LF在该数据文件Fi中的偏移LF. offset且LF. fno=i+l ; 514、判断地图目录Root下是否还存在尚未被读取的栅格小图片,如果存在则重复执行步骤S12 S13,否则关闭当前的数据文件Fi以及中间文件Fdb。3.根据权利要求2所述的海量栅格瓦块地图发布方法,其特征在于在所述步骤S12中深度遍历该地图目录Root时,按照名称大小顺序依次读取各栅格小图片。4.根据权利要求I所述的海量栅格瓦块地图发布方法,其特征在于所述步骤S2由以下步骤组成S20、初始化路径哈希表Hash_Path、文件名哈希表Hash_Name和数组FArray=O,其中该路径哈希表HasH_Path中路径的标号Path_ID初始化为O...

【专利技术属性】
技术研发人员:向泽君朱圣罗再谦龙川饶鸣汪明杨元李波罗勇
申请(专利权)人:重庆市勘测院重庆数字城市科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1