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軌跡記錄器則是將軌跡匯出成KML或KMZ,當使用者滑鼠按左鍵雙擊該檔案時,會自動啟動Google地球並載入該軌跡。
小弟以小弟最近在航跡區發表過的高雄縣 仁美鳳梨山+東照山關帝廟環線為例。
有興趣按下列說明步驟操作的網友,可以按這裡下載KMZ檔案。
把上面的ZIP檔下載解開後,雙擊「20090329.kmz」,即可使用Google地球開啟軌跡。
▼Google地球開啟KMZ軌跡,畫面如下圖所示
請注意,畫面左方的「位置」視窗,有3個資料夾,分別是:
Track:軌跡,紀錄此次旅程的航跡,其實可以把它視為連結各航跡紀錄點的一條多邊線(PolyLine)。
Push_Log_Point:自訂紀錄點,通常GPS軌跡記錄器都支援按下某個按鈕後,把某個座標特別紀錄下來,通常是著名的地標或是使用者自訂的特別意義,例如轉角等。
Track Point:軌跡點,這個資料夾紀錄了此次旅程所有的航跡點。
當然,不同的GPS軌跡記錄器,顯示在Google地球的內容不盡相同,但原則上大同小異。您只要區分資料夾存的到底是「線」(航跡)還是「點」(航跡點)即可。
接下來請用網頁瀏覽器開啟Google地圖網頁,若您擁有Google帳號並登入,可以切換至「我的地圖」頁籤建立新地圖。
Google地圖允許使用者建立並分享自己的地圖,而新地圖的資料又支援以KML或KMZ格式匯入。
▼利用「匯入」方式建立新地圖畫面,我們選擇「20090329.kmz」
▼匯入「20090329.kmz」檔案後產生的結果
軌跡是出來了,但是卻出現了很多惱人的點位,不僅拖慢速度,編輯起來也很耗時。請先把這個地圖刪除。
接下來就是重點啦!
為什麼Google地球和Google地圖對相同的KMZ檔案有不同的解讀和呈現?說實在的,小弟不是Google公司人員,不得而知,但是小弟卻知道如何避免產生這個現象。若是「將來」Google的開發人員發現並解決了這個現象,那這裡的討論就屬於過渡時期的處理方式囉!
回到Google地球,會發生在Google地圖產生一堆惱人點位,是因為Google地圖把Track Point裡的所有點位也放進去了!
這時,讀者應該注意到了,也就是說,只要是「點」的資料夾,內容會原封不動匯入Google地圖,不管該資料夾內的點位是否有被核取(打勾啦)。
因為這是環線,所以我要保留Track Point裡的「起點」,作法是把該點「剪下」,到Push_Log_Point資料夾貼上。
然後把Track Point資料夾整個刪除。
▼Google地球畫面如下圖所示,只剩下Track和Push_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的發文器,與大家分享。
不過我上傳kml檔之後卻無法一次顯示出所有路線,變成分段顯示,但我沒分段紀錄,好怪!!
google map
我使用的是n82配SportTracks。
我的Blog:http://blog.pixnet.net/KSavageBlog
我只有使用 建立新地圖 用 匯入 軌跡的方式會造成軌跡分段,如我第一篇回文那樣。
如是上傳到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
不羈的靈魂,明天要去哪裡流浪?
關閉廣告