zoukankan      html  css  js  c++  java
  • 如何利用已有的切片文件生成TPK

    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文件了。

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

  • 相关阅读:
    Delphi三层开发小技巧:TClientDataSet的Delta妙用
    Delphi ADOQuery的速度优化
    delphi ADOQUery中错误解决方法"无法为更新定位行。一些值可能已在最后...
    ClientDataSet中修改,删除,添加数据和Delta属性
    学习 SQL 语句
    Delphi处理数据网格DBGrid的编辑框 获取还没有提交到数据集的字段文本
    移动前端头部标签(HTML5 head meta)
    最全面的前端开发指南
    解决jQuery.live在mobile safari(iphone / ipad / ipod)绑定失败的问题
    jQuery滑动选取数值范围插件
  • 原文地址:https://www.cnblogs.com/peter-pu/p/3674028.html
Copyright © 2011-2022 走看看