Geospatial API를 사용하도록 앱 설정을 구성한 후 Earth.getCameraGeospatialPose()
를 호출하여 최신 프레임에서 카메라의 기기 위치정보를 나타내는 GeospatialPose
를 가져올 수 있습니다. Earth
객체에서 관리되는 이 포즈에는 다음 정보가 포함됩니다.
- 위도 및 경도로 표현된 위치
- 고도
- EUS 좌표계에서 X+가 동쪽을, Y+가 위쪽을, Z+가 남쪽을 가리키는 사용자의 방향을 근사하는 방향입니다.
추적 상태 확인
지리적 값은 Earth.TrackingState
이 TrackingState.TRACKING
인 경우에만 유효합니다. 모든 Geospatial API 호출을 Earth.TrackingState
컨트롤 블록으로 래핑해야 합니다.
자바
if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) { GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose(); // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Kotlin
if (earth.trackingState == TrackingState.TRACKING) { val cameraGeospatialPose = earth.cameraGeospatialPose // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Earth.TrackingState
가 TrackingState.TRACKING
이 아닌 경우 Earth.TrackingState
는 TrackingState.PAUSED
또는 TrackingState.STOPPED
일 수 있습니다. 두 조건이 모두 false인 경우 Earth.Earthstate
를 선택합니다. 그러면 Earth
객체가 추적되지 못하게 하는 다른 오류 상태가 표시됩니다.
정확성을 위해 자세 조정
기기가 기본 방향으로 세워져 있으면 AR 추적과의 자연스러운 정렬로 인해 피치 (X+) 및 롤 (Z+) 각도가 정확한 경향이 있습니다. 하지만 요각 (Y+) 각도는 VPS 데이터 가용성과 위치의 시간적 조건에 따라 달라질 수 있습니다. 앱에서 정확성을 위해 조정해야 할 수 있습니다.
GeospatialPose.getOrientationYawAccuracy()
는 특정 GeospatialPose
의 요 (Y+) 각도에 대한 정확도 추정치를 제공합니다. 방향 요 정확도는 GeospatialPose.getEastUpSouthQuaternion()
에서 반환된 요 각도 주변의 68번째 백분위 신뢰 수준의 반경(도)을 나타내는 숫자입니다. 즉, GeospatialPose
의 실제 요각이 정확할 확률은 68% 입니다.
값이 클수록 정확도가 낮습니다. 예를 들어 예상 요 각도가 60도이고 요 정확도가 10도인 경우 실제 요 각도가 50도에서 70도 사이일 확률은 68% 입니다.
다음 단계
- 앵커의 Geospatial 포즈를 가져와 Geospatial 앵커를 배치합니다.