应用程序如何访问和使用影像服务缓存
缓存影像服务可以作为静态或动态影像服务运行。通常,由于缓存影像服务的平铺结构和静态性质,它将比未缓存的服务(或作为动态服务访问)更快。当您访问缓存影像服务时,其默认行为是静态的,并且将限制您对服务属性的访问 - 这意味着您无法修改镶嵌方法或传输压缩。
任何可以显示影像服务的 web 应用程序都可以使用该缓存,只不过各应用程序检索和使用切片的方式各不相同。
ArcMap
在 ArcMap 中显示缓存的影像服务时,影像服务的功能会受到限制。例如,无法更改镶嵌方法或传输压缩方法。但是,仍可执行更改符号系统和增强符号系统、识别像素、查询数据以及下载源数据之类的操作。
如果需要以动态方式使用影像服务并且使用镶嵌方法等功能,则可以更改图层的模式。要更改模式,请右键单击影像服务图层,然后取消选中启用缓存视图模式。要以缓存服务形式使用影像服务,只需再次选中此选项。
Web 应用程序
使用 ArcGIS web APIs for JavaScript、ArcGIS web APIs for Flex 和 ArcGIS web APIs for Silverlight 进行开发时,可通过 ArcGISTiledMapServiceLayer 类连接到缓存影像服务。使用缓存影像服务时,通过对影像服务执行 REST 调用来检索缓存目录中的切片。切片请求所采用的格式为 http://<影像服务 URL>/tile/<级别>/<行>/<列>。
如果 URL 如下所示,则说明应用程序正通过 REST 请求成功获取切片:
http://myServer/ArcGIS/rest/services/myService/ImageServer/tile/10/1723/3495
如果影像服务的 URL 格式不是以上任意一种形式,则说明应用程序正以一种低效方式检索切片,或者根本未使用缓存。
在任一 Web 应用程序中查看单个缓存服务时,如果平移到了某个不存在任何切片的区域,应用程序将不会显示动态图像,从而导致您无法看到任何内容。
如果影像服务的显示速度比预期慢,请检查影像服务的 URL,以确定应用程序是否正在检索切片。可通过以下方式执行此操作:在 Mozilla Firefox 4 中打开该应用程序,然后单击 Firefox > Web 开发者 > Web 控制台。打开控制台后,单击网络按钮,然后开始缩放或平移影像服务。
确保将要缓存的数据源与 Web 应用程序中使用的其他数据采用相同的投影。否则,可能会看不到您的数据,因为大多数 Web 应用程序都无法对数据进行重新投影。此外,还需要确保缓存影像服务与 Web 应用程序中的其他缓存图层采用相同的切片方案;否则,将只有部分图层可见。
在 Web 应用程序中叠加缓存
如前文所述,在设计与其他缓存服务相叠加的影像服务缓存时,需要注意一些重要的缓存设计因素。Web 应用程序(如用 ArcGIS API for JavaScript、ArcGIS API for Flex 和 ArcGIS API for Silverlight 构建的 Web 应用程序)要求叠加缓存时坐标系和切片大小必须匹配。此外,应使匹配的比例数目尽可能地多。达到此目的的最简便方式就是先匹配两个缓存的切片方案,然后仅以对每个缓存均适用的比例创建切片。这样便可确保坐标系和切片大小均匹配,而且软件也能辨别出两个缓存具有相同的比例。
建议使用 ArcGIS Online/Google 地图/Bing 地图的切片方案。
OGC 的 WMTS
开放地理空间联盟 (OGC) 的 Web 地图切片服务 (WMTS) 规范是一种在 web 上使用缓存图像切片提供数字地图时需遵守的国际规范。当您使用 ArcGIS Server 创建缓存地图或影像服务时,可通过 WMTS 规范自动访问该服务及其切片。
通过 WMTS 协议连接到缓存影像服务的 URL 使用以下模式:
http://<服务器名称>:<端口>/arcgis/rest/services/<文件夹名称(如果适用)>/<影像服务名称>/ImageServer/WMTS