gpt4 book ai didi

r - 使用纬度和经度转换为本地时区?

转载 作者:行者123 更新时间:2023-12-02 09:19:07 30 4
gpt4 key购买 nike

我有一个包含以下信息的数据集:纬度、经度、EST 时间。例如,对于一个观察

lat = 13
long = -2
time1 = as.POSIXlt("2014-02-12 17:00:00", tz = "EST")

我想创建一个新变量 timeL,即本地时间。关于如何使用 R 执行此操作有什么建议吗?

谢谢!

最佳答案

lat = 13
long = -2
time1 <- as.POSIXct("2014-02-12 17:00:00", tz = "EST")
# https://developers.google.com/maps/documentation/timezone/
apiurl <- sprintf("https://maps.googleapis.com/maps/api/timezone/%s?location=%s,%s&timestamp=%d&sensor=%s",
"xml",
lat,
long,
as.numeric(time1),
"false")
library(XML)
tz <- xmlParse(readLines(apiurl))[["string(//time_zone_id)"]]
as.POSIXct(format(time1, tz=tz))
# [1] "2014-02-12 22:00:00 CET"

或者,按照@SymbolixAU的建议,使用他们的 googleway封装:

res <- googleway::google_timezone(c(lat, long), time1, key = NULL)
as.POSIXct(format(time1, tz=res$timeZoneId))
# [1] "2014-02-12 22:00:00 CET"

关于r - 使用纬度和经度转换为本地时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23414340/

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