.tpk格式文件简介

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

1、.tpk格式的文件是什么?

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


2、.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不用太大、不用太复杂就可以解析缓存数据,并展示出来。


3、.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这块用到的都是免费的。


相关文章
|
3月前
|
开发框架 安全 .NET
【技术推荐】.NET Framework 4.8下载全攻略:.net 4.8下载安装全面指南
.NET Framework 4.8是微软传统.NET的最终版,2019年发布,为Windows企业级应用提供稳定基石。兼容WinForms、WPF、ASP.NET等成熟技术栈,持续获安全更新。虽已转向跨平台.NET Core/5+,仍是百万存量应用的运行保障。(239字)
|
3月前
|
SQL 人工智能 Java
基于 NoETL 语义编织技术构建 AI-Ready 数据底座
AI时代,数据平台选型的核心是选择能构建“统一语义层”的下一代架构。
|
安全 IDE 开发工具
HarmonyOS实战:解决模拟器启动失败问题
本文介绍了在Windows系统上安装HarmonyOS开发环境时遇到的模拟器启动失败问题及解决方案。为应对鸿蒙可能脱离安卓阵营,开发者需学习HarmonyOS。华为提供的IDE与Android Studio相似,降低了学习成本。但创建鸿蒙模拟器时可能出现报错,官方方案无效时,可通过打开Windows安全中心的“内核隔离”并开启“内存完整性”解决。文章还鼓励初学者收藏内容,并在学习中交流问题。
901 1
HarmonyOS实战:解决模拟器启动失败问题
|
存储 API C#
【Azure 存储服务】Storage Account Blob 使用REST API如何获取磁盘大小(Content-Length), IOPS信息
【Azure 存储服务】Storage Account Blob 使用REST API如何获取磁盘大小(Content-Length), IOPS信息
212 0
|
Java API Android开发
安卓应用程序开发的新手指南:从零开始构建你的第一个应用
【10月更文挑战第20天】在这个数字技术不断进步的时代,掌握移动应用开发技能无疑打开了一扇通往创新世界的大门。对于初学者来说,了解并学习如何从无到有构建一个安卓应用是至关重要的第一步。本文将为你提供一份详尽的入门指南,帮助你理解安卓开发的基础知识,并通过实际示例引导你完成第一个简单的应用项目。无论你是编程新手还是希望扩展你的技能集,这份指南都将是你宝贵的资源。
1211 5
|
安全 API 开发工具
Gin 实现自动生成接口文档
Gin 实现自动生成接口文档
399 0
|
测试技术 文件存储 索引
快速搜索NAS文件、快速搜索共享文件、使用everything搜索实现。
快速搜索NAS中的文件、快速搜索共享文件中的文件、使用everything搜索实现。
13734 0
深度优先搜索(DFS、深搜)和广度优先搜索(BFS、广搜)(上)
深度优先搜索(DFS、深搜)和广度优先搜索(BFS、广搜)
|
定位技术 索引
ArcGIS制图技巧:边框的选择与制作
ArcGIS制图技巧:边框的选择与制作
1558 0
|
Java
springboot通过自定义注解@Log实现日志打印
springboot通过自定义注解@Log实现日志打印
795 0