lab 10. acuíferos: mapa en r
Alan Navarro, Centro de Estudios en Gobierno y Asuntos Públicos
El Colegio de Sonora
El mapa que se elaboró en el laboratorio 8 se retoma en este laboratorio, nada más que se usa R para crear otra versión del mapa. A continuación se desarrolla el código de R para la elaboración del mapa.
Video de auxilio.
############## carga estos paquetes library(rgdal) library(sp) library(maptools) library(raster) library(PBSmapping) library(GISTools) library(maps) ############################################################################## setwd("/Users/COLSON/Documents/Datos SIG/acuiferos_son2"); getwd() # Download data.zip from the web download.file("https://alanphd.com/archivos/Acuiferos_SON_wgs84_GCS.zip", "data.zip") # Unzip file unzip("data.zip") list.files() acuiferos=readShapePoly("acuiferosSon2_GCS_WGS84.shp",proj4string=CRS("+proj=longlat")) head(acuiferos@data) (acuiferos@data$Dispon) # Escala de rojos .... # menor/igual que -80 .............#BF2A00 # mayor que -80 pero menor/igual que -60 ...........#DD852D # mayor que -60 pero menor/igual que -40 .............#ECB243 # mayor que -40 pero menor/igual que -20 ......#FCE05A # mayor que -20 pero menor que 0 .....................#f8f9dd # Escala de azules # mayor que 0 pero menor que 20 .............#CEFDFD # igual o mayor que 20... #0054BF # no hay valor igual a 0 acuiferos@data$COLOUR<-"#FFFFFF" acuiferos@data$COLOUR<-ifelse(acuiferos@data$Dispon <= -80, "#BF2A00", ifelse(acuiferos@data$Dispon > -80 & acuiferos@data$Dispon <= -60, "#DD852D", ifelse(acuiferos@data$Dispon > -60 & acuiferos@data$Dispon <= -40, "#ECB243", ifelse(acuiferos@data$Dispon > -40 & acuiferos@data$Dispon <= -20, "#FCE05A", ifelse(acuiferos@data$Dispon > -20 & acuiferos@data$Dispon <= 0, "#f8f9dd", ifelse(acuiferos@data$Dispon > 0 & acuiferos@data$Dispon <= 10, "#00E5DD", ifelse(acuiferos@data$Dispon > 10 & acuiferos@data$Dispon <= 20, "#0472CE", "#0800BF" ))))))) legends1=c(expression("<= -80 Hm" ^ 3), "> -80 & <= -60", "> -60 & <= -40", "> -40 & <= -20", "> -20 & <= 0", "> 0 & <= 10", "> 10 & <= 20", expression(">20 Hm" ^ 3)) legends2=c("#BF2A00", "#DD852D", "#ECB243", "#FCE05A", "#f8f9dd", "#00E5DD", "#0472CE", "#0800BF") head(acuiferos@data) ##### mapa mundial con los poligonos de los paises en Lat Long WGS84 mundo=readShapePoly(file.choose(),proj4string=CRS("+proj=longlat")) ###transformamos para calcular los centroides acuiferos.ps <- SpatialPolygons2PolySet(acuiferos) # Calculate the centroids acuiferos.centroids <- calcCentroid(acuiferos.ps, rollup=1) # # Acentos SI TU GRAFICA VA LLEVAR ACENTOS USA ESTOS CODIGOS # \u{ED} i con acento # \u{E1} a con acento # \u{F3} o con # \u{F1} ennie # \u{E9} e con acento # \u{FA} u con acento #### plot(mundo, axes = TRUE, xlim = c(-115.053, -108.4243), ylim = c(26.29699, 32.49391), col=("grey41"), border=F, bg='azure2', cex=0.6) plot(acuiferos, col=acuiferos@data$COLOUR, axes = TRUE, xlab = "Longitud", ylab = "Latitud", add=T) text(acuiferos.centroids$X,acuiferos.centroids$Y,label=acuiferos@data$Clave, cex=.5) # USAMOS LA FUNCION LOCATOR PARA LOCALIZAR EL LUGAR DONDE VA EL OBJETO legendXY<-locator(1) map.scale(legendXY$x, legendXY$y, metric = T, ratio = F) legendXY<-locator(1) text(legendXY$x, legendXY$y, "E.U.A.", col="white") legendXY<-locator(1) text(legendXY$x, legendXY$y, "Golfo de California", cex = 0.8, srt = 310) legendXY<-locator(1) legend(legendXY$x, legendXY$y,legend=legends1, title = expression(bold("Simbolog\u{ED}a")), col=legends2, cex=0.7, bty="y", border = c(rep("black",8)), fill=legends2, bg="white") NorteXY<-locator(1) north.arrow(xb=NorteXY$x, yb=NorteXY$y, len=0.1, lab="N", col='black') legendXY<-locator(1) legend(legendXY$x, legendXY$y, legend= c("Balance h\u{ED}drico de", "los acu\u{ED}feros en Sonora", "20 abril del 2015"), cex=.8, bty="y", bg="white") # exportar a mas menos 992 de ancho, manten el aspecto!
El mapa resultante se puede visualizar abajo. Como puedes ver tiene: barra de escala (¿está bien?), flecha de norte, cuadro de simbología, título y en los ejes marcan unidades en grados. El mapa incluye etiquetas con la clave en cada polígono, se incluyó una categoría más en el gradiente azul (acuíferos con balance positivo).
Tu trabajo