在 ROS 上想將 GPS 坐標從相關 Topic 取出,製作成 kml,展示在 Google Earth 上。記錄自己的一個做法。
儲存 ROS Topic message
為了產生 GNSS kml ,如果是 ROS message ,下面指令可以將 topic /gps/fix 發送的 message 儲存到檔案:
rostopic echo -p /gps/fix > gps
檔案內容如下:
其他 GNSS 資料來源的處理可以參考:
轉檔製作 GNSS kml
有很多線上/線下工具可以將檔案 (txt, csv…) 轉換成 kml 格式,只需要把對應的經緯度等欄位做好對應設定,就可一鍵轉換。我使用的是 ITN Converter,下載連結如下:
http://www.benichou-software.com/index.php?option=com_content&view=article&id=4&Itemid=2&lang=en
點選 Open 選擇你的檔案,會出現欄位設定:
設定好後,畫面會讀入資料,顯示欄位是否配對正確:
最後選擇 Export file format (kml),按下 Export 就會產生 kml 檔案。
另一個我常用的線上工具是 CSV to kml converter:
https://www.convertcsv.com/csv-to-kml.htm
簡易使用步驟:
- 在 Step 1 選擇 Choose File,選擇自己的 csv 檔案
- Step 2 & 3 可以忽略,一般不會用到
- Step 4 設定 CSV 對應經緯度等的欄位行號
- 按下 Conver CSV To KML
- 在 Result Data 處會顯示轉換後的 kml 內容
- 最後按下 Download Result,下載 kml 檔案
以 Google Earth 開啟 kml
Google Earth 是一個免費地球圖資工具,因為自己是測繪背景,很常需要用到地圖、三維模型、衛星影像等,所以經常使用這個工具,來展示定位演算法的成果軌跡,或進行分析驗證等等。早期 Pro 版是需要付費的,目前都免費提供使用,下載連結:
https://www.google.com/intl/zh-TW/earth/
雖然也有線上版,但整體操作個人還是喜歡離線版本,直接雙擊 kml 檔,會自動開啟安裝好的 Google Earth:
如果是使用 ITN Converter 產生的 kml 檔,會直接有左側的 Route 跟 Waypoints 可展示,但一般坐標點很多時,顯示 Waypoints 會很 lag,除非分析特定路段,一般都斟酌使用。Google Earth 上方也提供很多工具,像是距離量測,可以用來量測軌跡長度跟飄移誤差等,也可以切換歷史影像。細節就不多贅述,有需要時再回來補充囉。