##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))