Tpk是ArcGIS 10.1即将推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包。Tpk可以在ArcGIS Runtime中作为切片底图被加载。在ArcGIS 10.1中Tpk的生成被集成在了ArcGIS Desktop中。

问题提出:通过介绍我们已经知道Tpk是将切片数据打包,而在 ArcMap中制作Tpk的时候,我们选择MXD文档,然后设置切片信息,确定之后,ArcMap就开始为我们切图了,这个时间是比较长(依赖数据的大小 和切片的级别),但是在一些场合下,我们已经有了切片,那么能否将制作Tpk文件过程中的这个切片的擦做省略?(答案是可以的)

一、Tpk文件的组成

Tpk文件其实是一个zip文件,通过解压缩Tpk文件,我们可以得到tpk文件的内部结构,如下图:

其中"China400W"可以替换为你自己项目中的实际名称,其它文件夹名称或文件名称均不能更改。其中V101文件夹中就是我们的切片数据(紧簇型的)和一个.layer  文件。thumbnail文件夹中是一个缩略图,其余文件都是一个描述文件或者说是Tpk文件的配置信息文件,都是XML结构的,尽管有一个文件的后缀名pkinfo,但是这也是一个xml文件,不要被后缀名吓到,里面的东西才是我们关注的。

有了这个结构,我们就需要制作Tpk中需要的文件,总共三个(缩略图和,两个描述文件)

1、制作thumbnail(缩略图)

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

2、拷贝切片文件

将生成的切片文件拷贝至v101目录下。

3、制作layer文件

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

4、生成item.pkinfo文件

在esriinfo目录下新建文件item.pkinfo,文件内容如下,红色部分需修改(其实 Culture='zh-CN'这个也可以修改,不同的国家这个是不一样的,因为我们都在中国,所以这个我就略过了):

<?xml version="1.0" encoding="utf-8"  ?>

<?xml-stylesheet type=" text/xsl" href="http://www.arcgisonline.com/home/pkinfostylesheet.xsl"  ?>

<pkinfo Culture='zh-CN'>

<ID>355b155c-53de-400f-9161-80fc400269dc</ID>

<name>Campus</name>

<version>10.1 Pre-release</version>

<size>-1</size>

<created></created>

<servable>false</servable>

<packagelocation></packagelocation>

<pkinfolocation></pkinfolocation>

</pkinfo>

5、生成iteminfo.xml文件

在esriinfo目录下新建文件iteminfo.xml,文件内容如下,红色部分需修改:

<?xml version="1.0" encoding="utf-8"  ?>

<ESRI_ItemInformation Culture='zh-CN'>

<name>Campus</name>

<guid>355b155c-53de-400f-9161-80fc400269dc</guid>

<catalogpath></catalogpath>

<snippet>Test</snippet>

<description>Test</description>

<summary>Test</summary>

<title>Campus</title>

<tags>Test</tags>

<type>Tile Package</type>

<typekeywords>

<typekeyword>Tile Package</typekeyword>

<typekeyword>ArcGIS Runtime</typekeyword>

<typekeyword>.tpk</typekeyword>

</typekeywords>

<thumbnail>thumbnail/thumbnail.png</thumbnail>

<documentation></documentation>

<url></url>

<datalastmodifiedtime></datalastmodifiedtime>

<extent>

<xmin>-117.200086891459</xmin>

<ymin>34.0552407754784</ymin>

<xmax>-117.191337674152</xmax>

<ymax>34.0596486598776</ymax>

</extent>

<spatialreference>WGS_1984_Web_Mercator_Auxiliary_Sphere</spatialreference>

<accessinformation>Esri., Inc.</accessinformation>

<licenseinfo></licenseinfo>

</ESRI_ItemInformation>

6、打包为tpk

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

根据配置文件的信息,可以写一个小工具,界面如下:

源文地址: <http://blog.csdn.net/arcgis_cs/article/details/7593656>

转:如何利用已有的切片文件生成TPK的更多相关文章

  1. 根据BOM和已存在的文件生成文件列表

    在BOM中记录中有物料编码,物料名称,物料规格等,而且依据BOM已经生成了相应的文件,如采购规格书,检验规格书等,这个时候需要获得这些文件的标题,并且生成一个列表,可以使用下面的VBA代码,具体代码如 ...

  2. 使用XML序列化器生成XML文件和利用pull解析XML文件

    首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...

  3. 利用svn的补丁文件打包生成增量文件

    下面的代码是maven版本 1. 创建patch.txt增量文件 保存到 文件目录下 比如 E:\aa\patch.txt 2. 编写java代码 package utils; import java ...

  4. 利用gsoap工具,通过wsdl文件生成webservice的C++工程文件

    一.下载gsoap文件,下载地址:https://zh.osdn.net/projects/sfnet_gsoap2/releases/ 二.以gsoap-2.8为例,解压到D盘,在D:/gsoap- ...

  5. 开源方案搭建可离线的精美矢量切片地图服务-8.mapbox 之sprite大图图标文件生成(附源码)

    项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.ht ...

  6. ffmpeg文件生成m3u8文件及ts切片程序(一)

    ffmpeg文件生成m3u8文件及ts切片程序(一) 实现目标:输入本地文件,实现m3u8切片,功能点请看注释,注意:注释很重要. 参考: http://www.cnblogs.com/mystory ...

  7. 【maven】如何将一个已有的jar文件,生成maven坐标,并上传至远程仓库

    [一]如何将一个已有的jar文件,生成maven坐标 使用maven构建项目需要在项目中引入自定义的一些包,也像maven一样在工程的pom.xml中引入相应的坐标,这时候我们就要自己把包上传到本地仓 ...

  8. java使用ffmpeg生成HLS切片文件

    /*** * 将文件切割成片 * @param filename * @param uuid * @param data * @throws IOException */ default void d ...

  9. Thymeleaf利用layout.html文件生成页面布局框架

    1.layout.html文件 生成布局 <!DOCTYPE html> <html lang="zh-CN" xmlns:th="http://www ...

随机推荐

  1. TX2中设备树烧写

    将要修改的设备树文件拷贝到下面的目录替换相应的文件 ../64_TX2/Linux_for_Tegra_tx2/kernel/dtb 用micro-USB线连接TX2上的USB OTG口和PC机的US ...

  2. 极限编程(xp),iso国际标准化组织

    极限编程(xp):eXtreme Programming 极限编程-XP 四个价值:沟通 communication.简化 similicity.反馈 feedback.勇气 courage http ...

  3. python学习之路---day04

    一:元组 元组案例:tuple=("张三","李四","王五","小六","大七",["1 ...

  4. oracle数据库导入dmp文件

    最近在自己的机子上安装了oracle11g,今天把项目的测试数据库给导入进来了,方便在本地跑起来调试.下面记录一下过程: 1,导出测试数据库的文件; 这个是在公司三楼的一台机子上,用plsql中的工具 ...

  5. bzoj1818 内部白点(好题) 离散化+树状数组

    题目传送门 题意:给出很多黑点,当一个坐标上下左右都有黑点时,这个点也被染成黑色,问最后黑点的数量. 思路:首先,一个很显然的结论,不可能出现无限染色的情况.所以不会输出-1,当n为0或者1时,答案就 ...

  6. 洛谷P2709 小B的询问

    题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...

  7. UVA - 11029 输出前三位

    题意:给定\(a\)和\(n\),输出\(a^n\)的前三位和后三位 后三位快速幂 \(log_{10}(a^n)=n*log_{10}(a)=n*log_{10}(x*y),y<10,x mo ...

  8. 中间件使用之(UA,IP,selenium)的使用

    一.UA池:User-Agent池 - 作用:尽可能多的将scrapy工程中的请求伪装成不同类型的浏览器身份. - 操作流程: 1.在下载中间件中拦截请求 2.将拦截到的请求的请求头信息中的UA进行篡 ...

  9. ssh无密码登录和scp无密码拷贝

    目的:在A主机上无密码登录B主机 方法: A主机生成密钥:ssh-keygen -t rsa 将密钥复制到B主机:cat ~/.ssh/id_rsa.pub | ssh root@B 'cat > ...

  10. DP Intro - Tree DP Examples

    因为上次比赛sb地把一道树形dp当费用流做了,受了点刺激,用一天时间稍微搞一下树形DP,今后再好好搞一下) 基于背包原理的树形DP poj 1947 Rebuilding Roads 题意:给你一棵树 ...