arcgis紧凑型切片缓存(解决大范围切片,文件数量大的问题)

ArcGIS 切片缓存的紧凑型存储格式是一种优化的存储方式,用于提高切片缓存的存储效率和访问速度。紧凑型存储格式将多个切片文件合并为一个单一的 .bundle 文件,从而减少文件系统的开销和切片的加载时间。这类格式已经应用很久了,我记得2013我项目中就采用过此类格式!最重要的是这是一种公开开放的格式有很多代码和库可以读写此类格式。而我们在日常使用软件中应尽量使用公开和开放的格式,以保证系统数据的可兼容性和可迁移性!

1.紧凑型切片缓存的优点

减少文件数量:将多个切片合并为一个 .bundle 文件,可以显著减少文件数量,从而降低文件系统的负担。

提高访问速度:由于文件系统需要处理的文件减少,读取和写入操作的性能得到提升。

节省存储空间:通过压缩和合并,紧凑型格式可以节省一定的存储空间。

便于管理和传输:减少了需要管理和传输的文件数量,简化了缓存的管理和分发过程。

2.创建紧凑型切片缓存

在 ArcGIS 中,可以使用 ArcGIS Pro 或 ArcMap 创建紧凑型切片缓存。以下是一个使用 ArcGIS Pro 创建紧凑型切片缓存的示例步骤:

  • 使用 ArcGIS Pro 创建紧凑型切片缓存

  • 打开 ArcGIS Pro 并创建项目:

  • 打开 ArcGIS Pro 并创建一个新项目或打开一个现有项目。

  • 准备地图文档:

  • 添加要切片的地图图层并进行必要的样式设置和配置。

  • 共享为 Web 地图或 Web 场景:

  • 在"共享"选项卡中,选择"Web 地图"或"Web 场景"。

  • 配置服务参数并发布。

  • 创建缓存:

  • 在发布服务时,选择"使用切片缓存"选项。

  • 配置缓存参数,包括切片方案、切片格式等。

  • 选择"紧凑型"作为缓存存储格式。

  • 生成缓存:

  • 发布服务后,缓存生成过程会自动开始。

  • 生成的切片缓存会存储在指定的缓存目录中,并以紧凑型格式保存。

3.读取方式:

在 ArcGIS 的紧凑型切片缓存中,.bundle 文件和 .bundlex 文件一起工作。.bundle 文件包含实际的切片数据,而 .bundlex 文件是索引文件,描述了每个切片的偏移和大小。要读取 .bundlex 文件并从 .bundle 文件中提取切片数据,你需要理解它们的文件结构。

  • .bundle 文件:存储切片数据。

  • .bundlex 文件:存储索引信息,描述切片在 .bundle 文件中的偏移量和大小。

读取 .bundlex 文件的步骤

  • 读取 .bundlex 文件,获取每个切片的偏移量和大小。

  • 根据索引信息读取 .bundle 文件,提取相应的切片数据。

4.将XYZ型 转 为紧凑型:

要将 XYZ 切片格式转换为 ArcGIS 紧凑型切片缓存格式,可以使用 ArcGIS Pro 中的工具和功能。以下是详细步骤:

使用 ArcGIS Pro 将 XYZ 切片转换为紧凑型切片缓存

准备工作
  1. 确保你有 ArcGIS Pro 和相关的扩展(如 Spatial Analyst 或 3D Analyst)。

  2. 将 XYZ 切片导入为栅格数据集:将 XYZ 格式的切片导入到 ArcGIS 中作为栅格数据集。如果你的数据已经在 XYZ 格式,可以使用适当的工具或脚本进行转换。

具体步骤

第一步:导入 XYZ 切片
  1. 打开 ArcGIS Pro,创建一个新的项目或打开一个现有项目。

  2. 导入 XYZ 切片数据

    • 如果 XYZ 切片以文件夹形式存在,确保所有切片文件按 XYZ 命名规则(例如 z/x/y.png)存放。

    • 使用"添加数据"功能将 XYZ 数据导入到 ArcGIS Pro。

第二步:创建切片缓存
  1. 创建切片图层

    • 在"内容"面板中,右键点击你的地图或影像图层。

    • 选择"共享 > 发布 Web 图层"。

  2. 配置切片缓存

    • 在"共享为 Web 图层"对话框中,填写服务名称和存储位置。

    • 在"配置 Web 图层"页面中,选择"切片"作为图层类型。

    • 配置切片缓存的详细设置,例如切片方案、切片格式、缓存存储格式等。

  3. 选择紧凑型存储格式

    • 在"切片缓存设置"中,选择"紧凑型"作为缓存存储格式。
  4. 生成缓存

    • 配置完成后,点击"发布"按钮。ArcGIS Pro 将开始生成切片缓存,并将其保存为紧凑型格式(.bundle.bundlex 文件)。

但个人认为无论那种压缩或合并格式都会产生效率损失,因为各类普遍应用前端应用读写前都会解压翻译成标准格式,而解压翻译国产就会产生效率损失!所以如小范围还是xyz的切片格式最快。

相关推荐
数智启示录1 小时前
Apache Kafka Consumer 扩到 40 个仍不提速:Partition 上限锁死有效并行度 【Kafka合集】
数据库·经验分享·分布式·缓存·面试·kafka·apache
2601_962297252 小时前
python自带缓存lru_cache用法及扩展的使用_python
python·缓存·装饰器·lru_cache·my_cache
xixingzhe23 小时前
SpringBoot 接口缓存实现
spring boot·后端·缓存
非科班Java出身GISer3 小时前
ArcGIS JS 基础教程(30):体元系列 - VoxelSlice 体元切片
arcgis·arcgis js 体元图层·arcgis js 体元·arcgis 体元图层·arcgis js 体元切片·arcgis 体元切片·arcgis 体元
莫得感情 o14 小时前
Redis 05 · 持久化:RDB 与 AOF 怎么保证数据不丢
redis·缓存
curd_boy15 小时前
【Redis】Redis从缓存到AI向量平台
人工智能·redis·缓存
kiracrimson15 小时前
从缓存的角度看链表与线性表的差异
数据结构·链表·缓存
2601_9623010119 小时前
深入理解缓存(Cache):原理、应用与优化
缓存·计算机原理·优化策略·数据访问·系统性能
数智启示录19 小时前
PostgreSQL 计划缓存实战(第 10 篇):预编译 SQL 前五次都快,第六次为什么可能变慢
经验分享·sql·缓存·postgresql·面试
玩大数据的龙威21 小时前
农经权二轮延包—全面取代人工公示图生成
python·arcgis