最近在做个切片程序,切的瓦片可以和ArcGIS Server和GeoServer兼容,可以选择ArcGIS Online、谷歌的切片方案,也可以自定义切片方案。切好的瓦片ArcGIS Server发布的地图服务可以作为缓存直接调用。最近整理了下过程,本文将影像切片的原理、方法、程序思路进行介绍。先上效果图。
目录
1.效果图
图1与ArcGIS Server兼容的瓦片图
图2使用ArcGIS Server打开的缓存服务
图3编写的切片工具
2.背景
使用ArcGIS Server做地图发布,为了提升浏览性能,通常会使用现时比较流行的地图缓存技术(通俗的说法为“瓦片技术”)。如目前的MapABC和GoogleMap正是使用该技术。
所谓的地图缓存技术,就是按照一定的数学规则,把地图提前按照不同比例尺切成一定规格的图片保存到计算机硬盘里,当用户通过客户端浏览器访问地图服务时,服务器直接返回当前地图坐标区域所对应的“瓦片”,而不是由服务器动态创建出一幅图片来送到客户端,从而达到降低服务器负担,提升地图浏览速度的效果。
地图缓存技术一般针对相对稳定的数据,因为地图切为瓦片以后,以图片的形式存在,对于数据的变化(这里指的是数据的几何形状变化)不能及时的反应,这就是地图缓存技术不足之处。要想地图的变化得到及时的反映,那就必须重建地图缓存。而重建地图缓存要视地图的区域范围和缓存的比例尺而定,时间为几分钟到几十个小时不等。因此,缓存的管理是一件相对麻烦的事情。
2.1为何应缓存地图?
使用缓存时,您为绘制地图所造成的性能损失付出代价的唯一时间是在创建缓存时。因此,创建缓存可能要花费很长时间。然而,缓存的好处足可以弥补创建缓存所花费的时间。缓存的一些主要优势如下:
性能:部署已缓存地图时,用户可以做更多的事情,因为他们所花费的等待地图绘制的时间更少。
质量:使用缓存时,性能不会受到地图详细程度的影响。无论是否使用晕渲地貌、透明度还是 Maplex 标注引擎创建地图,性能都不会受到影响。缓存只是图像的集合,服务器返回这些不同的缓存图像所花费的时间大致相同。
行业标准:您是否去过某个流行的 Internet 制图站点并观看过平移和缩放时的小方形切片填充?显示出所有的切片通常只需要几分之一秒的时间。这是因为它们使用的是缓存。使用 ArcGIS Server 地图缓存,您可以让地图实现类似的性能。
参考:
https://blog.csdn.net/abc553226713/article/details/8668799
3.关键概念
1. 切片
名词:瓦片、地图缓存中的图片,动词:将大范围的影像分块重采样到一张张图片中,目的:避免浏览器加载地图图片时实时重采样,将工作提前,提高用户浏览效率。
2. 切片方案
Tiling Scheme 用于构建地图瓦片的各种参数,包括切片方案原点、瓦片格式、瓦片大小、多级切片比例尺及对应的地图分辨率等。ArcGIS Server中,这些参数均存储在切片方案文件conf.xml 中