기기 카메라의 지리 공간 포즈를 가져옵니다.

Geospatial API를 사용하도록 앱 설정을 구성한 후에는 Earth.getCameraGeospatialPose()를 호출하여 최신 프레임에서 카메라에 관한 기기의 지리정보 위치를 설명하는 GeospatialPose를 가져올 수 있습니다. Earth 객체에서 관리되는 이 포즈에는 다음 정보가 포함됩니다.

  • 위치(위도 및 경도로 표시)
  • 고도
  • X+가 동쪽을 가리키고 Y+가 위쪽을 가리키고 Z+가 남쪽을 가리키는 EUS 좌표계에서 사용자가 향하고 있는 방향에 가까운 방향입니다.

추적 상태 확인

지리정보 값은 Earth.TrackingStateTrackingState.TRACKING인 경우에만 유효합니다. 모든 Geospatial API 호출은 Earth.TrackingState 제어 블록에 래핑해야 합니다.

Java

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.TrackingStateTrackingState.TRACKING가 되지 않는 경우 Earth.TrackingStateTrackingState.PAUSED 또는 TrackingState.STOPPED일 수 있습니다. 이러한 조건이 모두 충족되지 않으면 Earth 객체가 추적되지 않도록 할 수 있는 다른 오류 상태를 보여주는 Earth.Earthstate를 확인합니다.

포즈를 조정하여 정확도 높이기

기기가 기본 방향에서 수직인 경우 AR 추적과 자연스럽게 정렬되어 피치 (X+) 및 롤 (Z+) 각도가 정확한 경향이 있습니다. 그러나 요 (Y+) 각도는 VPS 데이터 가용성과 위치의 시간적 조건에 따라 달라질 수 있습니다. 앱에서 정확도를 높이기 위해 조정해야 할 수 있습니다.

GeospatialPose.getOrientationYawAccuracy()은 특정 GeospatialPose의 요 (Y+) 각도의 정확도 추정치를 제공합니다. 방향 요 정확성은 GeospatialPose.getEastUpSouthQuaternion()에서 반환된 요 각도 주변의 68번째 백분위수 신뢰 수준의 반경을 도 단위로 설명하는 숫자입니다. 즉, GeospatialPose의 실제 요각이 정확할 확률은 68% 입니다.

값이 클수록 정확도가 낮음을 나타냅니다. 예를 들어 추정된 요 각도가 60도이고 요 정확도가 10도이면 실제 요 각도가 50도에서 70도 사이일 확률이 68% 입니다.

다음 단계