การติดตามตำแหน่งบน iOS ได้รับการปรับปรุงความแม่นยำ: นักพัฒนาแชร์เทคนิคขั้นสูงสำหรับความแม่นยำต่ำกว่า 100 เมตร

ทีมชุมชน BigGo
การติดตามตำแหน่งบน iOS ได้รับการปรับปรุงความแม่นยำ: นักพัฒนาแชร์เทคนิคขั้นสูงสำหรับความแม่นยำต่ำกว่า 100 เมตร

โครงการติดตามตำแหน่งล่าสุดได้จุดประกายการอภิปรายในชุมชนเกี่ยวกับเทคนิคการติดตามตำแหน่งขั้นสูงบน iOS ที่สามารถบรรลุความแม่นยำที่สูงกว่าวิธีการมาตรฐานมาก ในขณะที่ API การเปลี่ยนแปลงตำแหน่งที่สำคัญของ Apple โดยทั่วไปจะให้การอัปเดตเฉพาะเมื่อผู้ใช้เคลื่อนที่ 500 เมตรหรือมากกว่า นักพัฒนากำลังแชร์วิธีแก้ปัญหาที่ซับซ้อนซึ่งสามารถลดระยะนี้ลงเหลือ 50-100 เมตรโดยไม่ส่งผลกระทบต่ออายุแบตเตอรี่อย่างมีนัยสำคัญ

การเปรียบเทียบความแม่นยำของตำแหน่งใน iOS

วิธีการ ความแม่นยำ ผลกระทบต่อแบตเตอรี่ ความถี่ในการอัปเดต
การเปลี่ยนแปลงตำแหน่งที่สำคัญ 500m+ น้อยที่สุด (รายงาน 0%) ทุก 5+ นาที
การติดตามภูมิภาคเดียว ~100m ต่ำ เมื่อออกจากภูมิภาค
การติดตามหลายภูมิภาค ~50m ต่ำ-ปานกลาง เมื่อเข้าสู่ภูมิภาค
GPS แบบต่อเนื่อง <10m สูง ทุกไม่กี่วินาที

การติดตามพื้นที่: กุญแจสู่ความแม่นยำที่สูงขึ้น

แนวทางที่มีแนวโน้มดีที่สุดเกี่ยวข้องกับการใช้ความสามารถในการติดตามพื้นที่ของ iOS ในรูปแบบที่สร้างสรรค์ แทนที่จะพึ่งพาการเปลี่ยนแปลงตำแหน่งที่สำคัญเพียงอย่างเดียว นักพัฒนาสามารถตั้งค่าพื้นที่วงกลมรอบตำแหน่งปัจจุบันของผู้ใช้ เมื่อผู้ใช้ออกจากพื้นที่เหล่านี้ แอปจะได้รับการแจ้งเตือนและสามารถสร้างโซนการติดตามใหม่ เทคนิคนี้สามารถบรรลุความแม่นยำลงไปประมาณ 100 เมตร ซึ่งเป็นเส้นผ่านศูนย์กลางขั้นต่ำที่ iOS อนุญาตสำหรับพื้นที่ที่ติดตาม

วิธีการขั้นสูงยิ่งขึ้นเกี่ยวข้องกับการตั้งค่าพื้นที่ที่ทับซ้อนกันหลายพื้นที่ในทิศทางหลักรอบตำแหน่งของผู้ใช้ เมื่อผู้ใช้เข้าสู่โซนที่วางกลยุทธ์เหล่านี้ แอปจะบันทึกตำแหน่งของพวกเขาและสร้างชุดพื้นที่การติดตามใหม่ แนวทางนี้สามารถผลักดันความแม่นยำให้ใกล้เคียงกับ 50 เมตรในขณะที่รักษาประสิทธิภาพแบตเตอรี่ที่ทำให้การติดตามตำแหน่งเป็นไปได้อย่างปฏิบัติจริงสำหรับการใช้งานประจำวัน

ข้อกำหนดทางเทคนิคสำหรับการติดตามตำแหน่งขั้นสูงใน iOS

  • Region Monitoring API: ความสามารถของ Core Location framework ในการตั้งค่าขอบเขตทางภูมิศาสตร์
  • ขนาดพื้นที่ขั้นต่ำ: เส้นผ่านศูนย์กลาง 100 เมตร (ข้อจำกัดของ iOS)
  • จำนวนพื้นที่สูงสุด: สามารถติดตามได้สูงสุด 20 พื้นที่พร้อมกันต่อแอปพลิเคชัน
  • การประมวลผลในพื้นหลัง: ต้องการสิทธิ์การรีเฟรชแอปในพื้นหลังที่เหมาะสม
  • การคำนวณทางคณิตศาสตร์: เรขาคณิตที่ซับซ้อนสำหรับพื้นที่วงกลมที่ทับซ้อนกัน
  • การใช้หน่วยความจำ: ใช้ทรัพยากรน้อยมากเมื่อเปรียบเทียบกับการติดตาม GPS แบบต่อเนื่อง

โซลูชันทางเลือกและเครื่องมือ

ชุมชนยังได้เน้นโซลูชันที่พร้อมใช้งานสำหรับผู้ใช้ที่ต้องการตัวเลือกแบบเสียบและใช้งานได้ทันที Arc Timeline ได้รับความสนใจในฐานะแอป iOS ที่เชื่อถือได้ซึ่งสร้างไฟล์ GPX โดยอัตโนมัติและเก็บไว้ใน iCloud Drive โดยไม่ใช้แบตเตอรี่มากเกินไป สำหรับผู้ใช้ที่ต้องการความเข้ากันได้ข้ามแพลตฟอร์ม Owntracks เสนอทางเลือกที่แข็งแกร่งซึ่งทำงานข้ามระบบปฏิบัติการที่แตกต่างกันและให้ความเชื่อถือได้ที่ยอดเยี่ยม

นักพัฒนาบางคนได้ใช้แนวทางแบบมินิมอล โดยใช้ตัวรับ Python แบบง่ายเพื่อบันทึกข้อมูลตำแหน่งลงในไฟล์ GPX รายวัน จากนั้นสร้างเว็บไซต์แบบคงที่จากข้อมูลนี้ วิธีนี้ดึงดูดผู้ใช้ที่ต้องการให้ข้อมูลตำแหน่งของพวกเขาถูกเก็บไว้ในรูปแบบมาตรฐานควบคู่ไปกับไฟล์ส่วนตัวอื่นๆ

ข้อมูลเชิงลึกเกี่ยวกับการนำไปใช้ทางเทคนิค

การอภิปรายเผยให้เห็นว่าการบรรลุความแม่นยำต่ำกว่า 100 เมตรต้องการการคำนวณทางคณิตศาสตร์ที่ระมัดระวังและการจัดการพื้นที่ นักพัฒนาต้องจัดการกับเรขาคณิตที่ซับซ้อนของพื้นที่วงกลมที่ทับซ้อนกันและใช้ตรรกะเพื่ออัปเดตโซนการติดตามอย่างต่อเนื่องเมื่อผู้ใช้เคลื่อนที่ แอป Home Assistant iOS ทำหน้าที่เป็นตัวอย่างในโลกแห่งความเป็นจริงของเทคนิคนี้ในการปฏิบัติ โดยเฉพาะสำหรับการติดตามโซนที่เล็กกว่าขั้นต่ำมาตรฐาน 100 เมตร

เทคนิคขั้นสูงเหล่านี้แสดงถึงการปรับปรุงที่สำคัญเหนือการติดตามตำแหน่งพื้นฐานในขณะที่รักษาประสิทธิภาพแบตเตอรี่ที่ทำให้การติดตามอย่างต่อเนื่องเป็นไปได้อย่างปฏิบัติจริง เมื่อความกังวลเรื่องความเป็นส่วนตัวผลักดันให้ผู้ใช้มากขึ้นหันไปจากบริการตำแหน่งเชิงพาณิชย์ วิธีการที่นักพัฒนาแชร์เหล่านี้ให้ทางเลือกที่เป็นไปได้สำหรับการสร้างโซลูชันการติดตามตำแหน่งแบบกำหนดเอง

อ้างอิง: Recreationally overengineering my Location History