标签:
转:http://blog.csdn.net/mytudousi/article/details/33347249
tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包,tpk可以在ArcGIS Runtime或者ArcGIS for Android/iOS中作为切片底图被加载。
为什么要存在tpk文件,这个要从需求说起。例如我们要做一个ArcGIS for Android/iOS应用,现在手机的流量还是不便宜的,而且也是为了保证速度,希望把地图数据打包到本地。其实也就是一些切片数据,tpk文件就可以做到。
再例如,ArcGIS API for WPF,该开发包只有几M几个dll。我们要做一个应用的话,只要显示底图数据,然后在这些底图数据的基础上做一个信息管理和定位工作。此时除了显示底图数据之外,不需要其他的复杂的GIS功能。ArcGIS API for WP提供的功能是很简单的,从其dll包的大小也能看出来。去加载mxd吗?ArcGIS API for WPF干不了这事,他要是能做的了,为什么还会有几百M的ArcEngine呢。所以一把情况下都需要连接ArcServer服务,在ArcServer端,ArcServer会把ArcGIS API wpf请求转换成图片,返回给客户端。客户端API再负责显示。这样解析地图数据的功能全在ArcServer端完成。既然ArcGIS RunTime API没有解析地图文件的功能,但是很容易加载图片的,如果我们把切好的瓦片放在客户端,这样ArcGIS Runtime的api不用太大、不用太复杂就可以解析缓存数据,并展示出来。
tpk文件就是干这个的。
从上节我们就很容易了解了tpk文件的用处。就是把一些地图缓存数据打包到客户端。什么样的项目会用到这些呢?
综合流量和速度的问题,手机App完全可以使用这中方式。并且手机app一般没有复杂的GIS功能,主要就是定位和展示。所以把底图提前做成瓦片放在客户端是一个很明智的选择。
如果你已经有了一个mxd文件,要做成tpk,就可以按照以下方法制作。
1、使用ArcMap打开mxd文件。
2、在菜单-File-Share as-Title Package,如下图所示:
3、进入瓦片参数设置界面。
该界面有三个选项卡,第一个是基本信息,设置保存的路径,第二个选项卡比重要,主要是设置瓦片的格式、分级方式以及切的级别。第三个选项卡就是一些描述信息。
4、最后点击Share按钮,即可以进入瓦片生成过程。这样tpk瓦片文件就生成了。
如果我们现在的数据不是mxd而是已经是做好的瓦片文件,那么怎么制作tpk文件呢?
其实.tpk文件就是一个压缩文件,当我们把一个.tpk文件后缀名修改成.rar。然后解压出来,就会发现能够解压成功,解压出来的文件如下图所示:
前两个文件夹我们可能不大熟悉,里面都是一些配置信息,可以手工修改,这就不一一介绍了。因为我们现在还看不出来什么。当我们进入v101文件夹后,看下里面的内容:
再点开Layers文件夹
看到这个界面就比较熟悉了吧,这就是ArcServer缓存的结构,也就是说,把已有的缓存,组织成上述结构,压缩成.rar,然后扩展名修改成,tpk就可以了。
下面我们就以ArcGIS API for WPF来看下如何加载放在本地的tpk文件。
标签:
原文地址:http://www.cnblogs.com/lihaibo-Leao/p/4453525.html