2016年3月29日 星期二

離線地圖日記之三: 用 osmtracker 記錄、 gpsbabel 編輯軌跡

osmtracker 畫面 Osmtracker 可以用來記錄你走過的足跡。 你可以從 f-droid 市集 或從 google 市集下載。 一路上, 你可以照相、 錄音、 記文字筆記。 它所記錄的 gpx 檔可以在 josm 裡面開起來作為私人離線地圖日記, 也可以上傳至 osm 分享給其他圖客。

如圖, 當你按了加號新增軌跡之後, 還要等待 GPS 定位成功才會開始記錄。 GPS 訊號數量及強度 (右上角) 足以定位之前, 所有的記錄按鈕都不能用。 左上角則顯示手機目前面對的方位。

記錄軌跡的過程當中, 我自己最常用的是照相功能。

停止記錄之後, 可以按右上角磁碟片符號, 再按匯出, 把軌跡存成 gpx 檔。

如果不小心中斷記錄, 可以按 「繼續記錄」 (resume) 接續同一段軌跡。 或者另開一條新的軌跡也沒關係, 反正等一下可以編輯合併 gpx 檔。

當你斷斷續續地記了幾段軌跡之後, 「軌跡列表」 (track list) 會列出你所有的軌跡。 在某個軌跡上長按, 可以選擇要繼續記錄、 匯出 GPX、 上傳至 OSM、 刪除, 或是顯示。

話說 「顯示」 只在一片漆黑當中顯示你的軌跡, 實用性不太高。 如果想看背景地圖也可以, 從選單的 「設定」 當中勾選 「背景地圖」, 然後準備好要用掉不少 3G/4G 數據上網流量就 OK 啦。

「設定」 裡面還包含 GPS 記錄頻率、 存檔位置、 軌跡檔命名方式、 ... 等等選項。

用 adb 或其他方式把 gpx 檔傳到電腦之後, 就可以用 josm 載入 gpx 檔, 在背景地圖上檢視你走過哪些地方。 注意: 相片檔會載入到另一個獨立的圖層。

有兩篇很詳細的英文教學文: 1 2

注意: 如果要上傳至 osm 分享給大家, 在 「軌跡細節」 畫面中有一個隱私選項, 包含 「私人的」、「公開的」、「可追蹤的」、 「可辨識的」 四種選項。 詳見 wiki 頁面。 簡單地說, 如果你不介意全世界的人知道你這一趟何時在哪裡停留多久, 那就選最公開的 「可辨識的」。 如果你不希望別人知道, 那就別上傳啊! 如果你希望只把有用的資訊公開分享, 而不想讓人家知道你平均花幾分鐘上一次廁所, 那就要在 linux 上面安裝 gpsbabel 套件、 往下讀、 學會如何用它批次編輯 gpx 檔 :-)

假設你有幾個路徑檔 1.gpx, 2.gpx, 3.gpx。 以下的 output.gpx 是 (各種處理) 完成之後所產生的新檔案。 gpsbabel 可以拿來:

  1. 簡化路徑 (允許 2 公尺的誤差): gpsbabel -i gpx -f 1.gpx -x simplify,error=2m -o gpx -F output.gpx 例如你在某處徘徊/吃飯/看街頭藝人表演, GPS 不斷在同一地點附近記錄, 回家後就可用這功能刪掉多餘的點。
  2. 把幾條路徑合併成一條: gpsbabel -t -i gpx -f 1.gpx -f 2.gpx -f 3.gpx -x track,merge -o gpx -F output.gpx ( 出處)
  3. 時間造假: gpsbabel -i gpx -f 1.gpx -x track,faketime=f19991225120000+5 -o gpx -F output.gpx 把第一個點的時刻設定成 1999 年聖誕節中午, 後續每個點的間隔時間為 5 秒。

提示: 除了用 ls -l 檢查檔案大小之外, 也可以對每個檔案使用 grep '<trkpt' 1.gpx | wc 指令數一數輸入檔和輸出檔各有幾個點 (track point)。

如前所述, 時間造假的目的是為了保護隱私。 這個問答 說得好: 如果我經常上傳路徑, 又有人寫程式整理出我每時每刻的行程, 包含我何時慢跑、 何時上廁所... 並不是說 osm 社群真的有這樣的變態怪咖 哈哈! 而是因為隱私這東西, 一丟出去就收不回來了, 還是小心一點的好。 而且一兩條路徑也許沒什麼; 但是大數據的時代, 未來的人工智慧到底能夠從你的一系列軌跡裡面發掘出你的哪些怪癖, 我們現在真的很難預料。 時間造假的軌跡, 一方面對於其他圖客繪圖仍然很有幫助, 但另一方面又可以略微保護你的隱私。

離線地圖日記系列文章:

  1. 離線地圖日記之一: JOSM 新手入門
  2. 離線地圖日記之二: JOSM 畫線 (路徑) 眉角
  3. 離線地圖日記之三: 用 osmtracker 記錄、 gpsbabel 編輯軌跡

沒有留言:

張貼留言