Po skonfigurowaniu ustawień aplikacji pod kątem korzystania z interfejsu Geospatial API możesz wywołać funkcję Earth.getCameraGeospatialPose()
, aby uzyskać wartość GeospatialPose
, która opisuje pozycjonowanie geoprzestrzenne urządzenia dla aparatu w najnowszym ujęciu. Ta poza, zarządzana w obiekcie Earth
, zawiera te informacje:
- lokalizacja wyrażona w szerokości i długości geograficznej;
- Wysokość
- Orientacja zbliżona do kierunku, w którym zwrócony jest 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 Earth.TrackingState
ma wartość TrackingState.TRACKING
. Zawijaj wszystkie wywołania interfejsu Geospatial API w blok sterujący Earth.TrackingState
.
if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) { GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose(); // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
if (earth.trackingState == TrackingState.TRACKING) { val cameraGeospatialPose = earth.cameraGeospatialPose // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Jeśli Earth.TrackingState
nie stanie się TrackingState.TRACKING
, Earth.TrackingState
może być TrackingState.PAUSED
lub TrackingState.STOPPED
. Jeśli żaden z tych warunków nie jest spełniony, sprawdź Earth.Earthstate
, aby wyświetlić inne stany błędów, które mogą uniemożliwiać śledzenie obiektu Earth
.
Dostosuj pozę, 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 yaw (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.getOrientationYawAccuracy()
podaje szacunkowy poziom dokładności kątów yaw (Y+) dla określonego GeospatialPose
. Dokładność orientacji skręcenia to liczba określająca promień (w stopniach) 68. percentyla poziomu ufności wokół kątów skręcenia zwróconych przez funkcję GeospatialPose.getEastUpSouthQuaternion()
. Innymi słowy, istnieje 68% prawdopodobieństwo, że rzeczywisty kąt yaw obiektu GeospatialPose
jest prawidłowy.
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?
- Umieść kotwicę geoprzestrzenną, uzyskując jej pozycję geoprzestrzenną.