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 ...
随机推荐
- Mysql的基础使用之MariaDB安装
初学mysql的小白,首次写博客,为了能让自己记得更加深刻,也是以一种小白的角度交代初学者的经历和困难,也算是记录自己成长的步伐吧 我首次用mysql是在ubuntu上 ,现在用的是linux 中的R ...
- HTML5 input placeholder 颜色修改
在开发中遇到的一个小问题,记录下来./*placehodel*/ input:-ms-input-placeholder{color:#a9a9a9;}/* Internet Explorer 10+ ...
- 七牛整合PHP上传文件
七牛支持抓取远程图片 API,用 access_key + secret_key + url 生成 access_token, 把 access_token 加在 header 里,然后向 post ...
- 获得ip地理信息的几种方法
目前已知的有腾讯.新浪.网易.搜狐和Google提供IP地址查询API,但是找得到的只有腾讯.新浪和网易的,Google的貌似要用Google Maps所以没有研究.看了下国内的几个腾讯提供的是Jav ...
- 一场属于HTML5守望者的盛宴——记图灵参加HTML5峰会
2013年8月,北京正是一个火热的季节.一场火热的盛会,HTML5 峰会如约来袭.这是一场属于 HTML5 守望者的盛宴!HTML5作为一项新兴的技术,其未来是光明的,但是道路却是曲折的.需要标准的不 ...
- Dynamics AX 2012 的工业物联网解决方案
Dynamics AX 2012 的工业物联网解决方案 物联网 物联网的概念在这两年非常火,包括近期很火的共享单车初创公司--摩拜单车,在产品中运用了Azure Iot物联网技术.但是,物联网并不是一 ...
- 删除变长列字段后使用DBCC CLEANTABLE回收空间
标签:SQL Server Reclaim space 收缩表 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lzf328.bl ...
- caffe model 可视化
1. 打开网址 http://ethereon.github.io/netscope/#/editor 2.将自己的train_test.prototxt里的复制粘贴到左边 3.然后同时shift+e ...
- 非常好的javascript 代码
与其他Javascript类库冲突解决方案 $(document).ready(function() { var $jq = jQuery.noConflict(); $jq('#id').show( ...
- mac上eclipse用gdb调试(转)
mac上eclipse用gdb调试 With its new OS release, Apple has discontinued the use of GDB in OS X. Since 2005 ...