デバイスのカメラの地理空間ポーズを取得する

Geospatial API を使用するようにアプリの設定を完了したら、デバイスのカメラの AREarthManager.CameraGeospatialPose を取得できます。このポーズは AREarthManager オブジェクトで管理され、次の情報を含みます。

  • 緯度と経度で表されるロケーション
  • 標高
  • EUS 座標系で、ユーザーの向いている方向を近似する向き。X+ は東、Y+ は上、Z+ は南向きです。

追跡ステータスを確認する

地理空間値は、AREarthManager.EarthTrackingStateTrackingState.Tracking の場合にのみ有効です。すべての Geospatial API 呼び出しを AREarthManager.EarthTrackingState コントロール ブロックでラップします。

var earthTrackingState = EarthManager.EarthTrackingState;
if (earthTrackingState == TrackingState.Tracking)
{
  // camera_geospatial_pose contains geodetic location, rotation, and
  // confidences values.
  var cameraGeospatialPose = EarthManager.CameraGeospatialPose;
}

AREarthManager.EarthTrackingStateTrackingState.Tracking にならない場合、AREarthManager.EarthTrackingStateTrackingState.Limited または TrackingState.None になります。上記のどちらの条件にも当てはまらない場合は、TrackingState.EarthTrackingState を確認してください。AREarthManager オブジェクトによるトラッキングの妨げとなる他のエラー状態が表示されます。

正確にポーズをとる

デバイスをデフォルトの向きで縦向きにすると、AR トラッキングと自然に整合するため、ピッチ角(X+)とロール角(Z+)が正確になる傾向があります。ただし、ヨー(Y+)角度は、VPS データの可用性とその場所の時間的条件に応じて異なります。アプリによっては精度を上げるために調整が必要になる場合があります。

GeospatialPose.OrientationYawAccuracy は特定の AREarthManager.CameraGeospatialPose のヨー(Y+)角度の精度を推定します。向きのヨー精度は、GeospatialPose.EunRotation のヨー角を中心とする 68 パーセンタイル信頼レベルの半径を度数で表す数値です。つまり、AREarthManager.CameraGeospatialPose の実際のヨー角が、GeospatialPose.OrientationYawAccuracy によって返される度数の範囲内で正確である可能性は 68% です。

値が大きいほど、精度が低くなります。例えば、推定されたヨー角度が 60 度でヨー精度が 10 度の場合、真のヨー角度が 50 度から 70 度の間にある確率は 68% です。

次のステップ