將Google Earth的KML檔案匯入Google Map教學

01網友chihpao兄很熱心地發表了一篇:
軌跡檔+照片GPS定位製作教學 (範例:大雪山0~50K)
教導大家如何製作GPS軌跡檔,詳細的介紹讓許多人受益。

小弟有感於此,也來野人獻曝一番。

本篇的重點,將擺在Google地球Google地圖的應用上。

【前言】

首先我們先來認識一下一些名詞。

Google地球(Google Earth):是一個應用程式,使用者可以免費下載並安裝。

KML:KML (或 Keyhole Markup Language,鎖孔標記語言) 是一種 XML 語法與檔案格式,可用於塑模與儲存諸如點、線、圖像、多角形與模型等地理特定以顯示在「Google 地球」、「Google 地圖」與其他應用程式上。您可以使用 KML 與這些應用程式的其他使用者分享位置和資訊。說明網址

KMZ:可以視為KML的壓縮檔案。KML可以用文字編輯器打開編輯,KMZ則不行。

Google地圖(Google Map):是一個網頁,可以將自己製作的地圖公佈在網路上,供大家參考。

搞清楚這些關係後,您需要下載並安裝Google地球,並至Google地圖申請一個個人帳號。

【Google地球的軌跡處理】

幾乎所有的GPS軌跡記錄器(GPS Track Logger)都支援Google地球,有些GPS軌跡記錄器直接會用本身的應用程式開啟Google地球,並將軌跡顯示於其上,有些GPS軌跡記錄器則是將軌跡匯出成KMLKMZ,當使用者滑鼠按左鍵雙擊該檔案時,會自動啟動Google地球並載入該軌跡。

小弟以小弟最近在航跡區發表過的高雄縣 仁美鳳梨山+東照山關帝廟環線為例。

有興趣按下列說明步驟操作的網友,可以按這裡下載KMZ檔案

把上面的ZIP檔下載解開後,雙擊「20090329.kmz」,即可使用Google地球開啟軌跡。

▼Google地球開啟KMZ軌跡,畫面如下圖所示


請注意,畫面左方的「位置」視窗,有3個資料夾,分別是:

Track:軌跡,紀錄此次旅程的航跡,其實可以把它視為連結各航跡紀錄點的一條多邊線(PolyLine)。

Push_Log_Point:自訂紀錄點,通常GPS軌跡記錄器都支援按下某個按鈕後,把某個座標特別紀錄下來,通常是著名的地標或是使用者自訂的特別意義,例如轉角等。

Track Point:軌跡點,這個資料夾紀錄了此次旅程所有的航跡點。

當然,不同的GPS軌跡記錄器,顯示在Google地球的內容不盡相同,但原則上大同小異。您只要區分資料夾存的到底是「線」(航跡)還是「點」(航跡點)即可。

接下來請用網頁瀏覽器開啟Google地圖網頁,若您擁有Google帳號並登入,可以切換至「我的地圖」頁籤建立新地圖。

Google地圖允許使用者建立並分享自己的地圖,而新地圖的資料又支援以KMLKMZ格式匯入。

▼利用「匯入」方式建立新地圖畫面,我們選擇「20090329.kmz」


▼匯入「20090329.kmz」檔案後產生的結果


軌跡是出來了,但是卻出現了很多惱人的點位,不僅拖慢速度,編輯起來也很耗時。請先把這個地圖刪除。

接下來就是重點啦!

為什麼Google地球Google地圖對相同的KMZ檔案有不同的解讀和呈現?說實在的,小弟不是Google公司人員,不得而知,但是小弟卻知道如何避免產生這個現象。若是「將來」Google的開發人員發現並解決了這個現象,那這裡的討論就屬於過渡時期的處理方式囉!

回到Google地球,會發生在Google地圖產生一堆惱人點位,是因為Google地圖Track Point裡的所有點位也放進去了!

這時,讀者應該注意到了,也就是說,只要是「點」的資料夾,內容會原封不動匯入Google地圖,不管該資料夾內的點位是否有被核取(打勾啦)。

因為這是環線,所以我要保留Track Point裡的「起點」,作法是把該點「剪下」,到Push_Log_Point資料夾貼上。

然後把Track Point資料夾整個刪除。

▼Google地球畫面如下圖所示,只剩下TrackPush_Log_Point資料夾


▼接著從資料夾的上一層,按滑鼠右鍵->「位置另存為...」


▼選擇存成KML檔,檔名我們取「20090329.kml」


再次到Google地圖網頁建立新地圖,這次「匯入」新完成的「20090329.kml」檔案。

▼這次的航跡和航跡紀錄點就很漂亮啦!


但是,這並不是我們的終極目標,接下來小弟將介紹如何將照片放入自建的地圖中,請再次刪除這次建立的地圖吧。

【Google地球的照片處理】

其實在軌跡檔+照片GPS定位製作教學 (範例:大雪山0~50K)這一篇裡有教導大家如何利用照片的EXIF時間戳記對應照片,大家也不妨參考。

如果紀錄的點位、照片不多的話,可以利用以下方式進行連結。

首先,先把照片上傳至網路上免費的多媒體分享空間,小弟用的是Twango,但似乎已被Nokia收購,不過仍然可以使用。

▼切回Google地球,選擇紀錄的點位->右鍵->「內容」,在「說明」欄位裡,加入< img >標籤,給入照片資料~


▼編輯完成後,再度選擇該航跡點位,即顯示圖片~


其實「說明」欄位是採用HTML格式,您也可以輸入適當的說明訊息。

這個步驟雖然也可以在匯入至Google地圖後進行,但是相對會比較慢。建議可以利用Google地球編輯好以後再匯入。

陸續編輯各點位後,重複上述動作,再次將位置另存為「20090329.kml」,覆蓋掉先前的檔案。

▼再度利用Google地圖的匯入功能匯入,這次的Google地圖資料,就包含照片資料啦!


▼編輯好地圖後,選右上角的「連結」(我的舊圖借來說明)


▼然後選「自訂和預覽內嵌地圖」,可以在「src=」哪裡發現要內嵌的網址(我的舊圖借來說明)


1.自訂:地圖大小選「大」
2.預覽:利用+、-調整地圖範圍
3.複製並貼上此 HTML 以嵌入您的網站:選取「src=」內容,按下Ctrl+C複製到剪貼簿


▼在01的發文模式選「BBCode」->「插入內建框架」,在產生出來的[ iframe ]標籤內,插入上面的「src=」內容即可嵌入地圖(點選紀錄點位會有照片)


▼嵌入的地圖,點選紀錄點位會顯示照片
按這裡檢視網頁

大地圖連結

按這裡下載編輯好的KML檔案

【結論】

利用Google地球先編輯好航跡的KML資料,再匯入Google地圖,著眼點在Google地球是本機端的應用程式,編輯容易且迅速,完成航跡檔編輯後,可以利用Google地圖的匯入功能,輕鬆把走過的航跡製作成地圖,並利用[ iframe ]標籤,嵌入在01的發文器,與大家分享。
不羈的靈魂,明天要去哪裡流浪?
2009-04-03 12:54 #1
may the thanks be with you 謝謝約翰兄分享如此仔細的教學文
http://www.wretch.cc/blog/edinman 愛丁人
感謝大大分享!

不過我上傳kml檔之後卻無法一次顯示出所有路線,變成分段顯示,但我沒分段紀錄,好怪!!

google map

我使用的是n82配SportTracks。
我的Blog:http://blog.pixnet.net/KSavageBlog
ksavage0927 wrote:
不過我上傳kml檔之後卻無法一次顯示出所有路線,變成分段顯示,但我沒分段紀錄,好怪!!

要不要把KML或KMZ檔壓縮放上來,我們研究研究?
不羈的靈魂,明天要去哪裡流浪?
附上檔案。

無效的路徑
我的Blog:http://blog.pixnet.net/KSavageBlog
ksavage0927 wrote:
附上檔案。

那您上一層的這個Google地圖,是如何「連接起來」的呢?
不羈的靈魂,明天要去哪裡流浪?
上面我沒做修改,只是上傳到01。

我只有使用 建立新地圖匯入 軌跡的方式會造成軌跡分段,如我第一篇回文那樣。

如是上傳到Google Creator,在用檔案連結方式觀看軌跡也不會有分段的問題,如這樣
我的Blog:http://blog.pixnet.net/KSavageBlog
ksavage0927 wrote:
上面我沒做修改,只是上傳到01。

我只有使用 建立新地圖 用 匯入 軌跡的方式會造成軌跡分段,如我第一篇回文那樣。

如是上傳到Google Creator,在用檔案連結方式觀看軌跡也不會有分段的問題,如這樣。

的確是滿詭異的~

因為小弟有您的KML打開,比對其他正常顯示的KML檔,軌跡部份紀錄的格式是類似的。

不過,軌跡是航跡點構成的。該行紀錄在KML裡很長,也實在不知道為什麼Google地圖會這樣切?
(也很難找到它切開的那一點,觀察跟前後點位的差別)

我把您的軌跡紀錄那一行(很長的那一行,文字編輯器根本拉不到盡頭),剪下貼到蓋掉別的KML對應該行,結果一樣。

所以小弟暫時是找不到解決方法啦~對那一行資料恐怕會對到眼花哩?

小弟推測是描述軌跡的點位太多了~如果可以設定的話,您下次紀錄點位的時候試試拉長紀錄間隔?

在討論串一開始小弟就提過,Google地圖解析KML跟Google地球有差異,所以有這些奇奇怪怪的現象似乎也不意外
不羈的靈魂,明天要去哪裡流浪?
嘿嘿~沒有錯,小弟確定的確是構成軌跡的點位太多了~

小弟寫了一隻小程式,可以幫您處理這個問題。

步驟如下:

1.首先,先找出軌跡那一行,把它剪下,單獨另存成「Edit1.kml」,後面的< /coordinates>標籤要拿掉

2.命令提示字元執行 ReduceKmlPointApp 10,中間有空格,後面的數字表是幾點一取,但首末兩點一定保留。
(如果是12點一取,則執行 ReduceKmlPointApp 12,依此類推)

3.會產生「Edit2.kml」,只有一行,貼到原軌跡檔蓋過原來那行

4.記得該行最後加上< /coordinates>標籤

5.利用Google地圖的匯入功能即可看到全軌跡

PS:
1.本程式必須在.net 1.1下運作
2.軌跡數不見得只剩一條,但是可以大幅減少。

附加壓縮檔: ReduceKmlPoint.zip
不羈的靈魂,明天要去哪裡流浪?
介紹的很詳細喔
我有從正門上去過,也繞了一圈澄清湖
不過要嵌入01我還是不會耶
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
提醒:內容可能因過於寫實、驚悚而令人感到不舒服,是否繼續觀看?

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結