##HURTOS A VEHICULOS EN LA CIUDAD DE CALI (*AÑO)
##Patrones Puntuales
require(raster)
## Loading required package: raster
## Loading required package: sp
comunas=shapefile("C:/Users/Andres/Desktop/ESPECIALIZACION/1ER SEMESTRE/TRATAMIENTO DE DATOS ESPACIALES/CLASE12/YDRAY-Comuna.shp")
plot(comunas)
hurtos=shapefile("C:/Users/Andres/Desktop/ESPECIALIZACION/1ER SEMESTRE/TRATAMIENTO DE DATOS ESPACIALES/CLASE12/Hurtos2017/2017_0_WGS84.shp")
points(hurtos,col="red")

head(hurtos@data)
## Loc_name Status Score Match_type Side X Y Match_addr
## 1 Prefijo M 100 A R -76.50803 3.486752 CL 61-2F N 70, CALI
## 2 Prefijo M 100 A L -76.50001 3.490835 CL 71F-8 N 42, CALI
## 3 <NA> U 0 A <NA> 0.00000 0.000000 <NA>
## 4 Prefijo M 100 A R -76.52413 3.442869 KR 15-17 2, CALI
## 5 Prefijo M 100 A R -76.51620 3.432242 CL 27-24B 29, CALI
## 6 <NA> U 0 A <NA> 0.00000 0.000000 <NA>
## ARC_Street ARC_Zone DELITO CLASIFI MES
## 1 CL 61 N 2 F 70 CALI HURTO VEHICULOS HALADO DE VEHICULO 1
## 2 CL 71F 8N 42 CALI HURTO VEHICULOS HALADO DE VEHICULO 1
## 3 KR 1 D 106 CALI HURTO A CELULARES ATRACO CON ARMA DE FUEGO 1
## 4 KR 15 CL 17 CALI HURTO A PERSONAS ATRACO CON ARMA BLANCA 1
## 5 CL 27 # 24B 29 CALI HURTO A PERSONAS ATRACO CON ARMA CONTUNDENTE 1
## 6 KR 26P6C 108 128 CALI HURTO MOTOCICLETAS ATRACO CON ARMA DE FUEGO 1
## FECHA_HECH HORA_HECHO DIA CUANTIA DEPARTAMEN MUNICIPIO COMUNA
## 1 2017/01/01 1899/12/30 DOMINGO 0 VALLE DEL CAUCA CALI COMUNA 2
## 2 2017/01/01 1899/12/30 DOMINGO 0 VALLE DEL CAUCA CALI COMUNA 6
## 3 2017/01/01 1899/12/30 DOMINGO 0 VALLE DEL CAUCA CALI COMUNA 5
## 4 2017/01/01 1899/12/30 DOMINGO 0 VALLE DEL CAUCA CALI COMUNA 9
## 5 2017/01/01 1899/12/30 DOMINGO 0 VALLE DEL CAUCA CALI COMUNA 11
## 6 2017/01/01 1899/12/30 DOMINGO 0 VALLE DEL CAUCA CALI COMUNA 14
## BARRIO___V DIRECCION LUGAR_HECH NOMBRE_LUG RHorario_5
## 1 CIUDAD LOS ALAMOS CL 61 N 2 F 70 EN VIA PUBLICA <NA> 06:00-08:59
## 2 LOS GUADUALES CL 71F 8N 42 EN VIA PUBLICA <NA> 06:00-08:59
## 3 LOS ANDES KR 1 D 106 EN VIA PUBLICA EN EL CARRO 18:00-20:59
## 4 BELALCAZAR KR 15 CL 17 EN DOMICILIO <NA> 12:00-14:59
## 5 EL RECUERDO CL 27 # 24B 29 EN VIA PUBLICA <NA> 15:00-17:59
## 6 MANUELA BELTRAN KR 26P6C 108 128 EN VIA PUBLICA <NA> 21:00-23:59
## F16 F17 F18 F19 F20 F21 F22 F23 F24 F25 Com aÃ.o
## 1 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> 0 2017
## 2 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> 0 2017
## 3 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> 0 2017
## 4 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> 0 2017
## 5 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> 0 2017
## 6 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> 0 2017
table(hurtos@data$DELITO)
##
## HURTO A CELULARES HURTO A FINCAS HURTO A PERSONAS
## 4501 28 7890
## HURTO AUTOPARTES HURTO DE BICICLETAS HURTO ESTABLECIMIENTOS
## 732 204 2449
## HURTO MOTOCICLETAS HURTO RESIDENCIA HURTO VEHICULOS
## 2442 1755 1640
pos_vehi=which(hurtos@data$DELITO=="HURTO VEHICULOS")
hurtos_vehiculo=hurtos[pos_vehi,]
plot(comunas)
points(hurtos_vehiculo,col="red")

##Patrones puntuales
require(spatstat)
## Loading required package: spatstat
## Loading required package: spatstat.data
## Loading required package: nlme
##
## Attaching package: 'nlme'
## The following object is masked from 'package:raster':
##
## getData
## Loading required package: rpart
##
## spatstat 1.64-1 (nickname: 'Help you I can, yes!')
## For an introduction to spatstat, type 'beginner'
##
## Note: spatstat version 1.64-1 is out of date by more than 7 months; we recommend upgrading to the latest version.
##
## Attaching package: 'spatstat'
## The following objects are masked from 'package:raster':
##
## area, rotate, shift
hurtos_vehiculo=crop(hurtos_vehiculo,comunas)
loc=coordinates(hurtos_vehiculo)
extent(comunas)
## class : Extent
## xmin : -76.59284
## xmax : -76.46125
## ymin : 3.331802
## ymax : 3.505871
patron_hurtos=ppp(x=loc[,1],y=loc[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
## Warning: data contain duplicated points
plot(patron_hurtos)

##Tipo de Patron
quadrat.test(patron_hurtos)
##
## Chi-squared test of CSR using quadrat counts
##
## data: patron_hurtos
## X2 = 1500.8, df = 24, p-value < 2.2e-16
## alternative hypothesis: two.sided
##
## Quadrats: 5 by 5 grid of tiles
plot(Kest(patron_hurtos))

##Mapa de Densidad de Hurto a Vehiculo
densidad=density(patron_hurtos,0.005)
plot(densidad)

densidad_tabla=data.frame(densidad)
densidad_hurtos_vehi=rasterFromXYZ(densidad_tabla[,1:3])
plot(densidad_hurtos_vehi)
plot(comunas, add=T)

densidad_hurtos_vehi2=mask(densidad_hurtos_vehi, comunas)
plot(densidad_hurtos_vehi2)
plot(comunas, add=T)

require(rasterVis)
## Loading required package: rasterVis
## Loading required package: lattice
##
## Attaching package: 'lattice'
## The following object is masked from 'package:spatstat':
##
## panel.histogram
## Loading required package: latticeExtra
levelplot(densidad_hurtos_vehi2, par.settings=BuRdTheme)+layer(sp.polygons(comunas))

##Como es la dinamica Espacio - Temporal
densidades_mes=list()
for(i in 1:12){
pos_vehi=which(hurtos@data$DELITO=="HURTO VEHICULOS"&hurtos@data$MES==i)
hurtos_vehiculo=hurtos[pos_vehi,]
hurtos_vehiculo=crop(hurtos_vehiculo,comunas)
loc=coordinates(hurtos_vehiculo)
patron_hurtos=ppp(x=loc[,1],y=loc[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
##Mapa de Densidad de Hurto a Vehiculo
densidad=density(patron_hurtos,0.005)
densidad_tabla=data.frame(densidad)
densidad_hurtos_vehi=rasterFromXYZ(densidad_tabla[,1:3])
densidad_hurtos_vehi2=mask(densidad_hurtos_vehi,comunas)
densidades_mes[[i]]=densidad_hurtos_vehi2
}
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
densidades_mes=stack(densidades_mes)
names(densidades_mes)=month.name
plot(densidades_mes)

require(rasterVis)
levelplot(densidades_mes,par.settings=BuRdTheme)+layer(sp.polygons(comunas))

##HURTOS DE CELULARES EN LA CIUDAD DE CALI (*AÑO)
##Patrones Puntuales
pos_celular=which(hurtos@data$DELITO=="HURTO A CELULARES")
hurtos_celular=hurtos[pos_celular,]
plot(comunas)
points(hurtos_celular,col="red")

##Patrones puntuales
require(spatstat)
hurtos_celular=crop(hurtos_celular,comunas)
loc1=coordinates(hurtos_celular)
extent(comunas)
## class : Extent
## xmin : -76.59284
## xmax : -76.46125
## ymin : 3.331802
## ymax : 3.505871
patron_hurtos_1=ppp(x=loc1[,1],y=loc1[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
## Warning: data contain duplicated points
plot(patron_hurtos_1)

##Tipo de Patron
quadrat.test(patron_hurtos_1)
##
## Chi-squared test of CSR using quadrat counts
##
## data: patron_hurtos_1
## X2 = 5055.4, df = 24, p-value < 2.2e-16
## alternative hypothesis: two.sided
##
## Quadrats: 5 by 5 grid of tiles
plot(Kest(patron_hurtos_1))

##Mapa de Densidad de Hurto a Celulares
densidad_1=density(patron_hurtos_1,0.005)
plot(densidad_1)

densidad_tabla_1=data.frame(densidad_1)
densidad_hurtos_celular=rasterFromXYZ(densidad_tabla_1[,1:3])
plot(densidad_hurtos_celular)
plot(comunas, add=T)

densidad_hurtos_celular2=mask(densidad_hurtos_celular, comunas)
plot(densidad_hurtos_celular2)
plot(comunas, add=T)

require(rasterVis)
levelplot(densidad_hurtos_celular2, par.settings=BuRdTheme)+layer(sp.polygons(comunas))

##Como es la dinamica Espacio - Temporal
densidades_mes_1=list()
for(i in 1:12){
pos_celular=which(hurtos@data$DELITO=="HURTO A CELULARES"&hurtos@data$MES==i)
hurtos_celular=hurtos[pos_celular,]
hurtos_celular=crop(hurtos_celular,comunas)
loc1=coordinates(hurtos_celular)
patron_hurtos_1=ppp(x=loc1[,1],y=loc1[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
##Mapa de Densidad de Hurto de Celulares
densidad_1=density(patron_hurtos_1,0.005)
densidad_tabla_1=data.frame(densidad_1)
densidad_hurtos_celular=rasterFromXYZ(densidad_tabla_1[,1:3])
densidad_hurtos_celular2=mask(densidad_hurtos_celular,comunas)
densidades_mes_1[[i]]=densidad_hurtos_celular2
}
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
densidades_mes_1=stack(densidades_mes_1)
names(densidades_mes_1)=month.name
plot(densidades_mes_1)

require(rasterVis)
levelplot(densidades_mes_1,par.settings=BuRdTheme)+layer(sp.polygons(comunas))

##HURTOS A PERSONAS EN LA CIUDAD DE CALI (*AÑO)
##Patrones Puntuales
pos_personas=which(hurtos@data$DELITO=="HURTO A PERSONAS")
hurtos_personas=hurtos[pos_personas,]
plot(comunas)
points(hurtos_personas,col="red")

##Patrones puntuales
require(spatstat)
hurtos_personas=crop(hurtos_personas,comunas)
loc2=coordinates(hurtos_personas)
extent(comunas)
## class : Extent
## xmin : -76.59284
## xmax : -76.46125
## ymin : 3.331802
## ymax : 3.505871
patron_hurtos_2=ppp(x=loc2[,1],y=loc2[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
## Warning: data contain duplicated points
plot(patron_hurtos_2)

##Tipo de Patron
quadrat.test(patron_hurtos_2)
##
## Chi-squared test of CSR using quadrat counts
##
## data: patron_hurtos_2
## X2 = 7399.3, df = 24, p-value < 2.2e-16
## alternative hypothesis: two.sided
##
## Quadrats: 5 by 5 grid of tiles
plot(Kest(patron_hurtos_2))
## number of data points exceeds 3000 - computing border correction estimate only

##Mapa de Densidad de Hurto a Personas
densidad_2=density(patron_hurtos_2,0.005)
plot(densidad_2)

densidad_tabla_2=data.frame(densidad_2)
densidad_hurtos_personas=rasterFromXYZ(densidad_tabla_2[,1:3])
plot(densidad_hurtos_personas)
plot(comunas, add=T)

densidad_hurtos_personas2=mask(densidad_hurtos_personas, comunas)
plot(densidad_hurtos_personas2)
plot(comunas, add=T)

require(rasterVis)
levelplot(densidad_hurtos_personas2, par.settings=BuRdTheme)+layer(sp.polygons(comunas))

##Como es la dinamica Espacio - Temporal
densidades_mes_2=list()
for(i in 1:12){
pos_personas=which(hurtos@data$DELITO=="HURTO A PERSONAS"&hurtos@data$MES==i)
hurtos_personas=hurtos[pos_personas,]
hurtos_personas=crop(hurtos_personas,comunas)
loc2=coordinates(hurtos_personas)
patron_hurtos_2=ppp(x=loc2[,1],y=loc2[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
##Mapa de Densidad de Hurto a Personas
densidad_2=density(patron_hurtos_2,0.005)
densidad_tabla_2=data.frame(densidad_2)
densidad_hurtos_personas=rasterFromXYZ(densidad_tabla_2[,1:3])
densidad_hurtos_personas2=mask(densidad_hurtos_personas,comunas)
densidades_mes_2[[i]]=densidad_hurtos_personas2
}
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
densidades_mes_2=stack(densidades_mes_2)
names(densidades_mes_2)=month.name
plot(densidades_mes_2)

require(rasterVis)
levelplot(densidades_mes_2,par.settings=BuRdTheme)+layer(sp.polygons(comunas))

##HURTOS A RESIDENCIAS EN LA CIUDAD DE CALI (*AÑO)
##Patrones Puntuales
pos_residencia=which(hurtos@data$DELITO=="HURTO RESIDENCIA")
hurtos_residencia=hurtos[pos_residencia,]
plot(comunas)
points(hurtos_residencia,col="red")

##Patrones puntuales
require(spatstat)
hurtos_residencia=crop(hurtos_residencia,comunas)
loc3=coordinates(hurtos_residencia)
extent(comunas)
## class : Extent
## xmin : -76.59284
## xmax : -76.46125
## ymin : 3.331802
## ymax : 3.505871
patron_hurtos_3=ppp(x=loc3[,1],y=loc3[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
## Warning: data contain duplicated points
plot(patron_hurtos_3)

##Tipo de Patron
quadrat.test(patron_hurtos_3)
##
## Chi-squared test of CSR using quadrat counts
##
## data: patron_hurtos_3
## X2 = 1618.9, df = 24, p-value < 2.2e-16
## alternative hypothesis: two.sided
##
## Quadrats: 5 by 5 grid of tiles
plot(Kest(patron_hurtos_3))

##Mapa de Densidad de Hurto a Residencias
densidad_3=density(patron_hurtos_3,0.005)
plot(densidad_3)

densidad_tabla_3=data.frame(densidad_3)
densidad_hurtos_residencia=rasterFromXYZ(densidad_tabla_3[,1:3])
plot(densidad_hurtos_residencia)
plot(comunas, add=T)

densidad_hurtos_residencia2=mask(densidad_hurtos_residencia, comunas)
plot(densidad_hurtos_residencia2)
plot(comunas, add=T)

require(rasterVis)
levelplot(densidad_hurtos_residencia2, par.settings=BuRdTheme)+layer(sp.polygons(comunas))

##Como es la dinamica Espacio - Temporal
densidades_mes_3=list()
for(i in 1:12){
pos_residencia=which(hurtos@data$DELITO=="HURTO RESIDENCIA"&hurtos@data$MES==i)
hurtos_residencia=hurtos[pos_residencia,]
hurtos_residencia=crop(hurtos_residencia,comunas)
loc3=coordinates(hurtos_residencia)
patron_hurtos_3=ppp(x=loc3[,1],y=loc3[,2],window=owin(c(-76.59284,-76.46125),c(3.331802,3.505871)))
##Mapa de Densidad de Hurto a Vehiculo
densidad_3=density(patron_hurtos_3,0.005)
densidad_tabla_3=data.frame(densidad_3)
densidad_hurtos_residencia=rasterFromXYZ(densidad_tabla_3[,1:3])
densidad_hurtos_residencia3=mask(densidad_hurtos_residencia,comunas)
densidades_mes_3[[i]]=densidad_hurtos_residencia3
}
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
## Warning: data contain duplicated points
densidades_mes_3=stack(densidades_mes_3)
names(densidades_mes_3)=month.name
plot(densidades_mes_3)

require(rasterVis)
levelplot(densidades_mes_3,par.settings=BuRdTheme)+layer(sp.polygons(comunas))
