Skip to content

Instantly share code, notes, and snippets.

@benizar
Created October 11, 2013 10:50
Show Gist options
  • Save benizar/6932870 to your computer and use it in GitHub Desktop.
Save benizar/6932870 to your computer and use it in GitHub Desktop.
This is a very basic example for using SAGA GIS from the R console. Load a polygon shapefile and a raster file and then split the raster into parts. Want more info? Visit our www.gisandchips.org blog (http://www.gisandchips.org/2011/01/13/usando-rsaga-para-procesar-un-raster-grande-por-partes/#more-1692)
## Abrimos la consola de R y cargamos la librería
library(RSAGA)
## Seleccionamos el fichero raster que queremos trocear y una capa vectorial que queramos usar como límites. También especificamos el directorio donde van los outputs. Para trabajar con Windows recomiendo rutas sin espacios.
raster<- file.choose()
poligonos<- file.choose()
directorio <-choose.dir()
## Consultamos hasta encontrar la herramienta que nos separa un shapefile en varios, obteniendo un shapefile por cada polígono, o lo que quisiéramos. Por ejemplo:
## rsaga.get.modules("shapes_grid")
## rsaga.get.usage("shapes_tools", 7)
## Se ejecuta el método con los parámetros necesarios.
rsaga.geoprocessor(lib="shapes_tools", module=7, param=list(SHAPES=poligonos, PATH=directorio, NAMING=0, FIELD=6))
# Listamos los nuevos shapefiles
shapefiles <- list.files(directorio, full.names=T, pattern="\\.shp")
## Por último utilizamos RSAGA para realizar tantos recortes del raster como polígonos habíamos extraído
for(i in 1:length(shapefiles)){
select <- shapefiles[i]</code>
rsaga.geoprocessor(lib="shapes_grid", module=7, param=list(OUTPUT=select, INPUT=raster, POLYGONS=select))
}#fin bucle
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment