当前位置: 首页 > news >正文

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

相关文章:

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

ArcGIS 切片缓存的紧凑型存储格式是一种优化的存储方式,用于提高切片缓存的存储效率和访问速度。紧凑型存储格式将多个切片文件合并为一个单一的 .bundle 文件,从而减少文件系统的开销和切片的加载时间。这类格式已经应用很久了,我记得2013我…...

ESP32CAM人工智能教学15

ESP32CAM人工智能教学15 Flask服务器TCP连接 小智利用Flask在计算机中创建一个虚拟的网页服务器服务器,让ESP32Cam通过WiFi连接,把摄像头拍摄到的图片发送到电脑中,并在电脑中保存成图片文件。 Flask是用Python编写的网页服务程序WebServer。…...

Pandas 33个冷知识 0721

Pandas 33个冷知识 从Excel读取数据: 使用 pd.read_excel(file.xlsx) 来读取Excel文件。 写入Excel: 使用 df.to_excel(file.xlsx, indexFalse) 将DataFrame写入Excel文件。 创建日期索引: 使用 df.set_index(pd.to_datetime(df[date])) 创建日期索引。 向后填充缺失值: 使用…...

C++ map和set的使用

目录 0.前言 1.关联式容器 2.键值对 3.树形结构的关联式容器 3.1树形结构的特点 3.2树形结构在关联式容器中的应用 4.set 4.1概念与性质 4.2使用 5.multiset 5.1概念与性质 5.2使用 6.map 6.1概念与性质 6.2使用 7.multimap 7.1概念与性质 7.2使用 8.小结 &a…...

yarn的安装和配置以及更新总结,npm的对照使用差异

1. Yarn简介 Yarn 是一个由 Facebook 开发的现代 JavaScript 包管理器,旨在提供更快、更安全、更可靠的包管理体验。 1.1 什么是Yarn Yarn 是一个快速、可靠和安全的 JavaScript 包管理器,它通过并行化操作和智能缓存机制,显著提升了依赖安…...

【Git命令】git rebase之合并提交记录

使用场景 在本地提交了两个commit,但是发现根本没有没必要分为两次,需要想办法把两次提交合并成一个提交;这个时候可以使用如下命令启动交互式变基会话: git rebase -i HEAD~N这里 N 是你想要重新调整的最近的提交数。 如下在本地…...

为什么品牌需要做 IP 形象?

品牌做IP形象的原因有多方面,这些原因共同构成了IP形象在品牌建设中的重要性和价值,主要原因有以下几个方面: 增强品牌识别度与记忆点: IP形象作为品牌的视觉符号,具有独特性和辨识性,能够在消费者心中留…...

Kubernetes 1.24 版弃用 Dockershim 后如何迁移到 containerd 和 CRI-O

在本系列的上一篇文章中,我们讨论了什么是 CRI 和 OCI,Docker、containerd、CRI-O 之间的区别以及它们的架构等。最近,我们得知 Docker 即将从 kubernetes 中弃用!(查看 kubernetes 官方的这篇文章)那么让我…...

70. 爬楼梯【 力扣(LeetCode) 】

一、题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 二、测试用例 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶…...

R语言优雅的把数据基线表(表一)导出到word

基线表(Baseline Table)是医学研究中常用的一种数据表格,用于在研究开始时呈现参与者的初始特征和状态。这些特征通常包括人口统计学数据、健康状况和疾病史、临床指标、实验室检测、生活方式、社会经济等。 本人在既往文章《scitb包1.6版本发…...

XMl基本操作

引言 使⽤Mybatis的注解⽅式,主要是来完成⼀些简单的增删改查功能. 如果需要实现复杂的SQL功能,建议使⽤XML来配置映射语句,也就是将SQL语句写在XML配置⽂件中. 之前,我们学习了,用注解的方式来实现MyBatis 接下来我们…...

Linux——Shell脚本和Nginx反向代理服务器

1. Linux中的shell脚本【了解】 1.1 什么是shell Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁 Shell 既是一种命令语言,有是一种程序设计语言 Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问…...

pyspark使用 graphframes创建和查询图的方法

1、安装graphframes的步骤 1.1 查看 spark 和 scala版本 在终端输入: spark-shell --version 查看spark 和scala版本 1.2 在maven库中下载对应版本的graphframes https://mvnrepository.com/artifact/graphframes/graphframes 我这里需要的是spark 2.4 scala 2.…...

【web】-flask-简单的计算题(不简单)

打开页面是这样的 初步思路,打开F12,查看头,都发现了这个表达式的base64加密字符串。编写脚本提交答案,发现不对; 无奈点开source发现源代码,是flask,初始化表达式,获取提交的表达式&#xff0…...

Apache Sqoop

Apache Sqoop是一个开源工具,用于在Apache Hadoop和关系型数据库(如MySQL、Oracle、PostgreSQL等)之间进行数据的批量传输。其主要功能包括: 1. 数据导入:从关系型数据库(如MySQL、Oracle等)中将…...

【Python】TensorFlow介绍与实战

TensorFlow介绍与使用 1. 前言 在人工智能领域的快速发展中,深度学习框架的选择至关重要。TensorFlow 以其灵活性和强大的社区支持,成为了许多研究者和开发者的首选。本文将进一步扩展对 TensorFlow 的介绍,包括其优势、应用场景以及在最新…...

第100+16步 ChatGPT学习:R实现Xgboost分类

基于R 4.2.2版本演示 一、写在前面 有不少大佬问做机器学习分类能不能用R语言,不想学Python咯。 答曰:可!用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了,就帮各位搬运一下吧。 二、R代码实现Xgboost分类 &#xff08…...

【操作系统】定时器(Timer)的实现

这里写目录标题 定时器一、定时器是什么二、标准库中的定时器三、实现定时器 定时器 一、定时器是什么 定时器也是软件开发中的⼀个重要组件.类似于⼀个"闹钟".达到⼀个设定的时间之后,就执行某个指定 好的代码. 定时器是⼀种实际开发中⾮常常用的组件. ⽐如⽹络通…...

鸿蒙Navigation路由能力汇总

基本使用步骤: 1、新增配置文件router_map: 2、在moudle.json5中添加刚才新增的router_map配置: 3、使用方法: 属性汇总: https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-compone…...

​1:1公有云能力整体输出,腾讯云“七剑”下云端

【全球云观察 | 科技热点关注】 曾几何时,云计算技术的兴起,为千行万业的数字化创新带来了诸多新机遇,同时也催生了新产业新业态新模式,激发出高质量发展的科技新动能。很显然,如今的云创新已成为高质量发…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

SpringCloudGateway 自定义局部过滤器

场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...