QGIS – Escuela De Datos http://es.schoolofdata.org evidencia es poder Fri, 12 Apr 2019 18:17:59 +0000 es hourly 1 https://wordpress.org/?v=5.3.2 114974193 Usando QGIS y OpenStreetMap (OSM) para mapear edificaciones http://es.schoolofdata.org/2019/04/01/usando-qgis-y-openstreetmap-osm-para-mapear-edificaciones/ http://es.schoolofdata.org/2019/04/01/usando-qgis-y-openstreetmap-osm-para-mapear-edificaciones/#respond Mon, 01 Apr 2019 17:43:30 +0000 https://es.schoolofdata.org/?p=2717 En esta entrada utilizaremos en conjunto QGIS y OpenStreetMap para identificar edificaciones dentro de la franja de arena donde se encuentra la ciudad de Puntarenas, Costa Rica. Asumiremos que el ejercicio es parte de una cuantificación de futuros daños que podría sufrir la ciudad de Puntarenas dado al aumento del nivel del mar asociado al cambio climático y vendría a funcionar como un ejemplo de proyectos en los que el análisis de datos informa sobre los posibles daños del cambio climático.


Sobre las herramientas

QGIS es un programa de Sistemas de Información Geográfica (SIG) gratuito y de código abierto con una interfaz gráfica amigable al usuarios disponible para distintas plataformas. Actualmente es la opción gratuita más completa y fácil de usar para realizar análisis de datos espaciales. QGIS se puede descargar desde www.qgis.org

OpenStreetMap (OSM) es una plataforma colaborativa en internet para crear mapas editables y libres. En esta plataforma cualquier persona puede modificar, editar y agregar información espacial sobre cualquier lugar en el mundo. Se podría decir que OpenStreetMap es un Wikipedia de mapas, donde los datos generados no solamente se pueden desplegar en el sitio web de la plataforma, si no que también pueden descargarse y ser analizados en herramientas de SIG. A pesar de que los datos que se presentan en OSM no son oficiales, en muchos regiones del mundo son los únicos existentes, por lo que se deben considerar como una fuente importante de datos geográficos libres y gratuitos.

 

¿Cuántas edificaciones hay en una región?

Objetivo del tutorial:

  • Identificar y analizar utilizando QGIS y OSM las distintas edificaciones que existen en la franja de arena donde se encuentra la ciudad de Puntarenas, en Costa Rica

 

Notas para tomar en cuenta durante el tutorial:

El tutorial se realizará utilizando la versión en inglés de QGIS versión 3.4

Se recomienda hacer este tutorial luego del anterior tutorial Creando mapas en QGIS


Parte 1. Enfocando nuestro análisis al área de Puntarenas

Para comenzar nuestro análisis debemos enfocarnos en nuestra área de estudio y para esto debemos utilizar varias herramientas de QGIS.

 

  1. Abrir QGIS dando doble click al ícono.

 

  1. Agregar mapa base de OpenStreetMap al visor de QGIS utilizando la ventana de Browser y la opción de XYZ Tiles y dando doble click a OpenStreetMap.

 

Al hacer esto el mapa del mundo se despliega en la ventana principal de QGIS y en la ventana de Layers nos aparece OpenStreetMap.

 

  1. Asegurarnos que el sistema de coordenadas del mapa es el que deseamos. En este caso WGS84. Para esto debemos dar click en la esquina inferior derecha de la ventana de QGIS, donde dice EPSG:3857.

 

  1. En la ventana que se abre, escribir IGNF:WGS84G en el espacio de Filter y seguidamente dar click en World Geodetic System 1984 que aparece en la subventana de Coordinate reference systems of the world y dar click en OK. (Para entender mejor qué son los sistemas de coordenadas, se recomienda ver el material sobre Coordenadas geográficas).

 

De esta manera estamos haciendo que QGIS trabaje en un sistema de coordenadas específico, lo que nos va a servir para poder guiar nuestro análisis a una ubicación específica (ciudad de Puntarenas).

 

  1. En la barra inferior de la ventana de QGIS escribir (copiar y pegar) en el espacio Coordinate: las coordenadas del centro de la ciudad de Puntarenas -84.82353,9.97530 y la escala de 1:50000 en el espacio de Scale. De esta manera ubicaremos nuestro «mapa» en la ciudad de Puntarenas.

 


Parte 2. Utilizando el plugin QuickOSM

QGIS tiene una gran cantidad de plugins gratuitos que permiten realizar distintos tipos de análisis. Para este ejercicio utilizaremos el plugin QuickOSM que nos permitirá descargar desde QGIS los datos de OSM.

 

  1. Dar click en Plugins – Manage and Install Plugins…

 

  1. En la ventana de Plugins escribir QuickOSM y luego en Install plugin.

 

  1. Esperar a que se descargue e instale el plugin y luego cerrar la ventana.
  2. Abrir QuickOSM haciendo click en Vector – QuickOSM – QuickOSM

 

  1. En la ventana de QuickOSM, seleccionar building en el menú de Key y Canvas Extent en el menú bajo a Value. De esta manera le estamos diciendo a QGIS que descargue únicamente los objetos codificados como edificios en el área que está desplegada en la ventana principal.

 

Nota: OSM tiene una gran cantidad de códigos para los distintos objetos que se representan en sus mapas. La guía de todos los códigos que utiliza OSM se puede ver en el siguiente enlace: https://wiki.openstreetmap.org/wiki/ES:Map_Features

 

 

  • Damos click en Run query para correr la búsqueda y descarga de los datos.

 

 

  1. Al hacer esto QuickOSM nos descarga los puntos y polígonos de los edificios que han sido digitalizados en OSM por la comunidad en nuestra área de estudio.

 


Parte 3. Analizando los datos de OSM

 

Ahora que tenemos los datos en nuestro SIG podemos hacer múltiples análisis. Lo primero es un conteo de cuantas edificaciones tenemos en esa nueva capa.

 

  1. Damos click derecho en la capa building con ícono en forma de cuadro (esto significa que el tipo de dato es polígono) y luego hacemos click en Open Attribute Table para de esta manera ver la tabla de atributos de la capa y cuantas entidades hay en ella.

 

Si navegamos la tabla de atributos hasta el final, podemos ver que el total de entidades que hay en esta capa ( ~ edificios) son 271 (esto para la fecha en que se escribió el tutorial). ¿Serán estos todos los edificios que existen en Puntarenas? Para esto podemos cargar una imagen de GoogleEarth y hacer una comparación visual.

  1. Damos click derecho en el XYZ Tiles de la ventana Browser y luego click en New Connection…

 

  1. En la ventana de XYZ Connection llenar en Name: Imágenes Google Earth y en URL copiar y pegar la siguiente dirección y dar click en OK. http://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Ga

De esta manera hacemos que QGIS pueda cargar como mapa base las imágenes de Google Earth.

 

Nota: en caso de querer ampliar la lista de mapas base de QGIS, pueden utilizar el script en Python que hizo Klas Karlsson: https://twitter.com/klaskarlsson/status/972757121933733889

 

  1. Ya agregada la nueva conexión a las imágenes de GoogleEarth, hacemos doble click en ella: XYZ Tiles – Imágenes Google Earth. Luego de que se despliegue la imagen, en la ventana de Layer arrastramos y soltamos esta nueva capa sobre la capa de OpenStreetMap para de esta forma poder ver los edificios sobre la imagen.

 

Efectivamente podemos ver a simple vista que la capa de edificios de OSM no representa todos los edificios que existen en la ciudad de Puntarenas. ¿Qué podemos hacer si lo que queremos es saber cuantas edificaciones hay en esta área? La primera opción es tomar el tiempo para editar en OSM desde las imágenes áreas los edificios que hacen falta, la otra opción es descargar todas las entidades que tiene OSM en esta área y buscar alguna que refleje mejor el número de edificios.

 

  1. Volvemos a abrir QuickOSM y en este caso únicamente seleccionamos Canvas Extent y hacemos click en Run query. De esta manera se descargarán todos los objetos que existen en el área de estudio.

 

  1. Reacomodamos las capas en la ventana Layers para tener la imagen de GoogleEarth debajo de los nuevos puntos allKeys.

 

  1. Abrimos la tabla de atributos de esta nueva capa de puntos y vemos que hay 141 entidades.

 

Si también reacomodamos las capas y ponemos los polígonos de building bajo los puntos de allKeys vemos que en muchos casos estos no se sobreponen, por lo que podríamos decir a manera de un estimado rápido que hay más de 412 (271 polígonos + 141 puntos) edificaciones y puntos de interés en la ciudad de Puntarenas.

 

Por Guillermo Durán

Ingeniero forestal y geógrafo, fellow en cambio climático por la Iniciativa Latinoamericana por los Datos Abiertos y Escuela de Datos. Tiene experiencia en el uso de diferentes tecnologías, como programación en R, PostgreSQL, ArcGIS y QGIS. Su trabajo en biogeografía lo ha llevado a diseñar áreas protegidas en Panamá, georeferenciar los datos de los museos de Historial Natural o trabajar en las distribuciones de ciertas especies en futuros climáticos usando Machine Learning. Guillermo estudió ingeniería forestal en Instituto Tecnológico de Costa Rica y luego obtuvo una maestría en Geografía en la Universidad Estatal de San Francisco, California. Ha colaborado con el Centro de Investigaciones Geofísicas de la Universidad de Costa Rica con el análisis y visualización de modelos climáticos.

Flattr this!

]]>
http://es.schoolofdata.org/2019/04/01/usando-qgis-y-openstreetmap-osm-para-mapear-edificaciones/feed/ 0 2717
Creación de mapas en QGIS http://es.schoolofdata.org/2019/04/01/creacion-de-mapas-en-qgis/ http://es.schoolofdata.org/2019/04/01/creacion-de-mapas-en-qgis/#respond Mon, 01 Apr 2019 17:19:18 +0000 https://es.schoolofdata.org/?p=2715 Esta entrada presenta una introducción general de cómo hacer mapas en QGIS. Pretende servir para incentivar el uso de QGIS en personas ajenas a los profesionales en Sistemas de Información Geográfica (SIG) y promover el uso de herramientas gratuitas de análisis de datos geográficos.


Para el tutorial utilizaremos los datos del Sistema Nacional de Información Territorial (SNIT) de Costa Rica, del Índice de Desarrollo Humano (IDH) Cantonal 2016 de Costa Rica y la versión 3 de QGIS.

 

QGIS es un programa de Sistemas de Información Geográfica (SIG) gratuito y de código abierto con una interfaz gráfica amigable al usuarios disponible para distintas plataformas. Actualmente es la opción gratuita más completa y fácil de usar para realizar análisis de datos espaciales. QGIS se puede descargar desde www.qgis.org

Objetivo del tutorial:

  • Elaborar un mapa de Costa Rica que resalte con nombre y en un gradiente de color los valores del índice de desarrollo humano de los 10 cantones con los valores menores.

Notas para tomar en cuenta durante el tutorial:

El tutorial se realizará utilizando la versión en inglés de QGIS versión 3.2.3.

Parte 1: Abrir QGIS y cargar los datos de límites cantonales del SNIT

  1. Dar doble click al ícono de QGIS.

 

  1. Dar click en Layer – Add Layer – Add WFS Layer…

 

De esta manera estaremos agregando al QGIS la dirección del WebFeatureService (WFS) del SNIT para los datos oficiales de Costa Rica escala 1:5,000. Para más información sobre qué es un WFS pueden acceder la entrada anterior del blog sobre tipos de datos geográficos.

 

  1. En la ventana que aparece, dar click en el botón de New de la sección Server connections.

 

  1. Seguidamente escribiremos en el espacio Name el nombre que le queremos dar a este conjunto de datos, por ejemplo: CartografiaCR_1:5000.

 

  1. En el espacio URL copiaremos la dirección del servicio del SNIT para estos datos:

http://geos.snitcr.go.cr/be/IGN_5/wfs?

 

  1. Dar click en OK para aceptar y cerrar esa ventana.

 

Vale la pena mencionar que el SNIT es la Infraestructura de Datos Espaciales (IDE) oficial de Costa Rica. En esta plataforma se pueden encontrar datos geográficos producidos por distintas instituciones públicas del país. Estos datos geográficos se sirven tanto en formatos OGC (estándares de datos para poderlos desplegarlos en programas de SIG sin necesidad de descargar todo el conjunto de datos en la computadora) así como también en la herramienta de mapas online con que cuenta la plataforma. En nuestro caso usaremos QGIS para trabajar los datos porque nos da mayor flexibilidad que la herramienta web.

 

La lista completa de fuentes de información y conjuntos de datos con que cuenta el SNIT se puede acceder acá.

 

Muchos países cuentan desde hace varios años con IDEs donde se pueden acceder muchos conjuntos de datos geográficos libremente. Normalmente con una búsqueda de Google pueden encontrar el IDE del país o gobierno local donde viven.

 

  1. Dar click en Connect

 

Seguidamente aparecerá la lista de capas que tiene ese conjunto de datos. Cada una de estas viene siendo como una tabla – cuadro con información geográfica. En nuestro caso queremos desplegar la que tiene la información sobre los límites cantonales del país.

 

  1. Dar click en Límite Cantonal 1:5mil y en Add (esquina inferior derecha de la ventana).

 

Luego aparecerá una ventana con el indicador de la descarga de la capa seleccionada. Al ser una capa con una escala bastante fina (1:5000), el tamaño de la información es grande, por lo que dependiendo de la velocidad de conexión podrá tomarse varios segundos en desplegarse.

 

La capa desplegada muestra un polígono por cada cantón del país. Nótese que en Layers (ventana inferior izquierda) se muestra la capa que recién agregamos y hay un checkbox donde podemos ocultar y volver a hacer visible la capa.

Parte 2: Cargar tabla con datos del IDH

Los datos del Índice de Desarrollo Humano (IDH) que se utilizarán en este ejercicio son tomados del trabajo del PNUD y la Universidad de Costa Rica Atlas de Desarrollo Humano Cantonal de Costa Rica 2016. En nuestro caso utilizaremos los datos de los 10 cantones con menor índice de IDH para el año 2014.

 

  1. Copiar y guardar la siguiente tabla en un archivo con terminación .csv. Esto puede hacerse copiando y pegando la tabla en una hoja de Excel y guardándola como archivo .csv (archivo separado por comas).

Nota: Como es necesario mantener las tildes de los nombres de los cantones, el archivo se debe salvar con el formato de codificación de caracteres UTF-8. Dependiendo de la versión de Excel que se utilice, esto está en la lista de tipos de archivos del guardar como.

 

Canton 2014
Los Chiles 0.617
Talamanca 0.634
Matina 0.645
Upala 0.651
La Cruz 0.651
Coto Brus 0.669
Guácimo 0.670
Guatuso 0.670
Alajuelita 0.676

 

  1. En QGIS dar click en Layer – Add Layer – Add Delimited Text Layer … y seleccionar el archivo creado en el paso anterior.

 

La ventana deberá tener la información como la que se ve a continuación.

Nótese que el Encoding también debe ser UTF-8 y que en el cuadro de Geometry definition indicamos el No geometry (attribute only table). Esto último significa que la tabla que estamos agregando no tiene información geográfica.

 

  1. Dar click en Add para importar la tabla al QGIS y luego Close para cerrar la ventana.

 

Nótese que ahora en la lista de capas del QGIS nos aparecen las dos que cargamos anteriormente pero que la última, al no tener información geográfica (coordenadas), no tiene el checkbox desplegarla y ocultarla. Si queremos ver esta tabla debemos darle click derecho a la capa y luego click izquierdo en Open Attribute Table.

 

Parte 3: Unión de tablas por atributo común

Como vimos anteriormente tenemos dos «capas» cargadas en QGIS, una tiene información geográfica (polígonos con los cantones de Costa Rica) y la otra únicamente tiene información tabular (Cantones y valor de IDH). Lo que debemos hacer ahora es unir estas dos capas por un campo común.

 

Para ver la tabla de atributos de la capa del SNIT, le damos también click derecho y luego click izquierdo en Open Attribute Table. En sus atributos vemos que hay una columna con el nombre de los cantones en un formato similar a la tabla con IDH (letra inicial en mayúscula y nombres con tildes), lo que hace que podamos unir ambas tablas usando los nombres de los cantones.

 

  1. Dar click derecho en la capa del SNIT y click izquierdo en Properties.

 

  1. Damos click en la pestaña de Join y damos click en el signo de + de la esquina inferior izquierda. Seguidamente seleccionamos para Join layer la tabla con los valores de IDH, para Join field la columna Canton y en Target field la columna nom_canton  de los atributos de la capa del SNIT. Luego de esto damos click en OK.

 

Si ahora abrimos la tabla de atributos de la capa del SNIT y vemos las últimas columnas, podemos notar que se agregó una columna nueva con el nombre de la tabla de IDH. Esta nueva columna tiene valores numéricos para únicamente los 10 cantones de la tabla, el resto de cantones tienen valores nulos (NULL).

 

Parte 4: Elaboración de mapa

 

  1. Hacemos zoom a la parte continental de Costa Rica con el botón de lupa:

 

  1. Dar doble click en la capa original del SNIT para ver las propiedades. En la nueva ventana dar click en la pestaña de Symbology.

 

  1. De las opciones de la simbología, en el menú superior seleccionar Categorized, en Column la columna que queremos utilizar (la de la tabla con los valores de IDH), en Color ramp alguna paleta de colores atractiva (en mi caso seleccioné Viridis). Luego dar click en el botón de Classify para ver la clasificación de colores de cada valor de IDH.

 

Ya que el color amarillo que se asignaría a los cantones en que el IDH es nulo es muy llamativo (último valor de la lista de colores), podemos dar click en él y seleccionar un color más neutro, en mi caso seleccioné el color blanco.

 

Dar click en OK para ver las modificaciones que se hicieron.

 

  1. Para que el mapa muestre los nombres de los 10 cantones con menores valores de IDH volvemos a entrar a las propiedades de la capa del SNIT (doble click o click derecho y luego click izquierdo en Properties…).

 

  1. En el menú de las propiedades damos click en la pestaña de Labels. Y ahí en el menú superior damos click en Rule-based labeling.

 

  1. Ahora vamos a crear una regla para que el mapa únicamente muestre los nombres de los cantones con valores de IDH (10 cantones con menores IDH). Para esto damos click en el signo de + en la parte inferior derecha de la ventana y en el campo de Filter copiamos la expresión de:

«IDH10cantones_2014»  IS NOT NULL

 

  1. En la misma ventana dar click al cuadro de Labels y en el menú de Label with seleccionar la columna con los nombres de los cantones que queremos utilizar como etiquetas: nom_cant.

 

Si se explora la parte inferior de la ventana de Edit Rule se ven las opciones para cambiar el tipo de letra, color, tamaño, etc. Ajustarlo al gusto y dar click en OK.

 

  1. Al regresar a la ventana de propiedades, quitarle el check a la regla de (no filter) (ver la captura de pantalla abajo) y dar click en OK.

 

En caso de querer cambiar los colores, tipo y tamaño de letra se puede hacer nuevamente desde la ventana de propiedades de la capa, haciendo click en el ícono de edición:

 

Parte 5: Exportar el mapa

  1. Para darle los toques finales al mapa, agregar simbología, título y escala utilizamos la herramienta de layout. La accedemos en el menú de Project – New Print Layout…

 

  1. En la ventana que aparece damos click en OK

 

  1. En el menú de la ventana de Layout hacemos click en Add Item – Add Map y seguidamente marcamos arrastrando y soltando en la hoja blanca la extensión que queremos que tenga nuestro mapa.

 

  1. Agregamos la leyenda haciendo click en Add Item – Add Legend y seleccionamos con click de arrastrar y soltar donde queremos la leyenda en nuestro mapa.

 

  1. Para corregir los elementos de la leyenda (eliminar el nombre de la tabla de IDH y corregir el nombre de la capa del SNIT) damos click en la leyenda. Nos damos cuenta que está seleccionada por los cuadros celestes que se marcan en sus bordes.

 

5.1. En el menú de Item Properties de la derecha de la ventana hacemos click para desmarcar el checkbox de Auto update.

 

5.2. En esa misma sección de la ventana damos click en la tabla con valores de IDH para seleccionarla y luego damos click en el botón de (color rojo), en la parte inferior de la ventana, para eliminarla de la leyenda.

 

5.3. En esa misma sección de la ventana damos click en la capa del SNIT y luego en el botón de edición. Cambiamos el nombre que se desplegará en la leyenda para esa capa.

 

5.4 Damos click en OK para aceptar los cambios.

 

  1. Agregamos escala del mapa haciendo click en Add Item – Add Scale Bar y marcamos arrastrando y soltando en la hoja blanca la posición y tamaño que queremos que tenga.

 

  1. Agregamos el título del mapa haciendo click en Add Item – Add Label y marcamos arrastrando y soltando la posición y tamaño del cuadro donde queremos que esté el título.

 

  1. Cambiamos el nombre del título haciendo click en el cuadro del título y luego en la pestaña de Item Properties al lado derecho de la ventana. En el espacio de Main properties escribimos el título y en las opciones de Appearance – Font el tamaño y tipo de letra.

 

  1. Finalmente exportamos el mapa haciendo click en el menú de Layout – Export as Image y seleccionando el formato y nombre de archivo que se desee.

 

Por Guillermo Durán

Ingeniero forestal y geógrafo, fellow en cambio climático por la Iniciativa Latinoamericana por los Datos Abiertos y Escuela de Datos. Tiene experiencia en el uso de diferentes tecnologías, como programación en R, PostgreSQL, ArcGIS y QGIS. Su trabajo en biogeografía lo ha llevado a diseñar áreas protegidas en Panamá, georeferenciar los datos de los museos de Historial Natural o trabajar en las distribuciones de ciertas especies en futuros climáticos usando Machine Learning. Guillermo estudió ingeniería forestal en Instituto Tecnológico de Costa Rica y luego obtuvo una maestría en Geografía en la Universidad Estatal de San Francisco, California. Ha colaborado con el Centro de Investigaciones Geofísicas de la Universidad de Costa Rica con el análisis y visualización de modelos climáticos.

Flattr this!

]]>
http://es.schoolofdata.org/2019/04/01/creacion-de-mapas-en-qgis/feed/ 0 2715
Cómo crear un mapa 3D de Buenos Aires, Argentina http://es.schoolofdata.org/2017/10/04/como-crear-un-mapa-3d-de-buenos-aires-argentina/ http://es.schoolofdata.org/2017/10/04/como-crear-un-mapa-3d-de-buenos-aires-argentina/#respond Wed, 04 Oct 2017 18:47:26 +0000 http://es.schoolofdata.org/?p=2303 Por Nicolas Grossman y Bruno Salerno

Los mapas son excelentes herramientas para visualizar datos de una ciudad y compararlos entre zonas de la misma. Pero si además podemos graficar los edificios en tres dimensiones, la visualización resulta más impactante aún. En este tutorial contamos cómo realizamos el mapa que muestra los precios promedio del metro cuadrado en cada parcela de la ciudad de Buenos Aires (Argentina) y San Pablo (Brasil), con sus respectivos edificios en 3D.

1. Obtener los shapefiles con las geometrías de las parcelas/edificios de la ciudad y su respectiva altura y un dataset con las propiedades en venta y su precio.

En el caso de Buenos Aires, la información  está en archivos distintos.

2. Calcular el precio por metro cuadrado y la altura para cada parcela

A partir del dataset de propiedades y el de parcelas, utilizando un spatial join de Qgis, se calcula el precio promedio del metro cuadrado que le corresponde a cada parcela. Este tutorial explica simplemente cómo hacerlo.

Luego unimos los datos de las parcelas con la altura de cada edificio.

Se hace una union de estos datasets por el campo que identifica a cada parcela, que incluye la “sección”, la “manzana” y la “parcela”, para así poder asociar cada parcela a su altura correspondiente.

3. Transformar el shapefile en un tileset vectorial

En este punto transformamos el shapefile en un tileset vectorial que es un tipo información georeferenciada que usan múltiples tecnologías de mapas digitales para mostrar los datos.

Se denominan «tilesets» porque se trata de un malla de mosaicos que cubre la superficie deseada: cada mosaico tiene cierta información que va siendo dibujada a medida que navegamos por esa zona del mapa. Si no fuera por estos mosaicos sería muy lento mostrar toda la información que muestra el mapa.

Primero hay que convertir el shapefile producido en el primer punto en un GEOJSON (QGis=> guardar como => GeoJSON).

Usaremos el formato de tiles vectorial de Mapbox, mbtiles, ya que es ahí donde nosotros vamos a subir nuestro tileset. Para realizar la conversión de geojson a mbtiles usaremos el programa tippecanoe (https://github.com/mapbox/tippecanoe):

tippecanoe -o 3d_map_tileset.mbtiles -z 17 -Z 12 3d_map_tileset.geojson

Los parámetros z y Z son importantes, porque los tilesets se construyen por nivel de zoom. Cuanto más grande es el rango de zooms para el que se construye el tileset, más pesado es.

4. Subir el tileset a Mapbox Studio

Una vez generado el archivo, hay que subirlo a Mapbox Studio, en la sección datasets.

 

5. Programar Javascript

Vamos a necesitar programar un poco de javascript para poder mostrar la capa. De hecho, hay que hacer una aplicación en javascript que nos permita cargar un baselayer y el tileset en cuestión. Para eso vamos a usar Mapbox GL JS (https://github.com/mapbox/mapbox-gl-js).  La documentación sobre la API se encuentra en https://www.mapbox.com/mapbox-gl-js/api/.

Supongamos que vamos a hacer todo en un archivo llamado “our_map.html”. Los pasos a seguir serían:

        1. Crear el esqueleto de html:

<html>

<body

  <!– mapbox gl js –>

  <script src=’https://api.tiles.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.js’></script>

  <link href=’https://api.tiles.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.css’ rel=’stylesheet’ />

<script>

  // Here we are going to put our map code

</script>

</body>

</html>

Tenemos que realizar las siguientes tareas dentro del bloque <script>

        2. Cargar mapbox

  var center = [-58.388875,-34.612427];

 

      mapboxgl.accessToken = ‘YOUR ACCESS TOKEN’;

      var map = new mapboxgl.Map({

        container: ‘map’,

        style: ‘mapbox://styles/YOUTUSER/YOUR_BASE_STYLE’,

        center: center,

        zoom: 13.5,

        pitch: 59.5,

        bearing: 0

      });

       3. Cargar el tileset:

 map.on(‘style.load’, function () {

          map.addSource(‘buildings’,

              {«type»: «vector»,

                «url»: «THE TILESET URL»

              });

          map.addLayer({

            ‘id’: ‘buildings’,

            ‘interactive’: true,

            ‘type’: ‘fill-extrusion’,

            ‘source’: ‘buildings’,

            ‘source-layer’: ‘super_new_join_finalgeojson’,

            ‘paint’: {

              ‘fill-extrusion-height’: {

                ‘property’: ‘altura’,

                ‘stops’: [

                  [{zoom: 13, value: 0},   0],

                  [{zoom: 13.5, value: 1000}, 0],

                  [{zoom: 17.5, value: 0}, 0],

                  [{zoom: 17.5, value: 1000}, 1000]

                ]

              },

              ‘fill-extrusion-color’: {

                ‘property’: ‘precio’,

                ‘stops’: [

                  [0, ‘#e6e6e6’],

                  [700, ‘#ffffb2’],

                  [1754, ‘#fecc5c’],

                  [2233, ‘#fd8d3c’],

                  [2751, ‘#f03b20’],

                  [3683, ‘#bd0026’]

                ]

              },

              ‘fill-extrusion-opacity’: 0.9

            }

          }, ‘road_major_label’);

        });

Tomar nota de las partes más importantes:

 ‘fill-extrusion-height’: {

            ‘property’: ‘altura’,

}

Aquí estamos diciendo “tomar las alturas de los edificios del campo ‘altura’”.

Y

fill-extrusion-color: style: {

          ‘property’: ‘precio’,

          ‘stops’: [

            [0, ‘#e6e6e6’],

            [700, ‘#ffffb2’],

            [1754, ‘#fecc5c’],

            [2233, ‘#fd8d3c’],

            [2751, ‘#f03b20’],

            [3683, ‘#bd0026’]

          ]

        }

Aquí estamos diciendo “pintar usando los valores del campo ‘precio’ y usar los rangos para diferenciar los colores”, si no hay valor, usar ‘#e6e6e6’, si el valor está entre 0 y 700, usar ‘#ffffb2’, si el valor está entre 700 y 1754 usar  ‘#fecc5c’, y así sucesivamente.

 

El código completo sería:

<html>

  <body

    <!– mapbox gl js –>

    <script src=’https://api.tiles.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.js’></script>

    <link href=’https://api.tiles.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.css’ rel=’stylesheet’ />

    <div style=»padding:0; margin:0; width:100%; height:100%» id=»map»></div>

    <script>

      window.onload = function(){

        var center = [-58.388875,-34.612427];

        mapboxgl.accessToken = ‘YOUR ACCESS TOKEN’;

        var map = new mapboxgl.Map({

          container: ‘map’,

          style: ‘mapbox://styles/YOUTUSER/YOUR_BASE_STYLE’,

          center: center,

          zoom: 13.5,

          pitch: 59.5,

          bearing: 0

        });

        map.on(‘style.load’, function () {

          map.addSource(‘buildings’,

              {«type»: «vector»,

                «url»: «THE TILESET URL»

              });

          map.addLayer({

            ‘id’: ‘buildings’,

            ‘interactive’: true,

            ‘type’: ‘fill-extrusion’,

            ‘source’: ‘buildings’,

            ‘source-layer’: ‘super_new_join_finalgeojson’,

            ‘paint’: {

              ‘fill-extrusion-height’: {

                ‘property’: ‘altura’,

                ‘stops’: [

                  [{zoom: 13, value: 0},   0],

                  [{zoom: 13.5, value: 1000}, 0],

                  [{zoom: 17.5, value: 0}, 0],

                  [{zoom: 17.5, value: 1000}, 1000]

                ]

              },

              ‘fill-extrusion-color’: {

                ‘property’: ‘precio’,

                ‘stops’: [

                  [0, ‘#e6e6e6’],

                  [700, ‘#ffffb2’],

                  [1754, ‘#fecc5c’],

                  [2233, ‘#fd8d3c’],

                  [2751, ‘#f03b20’],

                  [3683, ‘#bd0026’]

                ]

              },

              ‘fill-extrusion-opacity’: 0.9

            }

          }, ‘road_major_label’);

        });

      }

    </script>

  </body>

</html>

Servir el HTML desde un server

Ahora hay que servir el html desde un server. En nuestra máquina local podemos usar http-server . Una vez instalado, (se puede instalar con npm: npm install http-server), hay que correrlo en la misma carpeta donde tenemos nuestro html. Y después, en el browser, navegar a localhost:8080/our_map.html.

Flattr this!

]]>
http://es.schoolofdata.org/2017/10/04/como-crear-un-mapa-3d-de-buenos-aires-argentina/feed/ 0 2303
Del Storytelling al StoryMap: espacializando Datos Abiertos en Colombia http://es.schoolofdata.org/2017/08/16/del-storytelling-al-storymap-espacializando-datos-abiertos-en-colombia/ http://es.schoolofdata.org/2017/08/16/del-storytelling-al-storymap-espacializando-datos-abiertos-en-colombia/#comments Wed, 16 Aug 2017 18:50:54 +0000 http://es.schoolofdata.org/?p=2220

Desde Bogotá D.C., Andrés Forero  , especialista en GIS y datos geográficos, nos envía este post como una introducción a una serie tutorial sobre datos geográficos y cómo podemos aprovecharlos desde distintos softwares para su edición y publicación.

Bien sabemos la importancia de los datos en nuestra sociedad hoy en día; grandes empresas almacenan sobre una base de datos información que describe gustos, costumbres y actividades personales. Si tienes una sesión activa desde una cuenta Google o Microsoft y deseas buscar un vuelo que vaya desde Bogotá hasta Ciudad de México, es probable que aparezca en tu pantalla, minutos u horas después, promociones en diferentes aerolíneas para que salgas del país. Si abres Instagram y buscas como etiqueta #Tulúm o #Cartagena, el aplicativo probablemente te sugiera lugares para pasar vacaciones junto a la playa a través de un anuncio.

Los datos gubernamentales no son la excepción. Haz de cuenta que desde el momento en que empezaste a leer este artículo han robado a diez personas en tu ciudad. ¿Qué variables puedes analizar allí?

El mapa anterior muestra algunos delitos reportados en la ciudad de Cali, los cuales pueden ser consultados y descargados directamente desde el Portal de Datos Abiertos de Colombia.

Entender la información geográfica es una iniciativa que debe ir tomando forma y debe inculcarse desde a la sociedad civil hacia los tomadores de decisiones. Las oportunidades y debilidades que presenta un dato geográfico son las mismas que presenta esa tabla que necesitas para procesar en un software estadístico pero que es publicada como PDF.

Cuando pides un UBER, los puntos de partida y de llegada que estableces deben estar ligados a un sistema de coordenadas. La dirección que escribes debe estar estructurada y estandarizada para que pueda identificarse en el aplicativo.

Ahora, haz de cuenta que una persona llama a la policía para reportar el robo de sus pertenencias en Cali; conocer con exactitud el lugar donde sucedió el evento puede resultar en análisis espaciales robustos que permitan establecer la cobertura de patrullas de policía para atender áreas específicas o establecer programas que garanticen seguridad hacia la sociedad civil.

Hacer proyectos de este tipo no son para nada complejos, por el contrario, existen herramientas que facilitan el procesamiento de esta información ya sea desde software libre o software licenciado gratuito para desarrolladores y para usted, amigo datero. ¡Todos somos parte del cambio!

Aquí hay algunos recursos online para que puedas conocer las ventajas y desventajas asociadas con los Sistemas de Información Geográfica: QGIS como software libre brinda la posibilidad de utilizarlo gratuitamente desde cualquier computadora, aquí encuentras cómo puedes utilizarlo. Por otro lado, ArcGIS Online es una alternativa que permite realizar análisis en la nube únicamente creando una cuenta como desarrollador, la cual es gratuita. aquí encuentras cómo puedes utilizarlo.

Integrarlos puede ser útil. Por ejemplo, desde el escritorio puedo establecer cuáles son los campos que veré posteriormente sobre un mapa: ¿Necesito la fecha? ¿Necesito el nombre del delito? ¿Habrá que modificar la simbología? Estos procesamientos que pueden llegar a ser complejos para alguien quien inicia en el mundo SIG puede hacerlo desde QGIS. Teniendo establecido qué información quieres publicar, ArcGIS Online te permitirá visualizar este contenido desde la web y allí hacer análisis únicamente seleccionando qué deseas utilizar.

Imagen 1. Análisis en ArcGIS Online
Fuente: autoría propia.

 

Observemos este mapa

 

Agregando los delitos a la capa de comunas podemos establecer cuál de ellas presenta mayor criminalidad con un criterio de clasificación.

Este análisis es solo una introducción de qué se puede llegar a hacer y cómo podemos empezar a construir soluciones innovadoras bajo un contexto netamente espacial. Bienvenidos al infoactivismo geográfico.

Flattr this!

]]>
http://es.schoolofdata.org/2017/08/16/del-storytelling-al-storymap-espacializando-datos-abiertos-en-colombia/feed/ 1 2220