每個緩存服務(wù)的切片目錄中都會包含一個 Conf.xml ,也是就是tile scheme 文件了。
這個文件包含了很多有關(guān)切片設(shè)置的信息:
Version Issue緊湊型緩存的存儲格式為.bundle 。但有時我們會看到緩存目錄中包含.bundlx 這樣的文件,這說明這些緩存是ArcGIS 10.2.2 或以下版本創(chuàng)建的。從 ArcGIS 10.3 開始,緊湊型緩存做了些改進, .bundlx(tile index information) 文件被包含到了 .bundle 文件中 ,從而進一步降低了文件的數(shù)量。
你可以在緩存服務(wù)的tiling scheme “Conf.xml “ 中查看確認:
10.3 or later (Compact cache V1)
1 2 3 4 <CacheStorageInfo xsi:type='typens:CacheStorageInfo'> <StorageFormat>esriMapCacheStorageModeCompact</StorageFormat> <PacketSize>128</PacketSize> </CacheStorageInfo>
10.2.2 or former (Compact cache V2)
1 2 3 4 <CacheStorageInfo xsi:type='typens:CacheStorageInfo'> <StorageFormat>esriMapCacheStorageModeCompactV2</StorageFormat> <PacketSize>128</PacketSize> </CacheStorageInfo>
10.3 及之后版本的 ArcGIS Server 仍然可以使用低版本的生產(chǎn)的切片來運行現(xiàn)有服務(wù)。如果我們需要將低版本的緩存拷貝過來給高版本的服務(wù)用,要注意這個<StorageFormat>
參數(shù)的一致性。
ArcToolbox工具 Upgrade Map Server Cache Storage Format 來升級緩存。升級的過程中不會重新創(chuàng)建切片,而是重組原有的切片。這個工具在ArcGIS Pro 中沒有提供。目前,我們還只能使用ArcMap或者使用ArcGIS Server 帶有的arcpy包,通過Python來調(diào)用。
不支持將高版本的切片供低版本軟件使用。如果希望降級,可以使用 Export Map Server Cache 工具導(dǎo)出緊湊型切片。
Tile FormatTile Format 是指存儲切片使用了何種柵格格式,而不是切片文件的本身存儲格式 / Storage Format ( Exploded / Compact )。
PNG
ArcGIS 10.1開始引入的類型。選擇這種類型,Server會自行確認每張切片的PNG位深,從而達到縮減磁盤占用的目的。在我們不確定使用何種PNG格式時,保持這個默認設(shè)置就不錯。
如果磁盤空間不在考慮范圍下,而希望優(yōu)先考慮切片速度,那最好選擇MIXED格式了。
PNG8
位深為8位的PNG圖片格式;可以最多存儲256色,支持布爾透明,磁盤空間占用小,并且無損。適合于顏色相對簡單,并且需要透明背景的地圖,例如公路數(shù)據(jù)切圖。
PNG24
位深為24的PNG圖片格式;可以最多支持約1600萬色。當?shù)貓D的色彩復(fù)雜程度超過256時,你就該考慮使用這個格式。但是,PNG24不支持透明,另外不建議在IE6及以前版本瀏覽器中使用。
PNG32
在PNG24的基礎(chǔ)上增加了Alpha通道,因而增加了各種程度半透明的支持。當?shù)貓D色彩復(fù)雜,并開啟了抗鋸齒功能,PNG32就是最佳選擇了,并且PNG32在各個版本的瀏覽器中支持良好。
JPEG
當切片中不需要透明背景時,JPEG是最常用的切片格式,并且JPEG可以hold住大量的復(fù)雜色彩。例如,包含影像、符號化精細程度高的矢量地圖都可以使用這個格式。
JPEG是種有損壓縮格式,可以在1%-100%間設(shè)置壓縮比率,默認值75%一般是顯示質(zhì)量和磁盤空間的最佳平衡。如果覺得噪點過多質(zhì)量不夠,可以調(diào)高這個百分比,但你需要在響應(yīng)性能和圖片質(zhì)量之間做好博弈。
MIXED
顧名思義,混合格式,在切片不透明區(qū)域使用JPEG,在透明區(qū)域使用PNG32。這是種非常智能的搭配方案,降低硬盤占用的同時,很好的解決了例如在切片邊緣需要的透明需求。
LERC
LERC是Esri自主研發(fā)的開源的有損壓縮格式,點這里 有更多信息。推薦用于位深較大的單波段影像或高程數(shù)據(jù)服務(wù)中,如浮點型,32-bit、16-bit、12-bit的數(shù)據(jù)。 官方聲稱,LERC壓縮方法在壓縮速度和壓縮質(zhì)量方面分別是LZ77的5-10倍。當LERC用于整型柵格數(shù)據(jù)時,損失率在0.99或更低,幾乎可以視為無損壓縮。
LERC壓縮方式目前只支持Image Service ,而不支持 Map Service。
Performance Suggestion緊湊型切片比松散型切片有諸多有點,詳見文末的官方文檔。但不是說選了緊湊型切片性能就沒有繼續(xù)改善的余地了,下面的這些點也是提升切片性能的一些有效建議:
地圖數(shù)據(jù)盡可能使用本地數(shù)據(jù),共享目錄的數(shù)據(jù)切片時間可能會更長些;
盡可能的避免使用動態(tài)投影;
設(shè)置圖層的可見比例尺;
謹慎設(shè)置反鋸齒的級別,標注的反鋸齒對切片性能影響甚微,但要素符號的反鋸齒會顯著增長切片的時長;
建議切片期間關(guān)閉防病毒等安全軟件;
盡可能地使用MIXED格式
在切片之前為所有數(shù)據(jù)創(chuàng)建空間索引
CachingTools服務(wù)的最大實例數(shù) = 核數(shù) + 1,這是官方給出的最佳實踐建議
降低日志的級別,如果在大量切圖任務(wù)中把Server日志開到Debug或Verbose級別,會產(chǎn)生極大的資源浪費。
Tile|SuperTile|Bundle這三者的關(guān)系早在多年前就有大牛們探索發(fā)現(xiàn)過,見本文末的相關(guān)文章,文中有邏輯縝密且經(jīng)得起時間檢驗的詳細演繹過程……
簡言之,他們的關(guān)系是個簡單的數(shù)學(xué)關(guān)系,如下:
1 2 3 4 5 6 7 8 9 如果: Tile = 256 × 256 pixel # 256×256 是ArcGIS Server默認的切片大小 Supertile = 4096 × 4096 pixel # 未開抗鋸齒情況下是 4096×4096 那么: Supertile = 16 × 16 Tile 已知: Bundle = 128 × 128 Tile 因此: Bundle 范圍是 N-3 級的 Supertile 的范圍
看圖說話: