離上寫的《基於SuperMap Objects寫的GoogleMap地圖切割程式(三)》 已經有大半年的時間了,這半年時間裡,因為雜七雜八的事情比較多,所以也很少更新部落格內容,今天是小年,特將最近基於ArcEngine寫的Google Map地圖切割程式與大家分享。這裡我會從資料製作-切圖-發布給大家進行介紹,並結合之前做的Google Map API3 離線版,告訴大家如何布署一個真正的離線WebGIS系統:
一.環境準備:
1.ArcEngine:因為我們使用是的是ArcEngine做為平台來開發,所以這個是必須的,版本為9.3。
2.ArcMap:目前切圖工具中沒有增加地圖配置的功能,只能開啟已經配置好的地圖檔案,所以這裡還需要有ArcMap來進行地圖資料的配置。
3.DotNet:程式是用C#開發的,所以得有這個環境。這個網上很多,大家搜一下就可以了,下載.NET Framework 2.0就可以。
之所以選擇用ArcGIS來開發還有一個原因是國內的使用者比較多,PJ相對也會多些,如何安裝網上也有很多資料,大家可以搜一下。
二.地圖配置:
安裝完ArcMap和ArcEngine後,我們就可以對需要切割的地圖資料進行配置。因為Google Map使用的是WEB WGS84的投影方式,所以我們在配置的時候也需要配置成和Google Map相同的座標系統,座標設定檔從這裡下載:Google Mercator (world).prj。當然我們還需要準備一份切圖用的資料,這裡使用的是ESRI公司做的測試資料。
是:Esri公用地理架構電子地圖模板_V1.31 for ArcGIS 9.3.1
對於地圖配置和使用,這裡已經講得很清楚,這裡也非常感謝ESRI能分享出這些資料來。
配置完的資料應該是下面這個樣子:
三.地圖切圖:
配置好的地圖資料我會隨後和程式一起打包提供給大家下載。當然,大家也可以使用自己的向量資料和影像資料,只要通過ArcMap配置好的地圖,我們應該都可以用這個程式來進行地圖切割。
1.現在我們來運行我們的切圖工具,這是地圖介面,程式預設載入所在的Data目錄下的Map.mxd檔案。
這個地圖資料的座標系我已經配置好的,可以用ArcMap直接開啟這份地圖資料可以看得到。
2.我們切換到切圖介面:在這裡,我們可以指定需要切圖的範圍,和需要輸出的等級,我已經在程式中設定好了,如果是新資料,請自行設定。
3.切圖參數我們都設定好後,點擊“地圖輸出”,選擇儲存的路徑後,系統開始切圖工作。
4.切圖完成後,會提示使用的時間和切圖的數量:
四.資料發布:
1.再將切完後的地圖圖片資料拷貝到Google Map API V3離線版所在的tilemap目錄下,如果不想自己切圖的,也可使用我切好的地圖資料進行查看:
2.開啟Google Map API V3離線版目錄下的maptype-tms.html檔案,就可以看到效果:
3.maptype-tms.html檔案中預設是載入目前的目錄下tilemap目錄中的圖片資料,你也可以指定到其它的目錄,當然,如果你把圖片放在WEB伺服器上,將這個地址改為伺服器的地址就可以了,這樣就完全可以部署一個屬於自己的Google Map地圖瀏覽程式了(提前你是這麼多的資料,呵呵)。
讓大家久等了,切圖相關的下載在這裡:
切圖工具和地圖資料:GMapExprotForArcEngine.zip
Google Map API V3離線版:GoogleMapAPIV3.zip
切圖後資料:GoogleMapAPIV3Demo.zip(空間有限,所以只上傳了6-8級,9和10級請自己進行切圖)
由於水平有限,程式可能會存在不完善的地方,請告訴我,如果你有更好的建議,也請告訴我。