来自:http://blog.csdn.net/arcgis_mobile/article/details/8048549

tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包,tpk可以在ArcGIS Runtime或者ArcGIS for Android/iOS中作为切片底图被加载,有多种制作tpk的方法,分别如下:

使用ArcMap制作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

 

另外一种方法是直接通过GP工具完成tpk的制作。

选择“ArcToolbox”-》“Data Management Tools ”-》“Create Map Tile Package”,如下:

运行该GP工具,弹出如下对话框:

选择要制作tpk的地图文档mxd,指定tpk保存的位置,切片格式默认使用PNG,级别根据需要设置,点击“ok“即可完成的tpk制作。

使用已有的紧凑型切片制作tpk

 

1、Tpk文件的组成

tpk文件其实是一个zip文件,通过解压缩Tpk文件,我们可以得到tpk文件的内部结构,由esriinfo和V101两个文件夹组成,如下图:

其中,"Trchive"可以替换为你自己项目中的实际名称,其它文件夹名称或文件名称均不能更改。thumbnail文件夹中存放的是切片的一个缩略图,其余文件是描述文件或者说是tpk文件的配置信息文件,尽管有一个文件的后缀名pkinfo,都是XML结构的;V101文件夹中就是我们熟悉的紧凑型切片数据和一个.layer文件。

熟悉了tpk的结构,制作tpk数据集就容易了,先按照其组成在项目文件夹下新建两个目录esriinfo和V101,之后制作其它文件,我们需要制作的文件共有四个:一个缩略图,两个描述文件,以及一个layer文件。

 

2、制作thumbnail(缩略图)

为切片制作一个200×133大小,格式为png的缩略图,并保存至esriinfo目录下的thumbnail文件夹下(在实际过程中,没这个文件也是可以的)。

3、生成item.pkinfo文件

在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>

4、生成iteminfo.xml文件

 

在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的生成网络上有很多介绍,在此不赘述。

 

5、制作layer文件

打开ArcMap,添加切片文件到ArcMap中,设置文档保存属性为相对路径,将添加的切片图层另存为layer文件,同时,将生成的切片文件和layer文件拷贝至V101目录下。

6、打包为tpk

将整个项目目录打包为zip,打包时选择存储。将文件后缀名更改为tpk就得到我们所需要的tpk文件了。

 
2

arcgis 3种方法快速制作tpk文件(转)的更多相关文章

  1. 3种方法快速制作tpk文件 [转]

    tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包,tpk可以在ArcGIS Runtime或者ArcGIS for Android/iOS中作为切片底图被 ...

  2. win10系统U盘读取不了怎么解决 三种方法快速解决&quot;文件或目录损坏且无法读取& 发布时间:2020-06-05 09:19:46 作者:佚名 我要评论

    win10系统U盘读取不了怎么解决 三种方法快速解决"文件或目录损坏且无法读取&   发布时间:2020-06-05 09:19:46   作者:佚名    我要评论 win10电脑 ...

  3. 两种方法上传本地文件到github

    https://www.jianshu.com/p/c70ca3a02087 自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的 ...

  4. 两种方法上传本地文件到github(转)

    自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的原因是我习惯本地编辑,完成以后再一起上传github.看过了几个教程,总结出最 ...

  5. 四种方法获取可执行程序的文件路径(.NET Core / .NET Framework)

    原文:四种方法获取可执行程序的文件路径(.NET Core / .NET Framework) 本文介绍四种不同的获取可执行程序文件路径的方法.适用于 .NET Core 以及 .NET Framew ...

  6. 【转】Linux 中清空或删除大文件内容的五种方法(truncate 命令清空文件)

    原文: http://www.jb51.net/article/100462.htm truncate -s 0 access.log -------------------------------- ...

  7. 5种方法获取url中文件的扩展名

    /** * strrchr - 查找指定字符在字符串中的最后一次出现 * strrpos — 计算指定字符串在目标字符串中最后一次出现的位置 * end — 将数组的内部指针指向最后一个单元 * pa ...

  8. k.tt 研究下生成的逻辑代码:从壹开始前后端分离 [.netCore 填坑 ] 三十二║ 四种方法快速实现项目的半自动化搭建

    更新 1.更新小伙伴 @大龄Giser 提出好点子:试试VS的插件扩展:VSIX.ItemProject等,将T4模板给制作插件,这里先记下,有懂的小伙伴可以自己先试试,我会在以后更新. 2.感谢小伙 ...

  9. C#读取资源文件的两种方法及保存资源文件到本地

    方法1 GetManifestResourceStream   VB.NET中资源的名称为:项目默认命名空间.资源文件名 C#中则是:项目命名空间.资源文件所在文件夹名.资源文件名 例如:istr = ...

随机推荐

  1. jQuery 动画用法

    jQuery动画: <head> <meta charset="UTF-8"> <title>Title</title> <s ...

  2. 通过MSI解压缩Cab文件

    迁移自我的Github 如果只是想做类似解压缩的操作,那么可以使用如下命令行 C:\Windows\System32\expand.exe <cab file path> -F:* < ...

  3. win10 压缩包安装mysql8.0.11报错:Access denied for user 'root'@'localhost'

    按这篇:https://blog.csdn.net/Myuhua/article/details/84792121#commentsedit 这里精简下,还有update语句中authenticati ...

  4. 一款开源免费的办公套件系统:DzzOffice详细部署

    一.系统环境 个人建议centos 7 系统 cat /etc/redhat-release CentOS Linux release (Core) 基本更新 yum update -y 基本优化 关 ...

  5. div实现高度自适应的textarea

    textarea使我们常常使用的一种表单形式,多用于大段文字的输入,大多数情况下,textarea都是可以满足需求的,但是当我们希望这个输入框高度自适应的时候,textarea就很难做到了. ok,主 ...

  6. Python爬虫学习:一些关于爬虫的知识的充电

    什么是Http和Https http协议:全称是HyperText Transfer Protocol,中文意思是超文本传输协议,是一种发布和接收Html页面的方法.默认的端口号是80 https协议 ...

  7. Android动画原理

    1 Frame Animation:大体意思就是将UI设计的多张图片组成的动画,然后在将他们组合起来连贯进行播放,类似于早期电影的工作原理. 2 Tween Animation:是对某个View进行一 ...

  8. struts2 基本流程

    一.配置过程 1.在web.xml中配置过滤器 <filter> <filter-name>StrutsPrepareAndExecuteFilter</filter-n ...

  9. 关于docker的理解随记

    1.容器其实不是什么新技术,说白了就是namespace对资源进行隔离,再加UFS实现分层镜像,以及cgroup实现资源限制.这些技术,都是linux中已有的技术,而且有些技术很早之前就有了. 2.上 ...

  10. 05 JDK1.5 Lock锁

    一.synchronized的再次讨论 使用synchronized关键字来标记一个方法或者代码块,当某个线程调用该对象的synchronized方法或者访问synchronized代码块时, 这个线 ...