ArcGIS创建tpk切片缓存
一. 背景知识
1. tpk是什么?
从地图或底图生成切片,并将切片进行打包从而创建单个压缩的 .tpk 文件。切片包(.tpk)是在地图或栅格数据集中能作为 Web 切片或 Web 高程图层发布的一组切片(图像)。此外,在 ArcGIS 应用程序中,切片包还可以用作底图。
切片封装在单个文件(.tpk 文件)中,切片包会保存到本地且现在可以上传到 ArcGIS Online 或 Portal for ArcGIS等,以便作为 Web 切片图层发布。 1 GB 以内的切片包可通过 ArcGIS Online 或 Portal for ArcGIS 上传。如果大于 1 GB,则可通过共享包来添加到您的内容中。
tpk文件的内部结构?
设置切片存储方式:
tpk包中的内容可以是紧凑型(Compact),也可以是松散型(Exploded)。
Exploded 松散格式,简单理解就是所有切片以很小的图片形式存储,因为是小文件很多,实际磁盘空间占用很大。切片数据迁移不太容易。

Compact 紧密格式,可以理解为一种压缩格式。图片存储在.Bundle文件中。数据迁移比较容易。
其实tpk就是一个zip格式的压缩包,把tpk文件后缀名改成.zip进行解压就会看到一下目录结构:
2. 为什么要创建地图缓存切片?
地图缓存切片GeoWebCache(GWC)
tpk是ArcGIS 10.1(截止到目前ArcGIS版本已更新到ArcGIS 10.4)推出的一种新的数据文件类型,主要用于将切片文件打包行程离线地图包,tpk可以在ArcGIS Runtime或ARCGIS for Android/IOS中作为切片底图被加载。
例如正在做一个ArcGIS for Android/IOS的应用,考虑到手机流量费及加载速度,希望把地图打包到本地,即从手机客户端本地加载地图包。这些打包的切片数据即为tpk文件。
因为ArcgIS API是不支持加载mxd的,既然是单机版,又不能访问外部的ArcServer或其他地图服务。这就需要tpk文件了,把底图数据提前做成缓存,放在运行程序下面,就可以。而且这样一来,系统不仅体积小,而且是ArcGIS这块用到的都是免费的。
3. ArcGIS中创建切片缓存的方法有哪些,分别是什么?
二. 详述ARCGIS中创建切片缓存的方法
ArcGIS 10.x中创建切片缓存的方法(工具)有以下四个:
1. 在ArcMap中创建tpk切片缓存
1)打开ArcMap,将数据加载进来即打开.mxd文档;
2)创建XML 切片方案文件;
可生成用于定义比例级别、切片尺寸以及地图服务缓存其他属性的 XML 切片方案文件。如果要创建在多个缓存中都可以使用的切片方案,此工具非常有用。在 ArcGIS for Desktop 或 ArcGIS Server 管理器中创建缓存时可加载切片方案文件,也可以运行创建地图服务器缓存将切片方案文件直接作为参数传入。
切片方案是一种源地图文档空间参考与切片格网之间的映射,用于说明客户端应如何引用缓存中的切片。切片格网将使用细节层次(比例)、行和列参考方案。方案中还将定义缓存中切片的比例级别(细节层次)、切片大小(以像素为单位)以及显示切片时最常用的屏幕分辨率。要生成地图缓存需要定义切片方案。


3)启用“共享切片”功能
需要注意的是:要启用“共享切片”功能,选择ArcMap菜单“自定义”->“ArcMap选项”,在弹出的对话框中选择“共享”选项卡,勾选“启用ArcGIS Runtime工具”复选框。

4)共享为切片
此步骤需要导入第2步中的.xml文件。
“文件”->"共享为"->"切片包”,进入“切片包”参数设置界面,依次设置“切片包”(.tpk文件存储路径)、“切片格式”(设置瓦片的格式、分级方式以及切的级别)、“项目描述”(“摘要”与“标签”是两个必选项)。




成功创建切片包后,会弹出如下提示框:

ArcGIS创建tpk切片缓存的更多相关文章
- 【转】ArcGIS 创建切片缓存方法工具总结
ArcGIS 创建切片缓存方法工具总结 http://wenku.baidu.com/link?url=Bm8AkmcJBzfiyat9N_Me6vlfSHEDCC_D1qBk5IB4X4CIDeKI ...
- ArcGIS制作tpk离线压缩包
ArcGIS制作tpk离线压缩包 tpk是什么的缩写,对应的中文名称是? 什么叫tpk文件? 缓存切片? 切片类型:紧凑型与稀疏型. 一.目前自己使用的在ArcMap中制作tpk压缩包 1.首先打 ...
- ArcGis(01)——地图切片以及发布底图服务
ArcGis(01)——地图切片以及发布底图服务 环境 操作系统:win10_x64 Gis版本:Arcis server 10.2 准备 1.tif格式地图资源 2.Arcis server 10. ...
- 初学C#和MVC的一些心得,弯路,总结,还有教训(4)--Cache 关于创建多个缓存实例
asp.net中的数据缓存可以用 HttpRuntime.Cache ,这个是大家都知道的,但如果缓存的数据比较多,又比较杂乱,想要把缓存分开管理(也就是创建多个缓存实例)应该怎么做呢... 于是常规 ...
- HTML 5 应用程序缓存(Application Cache)cache manifest 文件使用 html5 中创建manifest缓存以及更新方法 一个manifest文件会创建一份缓存,不同的manifest文件其缓存的内容是互不干扰的
HTML5 离线缓存-manifest简介 HTML 5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(A ...
- GeoServer中配置GeoWebCache切片缓存目录
war版的GeoServer中,默认情况下,GeoWebCache切片会缓存在C盘某目录下.该目录比较隐蔽,并且随着切片缓存的增多,所占空间也会越来越大,所以建议手动配置其切换缓存目录. 配置方式:在 ...
- 【Excle数据透视表】如何创建非共享缓存的数据透视表
一般情况下,利用同一个数据源创建多个数据表时,默认创建的是共享缓存的数据透视表.刷新一个数据透视表时会影响其他数据透视表的展示结果. 解决方案 创建非共享缓存的多个数据透视表 步骤一 单击工作表数据任 ...
- ArcGIs创建企业级数据库
本文主要描述ArcGIs创建企业级数据库. 目标:创建企业级地理数据库,使用ArcMap通过SDE引擎 与Oracle交互数据,创建完成后将本地的mdb数据库中数据迁移到Oracle的地理数据库当中. ...
- arcgis创建postgre企业级数据库
什么是企业级地理数据库? 企业级地理数据库(ArcSD Enterprise,sde)是和 arcGIS 套件集成程度最高的地理数据库:创建时需要用到安装 arcGIS Server 时的 [ecp ...
随机推荐
- GIT版本库回滚【图文版】
git 版本库回滚,在实际开发过程中总会遇得到 1. 先找出需要回滚的commitid git log -3 2. 重置本地版本库到指定commitid, 注意:本地改动将丢失 ...
- 3.Git的诞生和其分布式的优点
Git的诞生 省略了,喜欢的可以看百度. 分布式的优点 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完 ...
- windows系统nginx配置root绝对路径的问题
看了下logs下面的error.log文件,发现路径有问题,修改了conf配置,把root的路径反斜杠要用两个反斜杠进行转义,再次运行正常了.
- session原理及实现共享
一.session的本质http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你.那么,在一些场合,确实需要服务器记住当前用户怎么办?比如用户登录邮箱 ...
- Orcle数据库 表的 内置函数 内链接 外连接 相关练习题
- 瘋子C语言笔记(指针篇)
指针篇 1.基本指针变量 (1)定义 int i,j; int *pointer_1,*pointer_2; pointer_1 = &i; pointer_2 = &j; 等价于 i ...
- Netsuite > Foreign Currency Revaluation 外币评估
MENU: Transactions > Financial > Revalue Open Currency Balances 使用频率: - 每个月月底,结账前, 手工操作. - 或者在 ...
- Linux signal 常见的信号含义表
http://blog.csdn.net/xgjianstart/article/details/4544418 通过命令 kill -l 可查看全部信号 SIGHUP 终止进程 终端线路挂断 本信 ...
- 【Python】使用Supervisor来管理Python的进程
来源 : http://blog.csdn.net/xiaoguaihai/article/details/44750073 1.问题描述 需要一个python的服务程序在后台一直运行,不能让 ...
- Android 软件盘 Editext 问题
显示的问题:android:windowSoftInputMode="adjustPan|stateHidden" 弹出布局Editext并且挤上去 android:windowS ...