一. 背景知識
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文件存儲路徑)、“切片格式”(設置瓦片的格式、分級方式以及切的級別)、“項目描述”(“摘要”與“標簽”是兩個必選項)。
成功創建切片包后,會彈出如下提示框: