一. 背景知识
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文件存储路径)、“切片格式”(设置瓦片的格式、分级方式以及切的级别)、“项目描述”(“摘要”与“标签”是两个必选项)。
成功创建切片包后,会弹出如下提示框: