Une fois que vous avez configuré les paramètres de votre application pour utiliser l'API Geospatial, vous pouvez obtenir le AREarthManager.CameraGeospatialPose
de la caméra de l'appareil. Cette posture, gérée dans un objet AREarthManager
, contient les informations suivantes:
- Lieu, exprimé en latitude et en longitude
- Altitude
- Orientation approximative de la direction à laquelle l'utilisateur est orienté dans le système de coordonnées de l'EUS, avec X+ pointant vers l'est, Y+ pointant vers le haut et Z+ pointant vers le sud
Vérifier l'état de suivi
Les valeurs géospatiales ne sont valides que si AREarthManager.EarthTrackingState
est défini sur TrackingState.Tracking
. Veillez à encapsuler tous les appels d'API Geospatial dans un bloc de contrôle AREarthManager.EarthTrackingState
.
var earthTrackingState = EarthManager.EarthTrackingState;
if (earthTrackingState == TrackingState.Tracking)
{
// camera_geospatial_pose contains geodetic location, rotation, and
// confidences values.
var cameraGeospatialPose = EarthManager.CameraGeospatialPose;
}
Si AREarthManager.EarthTrackingState
ne devient pas TrackingState.Tracking
, AREarthManager.EarthTrackingState
peut être TrackingState.Limited
ou TrackingState.None
. Si aucune de ces conditions n'est vraie, vérifiez TrackingState.EarthTrackingState
, qui affiche d'autres états d'erreur susceptibles d'empêcher le suivi de l'objet AREarthManager
.
Ajuster la posture pour plus de précision
Lorsque l'appareil est à la verticale dans l'orientation par défaut, les angles d'inclinaison (X+) et de roulis (Z+) ont tendance à être précis en raison de l'alignement naturel avec le suivi en RA. Cependant, les angles du lacet (Y+) peuvent varier en fonction de la disponibilité des données VPS et des conditions temporelles du site. Votre application devra peut-être effectuer des ajustements pour plus de précision.
GeospatialPose.OrientationYawAccuracy
fournit une estimation de la précision des angles du lacet (Y+) pour un AREarthManager.CameraGeospatialPose
donné. La précision du lacet est un nombre qui décrit le rayon, en degrés, du niveau de confiance du 68e centile autour des angles du lacet dans GeospatialPose.EunRotation
. En d'autres termes, il y a 68% de chances que l'angle réel du lacet de AREarthManager.CameraGeospatialPose
soit précis dans le nombre de degrés renvoyé par
GeospatialPose.OrientationYawAccuracy
Plus la valeur est élevée, plus la précision est faible. Par exemple, si l'angle de lacet estimé est de 60 degrés et que la précision du lacet est de 10 degrés, la probabilité que l'angle réel du lacet soit comprise entre 50 et 70 degrés est de 68 %.
Étape suivante
- Placez une ancre géospatiale en obtenant la position géospatiale de l'ancre.