Skip to content

carlosror/puerto_rico_crime

Repository files navigation

URL

https://carlosgg.shinyapps.io/mapa-crimen-pr/

Motivación

En la Florida, la oficina del alguacil del condado de Hillsborough tiene una página que permite a los ciudadanos visualizar los delitos en un área dada. Es muy útil. Dada la elevada taza del crimen en Puerto Rico, pensé que igualmente sería ventajoso para la ciudadanía puertorriqueña poder visualizar los delitos en un mapa de Puerto Rico interactivo.

Tecnologías

R, R Studio, Shiny R server, Leaflet for R, ggmap.

Origen de los datos

Los datos fueron obtenidos a través del Portal de Interconexión de Datos Abiertos de Puerto Rico, específicamente aquí. Son aproximadamente 220,000 records de crímenes cometidos en Puerto Rico desde enero de 2012 hasta septiembre de 2016.

Para proteger la privacidad de la ciudadanía, las ubicaciones de todos los resultados han sido modificadas ligeramente, de manera que ninguna de las ubicaciones es exacta sino aproximada.

Cualidades

Búsqueda en un radio

Para hacer una búsqueda, puede teclear una ubicación, por ejemplo, "El Viejo San Juan, PR", o "Villa Blanca, Caguas, PR", y presionar Buscar. También puede hacer clic en una ubicación del mapa. Ya que muchas direcciones en Puerto Rico, especialmente en las áreas rurales, son poco ortodoxas, e.g., "CARR 651 KM 1 HM 2 SECT LOS CAÑOS BO TANAMA, ARECIBO, PR", usted puede por ejemplo buscar "Arecibo, PR", hacer zoom en el Sector Los Caños del Barrio Tanamá, hacer clic en la ubicación que le interese, y presionar Buscar. Abajo se muestra una búsqueda en radio de media milla alrededor de "Avenida Ingeniero Manuel Domenech, San Juan, Puerto Rico"

alt text

El app toma la ubicación deseada y obtiene sus coordenadas consultando a Google mediante la función geocode() del paquete ggmap. Luego busca los crímenes en un radio alrededor de las coordenadas obtenidas. La distancia se computa utilizando la aproximación equirectangular a la distancia esférica entre 2 puntos. Esto se hace por cada uno de los puntos. La aproximación es suficientemente precisa para el propósito y es mucho mas eficiente que la fórmula de Haversine en términos computacionales.

dist_equi <- function (long1, lat1, long2, lat2) {
        
        R = 6371000 # radius of the Earth
        
        # Convert latitudes to radians
        theta1 = lat1 * pi / 180.0
        theta2 = lat2 * pi / 180.0
        
        # Compute difference between two points and convert to radians
        # delta_theta = (lat2 - lat1) * pi / 180.0 
        delta_theta = theta2 - theta1
        delta_lambda = (long2 - long1) * pi / 180.0
        
        x = delta_lambda * cos((theta1 + theta2)/2.0)
        y = delta_theta
        
        # Compute distance, convert it to miles and return it
        return(R * sqrt(x*x + y*y) / 1609.34)
    }

Gráficos de barra (bar plots)

Los gráficos de barra son construídos en base a los filtros y las facetas seleccionados.

Por ejemplo, a continuación se muestra el bar plot correspondiente a una búsqueda de crímenes cometidos los lunes, miércoles, y viernes en la madrugada y por la noche, con faceta de día.

alt text alt text

La imagen siguiente resultó de la misma búsqueda en la misma urbanización, pero con faceta de período del día

alt text alt text

Mapas de densidad

Los mapas de densidad toman un par de segundos. Son construídos de manera similar a los bar plots, es decir, en base a los filtros y la faceta seleccionados.

alt text

Tabla

Aquí los resultados de la búsqueda son tabulados. La tabla también se construye en base a la faceta y los filtros seleecionados.

alt text

Referencias

  1. José Jorge and Policía de Puerto Rico. (2014). Incidencia Crime Map [CSV file]. Retrieved from https://data.pr.gov/en/Seguridad-P-blica/Incidencia-Crime-Map/3fy3-2bc5

  2. Chow, Jo-fai. (2014, March 11). Introducing 'CrimeMap'. Retrieved from http://www.jofaichow.co.uk/2014_03_11_LondonR/#1

  3. Matloff, Norman. The Art of R Programming. San Francisco: No Starch Press, 2011. PDF.

  4. Adler, Joseph. R in a Nutshell, Second Edition. Sebastopol: O'Reilly Media, 2012. PDF.

  5. D. Kahle and H. Wickham. ggmap: Spatial Visualization with ggplot2. The R Journal, 5(1), 144-161. URL http://journal.r-project.org/archive/2013-1/kahle-wickham.pdf

  6. Veness, Chris. Calculate distance, bearing and more between Latitude/Longitude points. Retrieved from http://www.movable-type.co.uk/scripts/latlong.html

  7. Roger Peng. Computing for Data Analysis, Spring 2014. Coursera.

  8. Shiny Articles. Retrieved from http://shiny.rstudio.com/articles/

  9. Hillsborough County Sheriff's Ofiice. Hillsborough County Crime Map. Retrieved from http://gis.hcso.tampa.fl.us/crimemapping/

  10. Samarasa and Jarpal. Fixing the order of facets in ggplot. Retrieved from http://stackoverflow.com/questions/14262497/fixing-the-order-of-facets-in-ggplot

  11. Stein, Jonas and Muspratt, Sandy. What does size really mean in geom_point? Retrieved from http://stackoverflow.com/questions/13548321/what-does-size-really-mean-in-geom-point

About

Mapa del crimen en Puerto Rico

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published