Sprawdź pozycję aparatu urządzenia w orientacji geoprzestrzennej

Po skonfigurowaniu ustawień aplikacji pod kątem używania interfejsu Geospatial API możesz uzyskać AREarthManager.CameraGeospatialPose kamery urządzenia. Ta poza, zarządzana w obiekcie AREarthManager, zawiera te informacje:

  • lokalizacja wyrażona w szerokości i długości geograficznej;
  • Wysokość
  • Orientacja zbliżona do kierunku, w którym patrzy użytkownik w systemie współrzędnych EUS, gdzie X+ wskazuje na wschód, Y+ na górę, a Z+ na południe

Sprawdzanie stanu śledzenia

Wartości geoprzestrzenne są prawidłowe tylko wtedy, gdy parametr AREarthManager.EarthTrackingState ma wartość TrackingState.Tracking. Zawijaj wszystkie wywołania interfejsu Geospatial API w blok sterujący AREarthManager.EarthTrackingState.

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

Jeśli AREarthManager.EarthTrackingState nie stanie się TrackingState.Tracking, AREarthManager.EarthTrackingState może być TrackingState.Limited lub TrackingState.None. Jeśli żaden z tych warunków nie jest spełniony, sprawdź TrackingState.EarthTrackingState, aby zobaczyć inne stany błędów, które mogą uniemożliwiać śledzenie obiektu AREarthManager.

Dostosuj pozycję, aby uzyskać dokładność

Gdy urządzenie jest ustawione w domyślnej orientacji pionowej, kąty pochylenia (X+) i odchylenia (Z+) są zwykle dokładne ze względu na naturalne dopasowanie do śledzenia AR. Jednak kąty odchylenia (Y+) mogą się różnić w zależności od dostępności danych VPS i warunków czasowych w danej lokalizacji. Aplikacja może wymagać wprowadzenia korekty w celu zwiększenia dokładności.

GeospatialPose.OrientationYawAccuracy podaje oszacowanie dokładności kątów odchylenia (Y+) dla określonych elementów AREarthManager.CameraGeospatialPose. Dokładność orientacji skręcenia to liczba określająca promień (w stopniach) 68 proc. poziomu ufności wokół kątów skręcenia w GeospatialPose.EunRotation. Oznacza to 68-procentowe prawdopodobieństwo, że prawdziwe odchylenie punktu AREarthManager.CameraGeospatialPose jest dokładne z uwzględnieniem liczby stopni zwróconej przez GeospatialPose.OrientationYawAccuracy.

Większe wartości oznaczają mniejszą dokładność. Jeśli na przykład szacowany kąt odchylenia wynosi 60 stopni, a dokładność 10 stopni, prawdopodobieństwo, że rzeczywisty kąt odchylenia mieści się w przedziale od 50 do 70 stopni, wynosi 68%.

Co dalej?