zoukankan      html  css  js  c++  java
  • ArcGIS创建tpk切片缓存

    一. 背景知识

    1. tpk是什么?

    从地图或底图生成切片,并将切片进行打包从而创建单个压缩的 .tpk 文件。切片包(.tpk)是在地图或栅格数据集中能作为 Web 切片或 Web 高程图层发布的一组切片(图像)。此外,在 ArcGIS 应用程序中,切片包还可以用作底图。

    切片封装在单个文件(.tpk 文件)中,切片包会保存到本地且现在可以上传到 ArcGIS Online 或 Portal for ArcGIS等,以便作为 Web 切片图层发布。 1 GB 以内的切片包可通过 ArcGIS Online 或 Portal for ArcGIS 上传。如果大于 1 GB,则可通过共享包来添加到您的内容中。

    2. tpk文件的内部结构?

    设置切片存储方式:

    tpk包中的内容可以是紧凑型(Compact),也可以是松散型(Exploded)。 

    Exploded 松散格式,简单理解就是所有切片以很小的图片形式存储,因为是小文件很多,实际磁盘空间占用很大。切片数据迁移不太容易。

    Compact 紧密格式,可以理解为一种压缩格式。图片存储在.Bundle文件中。数据迁移比较容易。

    其实tpk就是一个zip格式的压缩包,把tpk文件后缀名改成.zip进行解压就会看到一下目录结构:

    3. 为什么要创建地图缓存切片?

    地图缓存切片GeoWebCache(GWC)

     

    tpk是ArcGIS 10.1(截止到目前ArcGIS版本已更新到ArcGIS 10.4)推出的一种新的数据文件类型,主要用于将切片文件打包行程离线地图包,tpk可以在ArcGIS Runtime或ArcGIS for Android/IOS中作为切片底图被加载。

    例如:正在做一个ArcGIS for Android/IOS的应用,考虑到手机流量费及加载速度,希望把地图打包到本地,即从手机客户端本地加载地图包。这些打包的切片数据即为tpk文件。

    因为ArcGIS API是不支持加载mxd的,既然是单机版,又不能访问外部的ArcServer或其他地图服务。这就需要tpk文件了,把底图数据提前做成缓存,放在运行程序下面,就可以。而且这样一来,系统不仅体积小,而且是ArcGIS这块用到的都是免费的。 

    4. ArcGIS中创建切片缓存的方法有哪些,分别是什么?

    二. 详述ARCGIS中创建切片缓存的方法

    ArcGIS 10.x中创建切片缓存的方法(工具)有以下四个:

    1. 在ArcMap中创建tpk切片缓存

    1)打开ArcMap,将数据加载进来即打开.mxd文档;

    2)创建XML 切片方案文件;

    可生成用于定义比例级别、切片尺寸以及地图服务缓存其他属性的 XML 切片方案文件。如果要创建在多个缓存中都可以使用的切片方案,此工具非常有用。在 ArcGIS for Desktop 或 ArcGIS Server 管理器中创建缓存时可加载切片方案文件,也可以运行创建地图服务器缓存将切片方案文件直接作为参数传入。

    切片方案是一种源地图文档空间参考与切片格网之间的映射,用于说明客户端应如何引用缓存中的切片。切片格网将使用细节层次(比例)、行和列参考方案。方案中还将定义缓存中切片的比例级别(细节层次)、切片大小(以像素为单位)以及显示切片时最常用的屏幕分辨率。要生成地图缓存需要定义切片方案。 

    3)启用“共享切片”功能

    需要注意的是:要启用“共享切片”功能,选择ArcMap菜单“自定义”->“ArcMap选项”,在弹出的对话框中选择“共享”选项卡,勾选“启用ArcGIS Runtime工具”复选框。

    4)共享为切片

    此步骤需要导入第2步中的.xml文件。

    “文件”->"共享为"->"切片包”,进入“切片包”参数设置界面,依次设置“切片包”(.tpk文件存储路径)、“切片格式”(设置瓦片的格式、分级方式以及切的级别)、“项目描述”(“摘要”与“标签”是两个必选项)。

     

     成功创建切片包后,会弹出如下提示框:

  • 相关阅读:
    .net从后台返回js的提示框
    使用IntelliTrace的独立收集器帮助测试应用程序
    NuGet笔记
    使用.dmp+vs分析异常
    windbg笔记
    C# 删除文件、文件到到回收站及异常判断
    .Net利用反射调用DLL时,被调用DLL引用其它库问题
    C#中设置窗口圆角样式
    C# 中引用IHTMLDocument2
    c# 单实例运行
  • 原文地址:https://www.cnblogs.com/xixihuang/p/6043109.html
Copyright © 2011-2022 走看看