Độ chính xác của vị trí được đo như thế nào trong Android?


95

Có ai biết cách diễn giải thích hợp của các phép đo độ chính xác được trả về bởi getAccuracy () không? Ví dụ, chúng được tính như sau:

  • Xác suất lỗi hình tròn (nghĩa là, nếu tôi hiểu đúng, bán kính của vòng tròn độ tin cậy 50%)?

  • Bán kính của vòng tròn tin cậy 95%?

  • thứ gì khác?

Ngoài ra, những tính toán thực tế được sử dụng là gì và chúng ta có thể dựa vào chúng ở mức độ nào? Nó có phụ thuộc vào nguồn ước tính vị trí (GPS so với mạng) không?

Rất cám ơn vì bất kỳ lời khuyên nào bạn có thể cho tôi.


4
Câu hỏi không phải là làm thế nào để lấy được vị trí mà là định nghĩa thực tế của giá trị trả về của getAccuracy trong lớp vị trí.
Janusz

Câu trả lời:


67

Để trả lời một phần của câu hỏi, con số có the radius of 68% confidence,nghĩa là có 68% cơ hội rằng vị trí thực sự nằm trong bán kính đó của điểm được đo bằng mét. Giả sử rằng các lỗi được phân phối bình thường (như các tài liệu nói, không nhất thiết phải đúng), điều đó có nghĩa rằng đây là một độ lệch chuẩn. Ví dụ: nếu Location.getAccuracytrả về 10, thì có 68% khả năng vị trí thực của thiết bị nằm trong phạm vi 10 mét so với tọa độ được báo cáo.

http://developer.android.com/reference/android/location/Location.html#getAccuracy ()


Cảm ơn, Karl. Tôi thấy họ hiện đã cập nhật tài liệu, điều này rất hữu ích. Đây chính xác là những gì tôi đang tìm kiếm mặc dù tôi nghĩ rằng quan điểm của dscheffy cũng rất quan trọng.
John RB Palmer

@paracycle Cũng có một điểm tốt là độ chính xác được báo cáo bởi nhà cung cấp, người cuối cùng có thể quyết định xử lý nó theo cách họ muốn. Ví dụ: sử dụng DDMS sẽ cung cấp giá trị 0,0 cho độ chính xác vì bạn đang đặt một tọa độ chính xác.
karl

11
@AidenStrydom, không. Nếu độ chính xác trả về 1000, điều đó có nghĩa là có 68% khả năng vị trí thực nằm trong phạm vi 1000 mét tính từ vị trí được cung cấp.
karl

Độ chính xác có bị ảnh hưởng bởi thời tiết không?
Juri Tichomirow

@karl bạn có nghĩa là 32% vượt quá 10 mét? (ví dụ: 11 hoặc 12 hoặc cao hơn mét).
david

44

Xác định vị trí là một công việc khó thực hiện, khi bạn có thời lượng pin hạn chế và khi không có tín hiệu GPS trong các tòa nhà và những khu vực có nhiều tòa nhà lớn, v.v. Nhưng Android làm cho việc này dễ dàng hơn nhiều. Khi bạn yêu cầu một vị trí, bạn chỉ cần chỉ định độ chính xác mà bạn cần.

Nếu bạn chỉ định rằng bạn muốn một accuracyví dụ *100 meters*, Android sẽ cố gắng lấy vị trí và nếu nó có thể nhận được vị trí với độ chính xác 70 mét, nó sẽ trả lại cho bạn, nhưng nếu Android có thể nhận được vị trí với độ chính xác cao hơn 100 mét, ứng dụng của bạn sẽ đợi và sẽ không nhận được bất cứ thứ gì cho đến khi có vị trí chính xác như vậy.

Thông thường, Android trước tiên sẽ lấy Cell ID và sau đó sẽ gửi nó đến máy chủ của Google, máy chủ này sẽ ánh xạ các Cell ID đó và máy chủ sẽ trả về vĩ độ và kinh độ với độ chính xác thấp, chẳng hạn như 1000 mét. Tại thời điểm này, Android cũng sẽ cố gắng xem tất cả các mạng WiFi trong khu vực và sẽ gửi thông tin về chúng đến máy chủ Google và nếu có thể máy chủ Google sẽ trả về một vị trí mới với độ chính xác cao hơn, ví dụ 800 mét.

Lúc này, GPS sẽ được bật. Thiết bị GPS cần ít nhất 30 giây kể từ khi khởi động nguội để sửa chữa, vì vậy nếu có thể sửa được, thiết bị sẽ trả về vĩ độ và kinh độ nhưng một lần nữa với độ chính xác, sẽ là cao nhất có thể đối với ví dụ là 100 mét. GPS hoạt động càng lâu, bạn sẽ nhận được độ chính xác càng cao.

Thông báo quan trọng: Hai phương pháp đầu tiên yêu cầu kết nối internet. Nếu không có kết nối dữ liệu, bạn sẽ phải đợi GPS, nhưng nếu thiết bị ở trong một tòa nhà, bạn có thể sẽ không nhận được vị trí.


14
Điều đó không thực sự trả lời câu hỏi "độ chính xác 100m" nghĩa là gì.
Tomas

2
@vendor, bạn có thể vui lòng nêu tài liệu tham khảo mà bạn nhận được phần thông tin này. câu trả lời của bạn đã giúp tôi hiểu cách nó hoạt động, cảm ơn bạn.
một người chơi công bằng vào

@a fair player Một số thông tin có trong developer.android.com và tôi đã thực hiện một số thử nghiệm với các dịch vụ dựa trên vị trí trong Android.
nhà cung cấp

9
API nào cho phép bạn chỉ định độ chính xác 100 mét? Tôi thấy Tiêu chí ACCURACY_COARSE, ACCURACY_FINE, ACCURACY_HIGH, ACCURACY_LOW, ACCURACY_MEDIUM, nhưng không phải 100 mét.
Cris

Câu trả lời này dựa trên điều gì?
AlikElzin-kilaka

18

Tài liệu trên getAccuracy nói rằng nó trả về độ chính xác tính bằng mét. Tôi đoán rằng điều này có nghĩa là nếu bạn nhận được giá trị trả về là 60, bạn đang ở đâu đó trong một vòng tròn có bán kính 60 mét xung quanh vị trí được cung cấp.


1
nếu tôi xem bản đồ google của mình và vị trí hiện tại của tôi, bạn đã đúng ... trong hầu hết các trường hợp. Nó cũng đã xảy ra, đó là điện thoại của tôi cho thấy vị trí của tôi khoảng 2 hoặc 3 km từ vị trí thật của tôi ... Tôi cũng đang quan tâm đến vấn đề này
poeschlorn

1
Cảm ơn. Tôi đồng ý rằng giá trị do getAccuracy trả về tính bằng mét và nó phải là bán kính của hình tròn (hoặc có thể là hình cầu khi độ cao cũng được đưa ra trong ước tính vị trí). Nhưng cũng phải có một xác suất đi kèm với nó, và thật kỳ lạ khi tài liệu không cho biết xác suất đó là gì hoặc nó đến bằng cách nào. Tôi đã thấy một bài đăng trực tuyến có người gợi ý rằng đó có thể là CEP, nhưng đó dường như chỉ là phỏng đoán vì vậy tôi thực sự muốn tìm cách xác nhận xem đó là điều đó hay vòng kết nối tin cậy 95% hay thứ gì khác.
John RB Palmer

1
Dưới đây là một số liên kết hữu ích để hiểu câu hỏi (nhưng không giải quyết được nó): users.erols.com/dlwilson/gpsacc.htm groups.google.com/group/android-developers/browse_thread/thread/…
John RB Palmer

12

Theo như tôi có thể thấy khi xem nhanh mã nguồn Android, điều này phụ thuộc vào phần cứng của thiết bị và giá trị mà nó chọn trả về.

Các GpsLocationProvider.javatập tin có một reportLocationphương pháp mà được gọi bằng mã nguồn gốc và được thông qua tính chính xác như một giá trị. Do đó, ít nhất không có phép tính nào xảy ra trong khuôn khổ.

Các QCOM (mà tôi tin là Qualcomm) GPS git repo là đi qua các hor_unc_circularthông số về độ chính xác mà dường như ngụ ý rằng, ít nhất, thực hiện đó là sử dụng CER.


4

Nếu, như được trích dẫn trong tài liệu, đó là độ chính xác, thì vị trí thực tế của người dùng nằm ở đâu đó trong QUOTED_LOCATION +/- ACCURACY. Vì vậy, độ chính xác xác định bán kính mà bạn có thể mong đợi người dùng ở đó. Những gì tài liệu không nói là bạn có thể chắc chắn rằng người dùng ở trong bán kính như thế nào - tiêu chuẩn là 95% nên tôi đoán thế này.


1
Tôi quan tâm hơn đến sự tự tin như câu hỏi chỉ ra. Có thể là một trong nhiều phép đo gpsinformation.net/main/errors.htm
Samuel

1

Tôi hiểu rằng bạn đang yêu cầu một câu trả lời chắc chắn về xác suất, nhưng tôi nghĩ có hai điều cần xem xét ở đây.

Trước hết, nhà cung cấp quyết định những gì họ muốn đưa vào giá trị này, vì vậy tùy thuộc vào nhà cung cấp, nó có thể chỉ là một dự đoán sai.

Thứ hai, có thể hữu ích khi nghĩ đây là một vấn đề làm tròn tiềm năng. Nếu tôi đang cố gắng tính toán vị trí của bạn dựa trên một số đầu vào và một số đầu vào đó chỉ có sẵn cho một số chữ số có nghĩa nhất định, thì chỉ có thể tính một vị trí với một số chữ số có nghĩa nhất định.

Hãy nghĩ về nó theo cách này - về "một cộng" là gì về "một trăm. Có lẽ là khoảng một trăm, bởi vì độ chính xác của một trăm có thể nhỏ hơn độ lớn của 1. Nếu tôi đột nhiên nói câu trả lời là khoảng 101, thì cuối cùng tôi có thể ám chỉ một mức độ chính xác không có ở đó. Tuy nhiên, nếu tôi thực sự chỉ định độ chính xác, thì tôi có thể nói rằng 100 cộng hoặc trừ 10 cộng với 1 cộng hoặc trừ .1 là 101 cộng hoặc trừ 10. Tôi hiểu rằng điều này thường đề cập đến một cái gì đó giống như mức độ tin cậy 95% ( lỗi tiêu chuẩn), nhưng một lần nữa, tất cả đều giả định rằng nhà cung cấp hiểu số liệu thống kê và không chỉ đoán.


Cảm ơn - điều này rất hữu ích. Về vấn đề đầu tiên, cách tiếp cận của tôi với theo dõi vị trí là thu thập ước tính độ chính xác nhưng cũng thực hiện "kiểm tra thực tế" bằng cách tính toán khoảng cách và thời gian giữa các điểm liên tiếp và sau đó loại bỏ những điểm yêu cầu vận tốc không thực tế (ngay cả khi, đôi khi trường hợp, chúng được báo cáo là có độ chính xác cao). Nếu bạn có bất kỳ đề xuất nào khác, tôi rất muốn nghe chúng.
John RB Palmer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.