Gracias Beatriz, efectivamente, lo que indicas en tu ejemplo es lo que obtengo
al final de mi proceso.
En todo caso pruebo tu opción con mis datos, si es como imagino seguro que es
más rápida de montar y más elegante que tratar el resultado de un sink()
(recuerdo que en su momento lo intenté con fotify pero no supe bien como
atacarlo, no conocía el enlace que me mandas, por tanto lo pruebo de nuevo).
Mañana espero informaros
Un saludo y gracias de nuevo
From: mtnezb en gmail.com
Date: Wed, 8 Oct 2014 22:22:59 +0200
Subject: Re: [R-es] Pregunta sobre manipulación de shapefile
To: fjroar en hotmail.com
CC: oscar.perpinan en upm.es; r-help-es en r-project.org
Hola:
No sé si he entendido bien, pero:
con la función fortify del paquete ggplot, conviertes un SpatialPolygonDataFrame
en un data.frame corriente como el que tú has construido (con una columna
adicional que agrupa los puntos que corresponden al mismo polígono).
A ese data.frame luego le puedes añadir las columnas que quieras y pintarlo
encima de un tile de google maps (siempre que la proyección del SpatialPolygon
se establezca a lon lat)
Aquí tienes un
ejemplohttps://github.com/maritrinez/R_Maps_workshop/blob/master/maps_with_R.md#2-plot-a-map-on-a-street-map
El enlace debería llevarte al segundo punto del markdown, si no va bien busca
"2. Plot a map on a street map", que el documento es largo!
Saludos para todos
El 8 de octubre de 2014, 21:31, Francisco Rodríguez <fjroar en
hotmail.com> escribió:
Oscar, al final no he podido esperar hasta mañana
Con:
library(maptools)library(sp)
poligonos <- readShapeLines("C:\\...\\DATOS\\MUNICIPIO.shp")
sink("C:\\ ... \\DATOS\\MUNICIPIO.csv")
coordinates(poligonos)
Consigo un fichero con la suficiente estructura para tratarlo fácilmente y de
una tacada montar la tabla .csv tal y como he indicado en un correo anterior
Necesito el .csv aparte para utilizarlo y manipularlo después en otras
librerías. Aunque con tu respuesta soy capaz de crear una función que permite la
generación de la estructura que te he indicado de un paso de modo totalmente
automatizado, ¿Existe alguna función que haga la conversión directamente?
(Simplemente es para que no re-invente yo mismo la rueda) Mi intención es usar
después ggmap con ggplot2
Un saludo y gracias en todo caso, con tu indicación ya te digo, dar solución a
mi objetivo de crear algo que directamente me lea los ficheros de modo como yo
quiero en un solo paso y todo dentro de R (como debe ser)
> From: oscar.perpinan en upm.es
> To: fjroar en hotmail.com
> CC: r-help-es en r-project.org
> Subject: Re: [R-es] Pregunta sobre manipulación de shapefile
> Date: Wed, 8 Oct 2014 19:01:29 +0200
>
>
> Hola,
>
> Cuando usas readShapPoly obtienes un objeto de clase
> SpatialPolygonsDataFrame. Si lo que necesitas es añadir nuevas columnas,
> puedes hacerlo como harías con cualquier data.frame. Usando el ejemplo
> que viene en su página de ayuda, añado una nueva variable llamada test:
>
> library(maptools)
> xx <- readShapePoly(system.file("shapes/sids.shp",
package="maptools")[1],
> IDvar="FIPSNO", proj4string=CRS("+proj=longlat
+ellps=clrk66"))
> xx$test <- rnorm(nrow(xx))
>
> También te puede interesar la función spCbind, que te permite unir un
> Spatial*DataFrame con un data.frame.
>
> Finalmente, si necesitas las coordenadas del centroide de cada polígono,
> puedes usar coordinates:
>
> coordinates(xx)
>
> Pero si necesitas las coordenadas de todos las líneas es más fácil si
> lees el mismo fichero con readShapeLines, y usas de nuevo coordinates.
Ahora
> obtendrás una lista con las coordenadas de cada uno de los polígonos.
>
> Saludos.
>
> Oscar.
>
>
> --
> Oscar Perpiñán Lamigueiro
> Dpto. Ingeniería Eléctrica (ETSIDI-UPM)
> Grupo de Sistemas Fotovoltaicos (IES-UPM)
> URL: http://oscarperpinan.github.io
[[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
--
---Beatriz Martínez en maritrinez
[[alternative HTML version deleted]]
De hecho ahora recuerdo que la dificultad que encontré es que no supe pasar esos
shapefile en concreto al formato SpatialPolygonDataFrame, bueno repaso todo y
como os dije, os informo debidamente
Gracias por la atención en todo caso
From: fjroar en hotmail.com
To: mtnezb en gmail.com
Date: Wed, 8 Oct 2014 21:34:27 +0000
CC: oscar.perpinan en upm.es; r-help-es en r-project.org
Subject: Re: [R-es] Pregunta sobre manipulación de shapefile
Gracias Beatriz, efectivamente, lo que indicas en tu ejemplo es lo que obtengo
al final de mi proceso.
En todo caso pruebo tu opci?n con mis datos, si es como imagino seguro que es
m?s r?pida de montar y m?s elegante que tratar el resultado de un sink()
(recuerdo que en su momento lo intent? con fotify pero no supe bien como
atacarlo, no conoc?a el enlace que me mandas, por tanto lo pruebo de nuevo).
Ma?ana espero informaros
Un saludo y gracias de nuevo
From: mtnezb en gmail.com
Date: Wed, 8 Oct 2014 22:22:59 +0200
Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile
To: fjroar en hotmail.com
CC: oscar.perpinan en upm.es; r-help-es en r-project.org
Hola:
No s? si he entendido bien, pero:
con la funci?n fortify del paquete ggplot, conviertes un SpatialPolygonDataFrame
en un data.frame corriente como el que t? has construido (con una columna
adicional que agrupa los puntos que corresponden al mismo pol?gono).
A ese data.frame luego le puedes a?adir las columnas que quieras y pintarlo
encima de un tile de google maps (siempre que la proyecci?n del SpatialPolygon
se establezca a lon lat)
Aqu? tienes un
ejemplohttps://github.com/maritrinez/R_Maps_workshop/blob/master/maps_with_R.md#2-plot-a-map-on-a-street-map
El enlace deber?a llevarte al segundo punto del markdown, si no va bien busca
"2. Plot a map on a street map", que el documento es largo!
Saludos para todos
El 8 de octubre de 2014, 21:31, Francisco Rodr?guez <fjroar en
hotmail.com> escribi?:
Oscar, al final no he podido esperar hasta ma?ana
Con:
library(maptools)library(sp)
poligonos <- readShapeLines("C:\\...\\DATOS\\MUNICIPIO.shp")
sink("C:\\ ... \\DATOS\\MUNICIPIO.csv")
coordinates(poligonos)
Consigo un fichero con la suficiente estructura para tratarlo f?cilmente y de
una tacada montar la tabla .csv tal y como he indicado en un correo anterior
Necesito el .csv aparte para utilizarlo y manipularlo despu?s en otras
librer?as. Aunque con tu respuesta soy capaz de crear una funci?n que permite la
generaci?n de la estructura que te he indicado de un paso de modo totalmente
automatizado, ?Existe alguna funci?n que haga la conversi?n directamente?
(Simplemente es para que no re-invente yo mismo la rueda) Mi intenci?n es usar
despu?s ggmap con ggplot2
Un saludo y gracias en todo caso, con tu indicaci?n ya te digo, dar soluci?n a
mi objetivo de crear algo que directamente me lea los ficheros de modo como yo
quiero en un solo paso y todo dentro de R (como debe ser)
> From: oscar.perpinan en upm.es
> To: fjroar en hotmail.com
> CC: r-help-es en r-project.org
> Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile
> Date: Wed, 8 Oct 2014 19:01:29 +0200
>
>
> Hola,
>
> Cuando usas readShapPoly obtienes un objeto de clase
> SpatialPolygonsDataFrame. Si lo que necesitas es a?adir nuevas columnas,
> puedes hacerlo como har?as con cualquier data.frame. Usando el ejemplo
> que viene en su p?gina de ayuda, a?ado una nueva variable llamada test:
>
> library(maptools)
> xx <- readShapePoly(system.file("shapes/sids.shp",
package="maptools")[1],
> IDvar="FIPSNO", proj4string=CRS("+proj=longlat
+ellps=clrk66"))
> xx$test <- rnorm(nrow(xx))
>
> Tambi?n te puede interesar la funci?n spCbind, que te permite unir un
> Spatial*DataFrame con un data.frame.
>
> Finalmente, si necesitas las coordenadas del centroide de cada pol?gono,
> puedes usar coordinates:
>
> coordinates(xx)
>
> Pero si necesitas las coordenadas de todos las l?neas es m?s f?cil si
> lees el mismo fichero con readShapeLines, y usas de nuevo coordinates.
Ahora
> obtendr?s una lista con las coordenadas de cada uno de los pol?gonos.
>
> Saludos.
>
> Oscar.
>
>
> --
> Oscar Perpi??n Lamigueiro
> Dpto. Ingenier?a El?ctrica (ETSIDI-UPM)
> Grupo de Sistemas Fotovoltaicos (IES-UPM)
> URL: http://oscarperpinan.github.io
[[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
--
---Beatriz Mart?nez en maritrinez
[[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
[[alternative HTML version deleted]]
Como bien dice Beatriz, la función que buscas es fortify. Los shapefiles los obtienes como SpatialPolygonsDataFrame una vez que usas readShapePoly, como en tu ejemplo. Por añadir más recursos, tienes aquí un ejemplo de uso de fortify escrito por el autor de ggplot2: https://github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles No obstante, te recomiendo echar un ojo a esta discusión sobre el uso de ggmap y las proyecciones: https://stat.ethz.ch/pipermail/r-sig-geo/2014-April/020911.html, que luego Agustin Lobo resumió en dos tutoriales (centrados en datos raster, pero que igualmente puede usarse con datos vectoriales): http://rpubs.com/alobo/vectorOnraster http://rpubs.com/alobo/rasterOnGM Saludos. Oscar. El 08/10/2014 23:42, "Francisco Rodríguez" <fjroar en hotmail.com> escribió:> De hecho ahora recuerdo que la dificultad que encontré es que no supe > pasar esos shapefile en concreto al formato SpatialPolygonDataFrame, bueno > repaso todo y como os dije, os informo debidamente > Gracias por la atención en todo caso > > From: fjroar en hotmail.com > To: mtnezb en gmail.com > Date: Wed, 8 Oct 2014 21:34:27 +0000 > CC: oscar.perpinan en upm.es; r-help-es en r-project.org > Subject: Re: [R-es] Pregunta sobre manipulación de shapefile > > Gracias Beatriz, efectivamente, lo que indicas en tu ejemplo es lo que > obtengo al final de mi proceso. > En todo caso pruebo tu opci?n con mis datos, si es como imagino seguro que > es m?s r?pida de montar y m?s elegante que tratar el resultado de un sink() > (recuerdo que en su momento lo intent? con fotify pero no supe bien como > atacarlo, no conoc?a el enlace que me mandas, por tanto lo pruebo de > nuevo). Ma?ana espero informaros > Un saludo y gracias de nuevo > > From: mtnezb en gmail.com > Date: Wed, 8 Oct 2014 22:22:59 +0200 > Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile > To: fjroar en hotmail.com > CC: oscar.perpinan en upm.es; r-help-es en r-project.org > > Hola: > No s? si he entendido bien, pero: > con la funci?n fortify del paquete ggplot, conviertes un > SpatialPolygonDataFrame en un data.frame corriente como el que t? has > construido (con una columna adicional que agrupa los puntos que > corresponden al mismo pol?gono). > A ese data.frame luego le puedes a?adir las columnas que quieras y > pintarlo encima de un tile de google maps (siempre que la proyecci?n del > SpatialPolygon se establezca a lon lat) > Aqu? tienes un ejemplohttps:// > github.com/maritrinez/R_Maps_workshop/blob/master/maps_with_R.md#2-plot-a-map-on-a-street-map > El enlace deber?a llevarte al segundo punto del markdown, si no va bien > busca "2. Plot a map on a street map", que el documento es largo! > Saludos para todos > El 8 de octubre de 2014, 21:31, Francisco Rodr?guez <fjroar en hotmail.com> > escribi?: > Oscar, al final no he podido esperar hasta ma?ana > > Con: > > library(maptools)library(sp) > > poligonos <- readShapeLines("C:\\...\\DATOS\\MUNICIPIO.shp") > > sink("C:\\ ... \\DATOS\\MUNICIPIO.csv") > > coordinates(poligonos) > > > > Consigo un fichero con la suficiente estructura para tratarlo f?cilmente y > de una tacada montar la tabla .csv tal y como he indicado en un correo > anterior > > Necesito el .csv aparte para utilizarlo y manipularlo despu?s en otras > librer?as. Aunque con tu respuesta soy capaz de crear una funci?n que > permite la generaci?n de la estructura que te he indicado de un paso de > modo totalmente automatizado, ?Existe alguna funci?n que haga la conversi?n > directamente? (Simplemente es para que no re-invente yo mismo la rueda) Mi > intenci?n es usar despu?s ggmap con ggplot2 > > Un saludo y gracias en todo caso, con tu indicaci?n ya te digo, dar > soluci?n a mi objetivo de crear algo que directamente me lea los ficheros > de modo como yo quiero en un solo paso y todo dentro de R (como debe ser) > > > From: oscar.perpinan en upm.es > > > To: fjroar en hotmail.com > > > CC: r-help-es en r-project.org > > > Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile > > > Date: Wed, 8 Oct 2014 19:01:29 +0200 > > > > > > > > > Hola, > > > > > > Cuando usas readShapPoly obtienes un objeto de clase > > > SpatialPolygonsDataFrame. Si lo que necesitas es a?adir nuevas columnas, > > > puedes hacerlo como har?as con cualquier data.frame. Usando el ejemplo > > > que viene en su p?gina de ayuda, a?ado una nueva variable llamada test: > > > > > > library(maptools) > > > xx <- readShapePoly(system.file("shapes/sids.shp", > package="maptools")[1], > > > IDvar="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66")) > > > xx$test <- rnorm(nrow(xx)) > > > > > > Tambi?n te puede interesar la funci?n spCbind, que te permite unir un > > > Spatial*DataFrame con un data.frame. > > > > > > Finalmente, si necesitas las coordenadas del centroide de cada pol?gono, > > > puedes usar coordinates: > > > > > > coordinates(xx) > > > > > > Pero si necesitas las coordenadas de todos las l?neas es m?s f?cil si > > > lees el mismo fichero con readShapeLines, y usas de nuevo coordinates. > Ahora > > > obtendr?s una lista con las coordenadas de cada uno de los pol?gonos. > > > > > > Saludos. > > > > > > Oscar. > > > > > > > > > -- > > > Oscar Perpi??n Lamigueiro > > > Dpto. Ingenier?a El?ctrica (ETSIDI-UPM) > > > Grupo de Sistemas Fotovoltaicos (IES-UPM) > > > URL: http://oscarperpinan.github.io > > > > [[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 > > > > > -- > ---Beatriz Mart?nez en maritrinez > > [[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 > [[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 >[[alternative HTML version deleted]]
Francisco Rodríguez
2014-Oct-09 07:58 UTC
[R-es] FW: Pregunta sobre manipulación de shapefile
Hola, buenos días:
Este correo lo mando a la lista de usuarios debido a que en el anterior mandé
uno demasiado "gordo", el word es idéntido al anterior, sólo que he
quitado una de las figuras
Hola buenos días:
Oscar he seguido tu enlace porque me resultaba más claro y en el word puedes
observar los resultados.
En principio me queda abierta una última cuestión que está en el documento, pero
ya con las indicaciones que me habéis ofrecido, tanto tú como Beatriz, puedo
tirar adelante sin mayor problema.
Sabía que tenía que haber un modo en R para trabajar esto con unas pocas líneas
de código y me habéis dado la solución
Por tanto no me queda más que agradecer la ayuda prestada para este problema y
la relación de links a temas relacionados que es francamente utilísima
Un saludo y de nuevo gracias por todo
Date: Thu, 9 Oct 2014 07:49:30 +0200
Subject: Re: [R-es] Pregunta sobre manipulación de shapefile
From: oscar.perpinan en upm.es
To: fjroar en hotmail.com
CC: mtnezb en gmail.com; r-help-es en r-project.org
Como bien dice Beatriz, la función que buscas es fortify.
Los shapefiles los obtienes como SpatialPolygonsDataFrame una vez que usas
readShapePoly, como en tu ejemplo.
Por añadir más recursos, tienes aquí un ejemplo de uso de fortify escrito por el
autor de ggplot2:
https://github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles
No obstante, te recomiendo echar un ojo a esta discusión sobre el uso de ggmap y
las proyecciones:
https://stat.ethz.ch/pipermail/r-sig-geo/2014-April/020911.html, que luego
Agustin Lobo resumió en dos tutoriales (centrados en datos raster, pero que
igualmente puede usarse con datos vectoriales):
http://rpubs.com/alobo/vectorOnraster
http://rpubs.com/alobo/rasterOnGM
Saludos.
Oscar.
El 08/10/2014 23:42, "Francisco Rodríguez" <fjroar en
hotmail.com> escribió:
De hecho ahora recuerdo que la dificultad que encontré es que no supe pasar esos
shapefile en concreto al formato SpatialPolygonDataFrame, bueno repaso todo y
como os dije, os informo debidamente
Gracias por la atención en todo caso
From: fjroar en hotmail.com
To: mtnezb en gmail.com
Date: Wed, 8 Oct 2014 21:34:27 +0000
CC: oscar.perpinan en upm.es; r-help-es en r-project.org
Subject: Re: [R-es] Pregunta sobre manipulación de shapefile
Gracias Beatriz, efectivamente, lo que indicas en tu ejemplo es lo que obtengo
al final de mi proceso.
En todo caso pruebo tu opci?n con mis datos, si es como imagino seguro que es
m?s r?pida de montar y m?s elegante que tratar el resultado de un sink()
(recuerdo que en su momento lo intent? con fotify pero no supe bien como
atacarlo, no conoc?a el enlace que me mandas, por tanto lo pruebo de nuevo).
Ma?ana espero informaros
Un saludo y gracias de nuevo
From: mtnezb en gmail.com
Date: Wed, 8 Oct 2014 22:22:59 +0200
Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile
To: fjroar en hotmail.com
CC: oscar.perpinan en upm.es; r-help-es en r-project.org
Hola:
No s? si he entendido bien, pero:
con la funci?n fortify del paquete ggplot, conviertes un SpatialPolygonDataFrame
en un data.frame corriente como el que t? has construido (con una columna
adicional que agrupa los puntos que corresponden al mismo pol?gono).
A ese data.frame luego le puedes a?adir las columnas que quieras y pintarlo
encima de un tile de google maps (siempre que la proyecci?n del SpatialPolygon
se establezca a lon lat)
Aqu? tienes un
ejemplohttps://github.com/maritrinez/R_Maps_workshop/blob/master/maps_with_R.md#2-plot-a-map-on-a-street-map
El enlace deber?a llevarte al segundo punto del markdown, si no va bien busca
"2. Plot a map on a street map", que el documento es largo!
Saludos para todos
El 8 de octubre de 2014, 21:31, Francisco Rodr?guez <fjroar en
hotmail.com> escribi?:
Oscar, al final no he podido esperar hasta ma?ana
Con:
library(maptools)library(sp)
poligonos <- readShapeLines("C:\\...\\DATOS\\MUNICIPIO.shp")
sink("C:\\ ... \\DATOS\\MUNICIPIO.csv")
coordinates(poligonos)
Consigo un fichero con la suficiente estructura para tratarlo f?cilmente y de
una tacada montar la tabla .csv tal y como he indicado en un correo anterior
Necesito el .csv aparte para utilizarlo y manipularlo despu?s en otras
librer?as. Aunque con tu respuesta soy capaz de crear una funci?n que permite la
generaci?n de la estructura que te he indicado de un paso de modo totalmente
automatizado, ?Existe alguna funci?n que haga la conversi?n directamente?
(Simplemente es para que no re-invente yo mismo la rueda) Mi intenci?n es usar
despu?s ggmap con ggplot2
Un saludo y gracias en todo caso, con tu indicaci?n ya te digo, dar soluci?n a
mi objetivo de crear algo que directamente me lea los ficheros de modo como yo
quiero en un solo paso y todo dentro de R (como debe ser)
> From: oscar.perpinan en upm.es
> To: fjroar en hotmail.com
> CC: r-help-es en r-project.org
> Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile
> Date: Wed, 8 Oct 2014 19:01:29 +0200
>
>
> Hola,
>
> Cuando usas readShapPoly obtienes un objeto de clase
> SpatialPolygonsDataFrame. Si lo que necesitas es a?adir nuevas columnas,
> puedes hacerlo como har?as con cualquier data.frame. Usando el ejemplo
> que viene en su p?gina de ayuda, a?ado una nueva variable llamada test:
>
> library(maptools)
> xx <- readShapePoly(system.file("shapes/sids.shp",
package="maptools")[1],
> IDvar="FIPSNO", proj4string=CRS("+proj=longlat
+ellps=clrk66"))
> xx$test <- rnorm(nrow(xx))
>
> Tambi?n te puede interesar la funci?n spCbind, que te permite unir un
> Spatial*DataFrame con un data.frame.
>
> Finalmente, si necesitas las coordenadas del centroide de cada pol?gono,
> puedes usar coordinates:
>
> coordinates(xx)
>
> Pero si necesitas las coordenadas de todos las l?neas es m?s f?cil si
> lees el mismo fichero con readShapeLines, y usas de nuevo coordinates.
Ahora
> obtendr?s una lista con las coordenadas de cada uno de los pol?gonos.
>
> Saludos.
>
> Oscar.
>
>
> --
> Oscar Perpi??n Lamigueiro
> Dpto. Ingenier?a El?ctrica (ETSIDI-UPM)
> Grupo de Sistemas Fotovoltaicos (IES-UPM)
> URL: http://oscarperpinan.github.io
[[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
--
---Beatriz Mart?nez en maritrinez
[[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
[[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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL:
<https://stat.ethz.ch/pipermail/r-help-es/attachments/20141009/16bf1042/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: Resultados_02.docx
Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Size: 173270 bytes
Desc: no disponible
URL:
<https://stat.ethz.ch/pipermail/r-help-es/attachments/20141009/16bf1042/attachment-0001.bin>
Es muy útil. Gracias?
Isidro Hidalgo Arellano
Observatorio Regional de Empleo
Consejería de Empleo y Economía
http://www.jccm.es
De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en
r-project.org] En nombre de Francisco Rodríguez
Enviado el: jueves, 09 de octubre de 2014 9:59
Para: r-help-es en r-project.org
Asunto: [R-es] FW: Pregunta sobre manipulación de shapefile
Hola, buenos días:
Este correo lo mando a la lista de usuarios debido a que en el anterior mandé
uno demasiado "gordo", el word es idéntido al anterior, sólo que he
quitado una de las figuras
Hola buenos días:
Oscar he seguido tu enlace porque me resultaba más claro y en el word puedes
observar los resultados.
En principio me queda abierta una última cuestión que está en el documento, pero
ya con las indicaciones que me habéis ofrecido, tanto tú como Beatriz, puedo
tirar adelante sin mayor problema.
Sabía que tenía que haber un modo en R para trabajar esto con unas pocas líneas
de código y me habéis dado la solución
Por tanto no me queda más que agradecer la ayuda prestada para este problema y
la relación de links a temas relacionados que es francamente utilísima
Un saludo y de nuevo gracias por todo
_____
Date: Thu, 9 Oct 2014 07:49:30 +0200
Subject: Re: [R-es] Pregunta sobre manipulación de shapefile
From: oscar.perpinan en upm.es
To: fjroar en hotmail.com
CC: mtnezb en gmail.com; r-help-es en r-project.org
Como bien dice Beatriz, la función que buscas es fortify.
Los shapefiles los obtienes como SpatialPolygonsDataFrame una vez que usas
readShapePoly, como en tu ejemplo.
Por añadir más recursos, tienes aquí un ejemplo de uso de fortify escrito por el
autor de ggplot2:
https://github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles
No obstante, te recomiendo echar un ojo a esta discusión sobre el uso de ggmap y
las proyecciones:
https://stat.ethz.ch/pipermail/r-sig-geo/2014-April/020911.html, que luego
Agustin Lobo resumió en dos tutoriales (centrados en datos raster, pero que
igualmente puede usarse con datos vectoriales):
http://rpubs.com/alobo/vectorOnraster
http://rpubs.com/alobo/rasterOnGM
Saludos.
Oscar.
El 08/10/2014 23:42, "Francisco Rodríguez" <fjroar en
hotmail.com> escribió:
De hecho ahora recuerdo que la dificultad que encontré es que no supe pasar esos
shapefile en concreto al formato SpatialPolygonDataFrame, bueno repaso todo y
como os dije, os informo debidamente
Gracias por la atención en todo caso
From: fjroar en hotmail.com
To: mtnezb en gmail.com
Date: Wed, 8 Oct 2014 21:34:27 +0000
CC: oscar.perpinan en upm.es; r-help-es en r-project.org
Subject: Re: [R-es] Pregunta sobre manipulación de shapefile
Gracias Beatriz, efectivamente, lo que indicas en tu ejemplo es lo que obtengo
al final de mi proceso.
En todo caso pruebo tu opci?n con mis datos, si es como imagino seguro que es
m?s r?pida de montar y m?s elegante que tratar el resultado de un sink()
(recuerdo que en su momento lo intent? con fotify pero no supe bien como
atacarlo, no conoc?a el enlace que me mandas, por tanto lo pruebo de nuevo).
Ma?ana espero informaros
Un saludo y gracias de nuevo
From: mtnezb en gmail.com
Date: Wed, 8 Oct 2014 22:22:59 +0200
Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile
To: fjroar en hotmail.com
CC: oscar.perpinan en upm.es; r-help-es en r-project.org
Hola:
No s? si he entendido bien, pero:
con la funci?n fortify del paquete ggplot, conviertes un SpatialPolygonDataFrame
en un data.frame corriente como el que t? has construido (con una columna
adicional que agrupa los puntos que corresponden al mismo pol?gono).
A ese data.frame luego le puedes a?adir las columnas que quieras y pintarlo
encima de un tile de google maps (siempre que la proyecci?n del SpatialPolygon
se establezca a lon lat)
Aqu? tienes un
ejemplohttps://github.com/maritrinez/R_Maps_workshop/blob/master/maps_with_R.md#2-plot-a-map-on-a-street-map
El enlace deber?a llevarte al segundo punto del markdown, si no va bien busca
"2. Plot a map on a street map", que el documento es largo!
Saludos para todos
El 8 de octubre de 2014, 21:31, Francisco Rodr?guez <fjroar en
hotmail.com> escribi?:
Oscar, al final no he podido esperar hasta ma?ana
Con:
library(maptools)library(sp)
poligonos <- readShapeLines("C:\\...\\DATOS\\MUNICIPIO.shp")
sink("C:\\ ... \\DATOS\\MUNICIPIO.csv <file:///\\DATOS\MUNICIPIO.csv>
")
coordinates(poligonos)
Consigo un fichero con la suficiente estructura para tratarlo f?cilmente y de
una tacada montar la tabla .csv tal y como he indicado en un correo anterior
Necesito el .csv aparte para utilizarlo y manipularlo despu?s en otras
librer?as. Aunque con tu respuesta soy capaz de crear una funci?n que permite la
generaci?n de la estructura que te he indicado de un paso de modo totalmente
automatizado, ?Existe alguna funci?n que haga la conversi?n directamente?
(Simplemente es para que no re-invente yo mismo la rueda) Mi intenci?n es usar
despu?s ggmap con ggplot2
Un saludo y gracias en todo caso, con tu indicaci?n ya te digo, dar soluci?n a
mi objetivo de crear algo que directamente me lea los ficheros de modo como yo
quiero en un solo paso y todo dentro de R (como debe ser)
> From: oscar.perpinan en upm.es
> To: fjroar en hotmail.com
> CC: r-help-es en r-project.org
> Subject: Re: [R-es] Pregunta sobre manipulaci?n de shapefile
> Date: Wed, 8 Oct 2014 19:01:29 +0200
>
>
> Hola,
>
> Cuando usas readShapPoly obtienes un objeto de clase
> SpatialPolygonsDataFrame. Si lo que necesitas es a?adir nuevas columnas,
> puedes hacerlo como har?as con cualquier data.frame. Usando el ejemplo
> que viene en su p?gina de ayuda, a?ado una nueva variable llamada test:
>
> library(maptools)
> xx <- readShapePoly(system.file("shapes/sids.shp",
package="maptools")[1],
> IDvar="FIPSNO", proj4string=CRS("+proj=longlat
+ellps=clrk66"))
> xx$test <- rnorm(nrow(xx))
>
> Tambi?n te puede interesar la funci?n spCbind, que te permite unir un
> Spatial*DataFrame con un data.frame.
>
> Finalmente, si necesitas las coordenadas del centroide de cada pol?gono,
> puedes usar coordinates:
>
> coordinates(xx)
>
> Pero si necesitas las coordenadas de todos las l?neas es m?s f?cil si
> lees el mismo fichero con readShapeLines, y usas de nuevo coordinates.
Ahora
> obtendr?s una lista con las coordenadas de cada uno de los pol?gonos.
>
> Saludos.
>
> Oscar.
>
>
> --
> Oscar Perpi??n Lamigueiro
> Dpto. Ingenier?a El?ctrica (ETSIDI-UPM)
> Grupo de Sistemas Fotovoltaicos (IES-UPM)
> URL: http://oscarperpinan.github.io
[[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
--
---Beatriz Mart?nez en maritrinez
[[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
[[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
[[alternative HTML version deleted]]