《精通ArcGIS Server 应用与开发》——1.4 ArcGIS 10地图缓存新特性1

简介:

本节书摘来自异步社区《精通ArcGIS Server 应用与开发》一书中的第1章,第1.4节,作者: 何正国 , 杜娟 , 毛海亚 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 ArcGIS 10地图缓存新特性1

精通ArcGIS Server 应用与开发
地图缓存技术一直是当前WebGIS 提高地图访问效率的有效途径之一,为了更加快捷、有效地使用缓存,ArcGIS 10在ArcGIS 9.3.1的基础上进行了不断地改进,下面逐一加以介绍。

1.4.1 新的缓存结构
在ArcGIS 10的缓存结构中,可以选择使用ArcGIS Online/Bing Maps/Google Maps的格式,或已发布的地图服务的格式,或自定义的格式。如果用户想把地图服务与ArcGIS Online、 Bing或Google地图服务叠加,则可以选择上述相应的缓存结构,如图1-8所示。


cdae0319bbbe1e7bd5b4c09bbde7b1f76b1d043f

1.4.2 新的缓存格式
ArcGIS Server原有的切片方式为Exploded,它为每个级别的缓存分别进行地图切片,每个切片的地图独立存储。ArcGIS Server 10除保留原来的缓存存储方式外,新增了Compact缓存方式。Compact是一种紧凑的格式,它将一些列的切片地图组成一个Bundle的文件进行存储,每个Bundle最多可存储16000个图片。

相对Exploded而言,Compact缓存格式可以提高缓存数据迁移与复制的速度,并节约存储空间。Exploded采用单张图片存储,由于操作系统的原因,会产生大量的小文件和磁盘碎片,浪费磁盘空间,而Compact格式将大量切片集中存储成一个文件,解决了上述问题。

选用哪一种缓存存储方式客户端的响应效率会更高?这取决于客户端访问缓存的方式。若客户端直接调用缓存切片并进行拼接,则用Exploded方式效率更高。反之,则用Compact方式更好了。ArcGIS 10提供了两种缓存格式的相互转换功能,用户可以根据实际情况选择使用。

1.4.3 新的缓存模式
ArcGIS 10增加了新的缓存模式Mixed。为何要添加这种模式?

一般地,为了节省硬盘空间和提高访问速度,背景地图切片可采用JPEG切片格式,但两个JPEG格式的服务进行叠加时,容易产生“项圈”现象。因为ArcGIS Server在切片的时候,为保证服务正确叠加,会采用“大切片方式”,即在地图范围之外切40964096的范围;但另一方面JPEG的格式不支持透明色,因而造成叠加部分周围的空白,如图1-9所示。

Mixed模式实现了在叠加地图的周围区域进行计算,并在边缘地带生成PNG格式的切片。PNG格式支持透明色,故在多服务叠加时,消除了“项圈”现象。Mixed的原理如图1-10所示。


5235c4fdf7afc0cbbfef25ced4b8f50040103b37

1.4.4 离线缓存
离线缓存也是ArcGIS 10提供的一种新功能,可将一个或一组比例尺的地图缓存导出,在ArcGIS Desktop等应用中,将其作为一个Raster dataset添加使用。在离线或网络速度极慢的情况下,可以该地图服务作为背景。

相关文章
|
存储 缓存 NoSQL
缓存加速新玩法,让你的应用飞起来
本文主要叙述如何运用云数据库 Tair 构建缓存,助力应用提速、优化性能。
|
缓存 NoSQL Java
Redis应用—8.相关的缓存框架
本文介绍了Ehcache和Guava Cache两个缓存框架及其使用方法,以及如何自定义缓存。主要内容包括:Ehcache缓存框架、Guava Cache缓存框架、自定义缓存。总结:Ehcache适合用作本地缓存或与Redis结合使用,Guava Cache则提供了更灵活的缓存管理和更高的并发性能。自定义缓存可以根据具体需求选择不同的数据结构和引用类型来实现特定的缓存策略。
1057 16
Redis应用—8.相关的缓存框架
|
缓存 NoSQL Java
Redis深度解析:解锁高性能缓存的终极武器,让你的应用飞起来
【8月更文挑战第29天】本文从基本概念入手,通过实战示例、原理解析和高级使用技巧,全面讲解Redis这一高性能键值对数据库。Redis基于内存存储,支持多种数据结构,如字符串、列表和哈希表等,常用于数据库、缓存及消息队列。文中详细介绍了如何在Spring Boot项目中集成Redis,并展示了其工作原理、缓存实现方法及高级特性,如事务、发布/订阅、Lua脚本和集群等,帮助读者从入门到精通Redis,大幅提升应用性能与可扩展性。
353 0
|
缓存 JavaScript 中间件
优化Express.js应用程序性能:缓存策略、请求压缩和路由匹配
在开发Express.js应用时,采用合理的缓存策略、请求压缩及优化路由匹配可大幅提升性能。本文介绍如何利用`express.static`实现缓存、`compression`中间件压缩响应数据,并通过精确匹配、模块化路由及参数化路由提高路由处理效率,从而打造高效应用。
693 109
|
缓存 NoSQL PHP
用装饰器模式实现多层缓存:让PHP应用更快更稳
通过装饰器模式实现PHP多层缓存架构,详解如何利用内存、Redis、文件缓存组合提升应用性能。包含设计思路、代码示例与实战效果对比,助您构建高效缓存策略。
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
379 5
|
存储 缓存 监控
利用 Redis 缓存特性避免缓存穿透的策略与方法
【10月更文挑战第23天】通过以上对利用 Redis 缓存特性避免缓存穿透的详细阐述,我们对这一策略有了更深入的理解。在实际应用中,我们需要根据具体情况灵活运用这些方法,并结合其他技术手段,共同保障系统的稳定和高效运行。同时,要不断关注 Redis 缓存特性的发展和变化,及时调整策略,以应对不断出现的新挑战。
282 10
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
存储 缓存 数据库
缓存技术有哪些应用场景呢
【10月更文挑战第19天】缓存技术有哪些应用场景呢
|
缓存 移动开发 前端开发
HTML5 应用程序缓存详解
HTML5 应用程序缓存(Application Cache)通过缓存 HTML、JavaScript、CSS 和图像等资源,使 Web 应用能在离线状态下运行。它利用 Manifest 文件(`.appcache`)定义缓存资源列表,浏览器会在加载页面时下载并缓存这些资源。此外,应用程序缓存还提供了事件处理机制,允许开发者监控缓存状态并进行手动管理。尽管这一技术已被视为过时,建议使用 Service Workers 和 Cache API 等现代替代方案来实现更强大的离线功能和缓存控制。