是否有更好的地理定位数据库/技术/服务,或者是否有人做过任何提高现有系统准确性的工作?
我正在致力于将地理定位服务集成到网站中,迄今为止我发现的最佳数据源是 MaxMind 的 GeoIP API 和 GeoLite City 数据。 但即使是这个数据似乎也经常受到质疑。 例如,我位于帕洛阿尔托市中心,但它将我的 IP 定位为位于大约 7 英里外的波托拉谷。 帕洛阿尔托人口超过 6 万,而波托拉谷人口不到 5 万。 我认为,如果您看到某个 IP 源自附近的某个地方,那么假设它来自人口稠密的城市而不是小城市会更有意义。 我还让它在肯塔基州等全国范围内完全定位帕洛阿尔托 IP。
有谁知道有更好的数据来源,或者有任何工具/技术/努力来提高地理定位工作的准确性吗? 商业解决方案很好。
I am working on integrating geolocation services into a website and the best source of data I've found so far is MaxMind's GeoIP API with GeoLite City data. Even this data seems to often be questionable though. For example, I am located in downtown Palo Alto, but it locates my IP as being in Portola Valley, which is about 7 miles away. Palo Alto has a population of 60k+, whereas Portola Valley has a population of less than 5k. I would think if you see an IP originating somewhere around there it would make more sense to assume it was coming from the highly populated city, not the tiny one. I've also had it locate Palo Alto IPs completely across the country in Kentucky, etc.
Does anyone know of any better sources of data, or any tools/technologies/efforts to improve the accuracy of geolocation efforts? Commercial solutions are fine.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果某个 IP 在国家/地区的错误一端出现,您可能在其他地方找不到更好的匹配项,因为该 ISP 可能在广阔的区域内为客户使用一组 IP。 我最喜欢的例子是英国的火车,车上的 wifi 被识别为位于瑞典,因为它们使用卫星连接到瑞典的 ISP。
商业供应商可能有能力花费更多时间来追踪疑难案件,但在许多情况下,他们不会给您一个好的答案。 然而,他们可能会给你一个信心因素来告诉你他们何时猜测。 我听说过关于 Quova 的好消息,尽管我从未使用过它们。
假设您已经获得了可以获得(或负担得起)的最佳纬度和经度,那么您就需要处理他们选择最近的城市而不是附近更有可能的较大城市的情况。 不幸的是,我手头没有代码,但我使用 geonames 中的数据取得了一些成功选择一个靠近某个点的“明智”城市。 他们列出了纬度/经度和人口,所以你可以做类似的事情
你需要进行实验才能得到对大城市有适当偏向的东西,但我让它以谷歌地图视图为中心工作得很好并显示类似“显示伦敦附近的结果...”的标题,该标题会随着您移动地图而改变。
Where an IP comes up at the wrong end of the country, you probably won't find a better match elsewhere because it's probably an ISP that uses one group of IPs for customers in a wide area. My favourite example is trains here in the UK where the on-board wifi is identified as being in Sweden because they use a satellite connection to an ISP in Sweden.
A commercial supplier may be able to afford to spend more time tracking down the hard cases, but in many cases there just won't be a good answer to give you. They may, however, give you a confidence factor to tell you when they're guessing. I've heard good things about Quova, though I've never used them.
Assuming that you've got the best latitude and longitude that you can get (or can afford), then you're left dealing with cases where they pick the closest city rather than a more likely larger city nearby. Unfortunately I don't have the code to hand, but I had some success using the data from geonames to pick a "sensible" city near a point. They list lat/long and population, so you can do something like
You'd need to experiment with that to get something with the right level of bias towards larger cities, but I had it working quite nicely taking the centre of a Google Maps view and displaying a heading like "Showing results near London..." that changed as you moved the map.
我不确定这是否有帮助,但这里有一个在 IP 映射方面做得非常好的网站。 也许你可以向他们寻求帮助:) seomoz.org
I am not sure if this will help, but here is a site that has done a pretty good job of IP mapping. Maybe you could ask them for help :) seomoz.org
我最近看到的一些提供免费 GeoIP 服务的网站是
WIPmania
hostip.info
A couple of sites I saw referenced recently for free GeoIP services are
WIPmania
hostip.info