(GM-4)SHP檔轉換KML檔經驗談 @ Keep Environment Nature's Blog :: 隨意窩 Xuite日誌
  • 關鍵字
    1. 沒有新回應!
  • 201105091734(GM-4)SHP檔轉換KML檔經驗談

    SHP檔為ESRI ArcGIS檔案結構,近年來在學術單位的ArcGIS系統上建立了許多GIS圖層,因此如果能將ArcGIS上的 SHP檔轉換為KML檔,是非常有趣的課題,不過因不同系統間的資料檔轉換,將面臨(1)座標轉換及(2)檔案格式轉換的問題,在網路上有相當多專業級的網站都曾經說明過,本篇主要是交代自己將SHP檔轉換為KML檔的經驗過程,與大家分享轉檔的幾種方法。(2011/09/11修正)

    主要的參考網站:
    (1)GEmVG Blog(版主何大哥是師長輩的,從他那學到很多。)
    網址:http://www.wretch.cc/blog/steven0625;新網址:http://gemvg.com/
    (2)積丹尼=Dan Jacobson(一位外國友人,卻對臺灣提出深刻的建言!)
    網址:http://www.jidanni.org/index.html
    (3)中研院Google Map-Earth觀察報@Sinica
    網址:http://gis.rchss.sinica.edu.tw/google/
    (4)上帝之眼(中國大陸研究GE重要網站)
    網址:http://www.godeyes.cn/
    (5)Google Earth官方的討論社群
    網址:http://bbs.keyhole.com/ubb/ubbthreads.php/Cat/0
    (6)frank.hgs的Google Earth專題(GE想進階的人,一定要參考的Blog)
    網址:http://blog.xuite.net/frank.hgs/GE
    (7)其它還有許許多多關於Google Earth的網站,不及備載,慢慢去挖寶吧!

    版權宣告:
    (1)Google Earth為google公司所有, 編寫過程使用Google Earth Free版本, 1600 Amphitheatre Parkway., Mountain View, CA., 94043 USA. http://earth.google.com/。以下簡稱GE。
    (2)Arcview, ArcGIS為ESRI公司所有, http://www.esri.com/index.html, 編寫過程使用NTU GIBP授權版本。
    (3)Zonum Solutions, shp2kml 2.0: Shape-file to Google Earth, http://www.zonums.com/shp2kml.html
    (4)Export Shapefiles To Google Earth II – Shp2KML Converter, http://freegeographytools.com/2007/export-shapefiles-to-google-earth-ii-shp2kml-converter

    關於座標問題有幾個重要網站一定要去看看:
    (1)上河文化-地圖漫談.座標系統與二度分帶座標 (這是上河對於推廣地圖教育的重要貢獻)
    網址:http://www.sunriver.com.tw/grid_tm2.htm
    (2)積丹尼(Dan Jacobson) :Taiwan 衛星定位系統 GPS and 座標轉換
    網址:http://jidanni.org/geo/taiwan_datums/

    步驟一:座標轉換

    因一般取得的「無印良品」SHP檔,圖層座標多是TWD67直角座標,而Google Earth/Map的座標是使用WGS84經緯度座標,因此必須經過座標轉換程序,目前中央研究院人文社會科學研究中心地理資訊科學研究專題中心開發許多相關的轉換系統供國人使用,目前的版本要經過兩道手續,必須先將67TM2轉為67經緯度,再將67經緯度轉換為84經緯度(轉換為97經緯度座標也可以)。另外,SHP檔最好放在根目錄下。轉換完座標後,接著要轉換檔案格式,將檔案由SHP格式轉為KML格式。

    相關教學網頁:
    (GIS運用-13)地理空間檔案座標轉換:ArcGIS轉換作業(具轉換參數gtf檔)
    網址:http://blog.xuite.net/lwkntu/blog/48281761
    (GIS運用-14)地理空間檔案座標轉換:以Free Tools轉換座標
    網址:http://blog.xuite.net/lwkntu/blog/10948220

    步驟二:檔案格式轉換,SHP轉為KML格式,分別說明三種方式

    (1)透過ESRI ArcGIS 9.x版轉換。
    (2)透過ESRI ArcView 3.2版轉換。ESRI針對ArcView提供的Avenue巨集程式,由使用者下載使用,本文針對ArcView 3.2系統,先到ESRI下載Avenue檔,shape2KML.avx,再將其copy到C:\ESRI\AV_GIS30\ARCVIEW\EXT32下,進行檔案格式轉換。經過座標轉換後的SHP檔,不要在ArcView中勾選顯示,螢幕顯示區會亂掉。
    (3)透過自由軟體,轉換SHP檔為KML檔。<本文說明的重點>

    接著我們開始操作SHP檔轉換為KML檔作業!

    (1)透過ESRI ArcGIS 9.x版轉換

    開啟ArcMap插入新圖層,將已經轉為84經緯度座標的SHP檔載入,如本案例為(3)67經緯度轉84經緯度.shp。再次重申,就算透過ArcGIS來轉換,也要先將SHP檔轉WGS84經緯度座標,切記切記!

    載入後,開啟Arc ToolBox中的3D Analyst Tools -> Conversion -> To KML -> Layer To KML。

    出現Layer To KML對話盒,本文暫不探討其中的設定項目,僅以最簡單的轉換過程為主。輸入三項最基本的資料。

    選擇欲轉換的圖層,須注意的是該圖層座標必須是84經緯度座標。

    給定轉出的KML檔名與位置。

    設定圖層的輸出尺度,設定為1。

    至此,已完成ArcMap的轉檔設定,如原始圖層內容僅為2D的內容,其餘設定如Data Content Properties、Extent Properties、Output Image Properties等可忽略。





    按OK後即開始進行SHP Layer轉為KML檔的作業。轉出的檔案結構為KMZ檔較為精簡,不過可以到Google Earth中再另存為KML格式。至此即完成(1)透過ESRI ArcGIS 9.x的SHP轉換KML檔作業。

    (2)透過ESRI ArcView 3.2版轉換。目前ArcGIS已經發展到第10版,如果你還在用ArcView 3.2可以用下列的外掛常式來處理檔案格式轉換作業。

    至ESRI官方網站下載轉換檔案格式的Avenue巨集。 網址如下:
    http://arcscripts.esri.com/details.asp?dbid=14254

    下載解壓後,將shape2KML.avx複製到C:\ESRI\AV_GIS30\ARCVIEW\EXT32。

    開啟ArcView後,選擇File→Extension。

    在Extension中勾選Shape to KML,按OK,此時在上方工具列最右邊會多出兩個按鈕。

    接著載入檔案。

    開啟已經過座標轉換為84經緯度座標的SHP檔案,如本案例(3)taipei_li_1_1.shp,然後按選。

    開啟下列對話盒,因本案例為行政區界線,沒有高程等資料,所以只要在Scale(lat/lon)欄內填入 6,(此部份為GEmVG Blog版主何大哥所傳授),設定Scale為6;即設定為小數點後五位,推算過程如下:
    地球周長,一般指赤道周長,約為40076公里
    ∵40076公里/360度=111.32公里/度
     1.1132m=0.00001度
     令0.00001度約為1m(實為1.1132m,令約為1m)
    ∴取小數六位(含小數點),此即為Scale欄位值

    在實際操作過程中,Scale欄位值取大於6位亦可,其餘欄位的相關設定可暫時忽略,有機會再說明。

    另轉換SHP檔的欄位,須取唯一值欄位,以本案例取(New_na, 里名)。

    接著按選。

    在Field name指定唯一值欄位,本案例取(New_na, 里名),Extrude係針對高程的設定可暫時忽略。

    按OK後,即會產生KML檔,預設KML檔名為kml1.kml。

    至此即完成透過ESRI ArcView 3.2的SHP轉換KML檔作業。

    (3)透過自由軟體<Zonum>將SHP檔轉為KML檔。

    對於不是GIS系統的使用者而言,以ESRI系統來進SHP檔轉換KML檔不是很方便。因此,單獨的檔案格式轉換程式就很好用了,(轉檔程式僅轉換檔案格式,座標的轉換另須使用座標轉換程式),透過自由軟體轉換,本文採用Zonum Solutions所提供的Shp2Kml自由軟體。先至http://www.zonums.com/shp2kml.html下載Shp2kml.exe。

    確認Shp2kml的版權認證與說明。如同意則按I Accept Download鍵。

    儲存Shp2kml.zip壓縮檔,後解壓縮。

    執行Shp2kml.exe出現對話盒如下圖,在對話盒的右上方有五個功能按鍵,將於後記中簡要說明。

    於對話盒中Input File (*.shp)中輸入SHP檔案。如本案例為(3)67經緯度轉84經緯度.shp。座標選擇Google Earth的設定WGS 1984 Global Definition。至此,已完成簡要設定,如果原始SHP檔僅為2D結構,其餘設定可以完全忽略。直接按Next鍵進入下一畫面。

    直接按Next鍵進入下一畫面。

    直接按Next鍵進入下一畫面。

    直接按Next鍵進入下一畫面。

    出現對話盒,畫面下方出現Create KML file及Create and Open兩個按鍵。

    以Create KML file為例,出現輸入存放KML位置及檔名的對話盒。至此,即完成透過自由軟體Zonum Solutions所提供的Shp2Kml 2.0轉換程序。

    (4)透過自由軟體<Free Geography Tools>將SHP檔轉為KML檔。

    In the first post of this series, GPS TrackMaker was used as a simple way to export point and line shapefile data to Google Earth’s KML format. But GPS TrackMaker is limited in its ability to export shapefile attribute data; it can only export one attribute to label each shape plotted. And it has difficulty dealing with shapefiles that have large numbers of vertices. Today’s post will deal with a simple free program that allows you to export data from multiple attributes to the KML file, and which also seems to have fewer problems with large shapefiles.

    Shp2KML Converter (freeware; registration required) has a very straightforward interface:

    Click on the “Load Shapefile” button to open the shapefile you want to convert, which must be in WG84 latitude/longitude coordinates, or use the File => Load menu option. Next, from the top drop-down menu, select the shapefile attribute you want to use to label individual shapes in the Google Earth “Places” pane. In the window below the Name box is a list of all the shapefile attributes; you can select which ones you want to include in the KML file by checking the appropriate box. You have highlight an attribute name first by clicking on it before you can check the box.

    Finally, click on “Write KML” (or select File => Save As KML from the menu), and the KML file will be created. Here’s a screenshot from Google Earth showing the results from a large point shapefile that plots Arizona mines:

    There are over 10,000 mines in this shapefile; GPS TrackMaker was unable to convert it successfully to KML format, but Shp2KML Converter didn’t have a problem with it. Click on any of the markers above, and a pop-up balloon will appear that has the attribute data you specified above in a single line, each attribute separated from each other by a vertical line “|”. For example, the marker for the “RAY KELVIN” mine is labeled with that name in Google Earth, and clicking on the marker brings up a pop-up with “RAY KELVIN | LEAD, SILVER, COPPER, GOLD, ASBESTOS | UNDERGROUND” as the exported attributes NAME, COMMODITY, and TYPE.

    完成SHP檔轉換為KML檔作業後,就可以透過Google Earth/Map,將轉檔好的KML檔載入!
    參考教學網頁:
    (GM-5)Google Map讀取KML檔:

    網址:http://blog.xuite.net/lwkntu/blog/51204497
    (GE-2)Google Earth讀取KML檔:
    網址:http://blog.xuite.net/lwkntu/blog/51204868

    Related posts:

    1. Recap of "Exporting Shapefiles To Google Earth" Series
    2. Exporting Shapefiles To Google Earth III – shp2kml
    3. Exporting Shapefiles To Google Earth I – Quick And Simple
    4. Shapefile To KML Converter shp2kml Updated To Version 2.0.
    5. Exporting Shapefiles To Google Earth IV – Shape2Earth
    6. Two Online Vector GIS/GPS/KML Conversion Utilities
    7. Converting Shapefiles To KML With The gSpatial Toolbar (In Theory)
    8. Converting Google Earth KML Files To Shapefile Format
    9. Convert TIGER Census Shapefiles (And General Shapefiles As Well) Into Thematic Google Earth KML Files
    10. Graphical Front End For The ogr2ogr Vector File Converter
    11. Recap Of Intro To MapWindow GIS Series
    12. Online KML To Shapefile Converter
    13. An Easier Way To Convert Shapefiles to Text/Spreadsheet Format
    14. Convert Shapefiles Into SVG Format With Thematic Coloring
    15. Using Google Earth Ground Overlays To Display Shapefile Data

    Looking for something else? Enter some keywords below, and then click "Search". "This site" searches Free Geography Tools; "Web" searches the Internet using Google.

    後記:

    (一)有關TWD67、TWD97、WGS84的討論,參考「(GIS導論-02)投影與座標(2)」。主要在於國際地球標準,依不同的橢球體扁率所引起的差異。

    (二)Zonum Solutions所提供的Shp2Kml檔案格式轉換程式,在對話盒的右上方有五個功能按鍵,分別說明如下:
    (1)Preview Map:SHP檔圖面預視,Preview Map中的功能鍵只有連接Google Map的可以使用。

    (2)Attributes Tables:開啟SHP檔的屬性表格。

    (3)Statistics:顯示指定欄位的統計資料。最大值、最小值、合計、平均值、欄位筆數計數。

    (4)Histogram:直方圖統計,可以指定欄位及分類級數。

    (5)Scatter Plot:散佈圖,指定X軸及Y軸的欄位。

    關於SHP檔轉為KML檔的程序,可以有三種方法,包括:
    (1)透過ESRI的ArcGIS 9.x版直接轉換,轉換成本最高,非普羅大眾能輕易上手。
    (2)透過ESRI所提供的Extensions外加Avenue檔,以ArcView 3.x版本來轉換,轉換成本也不低。
    (3)最便宜的還是透過自由軟體,轉換SHP檔為KML檔,轉換程式版本很多,有機會測試後再跟大家方享。

    不過,不論用那一種方法都必須要先經過座標的轉換,因為Google Earth使用WGS84經緯度,須透過中研院座標轉換程式來處理這部份。

    相關教學網頁:
    (GIS運用-13)地理空間檔案座標轉換:ArcGIS轉換作業(具轉換參數gtf檔)
    網址:http://blog.xuite.net/lwkntu/blog/48281761
    (GIS運用-14)地理空間檔案座標轉換:以Free Tools轉換座標
    網址:http://blog.xuite.net/lwkntu/blog/10948220

    (OGC-4)NGIS資料倉儲...|日誌首頁|(OGC-10)OpenGIS...上一篇(OGC-4)NGIS資料倉儲及網路服務平台(TGOS)...下一篇(OGC-10)OpenGIS分散式架構:運用ArcGIS載入WFS(GML Format)...
    回應