Android 手機當 GPS 軌跡記錄器並將資訊存入照片的 EXIF 內

因為最近有這個需求,看能不能把隨身攜帶的 GPS 軌跡記錄器用手機來取代,目前初步看起來是可以的,當然也有些限制,容後再述。

這不是一篇 step by step 的教學文,只是指出個大概的使用方向,給自己做個記錄,也分享出來給大家看看。
我的A10首頁(上圖與本文無關)

因為我是使用 Google Android 系統的手機,所以找來的工具自然是 for Android。

首先是要讓 Android 手機能夠作為一個 GPS 記錄器。現在的 Android 手機應該都支援 GPS/A-GPS 定位方式,所以一定有軟體可以作為 GPS 軌跡記錄器。我在 Android Market 上找過好幾款軟體,都不甚滿意,最後是在朋友的推薦下知道了 RouteTracker 這套軟體。

RouteTracker 記錄了經緯度、高度、速度、方向等資訊,而且可以輸出成 KML、KMZ、GPX 這幾種常見的格式。不過我也發現了他的缺點,就是雖然在他的原始資料中有這麼多訊息,可是 export 到上述幾種格式後,速度、方向這些資訊就遺失了。

我覺得這套軟體在各方面幾乎都已經到位,就只差這麼一點點,所以就寫信給該作者,並且提供我手邊的 GPS logger 所產生的 KMZ 檔給他做參考。他的回應也很快,信件往返幾次後幾天內就推出了新版本,不過這些進一步的資訊都需要付費版才提供。我覺得也很合理,也很高興他處理得如此迅速,所以就下載了 RouteTracker 的付費版,大約要一百多元台幣。以下是以付費版來做說明的。

首先是在畫面上可以選擇定位的提供者,我的手機是 Garmin-ASUS 的 A10 (嗚嗚~其實我本來用 A50 但是才三個星期就被我遺失在計程車上),可能是因為這手機在導航方面有高度的整合,所以 RouteTracker 抓到了 Network 與 Garmin_Network 這兩個定位來源。從他的說明可以發現這就是利用手機基地台定位的方式,也就是所謂的 A-GPS,定位不是那麼精準,但是定位快速且電力消耗也少,如果需要長時間記錄且又無法提供即時的充電來源的話,可以考慮用 Network 來定位。

而我本身是覺得反正出去玩要記錄時,回到車上就可以充電,再加上也可以換電池,所以我比較不擔心電力問題。對我來說比較精準的定位是必要的,因此我選擇 GPS,也就是下圖:

RouteTracker

而且要使用 GPS 才能提供高度與速度這些資訊。

接著是一個使用上的建議,我建議打開 Show Notification:

RouteTracker

因為這樣可以在手機上方的狀態列顯示出一個圖案,有時候手機用來用去切來切去,有這個圖案你比較好快速回到 RouteTracker,而且有這個圖案也可以提醒你 RouteTracker 是在記錄中,請參考下圖的紅圈圈:

RouteTracker

還有一些雜項設定與 GPS 有關的我就不多說了。一切準備就緒,就可以按下 start 來記錄,此時畫面上還可以看到抓到的衛星數量、行走距離、平均速度、記錄的點數(waypoint) 等資訊。即使螢幕關起來,此程式仍然有在執行。以我使用 Garmin-ASUS A50 以及 A10 的經驗,因為此兩款手機的定位能力實在是超強超快,就算我放在褲子口袋裡面,他依然能夠畫出精準的路線軌跡,絲毫不受障礙物的影響。說到這兒也不禁令我讚嘆科技的進步,我手邊的 Wintec GPS logger 只要有一點障礙物遮住就無法定位,本來我也覺得這很合理,可是這兩隻 Garmin-ASUS 手機的定位能力實在是讓我大開眼界啊!

記錄下來的資訊,可以輸出成幾種格式。我測試了一下,輸出 KML 或 KMZ 都可以,但輸出 GPX 的話,待會用的相片結合軟體 GeoSetter 會有遺失高度資訊的問題:

RouteTracker

然後勾選這邊所有的選項,這樣就會將速度、高度、方向等資訊一併輸出:

RouteTracker

產生出來的 KML/KMZ 檔當然可以馬上交給 Google Earth 觀看,每一個點的資訊都會很完整,而且該條軌跡在 Google Earth 中是以 3D 方式呈現,所以隨著你拉動地圖、轉動角度,會發現那條紅線是懸浮著且有高低變化。

如果只是要做 GPS 軌跡記錄,那至此就完成了。不過我還有要把相片結合經緯度資訊的需求。剛才已經產生的 KMZ 檔可以繼續使用,透過 http://www.geosetter.de/ 的 GeoSetter 軟體就可以拿 KMZ 檔進行相片與經緯度資訊的合併,此軟體是免費的。

要結合照片的重點有二。由於此軟體的功能很多,一時之間差點找不到怎麼拿 KMZ 檔結合照片的選項,所以第一個要提醒的是此功能其實是在 Images 大項下的 Synchronize with GPS Data Files:

GeoSetter

把你要結合 GPS 資訊的照片圈選起來,然後點選上圖中的 Synchronize with GPS Data Files 就可以進行到下一步:

GeoSetter

你可以把單一的 KMZ 檔,或一堆的 KMZ 檔準備在同一個目錄下讓 GeoSetter 自己去分析。

第二個重點來了,此處有個 4 選 1 的結合方法,我發現預設的不行,可能是有時區上要調整的問題,但沒關係,另外兩種方法都可以成功的對準照片,分別是 Use Time Zone 以及 Use Waypoint,請參考上圖。

就這樣,外部相機的照片就可以用 KMZ 檔來結合經緯度資訊了。當然,別忘記相機一定要和 GPS 一起對時,相片的經緯度才會準確,而不會對歪掉。

至於一開始所說的限制,其實不外乎就是電力消耗的問題,這方面,獨立使用的 GPS Logger 硬體裝置還是有其強烈的優勢,一兩顆電池就可以持續使用十幾個小時以上,完全不用管它;但 Android 手機可沒這種能耐,除非能夠一邊使用一邊充電,或隨時充電換電池都不是問題,不然應該是禁不起這種軟體的長時間消耗,即使換成 A-GPS 定位,能爭取的時間恐怕也不會太多,所以這種使用還是要適度適量才好。

如果你問我,Android 手機本身的照相功能不就可以做到所謂的 GeoTagging,為什麼我要搞得這麼複雜,我的答案是:

手機拍出來的照片實在是太醜了,臨時非正式的用一用可以,對於記錄美美的風景或風土民情,我還是要用其他的相機啊!所以才會有這種需求囉!

Facebook 留言



您可能會有興趣的文章

3 Responses

  1. 回頭車 說:

    有同感

  2. Julya E. Lu 說:

    請問這個軟體支援橫向螢幕嗎?另外請問輸出檔除了可在 Google Earth上面看, 可以在 Google map上看嗎?

  3. Johnson.Wang 說:

    可以的,這軟體可以橫著使用。不過以他的主要用途是背景記錄軌跡來說,橫著用直著用應該不重要啦! 😉