ArcGIS10地圖切片總結
上一篇 / 下一篇 2012-11-04 22:23:32 / 個人分類:ArcGIS問題
查看( 282 ) / 評論( 0 ) / 評分( 0 / 0 )最近在幫客戶做切片的時候,遇到不少問題,我相信大家將來也可能會遇到,所以在這裡做個簡要的總結。
地圖切片的原理我相信大家都並不陌生,但是在實際使用的過程中,經常會遇到切片速度慢、效率低下等問題。前段時間幫助用戶做切片的時候,也遇到了同樣的問題,所以這裡主要記述的內容是可能會對切片速度有影響的一些設置。
1、Maplex高級註記。使用Maplex高級註記功能編輯的地圖文檔,可能會導致切圖效率的低下。判斷是否是Maplex導致的切圖速度慢,最簡單的方法就是關閉Maplex引擎之後,進行切圖,並將單位時間內生成切片文件的大小與原來做一個比對,如果速度相差懸殊,那麼可以嘗試將地圖文檔中除當前切圖比例尺之外的其他圖層先刪除掉,再分級進行切圖。
2、發布文件的格式。很多時候我們做切圖,都是在伺服器上進行的,引用ESRI售後技術工程師的說法,在多核伺服器上通過mxd發布的服務可能會存在異常,esri承認是bug,推薦使用基於msd的地圖服務。所以在伺服器上做切片,一定要將地圖文檔保存為msd格式發布,再進行切圖。
3、最大實例數的設置。一般來說,我們都會講切圖服務的實例數設置為CPU核心數+1,因為有一個SOC進程是專門用來做回收的,並不參與實際工作,所以這樣設置可以發揮出切片伺服器的最大性能。但是我們在實際的操作過程中,發現這種方式在某些型號的伺服器上會導致SOC進程創建後又不斷回收,最終只有一個進程在切圖的情況。這時我們就只能通過不斷嘗試設置不同的實例數,從而找到一個合適的值。
4、切圖方式。我么都知道,進行切圖有兩種方式,一種是直接在地圖服務屬性中執行更新切片,或者通過ArcToolbox工具中提供的伺服器工具進行切圖。原理上來說,這兩種方式都是調用的同一個GP過程,沒有什麼區別,但是在實際使用中,我們通過服務屬性更新切片時常常會遇到ArcMap程序異常關閉的情況,所以還是推薦使用工具進行切圖。
5、緊湊&鬆散。ArcGIS10中推出了一種新的緩存格式,將原來獨立的緩存圖片,保存成bundle格式二進位文件,每個bundle文件存儲128*128個緩存圖片。相比成千上萬的tile文件,這樣做的好處是易於緩存管理,減少磁碟空間佔用,提高緩存讀取效率等等。所以我們在切圖過程中也應使用緊湊格式來創建切片。
6、圖片格式。不同的圖片格式,直接影響緩存文件的大小,一般來說,系統默認是採用PNG32來保存tile文件的,但如果我們想縮小一些佔用空間,可以考慮使用JPG或PNG8、PNG24等格式。使用JPG雖然壓縮比是最大的,但是創建出來的切片文件噪點嚴重,所以不推薦使用。通過多次嘗試,PNG8格式不僅可以大大壓縮緩存文件的大小(大概是PNG32格式的60%),而且切片的效果相差也不大,所以是PNG32格式很好的替代選擇。
綜上,實際環境中可能會影響切片的原因還有很多,不過最重要的方法還是不斷嘗試,從而找到最高效的切圖方法。
推薦閱讀:
※arcgis api for js入門開發系列十九圖層在線編輯
※arcgis api for js入門開發系列十三地圖最短路徑分析
※如何學習ARCGIS桌面版?
※為何我要做一個分享GIS的平台
※arcgis api for js入門開發系列三地圖工具欄