Ближайшая метеостанция к каждому почтовому индексу в большом наборе данных?

Я ищу эффективный способ связать каждую запись в большом наборе данных с ближайшей метеостанцией NOAA. Набор данных содержит 9-значные почтовые индексы, а метеостанции NOAA имеют долгую информацию. У кого-нибудь есть советы, как лучше всего это сделать? Спасибо!

РЕДАКТИРОВАТЬ: обновление с помощью кода, который работал, если кто-то еще ищет ближайшую метеостанцию ​​NOAA с набором почтовых индексов / если есть предложения по лучшим способам сделать это.

код, основанный на том, что предусмотрено в этом вопросе: поиск ближайшего соседа (log, lat), затем ближайшего соседа и т. д. для всех точек между двумя наборами данных в R

temp_stations загружается с https://www1.ncdc.noaa.gov/pub/data/normals/1981-2010/station-inventories/temp-inventory.txt (метеостанции, используемые при разработке набора данных о температуре)

zipcodes - это пакет, который содержит набор данных с длиной long для каждого почтового индекса в США.

install.packages("zipcode")
require(zipcode)
data(zipcode)
#prime.zips is a subset of "zipcode" created by selecting just the zip codes contained in my original dataset. running the code below on the whole zipcode dataset crashed R on my computer.
install.packages("geosphere")
require(geosphere)
mat <- distm(prime.zips[ ,c('longitude','latitude')], temp_stations[ ,c(3,2)], fun=distGeo)
# assign the weather station id to each record in prime.zips based on shortest distance in the matrix
prime.zips$nearest.station <- temp_stations$station.id[apply(mat, 1, which.min)]

0 ответов

Другие вопросы по тегам