最近需要将ArcGIS9.3的切片转换成离线包tpk,问了一下esri技术支持,基本思路是先将松散模式的切片转换成紧凑型的切片,然后将生成的切片放到tpk的离线包里面,供移动端使用。

参考博客:ArcGIS 切片缓存紧凑文件格式分析与使用

              3种方法快速制作tpk文件

具体操作如下:

已经有了松散模式的切片,格式如下图:

arcgis 切图 python arcgis切片tpk_缓存

首先发布一个模板服务,用来显示旧的切片,再发布服务的时候,如果想使用以前的切片方案可以修改服务编辑器里面的“缓存”设置,选中“使用缓存中的切片”,选择“切片方案文件”,这个文件就是之前切图时生成的conf.xml文件。在下面选择“发布服务后手动构建缓存”如下图:

arcgis 切图 python arcgis切片tpk_缓存_02

如果没有切片方案,可以手动自己添加固定的比例尺,如下图所示:

arcgis 切图 python arcgis切片tpk_tpk_03

然后设置切片的格式,如下图所示:

arcgis 切图 python arcgis切片tpk_arcgis 切图 python_04

如果需要重新切片或者是设置切片格式,需要删除切片,然后在ArcGIS Server Manager界面里面编辑,亦可以在ArcCatalog里面右键服务,点击"服务属性"以重新打开服务编辑器对话框来修改,ArcGIS Server Manager编辑如下图所示:

arcgis 切图 python arcgis切片tpk_ArcGIS Server_05

设置好之后找到切片保存的位置,然后将之前的切片放在相同的目录下面,如下图所示:

arcgis 切图 python arcgis切片tpk_切片_06

放好之后就可以在ArcGIS Server Manager里面浏览刚才存放的切片了。

现在需要将切片的格式转换,转换工具如下图:

arcgis 切图 python arcgis切片tpk_切片_07

选中服务之后直接点击确定来修改缓存的存储方式。转换后缓存格式如下图:

arcgis 切图 python arcgis切片tpk_切片_08

然后使用之前的模板文档生成一个tpk,具体方法见文章开始链接。生成tpk压缩包的时候只选择一级即可,如下图所示,里面的切片稍后再替换。

arcgis 切图 python arcgis切片tpk_tpk_09

生成完后使用解压工具将tpk文件打开,然后用ArcGIS Server生成的缓存文件替换掉里面的缓存文件和缓存文件信息,如下图所示:

arcgis 切图 python arcgis切片tpk_切片_10

这样tpk就制作好了, 不过最后需要测试通过才行,这个推荐一个开源软件Portable Basemap Server,界面如下图:

arcgis 切图 python arcgis切片tpk_缓存_11