Obtén la pose geoespacial de la cámara del dispositivo

Una vez que hayas establecido la configuración de tu app para usar la API de Geospatial, puedes obtener el AREarthManager.CameraGeospatialPose de la cámara del dispositivo. Esta postura, administrada en un objeto AREarthManager, contiene la siguiente información:

  • Ubicación, expresada en latitud y longitud
  • Altitud
  • Una orientación que se aproxima a la dirección hacia la que apunta el usuario en el sistema de coordenadas EUS, en la que X+ apunta hacia el este, Y+ apunta hacia arriba y Z+ apunta al sur

Verifica el estado de seguimiento

Los valores geoespaciales solo son válidos mientras AREarthManager.EarthTrackingState es TrackingState.Tracking. Asegúrate de unir todas las llamadas a la API de Geospatial en un bloque de control 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 no se convierte en TrackingState.Tracking, AREarthManager.EarthTrackingState puede ser TrackingState.Limited o TrackingState.None. Si no se cumple ninguna de estas condiciones, verifica TrackingState.EarthTrackingState, que muestra otros estados de error que podrían impedir que el objeto AREarthManager realice el seguimiento.

Ajusta la pose para lograr precisión.

Cuando el dispositivo está en posición vertical en la orientación predeterminada, los ángulos de inclinación (X+) y giro (Z+) suelen ser precisos debido a una alineación natural con seguimiento de RA. Sin embargo, los ángulos de guiñada (Y+) pueden variar según la disponibilidad de datos de los VPS y las condiciones temporales de la ubicación. Es posible que tu app deba realizar ajustes para mejorar la precisión.

GeospatialPose.OrientationYawAccuracy proporciona una estimación de exactitud para los ángulos de guiñada (Y+) para un determinado AREarthManager.CameraGeospatialPose. La precisión de la guiñada de orientación es un número que describe el radio, en grados, del nivel de confianza del percentil 68 alrededor de los ángulos de guiñada en GeospatialPose.EunRotation. En otras palabras, hay una probabilidad del 68% de que el ángulo de guiñada real de AREarthManager.CameraGeospatialPose sea preciso dentro de la cantidad de grados que muestra GeospatialPose.OrientationYawAccuracy.

Los valores más altos indican una precisión menor. Por ejemplo, si el ángulo de guiñada estimado es de 60 grados y la precisión de guiñada es de 10 grados, hay una probabilidad del 68% de que el ángulo de guiñada verdadero esté entre 50 y 70 grados.

Próximos pasos