Mendapatkan pose Geospasial kamera perangkat

Setelah mengonfigurasi setelan aplikasi untuk menggunakan Geospatial API, Anda dapat memanggil Earth.getCameraGeospatialPose() untuk mendapatkan GeospatialPose yang mendeskripsikan posisi Geospasial perangkat untuk kamera dalam frame terbaru. Pose ini, yang dikelola dalam objek Earth, berisi informasi berikut:

  • Lokasi, yang dinyatakan dalam lintang dan bujur
  • Ketinggian
  • Orientasi yang mendekati arah hadap pengguna dalam sistem koordinat EUS dengan X+ mengarah ke timur, Y+ mengarah ke atas, dan Z+ mengarah ke selatan

Memeriksa status pelacakan

Nilai geospasial hanya valid saat Earth.TrackingState adalah TrackingState.TRACKING. Pastikan untuk menggabungkan semua panggilan Geospatial API dalam blok kontrol 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.
}

Jika Earth.TrackingState tidak menjadi TrackingState.TRACKING, Earth.TrackingState mungkin TrackingState.PAUSED atau TrackingState.STOPPED. Jika tidak satu pun kondisi ini benar, periksa Earth.Earthstate, yang menampilkan status error lain yang mungkin membuat objek Earth tidak terlacak.

Sesuaikan pose agar akurat

Ketika perangkat tegak pada orientasi default, sudut pitch (X+) dan roll (Z+) cenderung tepat karena penyelarasan alami dengan pelacakan AR. Namun, sudut yaw (Y+) dapat bervariasi tergantung pada ketersediaan data VPS dan kondisi sementara di lokasi. Aplikasi Anda mungkin harus melakukan penyesuaian untuk akurasi.

GeospatialPose.getOrientationYawAccuracy() memberikan perkiraan akurasi untuk sudut yaw (Y+) untuk GeospatialPose tertentu. Akurasi yaw orientasi adalah angka yang menjelaskan radius, dalam derajat, tingkat keyakinan persentil ke-68 di sekitar sudut yaw yang ditampilkan dari GeospatialPose.getEastUpSouthQuaternion(). Dengan kata lain, ada 68% peluang bahwa sudut yaw sebenarnya GeospatialPose akurat.

Nilai yang lebih besar menunjukkan akurasi yang lebih rendah. Misalnya, jika perkiraan sudut yaw adalah 60 derajat dan akurasi yaw adalah 10 derajat, maka ada 68% probabilitas bahwa sudut yaw yang sebenarnya adalah antara 50 dan 70 derajat.

Langkah berikutnya