Haciendo pruebas con mapas nacionales a partir del seguimiento del manual intro-spatial.rmd Gráficas con R y de los paquetes dedicados para hacer mapas como tmap y leaflet. Uso para aprender las bases del uso de R como un rápido, amigable y extremadamente pideroso sistema por comandos de un GIS, (Geographic Information System)
Se utilizan los siguientes paquetes:
La función readOGR
carga el shapefile y lo asigna a un objeto espacial llamado “coah”; nombre corto para Coahuila, acepta dos argumentos, dsn
que especifica el nombre de la fuente de datos y especifica el nombre en dónde está almacenado el archivo y layer
que epecifica el nombre del archivo (no se necesita el extensión .shp) Se crea el archivo del censo para Torreón a través de la condición en el municipio 35 Se graba el archivo para que no tarden las operaciones, y después sólo leerlas
## OGR data source with driver: ESRI Shapefile
## Source: "D:\Documents\Claudia\Midropbox\CentroHistórico\CARTOGRAFÍA\05", layer: "torreoncenso"
## with 9635 features
## It has 203 fields
## OGR data source with driver: ESRI Shapefile
## Source: "D:\Documents\Claudia\Midropbox\CentroHistórico\CARTOGRAFÍA\05", layer: "torreonagebcenso"
## with 309 features
## It has 158 fields
print(mapagebmun)
Preparación de AGEBS para censo
#mapa digital de méxico
#http://www.beta.inegi.org.mx/servicios/MxSIG.html
#Espacio y datos de México
#http://www.beta.inegi.org.mx/app/mapa/espacioydatos/
dfageb<-torreon.map[c("ageb","pobtot","pobmas","pobfem")]
dfageb$Pob <- dfageb$pobtot
m<-qtm(dfageb, "Pob", fill.title = "#Personas\n(1)", scale = 0.5, fill.palette="Spectral", contrast=.1)+
tm_layout(legend.position = c(0.02,0.02),legend.text.size = 1.5,legend.outside=TRUE)
print(m)
#str(dfageb)
censo<-read.csv(paste0(ruta2,"censo2010.csv")) #Se creo columna cvegeoageb
Agebs<-readOGR(dsn =paste0(ruta,"."), layer = "05A",encoding="UTF-8",stringsAsFactors = FALSE)
## OGR data source with driver: ESRI Shapefile
## Source: "D:\Documents\Claudia\Midropbox\CentroHistórico\CARTOGRAFÍA\05", layer: "05A"
## with 1838 features
## It has 3 fields
dfageb<-censo[c("cvegeoageb","ageb","pobtot","pobmas","pobfem","p_60ymas","p_60ymas_m","p_60ymas_f","pob65_mas")]
dfageb$cvegeoageb<-paste0("0",as.character(dfageb$cvegeoageb))
dfageb$pobmas<-as.numeric(dfageb$pobmas)
dfageb$pobfem<-as.numeric(dfageb$pobfem)
dfageb$p_60ymas<-as.numeric(dfageb$p_60ymas)
dfageb$p_60ymas_m<-as.numeric(dfageb$p_60ymas_m)
dfageb$p_60ymas_f<-as.numeric(dfageb$p_60ymas_f)
dfageb$pob65_mas<-as.numeric(dfageb$pob65_mas)
#"https://stats.stackexchange.com/questions/169056/aggregate-all-data-by-date-and-id"
dfagebcensocom<-aggregate(. ~cvegeoageb, data=dfageb, sum, na.rm=TRUE)
write.csv(dfagebcensocom, file = paste0(ruta2,"censo2010agebp.csv"))
# Se unen los datos de la geografía de la manzana con los datos que se obtuvieron en el censo
Agebsmerg<-merge(Agebs, dfagebcensocom, by.x="cvegeo", by.y="cvegeoageb")
#grabado del archivo del censo con las agebs en el shapefile
writeOGR(Agebsmerg, paste0(ruta,"."), "shapefilecenso", driver="ESRI Shapefile",layer="agebscensoparcialcoah")
Agebsmerg$Pob <- Agebsmerg$pobtot
m<-qtm(Agebsmerg, "Pob", fill.title = "#Población total\n(1)", scale = 0.5, fill.palette="Spectral", contrast=.1)+
tm_layout(legend.position = c(0.02,0.02),legend.text.size = 1.5,legend.outside=TRUE)
print(m)
torreonageb.map<-Agebsmerg[ substr(Agebsmerg$cvegeo,3,5) =="035",]
torreonageb.map$Pob <- torreonageb.map$pobtot
m<-qtm(torreonageb.map, "Pob", fill.title = "#Población Total\n(1)", scale = 0.5, fill.palette="Spectral", contrast=.1)+
tm_layout(legend.position = c(0.02,0.02),legend.text.size = 1.5,legend.outside=TRUE)
print(m)