gpt4 book ai didi

r - 使用 R 的 IP 地址的纬度和经度

转载 作者:行者123 更新时间:2023-12-04 12:36:59 24 4
gpt4 key购买 nike

我有一个很大的 IP 地址列表。有没有办法使用R来获取这些地址的相应纬度和经度?

谢谢你。

拉维

最佳答案

这是一个有值(value)的商业过程,因此任何在线 API 查找都将 a) 昂贵或 b) 缓慢。

您最好的选择可能是下载 MaxMind City IP 数据库:

http://dev.maxmind.com/geoip/geolite

并获取 GeoLite City - 它的 CSV 版本包含两个文件,一个将 IP 地址块映射到位置 ID,另一个将 locationID 映射到城镇和经纬度坐标。例如。:

startIpNum,endIpNum,locId
"16777216","16777471","17"
"16777472","16777727","104084"
"16777728","16778239","49"

它告诉您第二个块范围中的 IP 位于:
104084,"CN","07","Fuzhou","",26.0614,119.3061,,

因此,您需要做的就是编写一些 R 代码来读取这些数据库,将您拥有的带点 IP 地址编码为此处使用的形式(可能是 32 位整数)并进行几次查找。您可能会通过使用 data.table 获得最佳性能,或者将其全部粘贴在 SQL 数据库中,或者将一些带有 C API 的 C 代码写入文件的二进制版本,并通过 Rcpp 或其他魔法将其与 R 链接。

天哪有人已经这样做了!!

http://devblog.icans-gmbh.com/using-the-maxmind-geoip-api-with-r/

和 OMG2!有人把它做成一个包:

http://www.rforge.net/GeoIP/files/

请注意,最后两个解决方案使用数据库的本地副本而不是查询网页,因此不会受到限制。

我刚刚让 GeoIP 包工作起来非常简单,而且速度很快。您可能想要更新它附带的 DB 文件,或者它可能是最新的。该软件包不需要其他下载即可工作。

关于r - 使用 R 的 IP 地址的纬度和经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16140187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com