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

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

  • 위도 및 경도로 표현된 위치
  • 고도
  • EUS 좌표계에서 X+가 동쪽을, Y+가 위쪽을, Z+가 남쪽을 가리키는 사용자의 방향을 근사하는 방향입니다.

추적 상태 확인

지리적 값은 Earth.TrackingStateTrackingState.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.TrackingStateTrackingState.TRACKING이 아닌 경우 Earth.TrackingStateTrackingState.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% 입니다.

다음 단계