ArcGIS中的 .tpk数据

转:http://blog.csdn.net/mytudousi/article/details/33347249

什么是tpk文件

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

为什么要存在tpk文件

为什么要存在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的用处

从上节我们就很容易了解了tpk文件的用处。就是把一些地图缓存数据打包到客户端。什么样的项目会用到这些呢?

  • 手机App

综合流量和速度的问题,手机App完全可以使用这中方式。并且手机app一般没有复杂的GIS功能,主要就是定位和展示。所以把底图提前做成瓦片放在客户端是一个很明智的选择。

  • ArcGIS API for WPF 做的弱GIS类型的项目

之前我们在座ArcGIS的CS项目都是使用ArcEngine,当项目部署的时候,需要安装ArcEngine Runtime。ArcEngine Runtime有几百M,并且需要单独安装,还要验证许可。但如果我们再一个数据管理的项目中,只需要GIS数据的定位、展示和简单修改。那么我们是否还需要ArcEngine呢?之前我们是没有选择的,现在我们多了一个选择,就是ArcGIS Runtime和ArcGIS API for WPF。
ArcGIS API for WPF可以展示ArcServer发布的地图服务。而且ArcGIS Runtime内置了一个ArcServer,在我们部署的系统启动时,通过代码控制可以启动内置的ArcServer。这样我们就可以访问ArcServer提供的功能了,使用起来和单独部署的ArcServer一样。也就是说理论上,ArcGIS API for WPF加上内置的ArcServer是可以完成很多GIS的功能的,包括较为复杂的GIS分析。当我们部署的时候,也会比较简单,直接把生成的部署包拷贝到指定机器上,就可以直接运行。
但我们要注意到一点,这个内置的ArcServer并不是免费的。ArcGIS API for WPF是免费的。当我们做一个更简单的CS系统时(GIS功能简单),只包括底图展示、定位等功能。那么我们要解决的问题就是如何加载底图。因为ArcgIS API是不支持加载mxd的,既然是单机版,又不能访问外部的ArcServer或其他地图服务。这就需要tpk文件了,把底图数据提前做成缓存,放在运行程序下面,就可以。而且这样一来,系统不仅体积小,而且是ArcGIS这块用到的都是免费的。

tpk的制作

使用ArcMap制作

如果你已经有了一个mxd文件,要做成tpk,就可以按照以下方法制作。

1、使用ArcMap打开mxd文件。

2、在菜单-File-Share as-Title Package,如下图所示:

3、进入瓦片参数设置界面。

该界面有三个选项卡,第一个是基本信息,设置保存的路径,第二个选项卡比重要,主要是设置瓦片的格式、分级方式以及切的级别。第三个选项卡就是一些描述信息。

4、最后点击Share按钮,即可以进入瓦片生成过程。这样tpk瓦片文件就生成了。

使用已经切好的瓦片制作tpk文件

如果我们现在的数据不是mxd而是已经是做好的瓦片文件,那么怎么制作tpk文件呢?

其实.tpk文件就是一个压缩文件,当我们把一个.tpk文件后缀名修改成.rar。然后解压出来,就会发现能够解压成功,解压出来的文件如下图所示:

前两个文件夹我们可能不大熟悉,里面都是一些配置信息,可以手工修改,这就不一一介绍了。因为我们现在还看不出来什么。当我们进入v101文件夹后,看下里面的内容:

再点开Layers文件夹

看到这个界面就比较熟悉了吧,这就是ArcServer缓存的结构,也就是说,把已有的缓存,组织成上述结构,压缩成.rar,然后扩展名修改成,tpk就可以了。

如何加载tpk文件

下面我们就以ArcGIS API for WPF来看下如何加载放在本地的tpk文件。

[csharp] view plaincopy

  1. string myMpkFilePath = System.AppDomain.CurrentDomain.BaseDirectory + "\\Data\\Map.tpk";
  2. this.Map.Layers.Add(new ArcGISLocalTiledLayer(myMpkFilePath));

就这么简单。

时间: 2024-08-03 23:15:55

ArcGIS中的 .tpk数据的相关文章

arcgis中DEM如何生成等高线

地形图指比例尺大于1∶100万的着重表示地形的普通地图(根据经纬度进行分幅,常用有1:100万,1:50万,1比25万,1:15万,1:10万,1:5万等等).由于制图的区域范围比较小,因此能比较精确而详细地表示地面地貌水文.地形.土壤.植被等自然地理要素,以及居民点.交通线.境界线.工程建筑等社会经济要素.地形图是根据地形测量或航摄资料绘制的,误差和投影变形都极小.地形图是经济建设.国防建设和科学研究中不可缺少的工具:也是编制各种小比例尺普遍地图.专题地图和地图集的基础资料.不同比例尺的地形图

ArcGIS Engine中加载数据

ArcGIS Engine中加载数据 http://blog.csdn.net/gisstar/article/details/4206822 分类: AE开发积累2009-05-21 16:491118人阅读评论(0)收藏举报 database数据库serveruser工作class 1.加载Shapefile数据 1 IWorkspaceFactory pWorkspaceFactory;2 IFeatureWorkspace pFeatureWorkspace;3 IFeatureLaye

ArcGIS中数据之间的转换接口IFeatureDataConverter2

之前我写过一篇文章关于ArcGIS各种空间数据格式之间转换的通用方法:ArcGIS中sde,mdb,shp数据之间的转换,这里使用的主要接口方法就是用到了IFeatureDataConverter接口的CovertFeatureClass方法,在帮助文档中的说明是"可以被使用来复制或者转换Table,Feature Classes或者是Feature Datasets到其他位置或者数据库格式",具体的步骤,在帮助Converting simple data中写的很清楚详细,这里就不多说

介绍ArcGIS中各种数据的打开方法——tin(栅格文件)

4.加载栅格文件 栅格数据是GIS中重要的数据源之一,如卫星图像.扫描的地图.照片等. 栅格数据常见的格式有Bmp.Tiff.Jpg.Grid等. 添加栅格数据主要使用Rasterlayer 组件类,以及IMap.ILayer.IRasterLayer接口等.Rasterlayer组件类实现了ILayer.IRasterlayer.TTable.IDataset等接口,主要用于栅格数据的打开.显示.操作状态等设置. 介绍一种打开栅格文件的方法 核心代码: #region 添加TIN数据 priv

ArcGIS中影像与影像,影像与点云之间的配准

地图配准可分为影像配准和空间配准.影像配准的对象是raster图,譬如TIFF图.配准后的图可以保存为ESRI GRID, TIFF,或ERDAS IMAGINE格式.空间配准(Spatial Adjustment)是对矢量数据配准. 一.影像配准 在ArcGIS中配准: 1.打开ArcMap,增加Georeferencing工具条. 2. 把需要进行纠正的影像增加到ArcMap中,会发现Georeferencing工具条中的工具被激活.在view/data  frame  properties

ArcGIS中的坐标系统定义与投影转换方法

坐标系统是GIS数据重要的数学基础,用于表示地理要素.图像和观测结果的参照系统,坐标系统的定义能够保证地理数据在软件中正确的显示其位置.方向和距离,缺少坐标系统的GIS数据是不完善的,因此在ArcGIS软件中正确的定义坐标系统以及进行投影转换的操作非常重要. 1. ArcGIS中的坐标系统 ArcGIS中预定义了两套坐标系统,地理坐标系(Geographic coordinate system)和投影坐标系(Projectedcoordinate system). 1.1 地理坐标系 地理坐标系

解决ArcGIS中因SDE或数据库配置问题而导致服务荡掉的一种思路

1.背景 最近连续有两个项目现场出现了AGS服务荡掉的问题,一个是通州现场,一个是福州现场. 1.1通州现场的问题描述和解决思路 通州现场环境为ArcGIS9.2,使用IMS发布的地图服务,其问题表现为每隔两天左右,其地形图服务便会崩溃一次,重启地形图服务后地图可以正常显示. 因为IMS中地图的出图为动态出图,所以其出图时需要通过连接SDE,此问题的出现很可能是SDE中最大连接数的问题. 1.2福州现场的问题描述和解决思路 福州现场环境为ArcGIS10.0,使用的ArcGIS Server发布

arcgis中给属性文件加x y坐标

两种方式: 一, 1在ArcGIS 9.2桌面软件arcview级别以上软件中,加载要添加x,y坐标的数据,打开属性表,添加X.Y字段 2 右键X字段,选择calculate geometry,如果颜色显示为灰色,不能选择,把数据转换成shape格式 3出现了计算坐标的对话框,选择…….. 4最后结果,坐标加入到了属性表中.同样的方法添加y坐标. 二,ArcToolBox->Data Management Tools->Features->Add XY Coordinates工具就能自动

ArcGIS中添加进自定义的ttf字符标记符号

原文:ArcGIS中添加进自定义的ttf字符标记符号 ArcGIS系统中的样式可能不能满足实际生产需要,为了实现快速制图,可自定义一些样式,以便重复利用. 1.   制作的符号库 使用 FontCreator6.0工具制作ttf格式的arcgis的符号库.参考:Jingkunliu的ArcGIS使用字体文件制作符号库!这篇博客. 2.   安装ttf字体符号库 字体包中包含了自定义的一些符号样式,在正式使用样式之前,必须安装.ttf的字体包. 安装字体的包的方式有以下两种,二选一即可: 1) 找