地图缓存使用指南
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地图缓存使用指南
地图缓存是快速访问地图服务的有效方式。
目前流行的在线地图服务,如Google Maps,MapBar,Bing Maps 等,对浏览速度和并发性要求都比较高,均采用缓存地图的方式满足快速访问地图的需求。
什么是地图缓存
作为一种改善地图浏览用户体验的优化策略,地图缓存实际上是包含了一系列比例尺一定地图范围内的地图切片文件。
在服务端创建地图缓存之后,客户端的地图操作,比如放大、缩小和平移,都会向服务端发送一个URL 请求,此时,服务端按照请求返回预先生成的地图切片,从而达到降低服务器负担并快速显示地图,提升地图浏览速度。
为什么使用地图缓存
使用地图缓存时,只需要付出一次生成缓存的代价,就可以提供给客户端地图显示以快速的响应速度。
地图缓存是以一系列不同比例尺下地图图片形式提供的,因此不受普通地图显示上的约束,比如地图信息量的大小、地物的复杂程度、是否带有标注、所使用的地图符号等的限制。
因为,一般情况下,地图渲染的细节越多,承载的信息量越丰富,同等环境下,绘制矢量地图就越慢,但使用了地图缓存,客户端在获得了同样显示效果的同时,等待时间却大大缩短。
特别是对海量数据,使用缓存可以极大地提高浏览速度,加速地图响应时间,最终提升用户体验。
SuperMap 产品针对海量数据,在保证客户端高效访问的前提下,提供了一套完备的二三维缓存体系。
SuperMap iDesktop 7C 桌面产品支持生成影像缓存、地形缓存、矢量缓存、模型缓存、地图缓存,还可以对场景直接生成场景缓存。
生成的缓存数据可以有多种方式在地图窗口或者场景窗口中加载,也可以部署到服务端进行发布,方便客户端进行浏览。
1.地图缓存目录结构
地图缓存根据缓存版本的不同,生成的缓存目录的层次结构有所不同。
SuperMap iDesktop 7C 桌面应用程序目前支持六种不同版本的地图缓存。
2.0版本对应IS .NET 缓存策略,适合SuperMap IS .NET 6.0 正式版及以上版本的产品
使用。
2.1版本对应使用新的缓存方案的IS .NET 缓存策略,适合SuperMap IS .NET 6 Service
Pack 2 及以上版本的产品使用。
3.0版本对应iServer 2.0 缓存策略,适合SuperMap iServer Java 2008 正式版及以上版
本的产品使用。
3.1版本对应使用新的缓存方案的iServer 2.0 缓存策略,适合SuperMap iServer Java
2008 Service Pack 2 及以上版本的产品使用。
4.0版本对应iServer 6R 缓存策略,适合iServer Java 6R 正式版及以上版本的产品使
用。
5.0版本对应新的iServer 6R 缓存策略,适合SuperMap iServer Java 6R(2012) Service
Pack 1 版本的产品使用。
只有5.0版本的地图缓存可以使用剖分方式生成缓存。
地图缓存的目录结构主要采用iServer 6R,iServer 2.0和IS .NET 三种缓存策略,按照不同比例尺级别进行分层,都是从指定范围的左上角为起点进行分块。
其中2.0,2.1版本的地
图缓存均采用IS .NET 缓存策略,3.0,3.1版本的地图缓存均采用iServer 2.0 缓存策略,4.0和5.0版本的缓存采用iServer 6R 缓存策略。
2.地图缓存存储类型
SuperMap 缓存有两种存储类型,即原始型与紧凑型。
原始型
当缓存储存类型为原始型,切片文件以单独的图片文件格式存放在磁盘上,不对数据进行压缩,能够直接读取。
地图缓存数据直观地表现为多个文件夹下的原始图片。
原始型存储方式具有以下特点:
可以直接读取,比较直观。
占用磁盘空间大,不太易于管理,拷贝和迁移不太方便。
对密级较高的数据,不能设置密码。
紧凑型
当缓存储存类型为紧凑型时,对原始的切片文件采用一定的压缩和加密机制,在结构上采用一组文件替代原始的图片格式的缓存机制。
此时,不同比例尺文件夹下的缓存数据将表现为一组文件,该组文件包括两个部分:索引文件(*.sc)、一组数据文件(*.sc00和*.lock)。
如下图所示,为世界地图_Day 生成的紧凑型缓存文件。
其中,索引文件为*.sc(SuperMap Cache File)格式;数据文件为*.scXX(SuperMap Caceh File Data)格式,这里的XX 不是两个字母,是两个16进制数字(00~FF)。
目前只支持两位16进制数,所以最多支持256个数据文件。
数据文件的个数由缓存数据的大小决定,一个数据文件最大为2G。
与原始型相比,紧凑型存储方式具有以下优势:
减少文件数量,有利于大量的缓存数据的传输与拷贝。
缩短缓存创建的时间耗费。
数据支持加密。
3.使用地图缓存的建议
为了更高效的生成地图缓存,可以从以下几个方面考虑:
选择合适的比例尺系列
为了充分利用缓存数据,同时实现多级缩放,可以对地图设置多个比例尺。
多设置一些比例尺级别,可以在浏览过程中比较顺畅,不会出现比较大的跳跃。
在地图制作的过程中要考虑要素在不同的比例尺下是否需要显示。
比如在1:100000的比例尺下,河流是线状的,在1:10000的比例尺下,可能需要讲河流显示为面状的。
在小比例尺下,一些注记不需要显示,但随着比例尺的扩大,注记可能需要显示。
这种情况下,需要考虑合适的比例尺级别了。
缓存路径设置
如果生成的缓存要在SuperMap iServer Java 6R 服务端发布,可以直接将SuperMap iDesktop 7C 桌面缓存路径设置为SueprMap iServer Java 6R 的出图路径下,
即%SuperMap iServer Java_HOME%\webapps\iserver\output\cache,否则缓存切片拷贝可能会花费比较长的时间。
适当的制作地图
制作地图的过程中,可以考虑对线型或者文本对象使用反走样,对过小的对象进行过滤。
对地图中的过小对象使用过滤条件进行过滤,可以在不影响地图所承载的信息量的情况下,将提升地图浏览速度。
进行反走样后矢量地图中的线型和文本看起来更光滑,提高视觉感受,但会造成性能下降。
因此在使用反走样时,需要浏览速度和性能之间寻找一种平衡,既要达到浏览效果最佳,也要保证浏览速度。
对比较复杂的地图,要避免对象节点过多,可以考虑进行光滑处理或者重采样。
保持工作空间一致
工作空间中的地图参数决定了SuperMap iServer Java 使用的缓存文件中缓存图片的命名,因此需要保证用于制作缓存的工作空间中的地图和用于SuperMap iServer Java 发布的工作空间中的地图一致。
影响参数包括地图的风格、数据的连接情况、图层顺序、默认比例尺、地图范围等。
因此制作完成缓存后,尽量不要对工作空间的地图进行修改,以保证发布的地图与用于制作缓存的地图一致。
同时需要保持地图中所有地图可用,所有图层对应的数据集合数据源在工作空间中都存在,不能有无对应数据源和数据集的空连接图层。
对数据集中对象的编辑,如添加、删除、更新等,不会影响编辑区域以外的缓存图片(如果需要的话,只需更通过SuperMap iServer 更新这部分区域的缓存即可)。
合理设置地图缓存范围和索引范围
可以为频繁访问的地图区域生成缓存,以降低生成和存储缓存的成本。
例如,在访问世界地图时,对于广大的无人区,可以不生成缓存。
用SuperMap iDesktop 7C 生成地图缓存时建议将索引范围设置为发布地图的整幅地图范围,以便与SuperMap iServer Java 缓存索引范围保持一致。
在根据需求修改地图缓存的范围信息时,也需要保持索引范围是整幅地图范围。
缓存图片与出图设备无关的特性
利用SuperMap iDesktop 7C 制作地图缓存时,如果SuperMap iDesktop 7C 所在的计算机与SuperMap iServer Java 所在的计算机不是同一台机器,有可能由于设备显示地图分辨率不同,从而不同设备上的缓存不能很好地一起使用,例如拼接出现问题等。
SuperMap iDesktop 7C 桌面支持配置地图缓存与设备显示分辨率无关。
具体的操作方法如下:
修改SuperMap iDesktop 7C 桌面安装路径下的bin 目录下配置SuperMap.xml 文件中的CustomDPIEnable 属性为true。
图:SuperMap iDesktop 7C 的SuperMap.xml 文件
修改相应的SuperMap iServer Java 安装目录\support\objectsjava 的bin 目录下SuperMap.xml 文件中的CustomDPIEnable 属性也要设为true。
保持桌面和服务器中两个SuperMap.xml 文件的CustomDPIX 和CustomDPIY 的取值相同。
在SuperMap iDesktop 7C 桌面端生成的地图缓存,如需在SueprMap iServer Java 服务端发布,需要注意,生成紧凑型地图缓存时,不要对缓存进行加密,即不要设置密码,否则在服务端发布会有问题。