У меня около 9 миллионов записей с широтой и долготой, в дополнение к метке времени в EST. Я хочу использовать широту и долготу для создания соответствующего регионального часового пояса, из которого я тогда хочу настроить все эти времена для соответствующего часового пояса.Использование широты и долготы для генерации часового пояса
Я попытался с помощью GeoNames
data_raw$tz <- mapply(GNtimezone, data$lat,data$lon)
Тем не менее, это возвращает следующее сообщение об ошибке:
Error in getJson("timezoneJSON", list(lat = lat, lng = lng, radius = 0)) :
error code 13 from server: ERROR: canceling statement due to statement timeout
Я пытался использовать метод, описанный в this post.
data$tz_url <- sprintf("https://maps.googleapis.com/maps/api/timezone/%s?location=%s,%s×tamp=%d&sensor=%s",
"xml",
data$lat,
data$lon,
as.numeric(data$time),
"false")
for(i in 1:100){
data$tz[i] <- xmlParse(readLines(data$tz_url[i]), isURL=TRUE)[["string(//time_zone_name)"]]
}
С помощью этого метода я могу получить URL-адреса для данных XML. Но когда я пытаюсь вытащить XML-данные в цикле for и добавить часовой пояс к фреймворку данных, он не делает этого для всех записей ... (фактически, только 10 записей за раз с перерывами).
Кто-нибудь знает какие-либо альтернативные методы или пакеты, чтобы получить три символьных часовых пояса (т. Е. EST) примерно для 9 миллионов записей относительно быстро? Ваша помощь очень ценится. Или еще лучше, если у вас есть идеи о том, почему код, который я использовал выше, не работает, я был бы признателен за это.
Если вы ищете generlized часового пояса, считаете ли вы его вычислением по долготе? 360 градусов на 24 часа. Это может быть достаточно близко в зависимости от ваших потребностей. – Dave2e