熱門文章

2010年8月26日 星期四

離線地圖製作軟體 Mobile Atlas Creator 1.8 beta 1


[離線地圖製作軟體]
Mobile Atlas Creator (MOBAC) 近日釋出 1.8 beta 1,能下載的網路地圖種類與輸出格式更多了。

更新:已有 Mobile Atlas Creator 1.8 正式版


圖一:Mobile Atlas Creator 1.8 beta 1


[Mobile Atlas Creator 1.8 beta 1 注意事項]

MOBAC 1.8 beta 1 的使用方法請參考離線地圖製作軟體 Mobile Atlas Creator 1.7,這裡僅說明 1.8 beta 1 與 1.7 不同之處。
  • 之前 MOBAC 1.7 無法將 Google Hybrid (含地名的 Google 衛星地圖) 輸出成 "BigPlanet SQLite" 離線地圖資料庫,現在 MOBAC 1.8 beta 1 辦得到了。
  • 在 1.7 版,Atlas settings 的 Format 為 "BigPlanet SQLite",在 1.8 beta 1,"BigPlanet SQLite" 被改名為 "Big Planet Tracks SQLite" 及 "RMaps SQLite" 了。
    • 這兩種設定產生的 SQLite 資料庫 (*.sqlitedb) 其實是一模一樣的,也就是說跟以前一樣,在 Android 離線地圖程式 Big Planet Tracks 或 RMaps 中都可以使用,所以隨便選一種吧!
  • 在 1.7 版,產生的 SQLite 資料庫 (*.sqlitedb) 永遠是 BigPlanet_maps.sqlitedb 這個檔名,不過在 1.8 beta 1 不再是這樣了,檔名將依據 Atlas 的 Name 欄位內容 (圖一步驟 4) 而變動。
    • 假如 Name 欄位填 Taiwan,則 Create atlas 後會產生 "Custom Taiwan.sqlitedb" 這個檔名,所以若要分次下載合併不同區域地圖,請特別注意 Name 欄位與 atlases 目錄下的 *.sqlitedb 檔名是否相符。
    • 順便一提,當需要合併不同 SQLite 資料庫 (*.sqlitedb),現在有更便利的選擇了,就是使用 Dr. TYT 前幾天寫的 BigPlanet SQLite Database Merger 0.1,不需要經由 MOBAC 就可以直接合併兩個 SQLite 資料庫內容,使用上更彈性。
由於還是 beta 版,除非您需要離線使用 Google Hybrid (含地名的 Google 衛星地圖),否則 Dr. TYT 並不建議原有 1.7 版使用者馬上更換至 1.8 beta 1,當然,單純想要下載回來玩玩也不是不可以。


[下載 Mobile Atlas Creator 1.8 beta 1 ]

2010年8月25日 星期三

BigPlanet SQLite Database Merger 0.1


前幾天有網友問說能不能將兩個 BigPlanet SQLite (*.sqlitedb) 離線地圖資料庫直接合併,由於 Mobile Atlas Creator 沒有這個功能,所以 Dr. TYT 寫了一個名為 BigPlanetSQLiteMerger 0.1 版的 Java 程式,讓大家可以直接合併兩個資料庫的內容。

[BigPlanetSQLiteMerger 快速上手]
  1. 下載 BigPlanetSQLiteMerger 0.1.zip 並解壓縮至某目錄下,例如 C:\BigPlanetSQLiteMerger\
  2. 將欲合併的兩個 BigPlanet SQLite (*.sqlitedb) 離線地圖資料庫移至 C:\BigPlanetSQLiteMerger\ 目錄內,也就是說和 BigPlanetSQLiteMerger.jar 位於同一個目錄。
  3. 將欲合併的兩個離線地圖資料庫改名為 source.sqlitedb 及 target.sqlitedb
  4. 點兩下執行 start.bat,將 source.sqlitedb 的內容合併至 target.sqlitedb 內。
    • 假如 source.sqlitedb 內有 10,000 個地圖圖檔,target.sqlitedb 內有 20,000 個地圖圖檔,而且這兩個資料庫共有 2000 個地圖圖檔重複,則執行 start.bat 進行合併後,source.sqlitedb 內容不變,還是有 10,000 個地圖圖檔,target.sqlitedb 則會有 20,000+(10,000-2,000) = 28,000 個地圖圖檔。
    • 如果您需要保留合併前的 target.sqlitedb (內有 20,000 個地圖圖檔),則請在合併之前先備份 target.sqlitedb

[BigPlanetSQLiteMerger.jar 進階參數說明]
共三個參數,第三個為選擇性參數。
sourceSQLiteDB targetSQLiteDB [BatchSize=1000]
* 一般使用:
---------------------------------------------- 
java -Djava.library.path=lib -jar BigPlanetSQLiteMerger.jar source.sqlitedb target.sqlitedb
----------------------------------------------
以上指令將 source.sqlitedb 內容合併至 target.sqlitedb,預設每 1000 筆資料合併一次。
* 進階版 (每 10,000 筆資料合併一次): 
----------------------------------------------
java -Xms64M -Xmx768M -Djava.library.path=lib -jar BigPlanetSQLiteMerger.jar source.sqlitedb target.sqlitedb 10000
----------------------------------------------
一旦 BatchSize 設越大,理論上合併速度越快,但執行時需要用越多記憶體,所以必須調整此參數 -Xmx768M,此參數表示 JVM 最多使用 768 MB 的記憶體,若這個數字不夠大,就有可能出現 Out Of Memory (記憶體不足) 的錯誤。


[BigPlanetSQLiteMerger.jar 執行過程]