קבלת המיקום הגיאו-מרחבי של מצלמת המכשיר

אחרי שקובעים את ההגדרות של האפליקציה לשימוש ב-Geospatial API, תוכלו להפעיל את Earth.getCameraGeospatialPose() כדי לקבל GeospatialPose שמתאר את המיקום הגאו-מרחבי של המכשיר ביחס למצלמה בפריים האחרון. התנוחה הזו, שמנוהלת באובייקט Earth, מכילה את המידע הבא:

  • מיקום, מבוטא בקווי רוחב ואורך
  • גובה
  • כיוון שקרוב מאוד לכיוון המשתמש במערכת הקואורדינטות של האיחוד האירופי, כאשר X+ פונה מזרח, Y+ מצביע למעלה ו-Z+ מצביע לדרום

בדיקת מצב המעקב

ערכים גיאו-מרחביים חוקיים רק כאשר Earth.TrackingState הוא TrackingState.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.TrackingState לא יהפוך ל-TrackingState.TRACKING, Earth.TrackingState יכול להיות TrackingState.PAUSED או TrackingState.STOPPED. אם אף אחד מהתנאים האלה לא מתקיים, צריך לסמן את התיבה Earth.Earthstate, שם מופיעים מצבי שגיאה אחרים שעשויים למנוע את המעקב של האובייקט Earth.

התאמת התנוחה כדי לשפר את הדיוק

כשהמכשיר נמצא במצב אנכי בכיוון ברירת המחדל, הזוויות גובה צליל (X+ ) וסיבוב (Z+ ) נוטות להיות מדויקות בגלל יישור טבעי עם המעקב ב-AR. עם זאת, זוויות הפיוס (Y+ ) עשויות להשתנות בהתאם לזמינות נתוני ה-VPS ולתנאים הזמניים במיקום. יכול להיות שצריך לבצע התאמות באפליקציה כדי לשפר את הדיוק.

GeospatialPose.getOrientationYawAccuracy() מספק אומדן מדויק של זוויות הפיוס (Y+ ) בטווח מסוים של GeospatialPose. דיוק הכיוון של תנועת הסיבוב הוא מספר שמתאר את הרדיוס של רמת הסמך של האחוזון ה-68 סביב זוויות התנועה שהוחזרו מ-GeospatialPose.getEastUpSouthQuaternion(). במילים אחרות, יש סיכוי של 68% שזווית הזווית האמיתית של GeospatialPose מדויקת.

ערכים גדולים יותר מציינים רמת דיוק נמוכה יותר. לדוגמה, אם זווית הציר המוערכת היא 60 מעלות ודיוק הציר הוא 10 מעלות, אז תהיה הסתברות של 68% שזווית הזווית האמיתית היא בין 50 ל-70 מעלות.

המאמרים הבאים