当前位置: 首页 > 知识库问答 >
问题:

使用GoogleMapsAPI在R中设置每日循环以进行批量地理编码?

彭衡
2023-03-14

我正在使用R中的ggmap包和Google Maps API对街道地址(n=18,000)进行地理编码,据我所知,每天对地址的地理编码请求限制为2,500次。

我正在使用的地理编码脚本非常简单,适用于我尝试过的小型测试df(如下面的示例),但我想知道在接下来的~7天内为每个2500行块拼接所有18000个位置的最终地理编码df的最简单/优雅的方法。

我考虑过只按天对它们进行编号,然后在最后将它们绑定在一起,每次在df上使用下面的代码行,看起来像下面的示例:

library(ggmap)
library(tidyverse)

register_google(key = "MY API KEY", write = TRUE)

pharmacies <- data.frame(pharm_id = c("00001", "00002", "00003"), address = c("250 S. Colonial Drive, Alabaster, AL 35007", "6181 U.S. Highway 431, Albertville, AL 35950", "113 Third Avenue S.E., Aliceville, AL 35442")

pharmacies_geocoded_1 <- mutate_geocode(pharmacies, address, output = "latlon")

但是看起来每天手动做这件事会有点麻烦(或者可能有一些更好的循环策略,我可以设置一次就离开)。有没有更好的办法?

共有1个答案

屈晨
2023-03-14

编辑

正如@arachne591所说,它还提供了一个R接口来使用cronR包进行cron。同样在Windows中,任务计划也做了同样的工作。

您可以将代码包装在脚本上,并每天使用cron作业运行它:

如果您在UNIX(Linux/MAc)上:

crontab -e

然后引入一个新行:

0 0 * * 0-6 Rscript "/route/to/script.R"

这会运行您的脚本“从星期日到星期六,每周每天的 00:00”。

你可以用contrabguru建立自己的日程表

额外资源:

    < li >计划每分钟运行一次Rscript crontab > < li >每天凌晨2:30运行cron作业
 类似资料:
  • 问题内容: 我有一个Linux环境,并且有一个PHP Web应用程序,该程序有条件地基于PHP中使用的环境变量运行。我需要知道如何为应用程序正确设置这些环境变量。我不确定如何在Apache上进行设置。 另外,我需要能够为每个域分别配置单独的环境变量。 请提供有关如何实现此目标的建议。 问题答案: 大致情况:

  • 问题内容: 如何在bash for循环中使用变量?如果我只是使用标准的for循环,它会达到我的期望 这很好。它循环遍历4次,包括0到3,包括打印我的消息并将计数放在末尾。 当我使用以下for循环尝试相同的操作时,它似乎等于一个字符串,这不是我想要的。 输出: 我试过了 和 他们俩都不做我所需要的。希望有人可以帮助我。预先感谢bash专家对for循环的帮助。 问题答案: 一种方法是使用: 请注意 设

  • 我正在尝试根据“ExpectedDate”和“ObservedDate”填充“FinalDate”。 规则是:对于每个组,如果观察日期大于前一个预期日期且小于下一个预期日期,则最终日期等于观察日期,否则最终日期等于预期日期。 如何修改下面的代码以确保: 最终日期按组填写 迭代次数不跳过任何行 例如,在下面的输出中: 当i=90时,代码在字母I中查找之前的预期日期 我们希望它只在字母J中查找Expe

  • 问题内容: 我使用numpy计算了向量。如何使用多核和numpy计算向量? 问题答案: 我们可以利用基于NumPy的解决方案- 将此移植以利用快速操作以及多核功能- 时间- 对于具有不同数量的内核/线程的Numexpr解决方案-

  • 我试图在HMS(Huawei Mobile Services)设备上使用对lat/long坐标进行地理编码,但结果总是得到一个空列表。 为了验证这实际上应该起作用,我检查了,它返回。 如何在HMS设备上使用对lat/long进行地理编码?哪些配置/设置是必要的,以避免达到这个限制? 我已经看到了使用位置/站点工具包的解决方案,但如果可能的话,我更喜欢使用“普通”的Android API。

  • 我有这个代码,它是用for循环实现的。我想用一个字母来写。流和。map()函数。我试着用这个。map()函数。但不幸的是,我得到了以下错误: 不兼容的类型。必填列表 这里是旧代码: 这是我使用。地图() 有没有关于我如何解决这个问题的建议?或者我应该注意什么?