lunes, 29 de septiembre de 2014

QGIS con CartoDB-Parte II

Editando Tablas en CartoDB

Ahora vamos a editar la tabla que se creó en la entrada anterior, para ello seguimos los siguientes pasos:

1. Estando dentro de nuestra tabla debemos ingresar en la vista de mapa (Map View), desde aquí vamos a ir a editando cómo queremos que se aprecie nuestro mapa.

Figura 1: Opción de ingresar a la vista de mapa

2. Una vez en la vista de mapa, tendremos la posibilidad de editar de acuerdo a nuestras preferencias, en la parte derecha encontraremos un menú lateral que podremos desplegar para ir seleccionando lo que vamos a cambiar, en primer lugar lo haremos con el asistente de visualización (Wizards), el cual permite dar un estilo a nuestro mapa, las opciones presentes varía de acuerdo a la geometría de nuestros datos, cuando se trata de polígono o de línea son similares, pero cuando son puntos se cuenta con mayores opciones inclusive para crear animaciones, todavía lo estoy probando así que en esta oportunidad no voy a mostrar esa parte, pero les invito a probar.


Figura 2: Opciones para editar en la vista de mapa


3. Para nuestro ejemplo, vamos a la opción "Category", es decir que vamos a identificar los campos o columnas que deseamos modificar de la opción por defecto. Lo que podemos editar es básicamente el aspecto de como aparecerá los datos, haciendo cambios de colores, transparencias y dimensiones; como nuestros datos se trata de rutas, seleccionamos la columna que menciona la descripción de las mismas, por ser una de sus principales propiedades de estos datos, identificando 2 valores (Primary Route y Secondary Route), a los cuales vamos a modificar los colores, teniendo el siguiente resultado.


Figura 3: Opciones para editar nuestros datos de tipo línea


4. Ahora procedemos a editar nuestra leyenda, con el objetivo de que solo se muestre lo que realmente deseamos que aparezca, si nos fijamos en la Figura 3, nuestra leyenda muestra todos los valores que encuentra en el campo que estamos editando, para nuestro caso vamos a crear una leyenda que tenga su título en la parte superior y que solamente se muestren dos valores: Rutas Primarias y Rutas Secundarias, para realizar esto existe dos opciones, el primero es de manera automática creando una plantilla personalizada (Figura 4), la otra opción es si conoces lo básico de HTML puedes también personalizarlo, en sí recomiendo esta última opción porque te da mayor flexibilidad (Figura 5).


Figura 4: Personalizando la leyenda del mapa


Figura 5: Personalizando empleando etiquetas HTML


5. Ahora vamos a probar el uso de los filtros, son muy útiles cuando solo deseamos que se muestre una parte de los datos, esto esta muy ligado al tema de realizar selección y consultas a la base de datos que tenemos, aquí trabaja el lenguaje SQL, ahora veremos cómo. Para generar filtros, seguir los pasos que se muestra en la Figura 6, es decir primero nos vamos a "filters" y escogemos el campo al que deseamos realizar el filtro (1), luego de los valores que identifica podemos seleccionar solo aquellos que deseamos que estén presentes, los otros estarán inactivos (2), finalmente podemos apreciar que en nuestro mapa han surgido cambios, para comprobar nuestro criterio de selección nos vamos a la parte superior de las herramientas de edición en donde dice SQL, para que podamos apreciar que se ha generado una consulta (Query) de acuerdo al filtro que realizamos (3), a partir de aquí también podemos editarlo y ser mucho más específico.

Figura 6: Procedimiento para genera filtros


6. Existe también la opción de incorporar datos al mapa, hay que tener presente que para hacerlo no debe estar activo ningún tipo de filtro, caso contrario no aparecerá dicha opción. La posibilidad de incorporar datos es importante cuando deseamos actualizar algunos datos antiguos por ejemplo; al activar esta opción nos aparecerá la posibilidad de generar otra geometría de línea (para nuestro ejemplo) y a su vez generará un nuevo registro o fila dentro de nuestra tabla de datos, una vez que terminamos de dibujar la nueva geometría de línea, si estamos seguros hacemos clic en "done", caso contrario en "discard".


Figura 7: Posibilidad de incorporar nuevas geometrías al mapa


Bueno con lo mostrado nos podemos dar cuenta lo fácil que resulta poder personalizar nuestro mapa, una vez que creemos que hemos terminado o al menos se encuentra en un estado que deseamos compartirlo, podemos crear una visualización, lo cual es una parte también muy interesando al trabajarlo con CartoDB.


Creando una Visualización:


Para crear una visualización existe dos opciones, el primero es una vez terminado de personalizar nuestro mapa de acuerdo a lo que ya vimos, nos vamos a la parte superior derecha y hacemos clic en "Visualize" (Figura 8), la otra opción es una vez que tenemos más de una tabla, dentro de nuestra página principal donde se muestran nuestras tablas creadas, nos vamos al menú de la parte superior y elegimos la opción "visualizations" (Figura 9). Para ambos casos existirá luego la posibilidad de crear nuestra visualización con las tablas que dispongamos, además debemos guardarlo indicando un nombre distinto para cada visualización que realizamos (Figura 10).

Figura 8: Opción para crear una visualización

Figura 9: Opción de crear una visualización con las tablas ya creadas 


Figura 10: Guardando nuestra visualización 



Una vez que hemos creado nuestra primera visualización, podemos hacer algún tipo de personalización antes de compartirlo. Para ello primero nos fijamos que en la parte inferior vemos la posibilidad de seleccionar nuestro mapa base (Figura 11), del mismo modo en donde dice "options", podemos indicar que herramientas estarán activas durante la visualización de nuestro mapa, como por ejemplo el poder tener el control del "zoom", o de poder compartir con otros (Figura 12).


Figura 11: Seleccionando nuestro mapa base


Figura 12: Opciones de controles




También podemos podemos incorporar un texto como título  a nuestro mapa (Figura 13), asimismo una imagen que deseen y otros textos como etiquetas. 


Figura 13: Incorporando título al mapa


Luego de realizar estos cambios para obtener una mejor visualización podemos compartirlo con la opción presente en la parte superior derecha "SHARE", el cual nos mostrará en una ventana tres formas de poder compartirlo (Figura 14), en nuestro caso escogimos la opción de generar un link para compartirlo con nuestros contactos, cuando dicho link lo abran (para este ejemplo se creó el siguiente enlace: http://cdb.io/1BnFNEg), ellos podrán ver en su navegador nuestro mapa creado (Figura 15). El cual una vez que a los tienen podrán compartirlo a través de las redes sociales más populares.


Figura 14: Formas de compartir nuestra visualización

Figura 15: Vista luego de ingresar al link compartido


Bueno, esto sería todo lo que mostraré de lo que se puede hacer dentro de CartoDB, pero como les dije antes, existen otras maneras, como por ejemplo la posibilidad de poder exportar en formatos como: csv, kml, svg, geojson y en shp. En fin, si nos ponemos a explorar, veremos cómo poder aprovechar al máximo esta interesante herramienta, quedan invitados a seguir probando otras opciones.

Ahora vamos a ver la parte que me animó a escribir esta entrada en mi blog, es decir, que lo que hicimos dentro de CartoDB lo podamos realizar con el QGIS, es decir se unir la ventaja de poder publicar mapas en la web de CartoDB y las mayores opciones para editar datos desde el QGIS, con lo cual aprovecharemos sus verdaderas potencialidades de ambos, lo que al final es lo que se busca.

Incorporando mapas de CartoDB en QGIS


Si revisamos la primera parte de esta entrada, en la Figura 5, vimos en donde se ubica este plugin, continuando con ello hacemos clic en "Add CartoDB layer", luego aparecerá una ventana, que para el caso de ser primera vez, debemos crear una nueva conexión haciendo clic en "New", luego nos aparecerá la opción para ingresar nuestro usuario de la cuenta que tenemos de CartoDB y nuestro Carto DB Api Key, para obtener este último valor se debe ir siguiendo la siguiente ruta modelo: https://[youraccount].cartodb.com/your_apps

Figura 16: Preparando para incorporar datos de CartoDB en QGIS



Luego de ello vamos a poder conectarnos con CartoDB y lograr visualizar nuestras tablas creadas hasta el momento, para ello solo hay que hacer clic en "Connect", luego tendremos que escoger que datos quieren que aparezcan dentro del QGIS, podemos seleccionar mas de una y luego hacer clic en Aceptar.

Figura 17: Realizando la conexión con CartoDB

Finalmente veremos los datos dentro de nuestro SIG de escritorio (Figura 18), a partir del cual podremos realizar las ediciones de estilo que normalmente puede realizar el QGIS, el cual no es motivo de esta entrada, pero que al final nos permite mejorar nuestra presentación y sobre todo incorporar nuevos registros los cuales se podrán actualizar y posteriormente generar nuevas visualizaciones y poder compartirlos. 

Figura 18: Vista en QGIS de nuestros datos creados en CartoDB



Bien, esto sería todo por ahora, espero que haya contribuido a despertar el interés  en el uso de estas herramientas, solo me queda decirles que les recomiendo visitar a la página de CartoDB y revisen los tutoriales que están disponibles, sobre todo para ampliar lo que aquí pude mostrarles.

Hasta otra oportunidad.


Referencias consultadas:









 

domingo, 28 de septiembre de 2014

QGIS con CartoDB - Parte I








Hace unos días salió publicado todavía como experimental el complemento QgisCartoDB, el cual permite al QGIS contar con la posibilidad de incorporar los mapas que podamos realizar empleando el servicio CartoDB. Si bien la posibilidad de contar con el CartoDB ya es una realidad desde el 2011, para mí será la primera vez que lo voy a probar, por lo tanto quería compartir con ustedes los resultados que obtuve.

¿Qué es CartoDB?


En resumen es una plataforma que emplea los servicios de la nube para publicar mapas, es decir que nos provee de herramientas de SIG y de Webmapping en nuestro navegador. Ofrece el denominado servicio Freemium, es decir que ofrece servicios básicos libres y cobra por otros más avanzados. 

¿Cómo contamos con el servicio CartoDB?


Debido que el complemento QgisCartoDB tiene como requisito contar con una cuenta en CartoDB, entonces, como primer paso será dirigirnos a http://cartodb.com/ , dentro de la página hacemos clic en SIGN UP, luego nos aparecerá un formulario básico para crear nuestra cuenta libre, el cual tiene la limitación de que solo podemos crear 5 tablas y 50 Mb de datos.


Figura 1: Página de CartoDB

Creando Cuenta

Figura 2: Formulario de Creación de cuenta libre


Instalando el Complemento QgisCartoDB


El complemento (Plugin) CartoDB para QGIS, nos permite ver, crear, editar o borrar los datos de su cuenta CartoDB usando nuestro QGIS de escritorio. Para poder contar con este plugin, debemos realizar su instalación.

1.  Dentro del QGIS Desktop ir a complementos en la barra de menú, como se mencionó es un plugin experimental, por lo tanto dentro de administrar e instalar complementos, debemos ir a configuración y activar la casilla de mostrar también los complementos experimentales.

Figura 3: Activando los complementos experimentales



2. Luego nos dirigimos a "Todos" en la parte superior, apoyándonos en la ventana de buscar, lograremos ubicar al plugin solo con escribir su nombre, para luego proceder a su instalación.


Figura 4: Instalando el plugin CartoDB para Qgis


3. Ahora lo vamos a poder ver dentro de nuestro QGIS, ubicándose dentro de la barra menú "Web", además con la presencia de un icono en la barra de herramientas.

Figura 5: Vista del plugin CardoDB en el Qgis


Elaborando Mapas en CartoDB


1. Una vez que ya tenemos nuestra cuenta en CartoDB, vamos a crear nuestro primer mapa, para ello hacemos clic en LOGIN dentro de cartodb.com, para poder ingresar nuestro usuario y contraseña.

Figura 6: Accediendo a nuestra cuenta de CartoDB


2. Una vez dentro, lo primero que vamos apreciar es nuestro nombre de usuario para identificarnos y la vista de algún trabajo realizado, en mi caso mi cuenta es https://carbajallosa.cartodb.com/ y antes de elaborar esta entrada estuve practicando incorporando una tabla. Com siguiente paso, en la parte superior derecha hacemos clic en "Your Dashboard".


Figura 7: Dentro de CartoDB


3. Posteriormente nos muestra una pantalla en donde podemos ver nuestros límites para la creación de tablas y la cantidad de almacenamiento, para este ejemplo ya se cuenta con una tabla denominada per tal como se aprecia en la Figura 8, pero ahora nosotros vamos a crear otra tabla, por lo tanto nos vamos a "New Table", haciendo clic sobre el mismo o en el símbolo +.


Figura 8: Estado de la cuenta y creación de nuevos datos

4. Para la creación de nuevas tablas, CartoDB nos ofrece diversas alternativas (Figura 9), nosotros para el ejemplo vamos a escoger la opción de "Data File", el cual vendría hacer un dato geoespacial el cual tengamos almacenados en nuestro equipo, debiendo tener cuidado en el tipo de extensiones que soporta, el cual incluye los ZIP, el cual es importante para lo que pretendemos hacer, debido a que vamos a trabajar con datos vectoriales de tipo ESRI Shapefile, el cual se compone de varios archivos. Se debe mencionar que se ofrecen datos libres los cuales también podemos escoger, solamente hay que hacer clic en "example datasets".

Figura 9: Opciones para incorporar datos


5. La selección de nuestros datos para nuestro ejemplo, en esta oportunidad vamos a emplear los que pueden ser descargados de manera libre desde DIVA-GIS, en específico la descarga de datos por países; simplemente buscamos el país de intereses (en este caso Perú) y seleccionamos una temática, para nosotros va ser roads.


Figura 10: Fuente de datos por países


6. Una vez que seleccionamos nuestro archivo descargado (PER_rds.zip), tal como se aprecia en la Figura 9, hacemos clic en el botón "Create Table", para que después nos muestre nuestra tabla de datos.

Figura 11: Tabla de datos dentro del Carto DB



Hasta aquí ya hemos creado nuestra primera tabla, ahora podemos editarla a nuestro gusto aprovechando la flexibilidad del CartoDB, lo cual es su principal ventaja, en una segunda entrega les mostraré las opciones que tenemos para realizar dicha edición y luego cómo crear una visualización, el cual podrá ser compartida con otras personas y ellos a su vez también lo podrán compartir a través de las redes sociales.

Hasta pronto.