Tengo dos clases que comparten el mismo CRS (Latitute y Longitude):
bolognaQuartieriMap:SpatialPolygonDataFramedatos que contienen los municipios de una ciudad.crashPoints: a queSpatialPointsDataFramecontiene datos de accidentes.
Están bien trazados usando:
plot(bolognaQuartieriMap)
title("Crash per quartiere")
plot(crashPoints, col="red",add=TRUE)
Lo que necesito es obtener el número de puntos ( crashPoints) en cada polígono que constituyen bolognaQuartieriMap. Me sugirieron usar over()pero no tuve éxito.


Quiero dejar otra opción Puede lograr la tarea utilizando
poly.counts()en elGISToolspaquete. Usando los datos de muestra de rcs, puede hacer lo siguiente. Si analizara la función, se daría cuenta de que la función está escrita comocolSums(gContains(polys, pts, byid = TRUE)). Por lo tanto, puede usargContains()en elrgeospaquete ycolSums().O
Y el resultado es:
fuente
Puede lograr lo mismo usando el
sfpaquete. Verifique el código reproducible y comentado a continuación. El paquetesfse usa para manejar objetos espaciales como objetos de características simples. En esta respuesta, el paqueterasterse usa solo para descargar datos de polígonos de ejemplo y el paquetedplyrpara la transformación de datos al final.fuente