2013-05-09 168 views
0

所以我有2行的数据帧,它看起来像这样:获取信息的数据从网络

latitude longitude 
0 39.696103 -84.138461 
1 39.696103 -84.138461 
2 39.696103 -84.138461 
3 39.696103 -84.138461 
4 39.696103 -84.138461 

注意,纬度和经度并不总是相同的,但很明显,在这个时候,人是在同一个地方

现在有很多搜索引擎在网上,我可以给一个纬度和经度,它会告诉我的位置。所以我的问题是:

我可以使用哪些模块?我使用哪些模块将能够通过搜索引擎运行这些值,获取输出的位置并将其放入列表中,以便我可以使用下面的代码,使第3列:

df['location'] = location_list 

一切顺利后,以下数据框看起来应该这样:

latitude longitude    location 
0 39.696103 -84.138461 Dayton, OH 45429, USA 
1 39.696103 -84.138461 Dayton, OH 45429, USA 
2 39.696103 -84.138461 Dayton, OH 45429, USA 
3 39.696103 -84.138461 Dayton, OH 45429, USA 
4 39.696103 -84.138461 Dayton, OH 45429, USA 

如果它是有帮助的,我用this website的转换

回答

3

如果您要求特别是关于使用您提到的网站LatLong.net,那么答案是没有Python库来执行您要求的操作(除非您想尝试integrate Python and JavaScript)。

如果你看一看的latLong.net页面的源代码,你会看到,它是完全基于JavaScript的。行geocoder = new google.maps.Geocoder();表示他们正在使用Google Geocoding API

如果你想使用谷歌地理编码API,我建议你搜索相关的答案。下面是一些出现相关:

如果你想要一个离线解决方案,那么你需要考虑可能下载shape文件(见Reverse Geocoding Without Web Access)和使用的东西如Shapely,或者在一组点上使用k-nearest neighbors。对于KNN,您可以使用城市(请参阅geonames)或国家(请参阅我的country.py文件)。

+0

这看起来很有希望,但它可以不在服务器上,只在我的本地计算机上完成?目前还不清楚这是否可以通过查看链接... – 2013-05-10 00:36:19

+0

@RyanSaxe如果您使用任何类型的API然后否,您需要在线连接才能使用它们。我已经用更多细节更新了我的答案。 – 2013-05-10 00:43:51