《精通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添加使用。在离线或网络速度极慢的情况下,可以该地图服务作为背景。

相关文章
|
2月前
|
缓存 NoSQL Java
Redis深度解析:解锁高性能缓存的终极武器,让你的应用飞起来
【8月更文挑战第29天】本文从基本概念入手,通过实战示例、原理解析和高级使用技巧,全面讲解Redis这一高性能键值对数据库。Redis基于内存存储,支持多种数据结构,如字符串、列表和哈希表等,常用于数据库、缓存及消息队列。文中详细介绍了如何在Spring Boot项目中集成Redis,并展示了其工作原理、缓存实现方法及高级特性,如事务、发布/订阅、Lua脚本和集群等,帮助读者从入门到精通Redis,大幅提升应用性能与可扩展性。
60 0
|
2月前
|
SQL 缓存 开发框架
分享一个 .NET EF6 应用二级缓存提高性能的方法
分享一个 .NET EF6 应用二级缓存提高性能的方法
|
9天前
|
机器学习/深度学习 缓存 NoSQL
深度学习在图像识别中的应用与挑战后端开发中的数据缓存策略
本文深入探讨了深度学习技术在图像识别领域的应用,包括卷积神经网络(CNN)的原理、常见模型如ResNet和VGG的介绍,以及这些模型在实际应用中的表现。同时,文章也讨论了数据增强、模型集成等改进性能的方法,并指出了当前面临的计算资源需求高、数据隐私等挑战。通过综合分析,本文旨在为深度学习在图像识别中的进一步研究和应用提供参考。 本文探讨了后端开发中数据缓存的重要性和实现方法,通过具体案例解析Redis在实际应用中的使用。首先介绍了缓存的基本概念及其在后端系统性能优化中的作用;接着详细讲解了Redis的常见数据类型和应用场景;最后通过一个实际项目展示了如何在Django框架中集成Redis,
|
21天前
|
缓存 JavaScript 中间件
优化Express.js应用程序性能:缓存策略、请求压缩和路由匹配
在开发Express.js应用时,采用合理的缓存策略、请求压缩及优化路由匹配可大幅提升性能。本文介绍如何利用`express.static`实现缓存、`compression`中间件压缩响应数据,并通过精确匹配、模块化路由及参数化路由提高路由处理效率,从而打造高效应用。
61 6
消息中间件 缓存 监控
81 0
|
1月前
|
存储 缓存 前端开发
缓存技术在软件开发中的应用与优化策略
缓存技术在软件开发中的应用与优化策略
|
2月前
|
缓存 算法 前端开发
深入理解缓存淘汰策略:LRU和LFU算法的解析与应用
【8月更文挑战第25天】在计算机科学领域,高效管理资源对于提升系统性能至关重要。内存缓存作为一种加速数据读取的有效方法,其管理策略直接影响整体性能。本文重点介绍两种常用的缓存淘汰算法:LRU(最近最少使用)和LFU(最不经常使用)。LRU算法依据数据最近是否被访问来进行淘汰决策;而LFU算法则根据数据的访问频率做出判断。这两种算法各有特点,适用于不同的应用场景。通过深入分析这两种算法的原理、实现方式及适用场景,本文旨在帮助开发者更好地理解缓存管理机制,从而在实际应用中作出更合理的选择,有效提升系统性能和用户体验。
82 1
|
2月前
|
缓存 NoSQL 算法
【Azure Redis 缓存】Redis性能指标之Server Load
【Azure Redis 缓存】Redis性能指标之Server Load
|
2月前
|
缓存 前端开发 Linux
哇塞!NPM 缓存竟成开发拦路虎?快来掌握清空秘籍,开启前端开发逆袭之旅!
【8月更文挑战第20天】NPM是前端开发中管理依赖的关键工具。有时需清空其缓存以解决版本不一致或包损坏等问题,确保使用最新依赖。可通过命令`npm cache clean --force`强制清空全部缓存,或手动删除各系统下的缓存文件夹。注意清空缓存可能延长后续安装时间,建议事先备份依赖或确保可重新安装。正确管理缓存有助于提升开发效率。
39 1
|
2月前
|
开发工具 Android开发 iOS开发
从零开始学 Xamarin 开发,新手教程全攻略,安装环境、创建项目、设计界面,轻松开启开发之旅!
【8月更文挑战第31天】Xamarin是一种高效的跨平台移动应用开发工具,迎合了日益增长的移动应用需求。本文为Xamarin新手提供了一套详尽的入门指南,涵盖开发环境搭建、项目创建与配置、用户界面设计及功能实现等关键步骤。通过具体示例,帮助初学者快速上手Xamarin开发,开启移动应用创作之旅。
30 0
下一篇
无影云桌面