一、需求背景:
最近碰到這樣的需求,就是手頭擁有他人給的切片文件,但是想在自己服務器中將該切片文件發布成切片服務。如何實現?
二、解決辦法:
此類需求是非常常見的,arcgis server 提供了Servering tools工具箱,如何使用這些工具可以參考:
和本人另一文章:
http://www.cnblogs.com/myyouthlife/p/3260240.html
在這些工具箱中,有導入地圖緩存切片的工具import map server cache ,可以將切片導入已有的切片服務。使用該工具可以用來更新已有的切片服務,其原理是將指定切片文件夾中的切片去疊加或者覆蓋切片服務中的切片,區別在於是否指定overwrite參數,未指定該參數,就采用新舊混合圖像的形式,而指定了該參數,舊的切片會被刪除。
通過上面的描述可知,要使用導入切片,必須得有個已有的切片服務,如果只有切片,必須根據切片的切片方案去發布一個空的切片服務,然后往該空的切片服務中導入切片。
由於影像切片采用jpeg格式,jpeg不透明,即使沒有指定overwrite的參數,新導入的切片會疊加到舊的切片上面,不會以兩者的混合出現!
三、具體操作步驟:
STEP1:發布一個空的切片服務
為了使得空的切片服務中可以容納導入的切片,故切片服務必須與原有切片文件切片方案一致。假設有切片文件如下,
conf.cdi中包含了切片的范圍信息,而conf.xml中含有切片的空間參考信息和比例級別信息,這兩個文件組成了切片方案,如果沒有這兩個文件,很難構建一個空的切片服務與切片的方案一樣。
通過arccatalog創建一個空shapefile文件,設置文件的空間參考信息和extent,通過打開conf.xml 中獲取,也可以從conf.cdi 中獲取extent,設置extent。由於mxd中沒有圖層的話是沒有辦法發布服務的,故采用此辦法添加個空白圖層。
將該地圖文檔發布成切片地圖服務,在選擇切片方案的時候選擇,a tiling scheme file,將conf.xml添加上,這樣保證空切片地圖服務和切片的方案一致。
STEP2:導入切片文件到切片服務
從 server tools 中選擇import map server cache
在打開的界面中填寫相關參數,1為剛才發布的空切片服務 ,2為切片類型,可以是切片包,也可以是切片 3.要導入的切片,或者4要導入的切片包
tips:在導入的時候最好勾選overwrite的參數,沒有勾選overwrite參數可能出現錯誤
執行完后,打開原有的切片服務,可以發現切片服務的服務目錄下具有了切片。