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

אחרי שקובעים את הגדרות האפליקציה לשימוש ב-גיאו-מרחבי 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 מעלות.

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