On 10/07/14 17:43, Hanno Schlichting wrote:
However, devices with multiple, closely related BSSIDs are also a potential
issue with online APIs. It would be interesting to know if they handle that
case (I can't get a location by supplying a single BSSID, but can I get one by
supplying two BSSIDs of the same device?), and how they do it.
I don’t think any of the services look for this.
For MLS, I’ve logged an issue a while back but we haven’t worked on it yet
(https://github.com/mozilla/ichnaea/issues/27).
I've updated the issue with some thoughts of mine, including some taken
from this discussion.
Basically, I would suggest a combination of Hamming distance
(essentially, number of bits flipped) and arithmetical difference (to
catch cases like 1F → 20).
Unfortunately, while all of this might work well for an online API, I
can't think of an algorithm which would map each BSSID out of two to the
same out of four dimensions it the Hamming distance or arithmetic
difference between the BSSIDs is less than a given threshold.
Offline use presents an additional challenge here. Consider the
following requests to an online API:
02:F0:00:BA:12
02:F0:00:BA:13
– too similar (Hamming distance and arithmetic difference), no location
returned
02:F0:00:BA:13
02:F0:00:BA:15
– too similar (Hamming distance and arithmetic difference), no location
returned
02:F0:00:BA:12
02:F0:00:BA:15
– OK (probably two devices from the same batch, but sufficiently
different by our criteria)
For an offline DB, we would need to map BSSIDs to coordinates in such a
way that the two above queries would return the same dimension twice. Thus:
02:F0:00:BA:12 → X (or any dimension of your choice)
02:F0:00:BA:13 → X (same dimension as :12 because of similarity)
02:F0:00:BA:15 → X (same dimension as :15 because of similarity)
So the first two queries against an offline DB would return two X
coordinates, which is insufficient to determine a location. But the
third query, which is legit by our previous definition and would get
answered by the online API, would also receive two X coordinates because
of the above constraints.
_______________________________________________
dev-geolocation mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-geolocation