Hola a todos Esta es mi primera pregunta en el grupo, y es sencilla pero me tiene atascado. Estoy tratando de cortar mi mapa de (poner limites en UTM) en un lugar definido como mi area de estudio (en este caso el sur de chile). Pero creo no estar usando bien la función CRS ponendo bien los limites requeridos.> study_area <- readRDS("CHL_adm0.rds") > study_area_UTM <- spTransform(study_area, CRS("+proj=utm +zone=19+datum=WGS84"))> study_area_UTM <- spTransform(study_area_UTM, CRS(+ paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs"))) Error in spTransform(study_area_UTM, CRS(paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs"))) : error in evaluating the argument 'CRSobj' in selecting a method for function 'spTransform': Error in CRS(paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs")) : projection not named Espero me puedan ayudar. Saludos -- *Mauricio Mardones Inostroza* Investigador Departamento Evaluación de Recursos Instituto de Fomento Pesquero - IFOP Valparaíso - Chile +56-32-21514 <callto:+56-32-2151424>42 www.ifop.cl [[alternative HTML version deleted]]
Hola Mauricio, No entiendo 2 cosas en tu código: 1. Por qué proyectas el mismo objeto:> study_area_UTM <- spTransform(study_area, CRS("+proj=utm +zone=19+datum=WGS84"))> study_area_UTM <- spTransform(study_area_UTM, CRS(+ paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs"))) 2. Por qué usas "paste" (creo que no deberías usarlo). Manuel Spínola El 20 de julio de 2016, 10:43, Mauricio Mardones Inostroza < mauricio.mardones en ifop.cl> escribió:> Hola a todos > Esta es mi primera pregunta en el grupo, y es sencilla pero me tiene > atascado. Estoy tratando de cortar mi mapa de (poner limites en UTM) en un > lugar definido como mi area de estudio (en este caso el sur de chile). Pero > creo no estar usando bien la función CRS ponendo bien los limites > requeridos. > > > > study_area <- readRDS("CHL_adm0.rds") > > study_area_UTM <- spTransform(study_area, CRS("+proj=utm +zone=19 > +datum=WGS84")) > > study_area_UTM <- spTransform(study_area_UTM, CRS( > + paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft > +no_defs"))) > Error in spTransform(study_area_UTM, CRS(paste("+x_0=-2000000.0 > +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs"))) : > error in evaluating the argument 'CRSobj' in selecting a method for > function 'spTransform': Error in CRS(paste("+x_0=-2000000.0 +y_0=-500000.0 > +ellps=GRS80 +units=us-ft +no_defs")) : > projection not named > > > > Espero me puedan ayudar. > > Saludos > -- > > *Mauricio Mardones Inostroza* > > Investigador Departamento Evaluación de Recursos > Instituto de Fomento Pesquero - IFOP > Valparaíso - Chile > +56-32-21514 <callto:+56-32-2151424>42 > > www.ifop.cl > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- *Manuel Spínola, Ph.D.* Instituto Internacional en Conservación y Manejo de Vida Silvestre Universidad Nacional Apartado 1350-3000 Heredia COSTA RICA mspinola en una.cr <mspinola en una.ac.cr> mspinola10 en gmail.com Teléfono: (506) 8706 - 4662 Personal website: Lobito de río <https://sites.google.com/site/lobitoderio/> Institutional website: ICOMVIS <http://www.icomvis.una.ac.cr/> [[alternative HTML version deleted]]
Hola Mauricio, No tengo muy claro que intentas hacer. En primer lugar la proyección/CRS no serviría para recortar los datos (simplemente sirve para poder interpretar las coordenadas), para esto en principio utilizaría la función 'over' del paquete sp (ejecuta 'vignette("over")'). En segundo lugar tu objeto "CHL_adm0.rds" parece ser un polígono espacial correspondiente al contorno de Chile (descargado de http://www.gadm.org/country). Si simplemente lo vas a utilizar para representarlo bastaría con fijar los límites a la hora de hacer el gráfico (o pintarlo por encima...). Si necesitas algo más, recortarlo puede ser un problema. Puede que lo que te interese sea aumentar la resolución (empleando "CHL_admX.rds", i.e. áreas administrativas de nivel X) y seleccionar las áreas que te interesen. En cualquier caso te recomiendo que te documentes sobre como manipular este tipo de objetos (la referencia recomendada para empezar sería el libro Applied Spatial Data Analysis With R). Un saludo, Rubén. El 20/07/2016 a las 18:43, Mauricio Mardones Inostroza escribió:> Hola a todos > Esta es mi primera pregunta en el grupo, y es sencilla pero me tiene > atascado. Estoy tratando de cortar mi mapa de (poner limites en UTM) en un > lugar definido como mi area de estudio (en este caso el sur de chile). Pero > creo no estar usando bien la función CRS ponendo bien los limites > requeridos. > > >> study_area <- readRDS("CHL_adm0.rds") >> study_area_UTM <- spTransform(study_area, CRS("+proj=utm +zone=19 > +datum=WGS84")) >> study_area_UTM <- spTransform(study_area_UTM, CRS( > + paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft > +no_defs"))) > Error in spTransform(study_area_UTM, CRS(paste("+x_0=-2000000.0 > +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs"))) : > error in evaluating the argument 'CRSobj' in selecting a method for > function 'spTransform': Error in CRS(paste("+x_0=-2000000.0 +y_0=-500000.0 > +ellps=GRS80 +units=us-ft +no_defs")) : > projection not named > > > > Espero me puedan ayudar. > > Saludos
Hola Mauricio, Como ya han indicado otros, spTransform y CRS sólo sirven para reproyectar (de geográficas a UTM en este caso). Para recortar a una zona determinada puedes usar por ejemplo la función crop del paquete raster (entre otras opciones). Algo así funciona: chile <- readRDS("CHL_adm0.rds") # project to UTM 19S chile.UTM <- spTransform(chile, CRS("+proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")) bbox(chile.UTM) # bounding box (extent) of the entire country # Now crop to selected region library(raster) area.extent <- extent(c(100000, 500000, 4500000, 5000000)) # define limits (in UTM coordinates) study.area <- crop(chile.UTM, area.extent) # crop plot(study.area) Suerte Paco El 20/07/2016 a las 18:43, Mauricio Mardones Inostroza escribió:> Hola a todos > Esta es mi primera pregunta en el grupo, y es sencilla pero me tiene > atascado. Estoy tratando de cortar mi mapa de (poner limites en UTM) en un > lugar definido como mi area de estudio (en este caso el sur de chile). Pero > creo no estar usando bien la función CRS ponendo bien los limites > requeridos. > > >> study_area <- readRDS("CHL_adm0.rds") >> study_area_UTM <- spTransform(study_area, CRS("+proj=utm +zone=19 > +datum=WGS84")) >> study_area_UTM <- spTransform(study_area_UTM, CRS( > + paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft > +no_defs"))) > Error in spTransform(study_area_UTM, CRS(paste("+x_0=-2000000.0 > +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs"))) : > error in evaluating the argument 'CRSobj' in selecting a method for > function 'spTransform': Error in CRS(paste("+x_0=-2000000.0 +y_0=-500000.0 > +ellps=GRS80 +units=us-ft +no_defs")) : > projection not named > > > > Espero me puedan ayudar. > > Saludos-- Dr Francisco Rodriguez-Sanchez Integrative Ecology Group Estacion Biologica de Doñana - CSIC Avda. Americo Vespucio s/n 41092 Sevilla (Spain) http://bit.ly/frod_san
Wau! Muchachos han sido de gran ayuida. Sirvió! Seguiré el el camino y espero devolver la mano! Muchas gracias. El 21 de julio de 2016, 5:56, Francisco Rodriguez Sanchez < f.rodriguez.sanc en gmail.com> escribió:> Hola Mauricio, > > Como ya han indicado otros, spTransform y CRS sólo sirven para reproyectar > (de geográficas a UTM en este caso). > > Para recortar a una zona determinada puedes usar por ejemplo la función > crop del paquete raster (entre otras opciones). > > Algo así funciona: > > chile <- readRDS("CHL_adm0.rds") > > # project to UTM 19S > chile.UTM <- spTransform(chile, > CRS("+proj=utm +zone=19 +south +ellps=WGS84 > +datum=WGS84 +units=m +no_defs")) > bbox(chile.UTM) # bounding box (extent) of the entire country > > # Now crop to selected region > library(raster) > area.extent <- extent(c(100000, 500000, 4500000, 5000000)) # define > limits (in UTM coordinates) > study.area <- crop(chile.UTM, area.extent) # crop > plot(study.area) > > > Suerte > > Paco > > > > El 20/07/2016 a las 18:43, Mauricio Mardones Inostroza escribió: > >> Hola a todos >> Esta es mi primera pregunta en el grupo, y es sencilla pero me tiene >> atascado. Estoy tratando de cortar mi mapa de (poner limites en UTM) en >> un >> lugar definido como mi area de estudio (en este caso el sur de chile). >> Pero >> creo no estar usando bien la función CRS ponendo bien los limites >> requeridos. >> >> >> study_area <- readRDS("CHL_adm0.rds") >>> study_area_UTM <- spTransform(study_area, CRS("+proj=utm +zone=19 >>> >> +datum=WGS84")) >> >>> study_area_UTM <- spTransform(study_area_UTM, CRS( >>> >> + paste("+x_0=-2000000.0 +y_0=-500000.0 +ellps=GRS80 +units=us-ft >> +no_defs"))) >> Error in spTransform(study_area_UTM, CRS(paste("+x_0=-2000000.0 >> +y_0=-500000.0 +ellps=GRS80 +units=us-ft +no_defs"))) : >> error in evaluating the argument 'CRSobj' in selecting a method for >> function 'spTransform': Error in CRS(paste("+x_0=-2000000.0 +y_0=-500000.0 >> +ellps=GRS80 +units=us-ft +no_defs")) : >> projection not named >> >> >> >> Espero me puedan ayudar. >> >> Saludos >> > > -- > Dr Francisco Rodriguez-Sanchez > Integrative Ecology Group > Estacion Biologica de Doñana - CSIC > Avda. Americo Vespucio s/n > 41092 Sevilla (Spain) > http://bit.ly/frod_san > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- *Mauricio Mardones Inostroza* Investigador Departamento Evaluación de Recursos Instituto de Fomento Pesquero - IFOP Valparaíso - Chile +56-32-21514 <callto:+56-32-2151424>42 www.ifop.cl [[alternative HTML version deleted]]