OsmAnd 是一套 Android 手機作業系統上使用 OSM 地圖的軟體,可用於檢視、記錄及導航,山哥目前用它來記錄騎單車的軌跡,然後用這個軌跡在電腦上修正 OSM 地圖,在修正完後有時需要實地確認是否有修正正確或遺漏的地方,但 OsmAnd 的地圖大約一個月更新一次,所以很難用 OsmAnd 去實地確認,再加上山哥手機無法上網,也無法用 Web 方式進行確認,所以才會想是否有其方式或軟體可以解決這個問題? 在Facebook OSM 社群中有先輩說可以有付費贊助功能(OSM Live)或自己build圖資,而山哥喜歡自己動手作,所以選擇了後者。
要自己 build 圖資可參考先輩提供的網址 OsmAndMapCreator, 其過程如下:
1.由 Geofabrik下載 PBF 地圖檔。
2.用 OsmAndMapCreator 把 PBF 檔案載為 OsmAnd 所需的 OBF 檔。
3.把 OBF 複製至手機上去。
這邊記錄下來我的操作過程
手動操作
1.下載 PBF 檔
我是直接由 http://download.geofabrik.de/asia/taiwan.html 下載台灣的 PBF 檔。
2.下載 OsmAndMapCreator
由 http://download.osmand.net/latest-night-build/OsmAndMapCreator-main.zip 下載 OsmAndMapCreator
OsmAndMapCreator是個 JAVA 寫成的程式,所以你需要把 JRE 設定好才能執行,可參考網站上的說明。
3.執行 OsmAndMapCreator 轉檔
解壓縮後執行 OsmAndMapCreator.bat 或 OsmAndMapCreator.sh (前面是 Windows 環境,後後是 Linux 環境)即會出現
然後點擊 File 下的 Creaet .obf from osm file... 即會出現以下對話框讓你選擇 PBF 檔案
點擊 "開啟" 即會進行轉檔
轉換完畢後檔案會產生在 UI 上顯示的 Working directory 中
批次操作
如果你都是固定要轉某個地域的地圖,你可以寫個 batch 或 shell script,只要執行即可產成 obf 檔,省去手動操作的時間和步驟,這裏以 linux shell script 為例,在 osmandmapcreator 下建立 download.sh,其內容如下:
wget http://download.geofabrik.de/asia/taiwan-latest.osm.pbf
./utilities.sh generate-obf taiwan-latest.osm.pbf
注意事項
1.Out of memory 問題: 因為圖檔很大,所以在轉檔時可能出現記憶體不足的問題,你需要修改 OsmAndMapCreator.bat 或 OsmAndMapCreator.sh 中 -Xms 及 -Xmx 的設定值