2
$\begingroup$

While trying to estimate a user's location in a notebook, I noticed that FindGeoLocation[] was extremely inaccurate. I realize that it uses an IP lookup to make this estimate, but the location it has found is definitely not my ISP, as it is several thousand kilometers away. WolframAlpha["Where am I?"] returns a location 5km from my home.

The confusing part is that checking Trace[FindGeoLocation[]] indicates that the function contacts the Wolfram servers to run the IP trace. In my case, the result from FindGeoLocation[] is for another city in Canada with a very similar name to where I live.

Sorry if this information is a bit cryptic, but I'd rather not give out my location. I have access to MMA on nearby servers with different IP addresses, and the result is the same, but I obviously can't carry out any other tests.

EDIT:

To clarify my intention here. I don't expect an accurate location from an IP-based lookup. I know that neither of these methods will be able to improve on actually putting my home address into Google Maps and checking the coordinates. What I'm curious about, is why these methods might return different results. Can anybody speak on how these two methods would be implemented internally such that they would disagree?

$\endgroup$
3
  • 1
    $\begingroup$ Have you seen this other thread? $\endgroup$ Jun 10, 2013 at 1:58
  • 1
    $\begingroup$ I have. In fact, that's where I read about using Trace[]. The several thousand km error isn't my main interest. Rather, I'm wondering about the discrepancy between the two sources. Why would Wolfram use two separate IP lookup services for two seemingly identical applications? $\endgroup$ Jun 10, 2013 at 2:19
  • $\begingroup$ Perhaps you should just set $GeoLocation to your current location if you need the home location to be accurate. $\endgroup$ Jun 10, 2013 at 5:25

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.