⑴ 地圖緩存使用指南
地圖緩存是快速訪問地圖服務的有效方式。目前流行在線地圖服務,如 Google Maps,MapBar,BingMaps 等,對瀏覽速度和並發性要求都比較高,均採用緩存地圖的方式滿足快速訪問地圖的需求。
什麼是地圖緩存?
作為一種改善地圖瀏覽用戶體驗的優化策略,地圖緩存實際上是包含了一系列比例尺一定地圖范圍內的地圖切片文件。在服務端創建地圖緩存之後,客戶端的地圖操作,比如放大、縮小和平移,都會向服務端發送一個 URL 請求,此時,服務端按照請求返回預先生成的地圖切片,從而達到降低伺服器負擔並快速顯示地圖,提升地圖瀏覽速度。
為什麼使用地圖緩存?
使用地圖緩存時,只需要付出一次生成緩存的代價,就可以提供給客戶端地圖顯示以快速的響應速度。地圖緩存是以一系列不同比例尺下地圖圖片形式提供的,因此不受普通地圖顯示上的約束,比如地圖信息量的大小、地物的復雜程度、是否帶有標注、所使用的地圖符號等的限制。因為,一般情況下,地圖渲染的細節越多,承載的信息量越豐富,同等環境下,繪制矢量地圖就越慢,但使用了地圖緩存,客戶端在獲得了同樣顯示效果的同時,等待時間卻大大縮短。特別是對海量數據,使用緩存可以極大地提高瀏覽速度,加速地圖響應時間,最終提升用戶體驗。
SuperMap產品針對海量數據,在保證客戶端高效訪問的前提下,提供了一套完備的二三維緩存體系。SuperMap iDesktop 8C 桌面產品支持生成影像緩存、地形緩存、矢量緩存、模型緩存、地圖緩存,還可以對場景直接生成場景緩存。生成的緩存數據可以有多種方式在地圖窗口或者場景窗口中載入,也可以部署到服務端進行發布,方便客戶端進行瀏覽。
為了幫助用戶深入了解SuperMap 的地圖緩存技術、有效使用 SuperMap 產品生成和發布地圖緩存等,本專題文檔就地圖緩存的相關內容進行闡述。
1. 地圖緩存的目錄結構
地圖緩存根據緩存版本的不同,生成的緩存目錄的層次結構有所不同。SuperMap iDesktop 7C 桌面應用程序目前支持六種不同版本的地圖緩存。
地圖緩存的目錄結構主要採用 iServer6R,iServer 2.0和 IS .NET 三種緩存策略,按照不同比例尺級別進行分層,都是從指定范圍的左上角為起點進行分塊。其中2.0,2.1版本的地圖緩存均採用 IS .NET 緩存策略,3.0,3.1版本的地圖緩存均採用 iServer 2.0 緩存策略,4.0和5.0版本的緩存採用 iServer 6R 緩存策略。
下面就這三種緩存版本的目錄結構做詳細的介紹。
1.1. iServer 6R 緩存目錄結構說明
iServer 6R 是針對 UGC(UniversalGIS Class)系列產品的緩存策略。UGC 系列產品包括桌面產品 SuperMap iDesktop 7C,組件式二次開發平台 SuperMap Objects Java/.NET 6R 以及伺服器產品 SuperMapiServer 6R 系列產品。
iServer 6R 緩存策略生成的地圖緩存目錄共分為六個層次,如下圖所示:
圖:iServer 6R 緩存目錄結構說明
第一層:緩存根目錄,用來保存不同緩存文件。緩存根目錄名稱可以為任意名稱。在生成緩存時,通過輸入緩存名稱來指定。
第二層:地圖緩存目錄。默認名稱格式為:MapName_Width×Height。其中MapName
是地圖名稱,Width 和 Height 是16進制的圖片寬高,例如,目錄為世界地圖_Day_100×100,表示地圖緩存的圖片大小為256像素×256像素。
第三層:不同比例尺級別緩存目錄。分層目錄名稱為設置的比例尺大小。如15625000文件夾下保存的是比例尺為15625000時的所有地圖切片文件。
第四層:不同空間區域行號緩存目錄。目錄名稱以空間區域(緩存范圍)行號命名。所謂空間區域指的是將地圖按照網格分塊演算法將一幅地圖分為多個塊,每一個分塊表示一個空間區域。每個空間區域的寬高都是緩存塊的整數倍。區域內至少有一張圖片,行號就是空間區域在指定范圍內的行數,行號從上到下逐漸增大,用十進製表示。范圍擴大時行號可以是負值。
第五層:不同空間區域列號緩存目錄。目錄名稱以空間區域(緩存范圍)列號命名。列號就是空間區域在指定范圍內的列數,列號從左到右逐漸增大,用十進製表示。范圍擴大時列號可以是負值。
第六層:緩存圖片文件名稱。其格式為:RowxCol_MapHashCode.postfix。其中 Row 表示緩存圖片按緩存塊劃分的行號索引,Col 表示緩存圖片按緩存分塊劃分的列號索引,Row 和 Col 都可以是負數。MapHashCode 表示當前比例尺下地圖的16位 HashCode 值,postfix 是緩存圖片文件的擴展名。如上圖中的名稱為 0000×0001_108F8B08FIX.png 的圖片,0000為行號,0001為列號,108F8B08FIX 為16位的 HashCode,png 為圖片的擴展名。
1.2. IS .NET 緩存目錄結構說明
IS .NET 緩存策略是SuperMap 最早使用的緩存策略,也是通過分層分塊生成切片文件(影像)的思路進行緩存構建,並且從坐標系、地圖、圖層風格以及數據范圍等方面考慮了緩存更新問題。它主要是 SFC(SuperMap Foundation Class)系列產品採用的緩存策略。
IS .NET 緩存策略生成的二維地圖緩存目錄共分為五個層次,如下圖所示:
第一層:緩存根目錄,用來保存不同緩存文件。緩存根目錄名稱可以為任意名稱。在生成緩存時,通過輸入緩存名稱指定。
第二層:地圖緩存目錄。默認名稱格式為:MapName_Width×Height。其中 MapName 是地圖名稱,Width 和 Height 是16進制的圖片寬高,例如,目錄為世界地圖_Day_100×100,表示地圖緩存的圖片大小為256像素×256像素。
第三層:不同比例尺級別緩存目錄。分層目錄名稱為設置的比例尺大小。如15625000文件夾下保存的是比例尺為15625000時的地圖切片文件。
第四層:圖片索引目錄。按照網格分塊演算法將某一比例尺下的地圖切割成多個圖幅,每一個圖幅在整個地圖中都有一個索引值對應,形為:X×Y。X,Y 分別表示圖幅在地圖分塊隊列中的列號和行號。
第五層:緩存圖片文件名稱。其格式為:centerIndex_MapHashCode.postfix,其中centerIndex 表示緩存圖片的中心點索引,MapHashCode 表示當前比例尺下地圖的 HashCode 值,postfix 是緩存圖片文件的擴展名。如上圖所示,名稱為332×7361_108F8BFIX.png 的圖片,(332,7361)表示圖片中心點的索引值,108F8BFIX 為當前比例尺下地圖的 HashCode 值,png 為圖片的後綴名。
1.3. iServer 2.0 緩存目錄結構說明
iServer 2.0 緩存策略與 IS .NET緩存策略相似,是 SuperMap iServer 2.0 產品的緩存策略。iServer 2.0 緩存策略生成的二維地圖緩存目錄共分為五個層次,如下圖所示:
圖:iServer 2.0緩存目錄結構說明
第一層:緩存根目錄,用來保存不同緩存文件。緩存根目錄名稱可以為任意名稱。在生成緩存時,通過輸入緩存名稱指定。
第二層:地圖緩存目錄,文件夾名稱格式為:MapName_Width×Height,其中 Width×Height 按照10進制計算,即目錄名稱為:地圖名稱_圖片的實際寬×高。
第三層:不同比例尺級別緩存目錄。分層目錄名稱為設置的比例尺大小。如15625000文件夾下保存的是比例尺為15625000時的地圖切片文件。
第四層:緩存圖片索引目錄({Index_x})。將地圖分塊之後,對每一個圖片分別建立索引號。對每一副地圖,按照要生成的緩存圖片大小生成 M×N 個圖片,每一列為 Index_x,x 的值從 0 到 N-1,每一行為 Index_y,y 的值從 0 到 M-1。在這一層,目錄名為每一列的索引名,即 Index_x,表示每一列圖片緩存的目錄。
第五層:緩存圖片文件名稱。其格式為:Index_y.postfix的值。如上圖中選中的文件夾,文件夾5表示 X 索引號(Index_x)為5 ,圖片名稱15表示 Y 索引號(Index_y)為15,則此圖片位於地圖目錄的第5行第15列。
2. 地圖緩存存儲類型
SuperMap 緩存有兩種存儲類型,即原始型與緊湊型。
2.1. 原始型
當緩存儲存類型為原始型,切片文件以單獨的圖片文件格式存放在磁碟上,不對數據進行壓縮,能夠直接讀取。地圖緩存數據直觀地表現為多個文件夾下的原始圖片。
原始型存儲方式具有以下特點:
l 可以直接讀取,比較直觀。
l 佔用磁碟空間大,不太易於管理,拷貝和遷移不太方便。
l 對密級較高的數據,不能設置密碼。
2.2. 緊湊型
當緩存儲存類型為緊湊型時,對原始的切片文件採用一定的壓縮和加密機制,在結構上採用一組文件替代原始的圖片格式的緩存機制。此時,不同比例尺文件夾下的緩存數據將表現為一組文件,該組文件包括兩個部分:索引文件(.sc)、一組數據文件(.sc00和*.lock)。如下圖所示,為世界地圖_Day 生成的緊湊型緩存文件。
其中,索引文件為 *.sc(SuperMapCache File)格式;數據文件為 *.scXX(SuperMap Caceh File Data)格式,這里的 XX 不是兩個字母,是兩個16進制數字(00~FF)。目前只支持兩位16進制數,所以最多支持256個數據文件。數據文件的個數由緩存數據的大小決定,一個數據文件最大為2G。
與原始型相比,緊湊型存儲方式具有以下優勢:
3. 使用地圖緩存的建議
為了更高效的生成地圖緩存,可以從以下幾個方面考慮:
3.1. 選擇合適的比例尺系列
為了充分利用緩存數據,同時實現多級縮放,可以對地圖設置多個比例尺。多設置一些比例尺級別,可以在瀏覽過程中比較順暢,不會出現比較大的跳躍。在地圖製作的過程中要考慮要素在不同的比例尺下是否需要顯示。比如在1:100000的比例尺下,河流是線狀的,在1:10000的比例尺下,可能需要講河流顯示為面狀的。在小比例尺下,一些注記不需要顯示,但隨著比例尺的擴大,注記可能需要顯示。這種情況下,需要考慮合適的比例尺級別了。
3.2. 緩存路徑設置
如果生成的緩存要在 SuperMapiServer Java 6R 服務端發布,可以直接將 SuperMap iDesktop 7C 桌面緩存路徑設置為 SueprMap iServer Java 6R 的出圖路徑下,即 %SuperMapiServer Java_HOME%webappsiserveroutputcache,否則緩存切片拷貝可能會花費比較長的時間。
3.3. 適當的製作地圖
製作地圖的過程中,可以考慮對線型或者文本對象使用反走樣,對過小的對象進行過濾。
對地圖中的過小對象使用過濾條件進行過濾,可以在不影響地圖所承載的信息量的情況下,將提升地圖瀏覽速度。
進行反走樣後矢量地圖中的線型和文本看起來更光滑,提高視覺感受,但會造成性能下降。因此在使用反走樣時,需要瀏覽速度和性能之間尋找一種平衡,既要達到瀏覽效果最佳,也要保證瀏覽速度。
對比較復雜的地圖,要避免對象節點過多,可以考慮進行光滑處理或者重采樣。
3.4. 保持工作空間一致
工作空間中的地圖參數決定了SuperMap iServer Java 使用的緩存文件中緩存圖片的命名,因此需要保證用於製作緩存的工作空間中的地圖和用於 SuperMap iServer Java 發布的工作空間中的地圖一致。影響參數包括地圖的風格、數據的連接情況、圖層順序、默認比例尺、地圖范圍等。因此製作完成緩存後,盡量不要對工作空間的地圖進行修改,以保證發布的地圖與用於製作緩存的地圖一致。
同時需要保持地圖中所有地圖可用,所有圖層對應的數據集合數據源在工作空間中都存在,不能有無對應數據源和數據集的空連接圖層。對數據集中對象的編輯,如添加、刪除、更新等,不會影響編輯區域以外的緩存圖片(如果需要的話,只需更通過 SuperMap iServer 更新這部分區域的緩存即可)。
3.5. 合理設置地圖緩存范圍和索引范圍
可以為頻繁訪問的地圖區域生成緩存,以降低生成和存儲緩存的成本。例如,在訪問世界地圖時,對於廣大的無人區,可以不生成緩存。
用 SuperMap iDesktop7C 生成地圖緩存時建議將索引范圍設置為發布地圖的整幅地圖范圍,以便與SuperMap iServer Java 緩存索引范圍保持一致。在根據需求修改地圖緩存的范圍信息時,也需要保持索引范圍是整幅地圖范圍。
緩存圖片與出圖設備無關的特性
利用 SuperMap iDesktop7C 製作地圖緩存時,如果 SuperMap iDesktop 7C 所在的計算機與 SuperMap iServer Java 所在的計算機不是同一台機器,有可能由於設備顯示地圖解析度不同,從而不同設備上的緩存不能很好地一起使用,例如拼接出現問題等。SuperMap iDesktop 7C 桌面支持配置地圖緩存與設備顯示解析度無關。具體的操作方法如下:
3.6. 在 SuperMap iDesktop7C 桌面端生成的地圖緩存,如需在 SueprMap iServer Java 服務端發布,需要注意,生成緊湊型地圖緩存時,不要對緩存進行加密,即不要設置密碼,否則在服務端發布會有問題。
⑵ 大疆御2遙控器中的照片如何導出
如需導出帶屏控中的文件,請參考以下步驟:
1. 開啟遙控器,使用 USB 線連接遙控器到電腦。
2. 在遙控器主界面,從上往下滑出設置欄,可看到「已連接 USB」
3. 點擊「已連接 USB」,點擊左下角的向下箭頭,之後可以看到「打開 USB 存儲設備」,點擊「打開 USB 存儲設備」,然後點「確定」,即可連接上電腦。
帶屏控中緩存照片地址為:F:\DJI\dji.pilot.pad\CACHE_IMAGE
帶屏控中緩存視頻地址為:F:\DJI\dji.pilot.pad\DJI_RECORD
帶屏控中編輯過的視頻地址為:F:\DJI\dji.pilot.pad\VideoEditor\proction
帶屏控中飛行記錄地址為:F:\DJI\dji.pilot.pad\FlightRecord
精簡版飛控數據地址:F:\DJI\dji.pilot.pad/Flightrecord/MCDataFlightRecord
⑶ ios高德地圖如何緩存地圖
1、打開ios端的高德地圖客戶端;
2、點擊左上角的用戶,跳轉至另一個頁面;
3、點擊「離線地圖」選項,自行選擇下載離線地圖。
⑷ 百度地圖怎樣緩存到sd卡
1、打開我們手機安裝的網路地圖軟體。