網站頁面
課程
成員
一般
主題 1
主題 2
主題 3
主題 4
主題 5
主題 6
主題 7
主題 8
主題 9
主題 10
主題 11
主題 12
主題 13
主題 14
主題 15
主題 16
主題 17
主題 18
Lesson10:An encoding utility for polyline and polygon data
利用ArcGIS ToolBoxs將shapefile轉成 kml格式
3D Analyst Tools -->Conversion --> To KML--> Layer to KML,將向量式或網格式的圖層,轉換為可在GoogleEarth或GoogleMap上讀取的Keyhole Markup Language(KML),可記錄目前圖層的Symbology的透明度或顏色設定。如果一次要轉換整個計畫檔全部的圖層,可選擇Map to KML。
... 'GGeoXml物件可以載入kmz檔案,這個物件可以以圖層的方式疊覆在GoogleMap上 var newlayer = new GGeoXml("http://gis.nhlue.edu.tw/gmap/sample27.kmz"); ... map.addOverlay(newlayer); |
http://gis.nhlue.edu.tw/gmap/sample27.htm sample27.kmz
注意1:需要設定這張圖需要顯示的比例尺範圍的Layer Output Scale比例尺參數,透過設定Dataframe這些數值圖層的Map Units,就可以在工具列上看到參考的數字。
注意2:因為轉換出來的KML需要疊在Google瀏覽器的衛星地圖上,因此座標系統必須和Google瀏覽器上的WGS84相同,所以轉換前的圖層也必須是WGS84經緯度的座標系統。 簡單的小工具:TWD67轉TWD97(TWD67-97.rar),TM2轉經緯度座標系統(TM2DD.exe)。
注意3:和在個人電腦的單機版執行不同,個人電腦的顯示卡、記憶體、和硬碟的存取能力,都可以讓你擁有很快速的資料讀取能力,雖然我們可以不需要這麼精確詳細的資料,但是個人電腦的能力讓我們可以擁有更多的彈性,讀取較大的圖檔。但是在網路上讀取資料,卻又是完全不同的事情,速度是最重要的關鍵,可以用10個點來表達一條線,就不要用100個點來做,可以使用2K的圖檔,就不要用20K的圖檔,因為前者讓使用者等1秒才能顯示圖層的話,後者卻需要等10秒,網路的瀏覽者比你想像的更沒有耐心多了。因此我們必須對圖層進行簡括化的工作。
可以在ArcGIS9的ArcInfo版本 ToolBoxs中的Data Managements找到Simplified Line的工具
Shapefile轉Kml外掛程式
前述ArcToolBoxs的工具只能存成壓縮後無法編輯的KMZ檔(雖然工具名稱叫做To KML),因此如果要存成可以編輯未壓縮的KML檔,需要使用外掛的程式,ESRI的ArcScripts (http://arcscripts.esri.com/details.asp?dbid=14273)有一個很熱門的外掛程式Export_to_KML_V2_5_3.zip可供使用,需要設定圖層的座標系統後,可以自行調整圖的顏色和透明度後輸出。
Polyline和Polygon資料的編碼和解碼
不論是線或是多邊形,都需要一長串的點資料來表示,這些記錄座標的點資料如果用未編碼過得ASCII格式的大小,和編碼過後的BINARY格式比較,檔案的大小相差很多。因此,在秒秒必爭的網路傳送速度的環境中,北卡羅萊納州 The University of North Carolina at Asheville數學系的Mark McClure教授,提供了一個可以將KML的ASCII格式轉換為BINARY的網路公用程式。
Step1:連結http://facstaff.unca.edu/mcmcclur/GoogleMaps/EncodePolyline/encodeForm.html
Step2:全選kml檔案內容(檔案不要超過1MB),貼到InputText中。
Step3:按「show code」可以看到編碼後的程式內容,再將程式碼copy到Google Map的程式。
從sample28ascii.kml(74KB), 減為 sample28binary.kml(12KB),少了約6倍 http://gis.nhlue.edu.tw/gmap/sample28.htm