Ottenere la posizione geospaziale della fotocamera del dispositivo

Dopo aver configurato le impostazioni dell'app per l'utilizzo dell'API Geospatial, puoi ottenere il AREarthManager.CameraGeospatialPose della fotocamera del dispositivo. Questa posa, gestita in un oggetto AREarthManager, contiene le seguenti informazioni:

  • Posizione, espressa in latitudine e longitudine
  • Altitudine
  • Un orientamento approssimativo della direzione in cui si trova l'utente nel sistema di coordinate EUS con X+ rivolto verso est, Y+ verso l'alto e Z+ verso sud

Controllare lo stato del monitoraggio

I valori geospaziali sono validi solo quando AREarthManager.EarthTrackingState è TrackingState.Tracking. Assicurati di racchiudere tutte le chiamate all'API geospaziale in un blocco di controllo AREarthManager.EarthTrackingState.

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

Se AREarthManager.EarthTrackingState non diventa TrackingState.Tracking, AREarthManager.EarthTrackingState potrebbe essere TrackingState.Limited o TrackingState.None. Se nessuna di queste condizioni è vera, controlla TrackingState.EarthTrackingState, che mostra altri stati di errore che potrebbero impedire il monitoraggio dell'oggetto AREarthManager.

Regola la posa per una maggiore precisione

Quando il dispositivo è in posizione verticale nell'orientamento predefinito, gli angoli di inclinazione (X+) e di roll (Z+) tendono ad essere precisi a causa di un allineamento naturale con il rilevamento AR. Tuttavia, gli angoli di yaw (Y+) possono variare a seconda della disponibilità dei dati VPS e delle condizioni temporali nella località. Potrebbe essere necessario apportare modifiche all'app per garantire l'accuratezza.

GeospatialPose.OrientationYawAccuracy fornisce una stima dell'accuratezza per gli angoli di yaw (Y+) per un determinato AREarthManager.CameraGeospatialPose. La precisione dello scarto sull'orientamento è un numero che descrive il raggio, in gradi, del livello di confidenza del 68° percentile intorno agli angoli di scarto in GeospatialPose.EunRotation. In altre parole, esiste una probabilità del 68% che l'angolo di yaw reale di AREarthManager.CameraGeospatialPose sia preciso entro il numero di gradi restituito da GeospatialPose.OrientationYawAccuracy.

Valori più elevati indicano una minore accuratezza. Ad esempio, se l'angolo di yaw stimato è di 60 gradi e la precisione di yaw è di 10 gradi, esiste una probabilità del 68% che l'angolo di yaw reale sia compreso tra 50 e 70 gradi.

Passaggi successivi