我正在努力将地理定位服务集成到一个网站中,到目前为止我发现的最佳数据来源是MaxMind的GeoIP API和GeoLite City数据。即使这些数据似乎也常常值得怀疑。例如,我位于帕洛阿尔托市中心,但它将我的IP定位在距离大约7英里的Portola Valley。帕洛阿尔托有6万多人口,而波托拉山谷人口不到5万。我想如果你看到一个知识产权来自那里的某个地方,那么假设它来自人口密集的城市,而不是那个小城市则更有意义。我还在全国各地肯塔基州找到了Palo Alto IPs。
是否有人知道任何更好的数据来源,或任何提高地理定位工作准确性的工具/技术/努力?商业解决方案很好。
答案 0 :(得分:2)
如果IP出现在该国的错误端,您可能在其他地方找不到更好的匹配,因为它可能是一个ISP,它为广泛的客户使用一组IP。我最喜欢的例子是英国的火车,因为他们使用卫星连接到瑞典的ISP,所以车载wifi被识别为在瑞典。
商业供应商可能能够花更多的时间追踪困难案例,但在许多情况下,给你的答案不会很好。但是,他们可能会给你一个置信因子,告诉你什么时候他们在猜测。我听说过Quova的好消息,虽然我从未使用它们。
假设你已经获得了(或者能够负担得起)最好的纬度和经度,那么你就会处理他们挑选最近城市的情况,而不是附近可能更大的城市。不幸的是,我没有代码可以提供,但我使用geonames的数据在一个点附近挑选一个“明智的”城市取得了一些成功。他们列出纬度/经度和人口,所以你可以做类似
的事情ORDER BY ( Distance / LOG( Population ) )
你需要尝试用它来获得对大城市有适当偏见的东西,但我让它很好地占据谷歌地图视图的中心,并显示一个标题,如“在伦敦附近显示结果”。 ..“当你移动地图时,情况发生了变化。
答案 1 :(得分:0)
我不确定这是否会有所帮助,但这是一个在IP映射方面做得很好的网站。也许你可以向他们寻求帮助:) seomoz.org
答案 2 :(得分:0)