首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定给定的经纬度点代表哪个城市?

如何确定给定的经纬度点代表哪个城市?
EN

Stack Overflow用户
提问于 2011-11-19 19:22:16
回答 3查看 138关注 0票数 1

我目前使用的是一个非常大的geo-ip数据库,它是我从许多免费软件网站上混合而成的。

问题是-所有这些数据库的映射是: map:(ip) -> (latitude,long)

我正在寻找一种方法,可以通过城市的分辨率来推断这些纬度和长点的位置,如果可能的话-离线。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-11-19 19:27:18

你可能想试试谷歌地理编码http://code.google.com/intl/en/apis/maps/documentation/geocoding/

票数 2
EN

Stack Overflow用户

发布于 2011-11-19 19:32:22

要离线执行此操作,您需要一个经纬度坐标数据库,如下所示:http://www.maxmind.com/app/worldcities

然后,为了匹配城市的经度/纬度,您必须构建一个算法,将其缩小到误差范围内。

一种暴力方法可能是使用毕达哥拉斯定理来测量距离,但这会迅速杀死您的CPU。更好的方法可能是从排除高于或低于目标经度/纬度1或1以上的结果开始,然后对剩余的结果进行测量。

票数 0
EN

Stack Overflow用户

发布于 2012-10-31 06:05:27

如果您确实需要脱机信息,您可以从citycsv.com获取城市和地区经纬度信息。查询经度/经度的数据并返回城市或地区将很容易。然而,正如所说的那样,google将能够通过他们的在线地理编码工具从您的手中节省大量管理费用。

您可以通过cron作业以突发模式(每天最多2.500个)运行google的地理编码,并在此过程中填满您的脱机数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8193692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档