天天看點

.tpk格式檔案簡介

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這塊用到的都是免費的。

繼續閱讀