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的切片格式最快。

相关推荐
mit6.8244 小时前
[Redis#4] string | 常用命令 | + mysql use:cache | session
数据库·redis·后端·缓存
WangYan20224 小时前
泥石流灾害风险评估与模拟丨AI与R语言、ArcGIS、HECRAS融合,提升泥石流灾害风险预测的精度和准确性
arcgis·chatgpt·遥感技术·地质灾害·泥石流·hecras·风险评价
Beekeeper&&P...5 小时前
map和redis关系
数据库·redis·缓存
qq_364371727 小时前
Vue 内置组件 keep-alive 中 LRU 缓存淘汰策略和实现
前端·vue.js·缓存
刘九灵17 小时前
Redis ⽀持哪⼏种数据类型?适⽤场景,底层结构
redis·缓存
疯狂学习GIS20 小时前
ArcGIS填补面图层的细小空白并删除主体部分外的零散部分
arcgis·gis·学术工作效率·gis数据
sinat_384241091 天前
在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包
javascript·arcgis·electron
GIS 数据栈1 天前
每日一书 《基于ArcGIS的Python编程秘笈》
开发语言·python·arcgis
煎饼小狗1 天前
Redis五大基本类型——Zset有序集合命令详解(命令用法详解+思维导图详解)
数据库·redis·缓存
雯0609~1 天前
网页F12:缓存的使用(设值、取值、删除)
前端·缓存