tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包,tpk可以在ArcGIS Runtime或者ArcGIS for Android/iOS中作为切片底图被加载,有多种制作tpk的方法,分别如下:
在ArcGIS10.1中tpk的生成被集成在了ArcGIS for Desktop中,制作方法如下:
1、打开ArcMap,将数据加载进来,选择菜单Customize-》ArcMap Options,在弹出的对话框中选择“sharing”选项卡,勾选“Enable ArcGIS Runtime Tools”;
2、此时,在File文件菜单中的“share as…”菜单下就多了一个选项“Tile Package…”,选择该菜单,弹出“Tile Package”对话框,设置各个标签页中的参数,基本都和发布ArcGIS for Server地图服务时的参数相同,填写完成后点击“Analyze”,如果报错则根据错误提示重新修改各个参数,最后点击Share,开始制作tpk文件:
另外一种方法是直接通过GP工具完成tpk的制作。
选择“ArcToolbox”-》“Data Management Tools ”-》“Create Map Tile Package”,如下:
运行该GP工具,弹出如下对话框:
选择要制作tpk的地图文档mxd,指定tpk保存的位置,切片格式默认使用PNG,级别根据需要设置,点击“ok“即可完成的tpk制作。
tpk文件其实是一个zip文件,通过解压缩Tpk文件,我们可以得到tpk文件的内部结构,由esriinfo和V101两个文件夹组成,如下图:
其中,"Trchive"可以替换为你自己项目中的实际名称,其它文件夹名称或文件名称均不能更改。thumbnail文件夹中存放的是切片的一个缩略图,其余文件是描述文件或者说是tpk文件的配置信息文件,尽管有一个文件的后缀名pkinfo,都是XML结构的;V101文件夹中就是我们熟悉的紧凑型切片数据和一个.layer文件。
熟悉了tpk的结构,制作tpk数据集就容易了,先按照其组成在项目文件夹下新建两个目录esriinfo和V101,之后制作其它文件,我们需要制作的文件共有四个:一个缩略图,两个描述文件,以及一个layer文件。
为切片制作一个200×133大小,格式为png的缩略图,并保存至esriinfo目录下的thumbnail文件夹下(在实际过程中,没这个文件也是可以的)。
在esriinfo目录下新建文件item.pkinfo,文件内容如下,红色部分需修改(其实 Culture='zh-CN'这个也可以修改,不同的国家这个是不一样的,因为我们都在中国,所以这个我就略过了):
<?xml version="1.0"encoding="utf-8" ?>
<?xml-stylesheettype="text/xsl"
href="http://www.arcgisonline.com/home/pkinfostylesheet.xsl"?>
<pkinfo Culture='zh-CN'>
<ID>F24BC58B-F4A6-4414-921D-B762DE9545F3</ID>
<name>Test</name>
<version>10.1Pre-release</version>
<size>-1</size>
<created></created>
<type>Tile Package</type>
<servable>false</servable>
<packagelocation></packagelocation>
<pkinfolocation></pkinfolocation>
</pkinfo>
在esriinfo目录下新建文件iteminfo.xml,文件内容如下,红色部分必须修改,蓝色部分为一些描述信息,可随意填写:
<?xml version="1.0"encoding="utf-8" ?>
<ESRI_ItemInformationCulture='zh-CN'>
<name>Test</name>
<guid>F24BC58B-F4A6-4414-921D-B762DE9545F3</guid>
<catalogpath></catalogpath>
<snippet>Test</snippet>
<description>Test</description>
<summary>Test</summary>
<title>Test</title>
<tags>Test</tags>
<type>Tile Package</type>
<typekeywords>
<typekeyword>TilePackage</typekeyword>
<typekeyword>ArcGISRuntime</typekeyword>
<typekeyword>.tpk</typekeyword>
</typekeywords>
<thumbnail>thumbnail/thumbnail.png</thumbnail>
<documentation></documentation>
<url></url>
<datalastmodifiedtime></datalastmodifiedtime>
<extent>
<xmin>-179.999999999987</xmin>
<ymin>-86.3842826037127</ymin>
<xmax>179.999999999987</xmax>
<ymax>86.3842826106563</ymax>
</extent>
<spatialreference>WGS_1984_Web_Mercator_Auxiliary_Sphere</spatialreference>
<accessinformation></accessinformation>
<licenseinfo></licenseinfo>
</ESRI_ItemInformation>
Tips:可能你已经注意到,这两个配置文件中,红色部分的<name>和<guid>标签的值是一样的,对,它们的值必须一一对应,name为.mxd的名字,guid则是全球唯一标识号,可使用一些软件自动生成。关于guid的生成网络上有很多介绍,在此不赘述。
打开ArcMap,添加切片文件到ArcMap中,设置文档保存属性为相对路径,将添加的切片图层另存为layer文件,同时,将生成的切片文件和layer文件拷贝至V101目录下。
将整个项目目录打包为zip,打包时选择存储。将文件后缀名更改为tpk就得到我们所需要的tpk文件了。