У меня есть два фрейма данных, каждый из которых содержит координаты широты и долготы. Первый фрейм данных - это наблюдения за событиями, где было записано место и время. Второй фрейм данных - это географические объекты, в которых записывается их местоположение и информация о них.
my_df_1 <- structure(list(START_LAT = c(-33.15, -35.6, -34.08333, -34.13333,
-34.31667, -47.38333, -47.53333, -34.08333, -47.38333, -47.15
), START_LONG = c(163, 165.18333, 162.88333, 162.58333, 162.76667,
148.98333, 148.66667, 162.9, 148.98333, 148.71667)), row.names = c(1175L,
528L, 1328L, 870L, 672L, 707L, 506L, 981L, 756L, 210L), class = "data.frame", .Names = c("START_LAT",
"START_LONG"))
my_df_2 <- structure(list(latitude = c(-42.7984, -34.195, -49.81, -35.417,
-28.1487, -44.657, -42.7898, -36.245, -39.1335, -31.8482), longitude = c(179.9874,
179.526, -176.68, 178.765, -168.0314, 174.695, -179.9873, 177.7873,
-170.0583, 173.2424), depth_top = c(935L, 2204L, 869L, 1973L,
4750L, 555L, 894L, 1500L, 4299L, 1303L)), row.names = c(580L,
1306L, 926L, 1102L, 60L, 1481L, 574L, 454L, 1168L, 144L), class = "data.frame", .Names = c("latitude",
"longitude", "depth_top"))
Что мне нужно сделать, так это для каждого наблюдения в df1 мне нужно выяснить, какая функция в df2 географически ближе всего. В идеале я бы получил новый столбец, добавленный к df1, каждая строка которого является ближайшей функцией от df2.
Я проработал этот вопрос Как присвоить несколько имен lat-lon наблюдения, но не смог понять, как сопоставить их с моими данными
В реальных фреймах данных есть тысячи строк, поэтому я не могу сделать это вручную.