Adakah yang tahu interpretasi yang tepat dari pengukuran akurasi yang dikembalikan oleh getAccuracy ()? Misalnya, apakah mereka dihitung sebagai:
Kemungkinan Kesalahan Melingkar (artinya, jika saya mengerti dengan benar, radius lingkaran kepercayaan 50%)?
Radius lingkaran kepercayaan 95%?
sesuatu yang lain?
Selain itu, kalkulasi apa saja yang digunakan dan seberapa besar kita bisa mengandalkannya? Apakah ini bergantung pada sumber perkiraan lokasi (GPS vs. jaringan)?
Terima kasih banyak atas saran yang bisa Anda berikan kepada saya.
Jawaban:
Untuk menjawab satu bagian dari pertanyaan, angka tersebut
the radius of 68% confidence,
berarti ada kemungkinan 68% bahwa lokasi sebenarnya berada dalam radius titik yang diukur dalam meter. Dengan asumsi bahwa kesalahan didistribusikan secara normal (yang, seperti yang dikatakan oleh dokumen, belum tentu benar), itu berarti ini adalah satu deviasi standar. Misalnya, jikaLocation.getAccuracy
mengembalikan 10, maka ada kemungkinan 68% lokasi perangkat yang sebenarnya berada dalam jarak 10 meter dari koordinat yang dilaporkan.http://developer.android.com/reference/android/location/Location.html#getAccuracy ()
sumber
Lokasi adalah tugas yang sulit untuk dilakukan, saat Anda memiliki masa pakai baterai terbatas dan saat tidak ada sinyal GPS di gedung dan di area dengan banyak gedung besar dan lain-lain. Namun Android membuatnya jauh lebih mudah. Saat Anda meminta lokasi, Anda hanya perlu menentukan akurasi yang Anda butuhkan.
Jika Anda menentukan yang Anda inginkan ,
accuracy
misalnya*100 meters*
, Android akan mencoba mendapatkan lokasi dan jika bisa mendapatkan lokasi dengan akurasi 70 meter, itu akan mengembalikannya kepada Anda, tetapi jika Android bisa mendapatkan lokasi dengan akurasi lebih tinggi dari 100 meter, aplikasi Anda akan menunggu dan tidak akan menerima apa pun hingga ada lokasi yang akurat.Biasanya Android pertama-tama akan mendapatkan ID Seluler dan kemudian akan mengirimkannya ke server Google, yang memetakan ID Sel tersebut dan server akan mengembalikan garis lintang dan garis bujur dengan akurasi yang rendah misalnya 1000 meter. Saat ini Android juga akan mencoba melihat semua jaringan WiFi di area tersebut dan akan mengirimkan informasi tentangnya juga ke server Google dan jika memungkinkan server Google akan mengembalikan lokasi baru dengan akurasi yang lebih tinggi, misalnya 800 meter.
Saat ini GPS akan menyala. Perangkat GPS membutuhkan setidaknya 30 detik dari awal yang dingin untuk mendapatkan perbaikan, jadi jika bisa mendapatkan perbaikan itu akan mengembalikan garis lintang dan bujur tetapi sekali lagi dengan akurasi, yang akan setinggi mungkin misalnya 100 meter. Semakin lama GPS bekerja, semakin baik akurasi yang didapat.
Pemberitahuan penting: Dua metode pertama membutuhkan koneksi internet. Jika tidak ada koneksi data, Anda harus menunggu GPS, tetapi jika perangkat berada di dalam gedung, Anda mungkin tidak akan mendapatkan lokasi.
sumber
Dokumentasi di getAccuracy mengatakan bahwa ia mengembalikan akurasi dalam meter. Saya akan menebak bahwa ini berarti jika Anda mendapatkan nilai kembali 60 Anda berada di suatu tempat dalam lingkaran dengan radius 60 meter di sekitar posisi yang disediakan.
sumber
Sejauh yang saya bisa lihat dari sekilas kode sumber Android, ini tergantung pada perangkat keras perangkat dan nilai apa yang dipilihnya untuk dikembalikan.
The
GpsLocationProvider.java
file memilikireportLocation
metode yang dipanggil oleh kode asli dan dilewatkan akurasi sebagai nilai. Jadi, tampaknya tidak ada perhitungan yang terjadi setidaknya dalam kerangka tersebut.The QCOM (yang saya percaya adalah Qualcomm) GPS git repo adalah melewati satu
hor_unc_circular
parameter untuk akurasi yang tampaknya menyiratkan bahwa, setidaknya, implementasi yang menggunakan CER.sumber
Jika, seperti dikutip dalam dokumen, ini adalah akurasi, maka posisi aktual pengguna ada di suatu tempat dalam QUOTED_LOCATION +/- AKURASI. Jadi keakuratan menentukan radius yang Anda harapkan dari pengguna. Apa yang tidak dikatakan oleh dokumen adalah seberapa yakin Anda bahwa pengguna berada dalam radius - standarnya adalah 95% jadi saya rasa ini dia.
sumber
Saya mengerti bahwa Anda meminta jawaban pasti dalam hal probabilitas, tetapi saya pikir ada dua hal yang perlu dipertimbangkan di sini.
Pertama, terserah penyedia untuk memutuskan apa yang ingin mereka masukkan ke dalam nilai ini, jadi bergantung pada penyedia, ini mungkin hanya tebakan yang buruk.
Kedua, mungkin membantu untuk menganggap ini sebagai masalah pembulatan potensial. Jika saya mencoba menghitung lokasi Anda berdasarkan sejumlah input, dan beberapa input tersebut hanya tersedia untuk sejumlah digit signifikan tertentu, maka hanya mungkin untuk menghitung lokasi dengan sejumlah digit signifikan tertentu.
Pikirkan seperti ini - apa "tentang" satu plus "tentang" seratus. Mungkin sekitar seratus, karena keakuratan seratus kemungkinan kurang dari besarnya 1. Jika saya tiba-tiba mengatakan jawabannya sekitar 101, maka saya mungkin akan menyiratkan tingkat akurasi yang tidak ada. Namun, jika saya benar-benar menentukan keakuratannya, maka saya dapat mengatakan bahwa itu 100 plus atau minus 10 plus 1 plus atau minus .1 adalah 101 plus atau minus 10. Saya mengerti bahwa ini umumnya mengacu pada sesuatu seperti tingkat kepercayaan 95% ( standard error), tetapi sekali lagi, semua mengasumsikan bahwa penyedia memahami statistik dan tidak hanya menebak-nebak.
sumber