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,则可通过共享包来添加到您的内容中。
tpk文件的内部结构?
设置切片存储方式:
tpk包中的内容可以是紧凑型(Compact),也可以是松散型(Exploded)。
Exploded 松散格式,简单理解就是所有切片以很小的图片形式存储,因为是小文件很多,实际磁盘空间占用很大。切片数据迁移不太容易。
Compact 紧密格式,可以理解为一种压缩格式。图片存储在.Bundle文件中。数据迁移比较容易。
其实tpk就是一个zip格式的压缩包,把tpk文件后缀名改成.zip进行解压就会看到一下目录结构:
2. 为什么要创建地图缓存切片?
地图缓存切片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这块用到的都是免费的。
3. 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文件存储路径)、“切片格式”(设置瓦片的格式、分级方式以及切的级别)、“项目描述”(“摘要”与“标签”是两个必选项)。
成功创建切片包后,会弹出如下提示框:
ArcGIS创建tpk切片缓存的更多相关文章
- 【转】ArcGIS 创建切片缓存方法工具总结
ArcGIS 创建切片缓存方法工具总结 http://wenku.baidu.com/link?url=Bm8AkmcJBzfiyat9N_Me6vlfSHEDCC_D1qBk5IB4X4CIDeKI ...
- ArcGIS制作tpk离线压缩包
ArcGIS制作tpk离线压缩包 tpk是什么的缩写,对应的中文名称是? 什么叫tpk文件? 缓存切片? 切片类型:紧凑型与稀疏型. 一.目前自己使用的在ArcMap中制作tpk压缩包 1.首先打 ...
- ArcGis(01)——地图切片以及发布底图服务
ArcGis(01)——地图切片以及发布底图服务 环境 操作系统:win10_x64 Gis版本:Arcis server 10.2 准备 1.tif格式地图资源 2.Arcis server 10. ...
- 初学C#和MVC的一些心得,弯路,总结,还有教训(4)--Cache 关于创建多个缓存实例
asp.net中的数据缓存可以用 HttpRuntime.Cache ,这个是大家都知道的,但如果缓存的数据比较多,又比较杂乱,想要把缓存分开管理(也就是创建多个缓存实例)应该怎么做呢... 于是常规 ...
- HTML 5 应用程序缓存(Application Cache)cache manifest 文件使用 html5 中创建manifest缓存以及更新方法 一个manifest文件会创建一份缓存,不同的manifest文件其缓存的内容是互不干扰的
HTML5 离线缓存-manifest简介 HTML 5 应用程序缓存 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(A ...
- GeoServer中配置GeoWebCache切片缓存目录
war版的GeoServer中,默认情况下,GeoWebCache切片会缓存在C盘某目录下.该目录比较隐蔽,并且随着切片缓存的增多,所占空间也会越来越大,所以建议手动配置其切换缓存目录. 配置方式:在 ...
- 【Excle数据透视表】如何创建非共享缓存的数据透视表
一般情况下,利用同一个数据源创建多个数据表时,默认创建的是共享缓存的数据透视表.刷新一个数据透视表时会影响其他数据透视表的展示结果. 解决方案 创建非共享缓存的多个数据透视表 步骤一 单击工作表数据任 ...
- ArcGIs创建企业级数据库
本文主要描述ArcGIs创建企业级数据库. 目标:创建企业级地理数据库,使用ArcMap通过SDE引擎 与Oracle交互数据,创建完成后将本地的mdb数据库中数据迁移到Oracle的地理数据库当中. ...
- arcgis创建postgre企业级数据库
什么是企业级地理数据库? 企业级地理数据库(ArcSD Enterprise,sde)是和 arcGIS 套件集成程度最高的地理数据库:创建时需要用到安装 arcGIS Server 时的 [ecp ...
随机推荐
- JS数组操作示意图(shift,unshift,pop,push)
shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b: ...
- ASP.NET MVC异常处理
ASP.NET MVC异常处理方案 如何保留异常前填写表单的数据 ASP.NET MVC中的统一化自定义异常处理 MVC过滤器详解 MVC过滤器使用案例:统一处理异常顺道精简代码 ASP.NET MV ...
- BigDecimal使用中的坑
1.BigeDecimal调用divide时一定要记得规定小数位数的保留情况,不然除不尽的时候报错. 2.使用该种BigeDecimal时,加减乘除都要使用它内部封装好的方法,不然容易报错.
- 整理单机安装RabbitMQ,留着备用
一.安装erlang 1.安装erlang依赖: yum install build-essential openssl openssl-devel unixODBC unixODBC-devel m ...
- php 中文繁简体转换
<?php $testC = new TestC (); $testC->index (); class TestC { private $utf8_gb2312; private $ut ...
- Java + 腾讯企业邮箱 + javamail + SSL 发送邮件
说实话腾讯的企业邮箱真心不错! 腾讯企业邮箱官网:http://exmail.qq.com/login/ 新用户注册:http://exmail.qq.com/onlinesell/intro 点击开 ...
- winfrom 文字滚动
winfrom 文字滚动 http://www.codeproject.com/Articles/6913/Creating-a-professional-looking-GDI-drawn-cust ...
- 不用git将项目push到码云上
1.在码云上创建一个项目: 2.打开STS(spring Tool Suite) 新建一个Maven(webapp)项目: 3.打开你的码云账号,把码云上的工程的URL复制: 4.重新在另一个目录 ...
- [Machine-Learning] 熟悉Matlab
浮点数取整的几个函数 floor: 向下取整 ceil: 向上取整 round: 取最接近的整数 fix: 向0取整 不等于 Matlab 中,使用~=表示不等于. 数组相关操作 使用 [] 命名数组 ...
- Windows普通窗口程序
2015-10-09 12:55:38 KWindow.h #pragma once #include <windows.h> class KWindow { virtual void O ...