############################################ ### CARGAMOS ESTOS PAQUETES ############################################ library(sp) # vector data library(raster) # raster data library(rgdal) # input/output, projections library(rgeos) # geometry ops library(spdep) # spatial dependence library(maptools) ############################################################################## # FIJAR DIRECTORIO DE TRABAJO CON LOS PARES DE ARCHIVOS SHAPEFILE setwd('/Users/COLSON/Google Drive/cobertura_verde_parques') # DEBES DE RESPETAR LA CONVENCION PARA NOMBRAR LOS ARCHIVOS: # ID DEL PARQUE (TRES DIGITOS) # GUIÓN BAJO "_" # "cv" PARA COBERTURA VEGETAL # "at" PARA AREA TOTAL # EJEMPLO: "001_at.shp" "001_cv.shp" FilesSHP2=list.files(pattern = "cv.shp$", ignore.case=TRUE);FilesSHP2 FilesSHP1=list.files(pattern = "at.shp$", ignore.case=TRUE);FilesSHP1 # CREAMOS UNA TABLA PARA ALMACENAR LOS VALORES PARA CADA PARQUE parques_cobertura <-data.frame(parque_id=character(length(FilesSHP1)), cobertura_veg=numeric(length(FilesSHP1)), stringsAsFactors = FALSE) # CORREMOS ESTE LOOP PARA OBTENER LOS PORCENTAJES DE COBERTURA VEGETAL DE TODOS LOS PARQUES. for (i in 1:(length(FilesSHP1))){ a_total<- readShapePoly(FilesSHP1[i],proj4string=CRS("+proj=utm +zone=12 +north +ellps=WGS84")) veg<- readShapePoly(FilesSHP2[i],proj4string=CRS("+proj=utm +zone=12 +north +ellps=WGS84")) veg.area<-sapply(slot(veg, "polygons"), function(x) sapply(slot(x, "Polygons"), slot, "area")) total.area<-sapply(slot(a_total, "polygons"), function(x) sapply(slot(x, "Polygons"), slot, "area")) #### llenamos la tabla parques_cobertura$parque_id[i]=substr(FilesSHP1[i], 1, 3) parques_cobertura$cobertura_veg[i]=(sum(veg.area)/(total.area))*100 } # VERIFICO parques_cobertura
Metodología para la obtención de la cobertura vegetal de parques urbanos
Dr. Luis Alan Navarro Navarro
Centro de Estudios en Gobierno y Asuntos Públicos
El Colegio de Sonora