GPS融合
SAILS的定位引擎支援了GPS融合,透過融合技術可以讓用戶在戶外與室內享受無縫的定位導航體驗,本章節以下即介紹如何將GPS導入至定位引擎中使用。
啟動GPS
欲啟動GPS融合技術,僅需要再mode設定中加入WITH_GPS即可,例如您若需要BLE+IMU搭配GPS的模式,您可以透過以下模式啟動:
mSails.setMode(SAILS.BLE_GFP_IMU|SAILS.WITH_GPS);
請留意使用GPS融合模式時需確定整個地圖與大地座標是正確對應的。
另外,當成功載入雲端圖資後,需要額外設定GPS預設顯示樓層,亦即當使用GPS時,會切換至該設定樓層(請放於loadCloudBuilding的onSuccess中)。
//以第一個樓層作為GPS樓層
mSails.setGPSFloorLayer(mSails.getFloorNameList().get(0));
//以最後一個樓層作為GPS樓層
mSails.setGPSFloorLayer(mSails.getFloorNameList().get(mSails.getFloorNameList().size()-1));
GPS/Beacon切換參數與設定
引擎預設啟動為室內模式,會先以收SAILS Beacon訊號為主,在沒有接收到Beacon後定位引擎會自動切換至戶外模式,亦即接收GPS訊號來做定位。而在戶外模式時,當定位引擎又開始接收到SAILS Beacon後,會再切回到室內模式,透過Beacon進行定位,在這邊有三個參數需要設定:
- 室內到戶外Beacon低數量門檻(In to Out)
- 戶外到室內Beacon高數量門檻(Out to In)
- 最低有效的Beacon強度準位(Beacon Min Power)
當引擎為室內模式,且收到Beacon的數量(Beacon須高於最低有效Beacon強度準位才計算)低於 室內到戶外Beacon低數量門檻 後會自動切換至戶外模式,透過GPS訊號來做定位。
當引擎為戶外模式,且收到Beacon的數量(Beacon須高於最低有效Beacon強度準位才計算)高於 戶外到室內Beacon高數量門檻 後會自動切換至室內模式,透過接收SAILS Beacon訊號來做定位。
可以透過設定不同的低數量與高數量值來增強室內與戶外切換的穩定性。但須留意當低數量門檻設過高時會造成Beacon密度不夠之區域會切換至戶外模式。
GPS/Beacon切換參數設定方式如下:
mSails.setGPSThresholdParameter(in_to_out,out_to_in,beacon_min_power);