Archivos de la categoría Mapas

Mover elementos de un mapa con QGIS. Ejemplo mover Canarias

Para modificar shapefile estaba acostumbrado a usar R, sin embargo, poco a poco estoy usando más QGIS para este tipo de tareas. Lo primero que tengo que comentaros es que no sé QGIS, no tengo ni idea, lo uso sólo para visualizar mapas porque es más cómodo que R pero poco a poco me estoy acostumbrando a usarlo. Hoy quería mostraros como he realizado una tarea muy habitual cuando hacemos mapas de España, mover las Islas Canarias para que queden más cerca de la Península. El proceso lo he presentado para torpes con QGIS (como yo mismo). Lo primero es abrir el shapefile con QGIS y nos encontraremos con algo parecido a  esto:

mover_qgis

Es un mapa comarcar de España, a la hora de presentar el este mapala posición de las Islas Canarias puede ser un poco incómoda por ello hemos decidido acercarlas a la península y para ello el primer paso es pulsar un botón con forma de lápiz de nuestra barra de herramientas que nos permite editar las formas:

mover_qgis_2

Al pulsarlo se marcan todos los polígonos que componen nuestro shapefile:

mover_qgis_3

En este punto tenemos que seleccionar las Canarias y cambiarlas de ubicación para que estén más cerca de la península, Sigue leyendo Mover elementos de un mapa con QGIS. Ejemplo mover Canarias

Como obtener los centroides de municipios con SAS. Mapas con SGPLOT

mapa_municipios_sas2

Un amigo y lector del blog me ha pedido un mapa de códigos postales donde poder identificar los centroides para andar calculando distancias a otros puntos. Yo no tengo un mapa de España por códigos postales para poder usar con fines comerciales, pero si cuento en el blog como poder obtenerlo bajo ciertas condiciones. Lo que si puedo contar a Juan es como hacer un mapa por municipios con SAS, aunque ya he hablado de ello hay ciertos aspectos que pueden ser interesantes. y todo empieza donde siempre http://www.gadm.org/country la web donde tenemos los mapas "libres" por países, seleccionáis Spain y el formato shapefile una vez descargados los mapas en vuestros equipos empezamos con el trabajo en SAS:

proc mapimport datafile="\directorio\mapa\ESP_adm_shp.shp"
out = work.espania;
run;
proc contents;quit;

mapa_municipios_sas1

El procedimiento MAPIMPORT ha creado un conjunto de datos SAS donde tenemos caracterizados todos los polígonos que componen el shapefile. Entonces si tenemos que calcular el centroide de un municipio con SAS sugiero realizar un PROC SQL de la siguiente forma Sigue leyendo Como obtener los centroides de municipios con SAS. Mapas con SGPLOT

Trucos Excel. Mapa de Colombia por departamentos

mapa-colombia-excel

El mapa Excel de Colombia por departamentos era tarea pendiente, el modo en el que se ha hecho es el habitual y por ello lo primero que hay que hacer es citar al usuario de Wikipedia  Shadowxfox - Trabajo propio, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=44930910 es importante comentar que seleccioné este por el tamaño, en Excel se ve bien poniendo el zoom al 35% (¡!) y es que cada vez veo menos. El mapa puede representar 5 grupos  y estos grupos se pondrán en la columna C donde podemos cruzar por nombre. Comentar que falta el departamento de las islas de San Andrés y Providencia porque no sabía muy bien como ubicarlas y como representarlas en el mapa. 

Así pues el funcionamiento no puede ser más sencillo. Podemos pintar hasta 5 grupos, los colores de estos 5 grupos los podemos seleccionar en las correspondientes celdas de la columna H. Los grupos que clasifican los departamentos los pondremos en la columna C y con el botón pintar se realiza el mapa. Un esquema de los elementos del Excel Sigue leyendo Trucos Excel. Mapa de Colombia por departamentos

Mapas municipales de Argentina con R

Municipios Buenos Aires

En respuesta a un lector del blog he elaborado de forma rápida una nueva entrada que nos permite realizar mapas por municipalidades para Argentina, ya hay entradas similares pero está bien que este mapa tenga su propia entrada para facilitar las búsquedas. El ejemplo es rápido y es probable que el código tenga algún fallo o error, si es así lo comentáis y lo solvento. Como es habitual nos dirigimos a la web del proyecto Global Administrative Areas (http://www.gadm.org/country) y nos descargamos el mapa de Argentina por municipios que es el nivel 2, una vez descargado pocas líneas de R:

library(sp)
library(RColorBrewer)

ub_argentina="C:\\mapas\\ARG_adm2.rds"

argentina = readRDS(ub_argentina)
b.aires = argentina[argentina$NAME_1=="Buenos Aires",]

aleatorio = rpois(length(unique(b.aires$NAME_2)),3)
b.aires@data=data.frame(aleatorio)
spplot(b.aires,col.regions=brewer.pal(5, "Blues"))

Leemos el mapa entero y hacemos un subconjunto de datos sólo con los municipios de Buenos Aires, pintamos unos datos aleatorios con la función spplot y con la librería RColorBrewer podemos dar un formato más elegante a nuestro mapa. Saludos.

El #brexit con #rstats o como mover spatial data con R

bye_england

Animación con R para ilustrar el uso de la función de maptools elide de código "insultantemente" sencillo:

library(maptools)
library(animation)

#Mapa descargado de:
#http://www.arcgis.com/home/item.html?id=6d611f8d87d54227b494d4c3becef6a0

ub_shp = "/Users/raulvaquerizo/Desktop/R/mapas/world/MyEurope.shp"
europa = readShapeSpatial(ub_shp)
plot(europa)

europa_sin_uk = europa[europa$FIPS_CNTRY != "UK",]
uk = europa[europa$FIPS_CNTRY == "UK",]

saveGIF(
for (i in seq(0,5,by=0.1)){
plot(europa_sin_uk)
uk = elide(uk,shift=c(-i,1))
plot(uk,add=TRUE)},
interval=.3,
movie.name="/Users/raulvaquerizo/Desktop/R/animaciones/brexit/bye_england.gif"
)

Nos descargamos el mapa del link que os pongo y poco más que leer el shape con readShapeSpatial y crear dos objetos uno con Europa sin la isla y otro con la isla, elide nos permite desplazar un objeto de spatial data dentro del gráfico y lo metemos en un bucle y bye England. Ahora el que me mueva las Canarias en un shape file con más de 2 líneas de código me paga una cervecita. Saludos.

Cartografía digitalizada de España por sección censal

Por si no lo sabéis tenemos disponible en la web del INE un mapa de España por sección censal que podéis descargaros y realizar mapas con R de una forma que es más que conocida para los lectores del blog:

#mapas con secciones censales
library(maptools)
ub_shp = "/Users/raulvaquerizo/Desktop/R/mapas/cartografia_censo2011_nacional/SECC_CPV_E_20111101_01_R_INE.shp"
seccion_censal = readShapeSpatial(ub_shp)
barcelona = seccion_censal[seccion_censal$NMUN=="Barcelona",]
plot(barcelona)

Barcelona_mapa_seccion_censal

A ver si me animo y preparo una BBDD para que podáis acceder desde QGIS a una serie de mapas como este, además de los mapas por código postal. Aunque necesitaría un poco de ayuda técnica (ahí lo dejo). Saludos.
 

Nuevo y muy mejorado mapa de España por provincias con Excel

Nuevo_mapa_españa1

Hacía tiempo que no publicaba un mapa de España de Excel, aquí tenéis una nueva versión que mejora mucho  a las anteriores. La primera mejora y la que más destaca es que nos permite incluir datos, además ponemos los nombres de las provincias para todos aquellos que dominen poco la geografía española. Podemos pintar hasta 4 datos distintos que se pueden seleccionar en el desplegable que tenéis arriba. Ahora los colores van en dos escalas que podéis seleccionar vosotros:

Nuevo_mapa_españa_excel2

A la hora de meter los datos a nivel provincial es necesario ir a la hoja datos_mapa en ella tenéis los 4 datos que podéis pintar, estos datos irán en un ranking que  a la postre asigna colores a los shapes que componen el conjunto de imágenes que hace el mapa de Excel Sigue leyendo Nuevo y muy mejorado mapa de España por provincias con Excel

Adyacencia de polígonos con el paquete spdep de R

Cuando trabajamos con zonificación o geolocalización la adyacencia entre los elementos del estudio es relevante. En este caso quería trabajar con la adyacencia entre los polígonos que componen un archivo de datos espaciales shapefile y para entender mejor como podemos obtener la adyancecia entre polígonos creo que lo mejor es hacer un ejemplo con un mapa, en este caso un mapa de municipios de Barcelona. El primer paso es disponer del objeto con los datos espaciales, de esto ya he escrito mucho en el blog y por eso no me detengo mucho:

ub="./Desktop/R/mapas/ESP_adm4.rds"

#Creamos los objetos de R
espania = readRDS(ub)
barcelona = espania[espania$NAME_2=="Barcelona",]
plot(barcelona)
#Marcamos el centro de cada poligono
points(coordinates(barcelona))

adyacencia poligonos con R 1

Leemos el objeto con los datos municipales de España y hacemos un subset para quedarnos sólo con Barcelona y realizamos un mapa municipal de la provincia de Barcelona sencillamente usando plot. Podemos identificar todos los centroides de los polígonos que componen este objeto con la función coordinates, ahora lo que necesitamos identificar es la adyacencia entre estos puntos, la adyacencia entre los municipos de Barcelona. En mi caso localicé el paquete spdep de R, muy adecuado para trabajar con ponderaciones.

Os pongo paso por paso el código de R y luego comento como voy buscando REFERENCIAS para crear las adyacencias Sigue leyendo Adyacencia de polígonos con el paquete spdep de R

Como hacer un mapa de España por códigos postales con QGIS

Tenía pendiente hablar de QGIS y de la creación de un mapa de España por códigos postales gratuito y libre. Pero no sé como enfocar esta entrada porque el mapa, siendo gratuito y de difusión libre, no se puede usar con fines comerciales y me temo que un gran número de lectores del blog tienen tales fines. Así que he pensado en hablaros de CartoCiudad y de los mapas que contiene este interesante proyecto. En CartoCiudad colaboran algunos ministerios y entidades estatales, entre ellas Correos y podéis descargar provincia a provincia los archivos que componen el proyecto. Emplear los mapas de CartoCiudad implica aceptar las siguientes condiciones:

1. La licencia de uso solicitada ampara exclusivamente el uso no comercial de la información geográfica, entendiendo como tal el uso que no conlleva aprovechamiento económico directo, indirecto o diferido. Cualquier uso distinto al descrito, incluida la publicación, requerirá la suscripción de una autorización o contrato específico con el Centro Nacional de Información Geográfica (CNIG), devengando, en su caso, la contraprestación económica correspondiente. En caso de duda deberá establecerse contacto con el CNIG (consulta@cnig.es).

2. El usuario titular de la licencia se compromete a citar al Instituto Geográfico Nacional (IGN) mediante la fórmula: «© Instituto Geográfico Nacional de España» como origen y propietario de la información geográfica suministrada ante cualquier exhibición o difusión de ella, o de parte de ella o de cualquier producto que, aún siendo de forma parcial, la incorpore o derive de ella.

- Si se tratara de Ortofoto o MDT5 (PNOA®), la mención se sustituirá por: «PNOA cedido por © Instituto Geográfico Nacional de España».
- Tratándose de datos LiDAR, la mención se sustituirá por: «LiDAR-PNOA cedido por © Instituto Geográfico Nacional de España».
- En caso de datos SIOSE®, la mención se sustituirá por: «SIOSE cedido por © Instituto Geográfico Nacional de España».
- Tratándose de CartoCiudad®, la mención se sustituirá por: «CartoCiudad cedido por © Instituto Geográfico Nacional de España».

3. En caso de CartoCiudad®, los nuevos productos o servicios que puedan generarse basados en CartoCiudad®, no incluirán ninguna referencia a la información catastral, ni suplantarán explícitamente o mediante productos o servicios que puedan dar lugar a confusión a los ofrecidos por la Dirección General del Catastro, del Ministerio de Economía y Hacienda, o a los ofrecidos por la Sociedad Estatal Correos y Telégrafos S.A., a quienes corresponde en exclusiva la competencia para la difusión de la información catastral y postal respectivamente, así como el ejercicio de los derechos de propiedad intelectual inherentes a la información y a las bases de datos catastrales y postales.

4. La cesión de la información digital licenciada, de otra que la incorpore o de cualquier producto derivado de ella, a otra persona física o jurídica, requerirá la concesión por el CNIG de nueva licencia al nuevo usuario, o que el cedente comunique expresamente por escrito al nuevo usuario las condiciones originales de licenciamiento establecidas por el CNIG, y que el nuevo usuario acepte expresamente dichas condiciones. Esta comunicación puede llevarse a término mediante el documento estándar descargable desde www.ign.es, o bien a través de un documento definido por el cedente y aprobado previamente por el CNIG.

5. Esta licencia de uso no comercial, no supone la concesión de ningún tipo de exclusividad, aval o patrocinio, ni responsabilidad alguna del IGN sobre el uso derivado de los datos geográficos.

Si os habéis leído la licencia de uso entendréis porque tengo algunas dudas sobre la conveniencia de escribir esta entrada. Así que se me ha ocurrido que, os voy a decir como podéis hacer el mapa de códigos postales, os voy a advertir que el mapa que hagáis no puede tener fines comerciales y que si queréis un mapa comercial hay empresas que os pueden vender estos mapas. Yo en mi puesto de trabajo tengo uno de estos mapas comerciales y no ha sido necesario hacer todo lo que a continuación os voy a relatar. Sigue leyendo Como hacer un mapa de España por códigos postales con QGIS

Mapas SAS a partir de shapefile

Mapa shp SAS

Los mapas como este no los hago habitualmente con SAS pero que puede interesaros saber como se pueden hacer. Para la realización de mapas a partir de shapefiles suelo usar R, los que seáis habituales del blog sabéis que hay entradas al respecto. Sin embargo, recientemente, he conocido QGIS que interactúa a la perfección con Excel. El ejemplo de hoy es para aquellos que no conocéis QGIS o R y estáis más habituados a trabajar con SAS. Se trata de importar un shapefile con SAS poder hacer un sencillo tratamiento de datos y posteriormente realizar un mapa muy simple con SAS. Para ilustrar el ejemplo vamos a realizar un mapa por municipios de una provincia española con SAS y para ello necesitamos un fichero *.shp que os vais a descargar de http://www.gadm.org/country seleccionáis los mapas de España y descargáis el ZIP que contiene los archivos. El primer paso es crear un conjunto de datos SAS a partir del shapefile:

proc mapimport datafile="/directorio/mapa_sas/ESP_adm4.shp"
out = work.espania;
run;

Se emplea el proc mapimport que genera un conjunto de datos SAS compuesto por las coordenadas, identificadores y nombres de los municipios. Hacemos un tratamiento de datos muy sencillo:

data cadiz;
set espania;
if name_2 = "Cádiz";
run;

proc sort data=cadiz out=municipios nodupkey;
by id_4;
run;

data municipios;
set municipios;
aleatorio = ranpoi(3,4);
run;

Seleccionamos la provincia de Cádiz, sobre sus municipios calculamos una varible aleatoria (muy fácil todo) que será la que representemos en SAS con el proc gmap:

proc gmap data=municipios map=cadiz;
id id_4;
choro aleatorio/discrete;
run;quit;

Ya sabéis hacerlo con SAS, pero os recomiendo que vayáis instalando QGIS. Saludos.