What is the probability of 2 different android devices returning exactly the same GPS co-ordinates. According to the wiki, the 5th decimal place gives a accuracy of 1.1m, and the onLocationChanged returns upto 7 decimal points, meaning accuracy of 1cm. Now we also have to account for the fact that GPS technology itself will introduce some errors. From what I understand (and from my tests), phone kept at the same location is returning between 0.18143341 meters to 22 meters.
I need to know this to arrive at a realistic algorithm to identify people by their location. The question is, do I need to associate the identity of the person too in the mix of my equation or can I safely assume that 2 phones in the exactly same location will not return the exact same GPS (ever).
Thoughts anyone ?
Samples below (30 second apart)
02-21 14:18:48.679: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:19:18.678: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:19:48.668: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 14:20:18.797: D/Taxeeta:RegularUpdates(5511): Is location changed 6.563945
02-21 14:20:48.676: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:21:18.725: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:21:48.685: D/Taxeeta:RegularUpdates(5511): Is location changed 2.6022007
02-21 14:22:18.704: D/Taxeeta:RegularUpdates(5511): Is location changed 6.5060697
02-21 14:22:48.703: D/Taxeeta:RegularUpdates(5511): Is location changed 6.572767
02-21 14:23:18.662: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:23:48.772: D/Taxeeta:RegularUpdates(5511): Is location changed 6.563945
02-21 14:24:18.681: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 14:24:48.720: D/Taxeeta:RegularUpdates(5511): Is location changed 7.176328
02-21 14:25:18.700: D/Taxeeta:RegularUpdates(5511): Is location changed 7.6471653
02-21 14:25:48.609: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:26:18.708: D/Taxeeta:RegularUpdates(5511): Is location changed 7.790146
02-21 14:26:48.717: D/Taxeeta:RegularUpdates(5511): Is location changed 14.501556
02-21 14:27:18.797: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 14:27:48.676: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:28:18.705: D/Taxeeta:RegularUpdates(5511): Is location changed 0.19548245
02-21 14:28:48.704: D/Taxeeta:RegularUpdates(5511): Is location changed 23.221346
02-21 14:29:18.684: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:29:48.723: D/Taxeeta:RegularUpdates(5511): Is location changed 7.176328
02-21 14:30:18.662: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:30:48.752: D/Taxeeta:RegularUpdates(5511): Is location changed 6.3350186
02-21 14:31:18.691: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:31:48.670: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:32:18.679: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 14:32:48.699: D/Taxeeta:RegularUpdates(5511): Is location changed 7.411349
02-21 14:33:18.708: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:33:48.697: D/Taxeeta:RegularUpdates(5511): Is location changed 22.613928
02-21 14:34:18.666: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:34:48.686: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 14:35:18.675: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:35:48.664: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:36:18.663: D/Taxeeta:RegularUpdates(5511): Is location changed 0.19548245
02-21 14:36:48.693: D/Taxeeta:RegularUpdates(5511): Is location changed 22.190514
02-21 14:37:18.782: D/Taxeeta:RegularUpdates(5511): Is location changed 7.2989116
02-21 14:37:48.701: D/Taxeeta:RegularUpdates(5511): Is location changed 20.302017
02-21 14:38:18.721: D/Taxeeta:RegularUpdates(5511): Is location changed 22.503975
02-21 14:38:48.670: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:39:18.699: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 14:39:48.648: D/Taxeeta:RegularUpdates(5511): Is location changed 0.0
02-21 14:40:18.668: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:40:48.787: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 14:41:18.876: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 14:41:48.705: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18583706
02-21 14:42:18.705: D/Taxeeta:RegularUpdates(5511): Is location changed 7.411349
02-21 14:42:48.664: D/Taxeeta:RegularUpdates(5511): Is location changed 0.0
02-21 14:43:18.703: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 14:43:48.692: D/Taxeeta:RegularUpdates(5511): Is location changed 15.474865
02-21 14:44:18.772: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:44:48.671: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:45:18.700: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:45:48.700: D/Taxeeta:RegularUpdates(5511): Is location changed 7.176328
02-21 14:46:18.699: D/Taxeeta:RegularUpdates(5511): Is location changed 22.503975
02-21 14:46:48.738: D/Taxeeta:RegularUpdates(5511): Is location changed 7.176328
02-21 14:47:18.677: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:47:48.677: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:48:18.676: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:48:48.885: D/Taxeeta:RegularUpdates(5511): Is location changed 0.19548245
02-21 14:49:18.674: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:49:48.694: D/Taxeeta:RegularUpdates(5511): Is location changed 6.524145
02-21 14:50:18.763: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 14:50:48.702: D/Taxeeta:RegularUpdates(5511): Is location changed 6.4802594
02-21 14:51:18.712: D/Taxeeta:RegularUpdates(5511): Is location changed 6.4802594
02-21 14:51:48.671: D/Taxeeta:RegularUpdates(5511): Is location changed 0.19548245
02-21 14:52:18.690: D/Taxeeta:RegularUpdates(5511): Is location changed 7.790146
02-21 14:52:48.689: D/Taxeeta:RegularUpdates(5511): Is location changed 4.656421
02-21 14:53:18.689: D/Taxeeta:RegularUpdates(5511): Is location changed 6.563945
02-21 14:53:48.768: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:54:18.667: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 14:54:48.726: D/Taxeeta:RegularUpdates(5511): Is location changed 6.524145
02-21 14:55:18.696: D/Taxeeta:RegularUpdates(5511): Is location changed 6.7189484
02-21 14:55:48.685: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 14:56:18.854: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:56:48.713: D/Taxeeta:RegularUpdates(5511): Is location changed 6.4802594
02-21 14:57:18.813: D/Taxeeta:RegularUpdates(5511): Is location changed 6.6248784
02-21 14:57:48.692: D/Taxeeta:RegularUpdates(5511): Is location changed 7.176328
02-21 14:58:18.731: D/Taxeeta:RegularUpdates(5511): Is location changed 6.524145
02-21 14:58:48.691: D/Taxeeta:RegularUpdates(5511): Is location changed 0.13724314
02-21 14:59:18.670: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 14:59:48.749: D/Taxeeta:RegularUpdates(5511): Is location changed 7.176328
02-21 15:00:18.688: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 15:00:48.748: D/Taxeeta:RegularUpdates(5511): Is location changed 0.22683989
02-21 15:01:18.797: D/Taxeeta:RegularUpdates(5511): Is location changed 0.22683989
02-21 15:01:48.716: D/Taxeeta:RegularUpdates(5511): Is location changed 21.353783
02-21 15:02:18.745: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 15:02:48.695: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 15:03:18.684: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 15:03:48.723: D/Taxeeta:RegularUpdates(5511): Is location changed 6.0702796
02-21 15:04:18.783: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 15:04:48.682: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 15:05:18.671: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
02-21 15:05:48.780: D/Taxeeta:RegularUpdates(5511): Is location changed 0.1327054
02-21 15:06:18.710: D/Taxeeta:RegularUpdates(5511): Is location changed 4.9840126
02-21 15:06:48.689: D/Taxeeta:RegularUpdates(5511): Is location changed 0.201804
02-21 15:07:18.728: D/Taxeeta:RegularUpdates(5511): Is location changed 0.18143341
02-21 15:07:48.687: D/Taxeeta:RegularUpdates(5511): Is location changed 0.11805124
I believe you would almost certainly be better off by pairing some unique device id + coordinates. Because the coordinates you get in the phone can be a calculation based on WLAN and cell towers and not only a GPS signal(for example when the user is indoors) and then you get a higher chance of having the same coordinates.
Also consider the possibility of malicious users who can fake their location with some utilities, could that be used to compromise your users accounts and/or specific use cases?