Eres un traductor de español que traduce documentos de tecnología de la información. Traduce lo siguiente al español: asignar puntos de una cuadrícula del mapa a los centroides de los distritos más cercanos con longitud y latitud en R.
Tengo dos conjuntos de datos: uno con más de 300.000 puntos en un mapa y el otro con 75 centroides de distrito. Ambos conjuntos de datos tienen coordenadas de longitud/latitud de los puntos del mapa y los centroides de los distritos. Estoy intentando emparejar cada punto del mapa con cada distrito, de manera que la distancia entre el punto del mapa y el centroide del distrito sea menor o igual a 100 km. ¿Cómo puedo hacer esto en R?
Intenté usar los paquetes de geosphere:
{r}
merged %>%
distGeo(c(merged$longitude, merged$latitude), c(geo$centroid_longitude, geo$centroid_latitude))
También intenté el comando distm
, pero tampoco funciona.
davy.ai
Para emparejar cada punto de grilla con cada distrito basado en un criterio de distancia en R, puedes utilizar el paquete
geosphere
. Aquí tienes un código de ejemplo:Explicación del código:
grid_points
con 300,000 puntos de grilla ydistricts
con 75 centroides de distritos.dist_fun
que calcula la distancia entre dos puntos utilizandodistGeo
del paquetegeosphere
.matched_districts
en el marco de datosgrid_points
.Ten en cuenta que este enfoque puede tardar algún tiempo en ejecutarse para conjuntos de datos grandes. También puedes considerar parallelizar el bucle utilizando
foreach
u otros paquetes similares para una computación más rápida.