離上寫的《基於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級請自己進行切圖)
由於水平有限,程序可能會存在不完善的地方,請告訴我,如果你有更好的建議,也請告訴我。
