GeoPackge o por qué no querrás volver a usar Shapefiles

Este post está orientado principalmente a usuarios y profesionales que utilizan QGIS, ArcGIS o cualquier otro usuario de software de sistemas de información geográfica (SIG).

En el mundo de los SIG, existe un formato de datos espaciales que todo el mundo conoce y que es común a todos los software del mercado, ese formato es el Shapefile.

Ya seas una persona totalmente nueva en SIG o seas un usuario avanzado, habrás usado este formato de datos en algún momento.

Puede que el formato Shapefile te guste o puede que no. Puede también que te resulte indiferente y que no te hayas parado a pensar si existe un formato mejor a la hora de trabajar con datos espaciales.

En este post voy a hablar de los GeoPackges, un formato OGC opensource que es una opción real para reemplazar a los Shapefiles por su enorme versatilidad, sencillez y funcionalidad.

¿Que es un geopackge?

Este formato OGC nació en 2014 y poco a poco ha ido ganando popularidad. Puedes encontrar toda la información que necesites sobre Geopackge aquí, no obstante yo te cuento lo fundamental: GeoPackge se comporta como una base de datos SQLite.

Se puede trabajar de distintas maneras con este formato. Tanto para leer como para generar un GeoPackge, puedes hacerlo desde la línea de comandos usando comandos SQL, desde QGIS o incluso GDAL/OGR. También puedes usar librerías de Python como Geopandas. Esto no es exclusivo de GeoPackge, hasta aquí, se comporta igual que un Shapefile.

¿Entonces, que es lo que convierte a GeoPackge en un formato mejor para almacenar, trabajar y compartir datos espaciales?

Principales diferencias entre GeoPackge y Shapefiles

Un Shapefile y un Geopackge, en esencia, son lo mismo. Un usuario podría «cargar» en QGIS un Shapefile y un GeoPackage, ambos conteniendo datos vectoriales de una cuenca hidrográfica y no apreciar ninguna diferencia in-situ.

Sin embargo, a la hora de trabajar con la tabla de atributos, usar herramientas espaciales o exportar/importar datos a una base de datos espacial, el usuario descubriría que en GeoPackge es mucho más versátil y eficiente que un Shapefile.

En la breve descripción que hemos hecho de GeoPackge no hemos visto nada nuevo con respecto al formato Shapefile, entonces, ¿dónde se encuentra su principal ventaja?

Como he mencionado anteriormente, GeoPackge se comporta como una base de datos SQLite. Por tanto, si estás familiarizado con PostgreSQL/PostGIS sabrás que una base de datos espaciales puede almacenar múltiples tipos de geometrías (entidades vectoriales), rasters, mosaicos, datos tabulares no espaciales, proyectos, metadatos etc.

Capas y formatos que puedes almacenar en un GeoPackage. Fuente: OGC

Un Shapefile únicamente te permite almacenar datos vectoriales de un solo tipo de geometría a la vez y como mínimo, si trabajas con SIG, va a generar 4 archivos (prj, dbf, shp y shx).

Un GeoPackage nos va a permitir almacenar múltiples tipos de geometrías (entre otros formatos espaciales) y todo ello en un solo archivo.

A la izquierda, 15 archivos que se han generado al crear 3 Shapefile. A la derecha, los mismos datos vectoriales dentro de un GeoPackage

Existe una web llamada «Switch from Shapefile» que anima a abandonar el formato Shapefile y da una serie de razones para ello. Basándome en dicha página web y en mi propia experiencia, voy a dejar una serie de pros y contras sobre usar Shapefile y GeoPackage.

Pros y contras sobre el formato shapefile

Pros:

  • Shapefile es un formato muy extendido
  • Lleva tanto tiempo en la industria, que la gente se siente cómoda usándolo, incluso habiendo mejores formatos (más vale malo conocido que bueno por conocer)
  • Todos los software SIG que conozco pueden leer el formato Shapefile
  • Incluso muchos software CAD son capaces de leer este formato
  • Para la mayoría de las tareas SIG del día a día, el formato Shapefile cumple con su función.

Contras:

  • Es un formato multi-archivo, a todo el mundo le ha ocurrido alguna vez que ha recibido un SHP de alguien (un cliente, un compañero) que solamente contenía el archivo «.shp»
  • Para trabajar con SIG, necesitas al menos 4 archivos (prj, shp, dbf y shx). La perdida de alguno de ellos puede hacer que nuestros datos queden inutilizados.
  • Solo permite almacenar datos vectoriales de un único tipo de geometría al mismo tiempo, es decir, no puedes almacenar dentro de un Shapefile un polígono y una línea.
  • Tiene un tamaño restringido a 2 GB y conforme nos acercamos a ese l’imite se vuelve mucho más ineficiente y difícil de manejar
  • No puede almacenar relaciones espaciales.
  • Los nombres de los atributos se encuentran limitados a 10 caracteres. Esto resulta especialmente molesto cuando exportamos Shapefile desde una base de datos espaciales.
  • Los atributos se almacenan en el archivo .dbf que no permite almacenar más de 255 atributos
  • Solo permite 3 tipos de geometrías: punto, línea y polígono. No es muy seguro a la hora de trabajar con multipolígonos.
  • Se comporta muy bien con datos 2D, pero presenta limitaciones a la hora de trabajar con datos 3D.
  • Solo se pueden almacenar 4 tipos de datos: real, entero, fecha y texto (limitado a su vez a 255 caracteres)
  • Por si solo, el formato Shapefile es tan solo un «shape» es decir, una geometría (punto, línea o polígono). Si no lo acompañamos con un archivo prj, el Shapefile no dispondrá de proyección espacial por si solo.

PROS Y CONTRAS SOBRE EL FORMATO GEOPACKGE

Pros:

  • Un GeoPackage se compone de un solo archivo
  • Puede almacenar vectores, rasters, etc.
  • Si trabajas con QGIS, puedes usar GeoPackage para almacenar tus datos espaciales y posteriormente guardar el propio proyecto de QGIS dentro del GeoPackage, como se muestra en la captura inferior.
Proyecto de QGIS almacenado dentro de un GeoPackage
  • Es tan eficiente como una base de datos espacial tipo PostgreSQL y, sin embargo, mucho más ligero y puede funcionar de forma «standalone»
  • Dentro de los datos vectoriales, permite almacenar las siguientes geometrías: puntos, líneas, polígonos, multipuntos, multilínea y multipolígonos.
  • Como tipos de datos, se pueden usar números reales, enteros, enteros (64 bit) texto, JSON, fechas, fechas y hora, objetos binarios (BLOB) y booleanos.
Tipos de datos permitidos en un atributo de un GeoPackge
  • Puede ampliamente superar 2 GB de espacio límite, en principio hasta 140 TB
  • No hay limitación de caracteres en el nombre de atributos, lo que facilita «mapear» los nombres de atributos cuando importamos/exportamos datos desde/hacia otra base de datos espaciales.
  • A la hora de insertar datos desde un GeoPackage a una base de datos y viceversa, es más rápido este formato que el formato Shapefile o GeoJSON.
  • Cuando trabajamos con QGIS, a la hora de hacer uniones, intersecciones, etc., es mucho más eficiente, ya que los datos están espacialmente indexados.

Contras:

Es difícil encontrar puntos negativos al formato GeoPackage. Existen 2 factores que hacen que el GeoPackage por el momento no haya desplazado 100% al formato SHP:

  • Falta de experiencia por parte del usuario: Es un formato relativamente nuevo. Es normal que al principio nos pueda resultar costoso usar un formato nuevo al que no estamos muy acostumbrados, y prefiramos quedarnos en nuestra zona de confort.
  • No todos los software comerciales lo han implementado totalmente: Un ejemplo sería ESRI, aunque se puede usar el formato GeoPackage en ArcMAP y en ArcGIS Pro, no se puede usar 100% su funcionalidad, como se describe en este post.

CONCLUSIÓN

El formato GeoPackage está cada vez más extendido. QGIS incorpora GeoPackage como su formato por defecto a la hora de crear o exportar una nueva capa.

Si no conoces este formato, te invito a que lo pruebes, empieza por algo sencillo, coge cualquier Shapefile que tengas, cárgalo en QGIS y expórtalo en formato GeoPackage.

Después te animo a que añadas más capas dentro del mismo GeoPackage y ejecutes algunos procesos espaciales como uniones, intersecciones, etc.

Te advierto que es posible que después de hacer esto, no quieras volver a usar un Shapefile 🙂

Si ya conocías el formato GeoPackage, espero que hayas encontrado este post interesante y te invito a que comentes cosas que se me hayan escapado o con las que no estés desacuerdo.

LASPY: LIDAR PARA PYTHON

¿Qué es laspy?

Laspy es una librería de Python que nos permite trabajar con archivos LiDAR, leyéndolos, modificándolos y creando nuevos archivos.

Esta librería funciona con versiones de Python 3.6 o superiores. En la web que recoge la mayoría de los paquetes y librerías de Python, podemos encontrar mas información sobre laspy y algunos ejemplos.

Preparando un entorno de trabajo

Vamos a ver algunos ejemplos sobre esta librería. Para realizar este ejercicio por tu cuenta solo necesitarás:

  • Una instalación de Python 3.6 o superior
  • Un entorno de trabajo de Python o «environment» donde instalaremos laspy
  • Datos LiDAR

En este caso, vamos a usar la versión de Python 3.7.8 que puedes descargar desde la página oficial de Python.

Lo primero que vamos a hacer es crear nuestro «Python Environment» así, podemos inslatar la librería de laspy y evitar posibles conflictos entre librerías.

Una vez tenemos nuestro entorno de trabajo listo, es hora de activarlo. Para ello ejecuta el siguiente comando que básicamente activa nuestro «environment»:

env_laspy\Scripts\activate

Activando el espacio de trabajo nos permitirá instalar las librerías que queramos en él. Instala el paquete de «laspy», por defecto se instalará la versión mas reciente. Si no tenías «numpy» instalado en tu PC este también se instalará.

Ahora ya tenemos todo listo. Es el momento de crear un script de Python y leer el primer archivo LiDAR.

Leer un archivo LiDAR con LASPY

Para la realización de este ejemplo, vamos a usar Pycharm, pero podrías utilizar cualquier otra IDE para trabajar con Python, incluso el bloc de notas. Para descargar la versión gratuita de Pycharm pincha aquí.

Abre un proyecto de Pycharm en la carpeta donde tienes tu «environment» de Python, de este modo, Pycharm encontrar automáticamente el intérprete de Python que necesita. De forma alternativa, puedes manualmente establecer el intérprete tu mismo desde «settings»:

Configurar interprete en pycharm

Ahora, crea un archivo de python desde la ventana de proyectos y llamalo «test_laspy»:

Crear un archivo en pycharm

En primer lugar, vamos a comenzar importando laspy y numpy. Usaremos ambas librerías para nuestro propósito:

import laspy as lp
import numpy as np

El siguiente paso será añadir nuestros datos de entrada, es decir, la nube de puntos que usaremos como test:

input_path = "C:\Javi\Movidas\laspy\PNOA_1.las"

Ahora ya tenemos definida la variable con el archivo de entrada. Vamos a leer el archivo LiDAR y obtener el número de puntos que hay según la información de cabecera («header information»)

with lp.open(input_path) as fh:
print('Numero de puntos en la cabecera:', fh.header.point_count)

Con la función «print», obtendremos en pantalla el número de puntos o retornos que contiene nuestro archivo LiDAR, para la nube de puntos que estoy usando del PNOA, he obtenido algo más de 3 millones de puntos: 3.221.429.

Ahora, en lugar de leer el número de retornos desde la información de cabecera, vamos a leer el número total de puntos que tiene nuestro LiDAR. Esto es una práctica habitual y puede ayudarnos a identificar archivos corruptos cuando hay discrepancias entre ambos valores. Para ello, ejecuta el siguiente código:

with lp.open(input_path) as fh:
print('Numero de puntos en la cabecera:', fh.header.point_count)
las = fh.read()
print('Points from data:', len(las.points))

Ahora tienes dos funciones «print» y ambas te deberían dar el mismo resultado en tus datos, que en este caso es 3221429. Uno de los valores se consigue usando «point_count» y el otro con la función «len()».

Filtrar una nube de puntos por clase y retorno

Cuando tenemos nubes de puntos clasificadas, es interesante conocer formas de filtrar el LiDAR para obtener información sobre cuantos puntos tenemos en cada clase, así como la distribución del número de retornos. En cualquier nube de puntos clasificada, deberíamos esperar que el suelo tuviera valores muy altos para el primer (y único retorno). Vamos a ver si esto se cumple en nuestra nube de puntos:

with lp.open(input_path) as fh:
    las = fh.read()
    ground_pts = las.classification == 2
    bins, counts = np.unique(las.return_number[ground_pts], return_counts=True)
    print('Ground Point Return Number distribution:')
    for r,c in zip(bins,counts):
        print('{}:{}'.format(r, c))

Como resultado obtenemos:

Trabajar con numpy arrays para obtener informacion de la nube de puntos

En este último paso vamos a crear un «numpy array» con los valores en Z de nuestra nube de puntos y vamos a calcular los valores máximos, mínimos y medios de dicha nube de puntos. Para ello, utiliza el siguiente código:

import laspy as lp
import numpy as np


input_path = "C:\Javi\Movidas\laspy\PNOA_1.las"

point_cloud = lp.read(input_path)

pointsZ = np.vstack((point_cloud.z)).transpose()

print('\nAltitud maxima:', np.max(pointsZ))

print('\nAlitud media:', np.mean(pointsZ))

print('\nAltitud minima:', np.min(pointsZ))

Paso por paso, importamos las librerías de laspy y numpy, después leemos con laspy nuestra nube de puntos. A continuación usamos «vstak» para convertir los datos en Z de nuestra nube de puntos en un «numpy array».

El último paso consiste en usar las funciones max, mean y min para leer los valores máximos, mínimos y medios en Z. También podrías obtener información sobre quartiles, desviación estándar, mediana etc.

Ahora que sabemos los valores mínimos y máximo de alturas, ¿no sería interesante conocer la distribución de los mismos?

Podemos conseguir esto creando un histograma con 5 grupos iguales (bins), así averiguaremos como se distribuyen los datos desde 4 metros hasta 963 metros de altura. Usaremos nuevamente numpy para conseguir nuestro objetivo:

input_path = "C:\Javi\Movidas\laspy\PNOA_1.las"

point_cloud = lp.read(input_path)

pointsZ = np.vstack((point_cloud.z)).transpose()

print('\nAltitud maxima:', np.max(pointsZ))

print('\nAlitud media:', np.mean(pointsZ))

print('\nAltitud minima:', np.min(pointsZ))


histo = (np.histogram(pointsZ, bins=[4, 200, 400, 600, 800, 963]))

La función histograma de numpy, crea la distribución de puntos acorde con el tamaño de bin que nosotros deseemos.

Si nos fijamos en los resultados, vemos que la inmensa mayoría de nuestros valores se encuentran entre 4 y 200 metros. Lo cual ya nos indica que valores superiores a 200 metros serán probablemente «outliers» o valores atípicos.

ConclusiÓn

Como hemos podido comprobar, las librerías de laspy en combinación con numpy, nos dan mucha versatilidad para obtener información importante sobre nubes de puntos lidar. En posteriores posts veremos como crear nuevas nubes de puntos, filtrar por RGB, eliminar valores atípicos, etc.

El código que hemos usado quedaría del siguiente modo:

import laspy as lp
import numpy as np

## open file
input_path = "C:\Javi\Movidas\laspy\PNOA_1.las"
point_cloud = lp.read(input_path) # read file
pointsZ = np.vstack((point_cloud.z)).transpose() # convert Z values into np array
print('\nAltitud maxima:', np.max(pointsZ)) # print some metrics
print('\nAlitud media:', np.mean(pointsZ))
print('\nAltitud minima:', np.min(pointsZ))

histo = (np.histogram(pointsZ, bins=[4, 200, 400, 600, 800, 963])) ## find out Z distribution

print('\nHistograma: ', histo)

with lp.open(input_path) as fh:

las = fh.read()
print('Points from data:', len(las.points)) ## read number of points from file




with lp.open(input_path) as fh:
las = fh.read()
ground_pts = las.classification == 2
bins, counts = np.unique(las.return_number[ground_pts], return_counts=True)

for r,c in zip(bins,counts):
print('{}:{}'.format(r, c)) ## find out ground point distribution

Volcán de la Palma desde Google Earth Engine

Las primeras imágenes capturadas por Sentinel 2 sobre el volcán en Cumbre Vieja de La Palma han llegado el 20/09/2021. Aunque presentan una alta cobertura de nubes, se puede apreciar el foco del volcán que estos días ha hecho erupción en la isla.

En este post os muestro unas líneas de código muy simples con las que podéis vosotros mismos hacer un seguimiento de la evolución del volcán.

En primer lugar, como vamos a usar Google Earth Engine, debes registrarte en la plataforma para tener acceso. Si tienes una cuenta de google, esto no te resultara muy complicado. Os dejo este post de GIS&BEERS donde se explica con detalle.

Una vez registrados, accede a Google Earth Engine. Lo primero que tendremos que hacer es dibujar la geometría que encierra a la Isla de La Palma. De este modo, trabajaremos únicamente con la colección de imágenes de nuestra área de interés. Usa la herramienta de polígono para dibujar una geometría alrededor de la isla:
Crear area de interes alredor de la isla
Crear area de interes alredor de la isla
Cuando tengas tu polígono, puedes renombrarlo como desees haciendo clic en la rueda dentada, en este caso la renombramos como “palma”.

Ahora vamos con el código:

Comenzaremos seleccionando la colección de imágenes que se corresponde al periodo de estudio. En mi caso, se que se ha publicado en los últimos días la primera imagen de la zona tras el volcán, así que usare el rango de tiempo del 20 al 21 de septiembre: 
// Colección de imágenes Sentnel
II (todas las posibles)
var S2_collection =
ee.ImageCollection("COPERNICUS/S2")
.filterBounds(palma) // área de interés
.filterDate('2021-09-20', '2021-09-21'); // rango de fechas
Es importante que uses como filterBounds la geometría que has creado como área de interés. Puedes añadir comentarios a tu código usando // para tener claro que significa cada línea. Ha continuación, vamos a “imprimir” las imágenes disponibles, asi sabremos cuantas hay. Esto es especialemtne útil para rangos de tiempo amplios.
// Mostrar las imágenes encontradas
print(S2_collection);
El siguiente paso será decirle a GGE que bandas queremos de nuestro Sentinel 2. Puedes mirar aquí las bandas existentes y lo que representan. He seleccionado B12, B11 y B3 ya que quiero intentar captar la energía desprendida por el volcán cuanto sea posible. Puedes usar otras combinaciones si lo deseas.
// Combinación de bandas que queremos mostrar
var S2_bands = ['B12', 'B11', 'B3'];
La siguiente línea de código es útil cuando tenemos más de una imagen, ya que nos mostrara el valor medio de la combinación de pixeles. En este caso es redundante, ya que solo tenemos una imagen.
// Crear variable de las imágenes con el valor medio de cada pixel
var S2_mosaic = S2_collection.median().select(S2_bands).clip(palma);
La variable que definimos a continuación sirve para mostrar los valores máximos y mínimos de las bandas a mostrar. En ocasiones será necesario modificarlos si la imagen mostrada no es lo que esperamos al tener un rango de valores por encima del umbral o muy por debajo.
// Valores mínimo y máximos a mostrar
var S2_display = {bands: S2_bands, min: 0, max: 3000};
La última línea de código sirve para añadir las imágenes a nuestro visor y centrarlas.
// Anadir imagen al visor
Map.addLayer(S2_mosaic, S2_display, "S2_Imagen_Palma");
// Hacer zoom a la imagen añadida y centrarla
Map.centerObject(palma);
 
Código completo
Combinación de bandas B11, B10, B3 con Sentinel 2
En la imagen, se aprecia claramente el lugar en el que ha ocurrido la erupción, a pesar de las nubes. Podemos también jugar con la transparencia de las capas para intentar superponer la imagen satélite sobre el mapa topográfico y dar algo de contexto, ya que las nubes nos impiden visualizar la línea de costa.
Transparencia para apreciar dimensiones de la isla
Si cambiamos el rango de fechas a otro periodo de tiempo pre-volcán, entonces podemos comprobar que las bandas usadas no destacan ningún foco de calor como el que se muestra en las imágenes de septiembre.
Periodo de tiempo pre-volcán

Cómo ejecutar geoprocesos sin abrir un programa SIG

En muchas ocasiones, tenemos que ejecutar geoprocesamientos sencillos como crear un buffer o reproyectar un shapefile que no necesariamente requieren de abrir un programa SIG o tener conocimientos de programación para ello.

La mayoría de los geoprocesamientos que usamos a diario pueden ejecutarse desde la línea de comandos de Windows usando GDAL/OGR. Esto resulta de gran utilidad a la hora de crear «batch processing» sin calentarnos la cabeza demasiado.

QUe es «GDAL/OGR»?

Para simplificar, podemos decir que GDAL/OGR es un conjunto de herramientas gratuitas geoespaciales para trabajar con datos ráster (GDAL) y vectoriales (OGR).

No tenemos que pensar que GDAL/OGR es algo diferente a los software GIS. En realidad la mayoría de los software GIS del mercado usan librerías GDAL/OGR, desde QGIS hasta ArcGIS. Para ejecutar OGR/GDAL desde la línea de comandos, necesitas tenerlo instalado en tu ordenador. Cualquiera de las siguientes instalaciones te podría servir:

Una vez conseguido esto, solo necesitaras ejecutar el programa desde la línea de comandos.

«OGR2OGR» desde la linea de comandos

Vamos a ver un ejemplo real. En este caso, vamos a crear un buffer usando ogr2ogr desde la línea de comandos. Recuerda que OGR se usa para geoprocesamientos vectoriales, por tanto no sirve para trabajar directamente con datos ráster.

Para el ejemplo, vamos a usar un SHP descargado del PNOA con la Cuenca Hidrográfica del Segura. Pero podrías usar el que desees:

Usando el SHP de la imagen superior, vamos a crear una serie de buffers y vamos a aprender a leer la tabla de atributos y usar sus categorías.

La sintaxis básica de cualquier comando OGR2OGR sería:

ogr2ogr -f «FORMATO» -sql «SQL» -dialect SQLite «Output.shp» «Input.shp»

Seguir el orden de la sintaxis es importante. Cuando usamos OGR2OGR, el archivo de salida debe nombrarse antes que el archivo de entrada, al contrario que en la mayoría de los programas que podemos ejecutar desde símbolo de sistema.

Crear un buffer con «st_buffer»

En el ejemplo que nos ocupa, vamos a usar la función ST_Buffer de PostGIS sobre el campo de geometría de nuestro SHP para crear el buffer. El objetivo es crear un buffer de 10 metros alrededor de la línea que representa nuestro cauce. El archivo de salida queremos que sea también en formato SHP:

  • Invocamos OGR2OGR desde nuestra instalación de QGIS: «C:\Program Files\QGIS 3.18\bin\ogr2ogr.exe»
  • Para definir el archivo de salida como SHP: -f «ESRI Shapefile»
  • La sintaxis SQL sería: -sql «select ST_Buffer(geometry, 10) from hi_redsecuencia_l_ES070», donde hi_redsecuencia_l_ES070 es el nombre del SHP.
  • Por último, copiamos la ruta donde queremos el archivo de salida y la ruta del archivo de entrada.

Todo junto quedaría del siguiente modo:

«C:\Program Files\QGIS 3.18\bin\ogr2ogr.exe» -f «ESRI Shapefile» -sql «select ST_Buffer(geometry, 10) from hi_redsecuencia_l_ES070» -dialect SQLite «C:\Users\javi\Downloads\hi_redsecuencia_l_ES070_buf10m.shp» «C:\Users\javi\Downloads\hi_redsecuencia_l_ES070.shp»

Para ejecutar el comando, abre una ventana de símbolo de sistema y copia la sentencia. Después presiona intro. Ahora es el momento de comprobar los resultados. Abrimos QGIS o cualquier otro programa SIG que tengas instalado en tu ordenador. Ahora arrastra el archivo original y el archivo de salida. ¿Qué ha ocurrido?

Buffer de un archivo lineal en grados

No hemos obtenido el resultado que esperábamos. Esto se debe a que el archivo original se encuentra en WGS84, es decir, sus unidades están en grados decimales y no en metros. Para realizar la transformación a ETRS89 UTM zona 30 y poder operar en metros, tenemos dos opciones.

  • Realizar la transformación con QGIS
  • Realizar la transformación usando OGR2OGR al mismo tiempo que creamos el buffer

cambios de proyección: «ST_Transform»

Vamos a usar la segunda opción. Todo lo que necesitas es conocer el código EPSG de tu archivo de tu archivo de salida. Observa en el comando inferior la parte en negrita. Vamos a aplicar ST_Transform sobre la geometría al mismo tiempo que usamos ST_Buffer:

«C:\Program Files\QGIS 3.18\bin\ogr2ogr.exe» -f «ESRI Shapefile» -sql «select ST_Buffer(st_transform(geometry, 25830), 10) from hi_redsecuencia_l_ES070″ -dialect SQLite «C:\Users\javi\Downloads\hi_redsecuencia_l_ES070_25830_buf10m.shp» «C:\Users\javi\Downloads\hi_redsecuencia_l_ES070.shp

Buffer del shapefile que contiene la cuenca hidrográfica del segura

Ahora si hemos obtenido los resultados esperados. El buffer está ahora en metros y nuestro archivo de salida se ha transformado de WGS84 a ETRS89 Zona 30.

Vamos a ir un poco mas allá. Nuestro shapefile contiene una serie de cauces, que son ríos, ramblas, acequias, etc. ¿Podemos crear un buffer en ETRS89 solamente para los ríos?

«ogrinfo» para leer atributos de un Shp

Para ellos lo único que tenemos que hacer es comprobar si la categoría «Ríos» existe en nuestro SHP. Puedes leer la tabla de atributos desde QGIS o bien, puedes hacerlo usando OGRINFO.

Para esta segunda opción, usar el siguiente comando que te ayudará a leer todas las columnas (usamos el *) de una fila de la tabla de atributos (por ello usamos «limit 1»):

«C:\Program Files\QGIS 3.18\bin\ogrinfo.exe» «C:\Users\anton\Downloads\hi_redsecuencia_l_ES070.shp» -dialect sqlite -sql «select * from hi_redsecuencia_l_ES070 limit 1«

En este caso, no vamos a crear ningún archivo de salida. Solamente queremos que nos muestre en la consola de símbolo de sistema los atributos de un único elemento del SHP de entrada. Observa que uno de los atributos se llama «nombre». Parece un buen candidato para contener los nombre de los ríos, ramblas, arroyos, etc., por lo que es posible que nos indique los ríos. Vamos a comprobarlo con el siguiente comando:

«C:\Program Files\QGIS 3.18\bin\ogrinfo.exe» «C:\Users\anton\Downloads\hi_redsecuencia_l_ES070.shp» -dialect sqlite -sql «select distinct(nombre) from hi_redsecuencia_l_ES070«

Lo que estamos indicando en el comando superior es que nos muestre todos los elementos DISTINTOS de la tabla de atributos para la columna «NOMBRE»:

la cláusula «where»

El campo nombre contiene lo que buscamos. Vamos ahora a usarlo para filtrar todos los ríos de nuestra tabla de atributos. Vamos a crear un nuevo SHP solamente para los Ríos, con un buffer de 10 metros y para ellos vamos a buscar todos aquellos elementos de la tabla de atributos que contienen la palabra «Ríos» en alguna de su columna «NOMBRE» con «WHERE»:

«C:\Program Files\QGIS 3.18\bin\ogr2ogr.exe» -f «ESRI Shapefile» -sql «select ST_Buffer(st_transform(geometry, 25830), 10) from hi_redsecuencia_l_ES070 where nombre like ‘Río%'» -dialect SQLite «C:\Users\javi\Downloads\hi_redsecuencia_l_ES070_25830_buf10m_rios.shp» «C:\Users\javi\Downloads\hi_redsecuencia_l_ES070.shp» -progress

Buffer de 10 metros solo para los Ríos

El nuevo SHP creado será más pequeño que el buffer original, ya que contiene solamente los Ríos.

Por último, vamos a crear un buffer con distintas dimensiones acorde a su categoría. Por ejemplo, imagina que necesitas tener un polígono con los cauces donde los Ríos tengan 10m de buffer y las ramblas 5 metros. Para esto, podemos usar UNION dentro de nuestra sentencia SQL.

fusionar elementos con «union»

Lo único que necesitas hacer es crear un buffer para cada categoría repitiendo el comando SQL, una vez para Ríos y otra para las ramblas:

«C:\Program Files\QGIS 3.18\bin\ogr2ogr.exe» -f «ESRI Shapefile» -sql «select ST_Buffer(st_transform(geometry, 25830), 10) from hi_redsecuencia_l_ES070 where nombre like ‘Río%’ UNION select ST_Buffer(st_transform(geometry, 25830), 5) from hi_redsecuencia_l_ES070 where nombre like ‘Rambla%'» -dialect SQLite «C:\Users\anton\Downloads\hi_redsecuencia_l_ES070_25830_rios10m_y_ramblas5m.shp» «C:\Users\anton\Downloads\hi_redsecuencia_l_ES070.shp» -progress

Como resultado obtendrás un polígomo como el que se muestra a continuación:

Buffer 10 metros para Ríos y de 5 metros para la Ramblas

Conclusión

Como habrás podido comprobar, hemos sido capaces de crear distintos buffers a partir de un SHP usando OGR2OGR, sin necesidad de abrir un programa SIG.

Tener soltura con OGR2OGR te resultará muy útil en tu actividad profesional a la hora de crear scripts o concatenar procesos respetivos.

Hemos visto un ejemplo de cómo crear un buffer y transformar la proyección, pero OGR2OGR se puede usar también para:

  • Crear o modificar atributos
  • Transformar archivos (por ejemplo de SHP a SQLITE)
  • Importar y exportar datos a una base de datos
  • Realizar operaciones vectoriales (intersecciones, uniones, cambios de geometría, etc.)

Cómo convertir datos de OSM (Open Street Map) a Shapefile con QGIS

Los sistemas de información geográfica carecen de sentido si no disponemos de datos para trabajar con ellos. En muchas ocasiones, nos encontramos con que tenemos un proyecto o una idea y carecemos de fuentes de descarga de información para desarrollarla. Encontrar estas fuentes a veces resulta una actividad tediosa y fustraste.

En este post vamos a ver una manera de obtener datos en formato shapefile a partir de Open Street Map usando el complemento o plugin de QGIS llamado «OSMdownload».

Antes de nada, si vas a realizar los pasos de este post, te recomiendo que le eches un vistazo a este otro post donde te explico cómo descargarte un complemento para QGIS llamado «Quick Terrain Services» que podrás usar para cargar mapas base en QGIS (entre ellos mapas base de OSM).

¿Qué es OSM?

OSM viene de las siglas en inglés «OpenStreetMap». Se trata de un conjunto de datos open source del que se abastecen páginas web, aplicaciones móviles y distintos software (entre ellos QGIS).

OSM se mantiene gracias a una comunidad de personas dedicadas a la elbaoración de amapas que contribuye al mantenimiento y creación de todo tipo datos a lo largo del mundo, desde carrtereas y railes hasta el mapeo cafés o edificios públicos.

OSM Open Street Map Madrid
Ejemplo de vista de OSM en el Centro de Madrid

Descargar el complemento «OSMDownloader» para QGIS

El complemento OSMDownloader de QGIS es el que nos va a permitir descargar elementos en formato OSM a partir de Open Street Map. Como el resto de los complementos en QGIS, necesitamos acceder al menú de complementos para descargarlo, ya que no viene por defecto en nuestra instalación.

Para este ejemplo, vamos a usar QGIS 3.18 pero podrías usar cualquier otra versión que tengas instalada en tu ordenador. Dirígete al menú principal, en la parte superior y haz clic en complementos > administrar e instalar complementos.

Una vez que se abra la ventana de complementos, teclea «OSMdownload» en la barra de búsqueda y aségurate de que la opción «todos» está seleccionada. Después, haz clic en la parte inferior en «Instalar Complemento»

Gestor de complementos de QGIS

Una vez descargado el complementos, verás una herramienta nueva con forma de rectángulo en el menú principal, en la parte superior.

Herramienta para descargar datos de OSM mediante un rectángulo de selección

Usando OSMDOWNLOADER

Utilizar este complemento de QGIS es bastante sencillo. Para ello imaginemos que queremos obtener un callejero de la ciudad de Águilas. Los pasos serían:

  • Cargar un mapa base de OSM. En este caso, he obtado por usar el complemento de Quick Terrain Services
Cargar datos desde Quick Terrain Services
  • Buscar la zona que queremos descargar
  • Crear un AOI (área de interés) de la zona que queremos obtener datos usando OSMdownloader
AOI usando OSMDownloader
  • Seleccionar una carpeta de descarga. Observa que puedes marcar la casilla de «Load layer after download» para ver la información en QGIS sin necesidad de cargarla una vez descargada.
Selecciona una carpeta de descarga

Una vez descargados los datos, lo único que tenemos que hacer, es covertirlos a formato SHP. Para ello usa la herramienta de selección en QGIS y selecciona aquellos elementos que desees exportar como SHP (o cualquier otro formato!).

Datos descargados directamente de OSM

Cuando ya tengamos los elementos exportados en formato SHP, puedes recurrir a la simbología y superponerlos sobre Google Street Map para comprobar que todo es correcto. También puedes añadir un etiquetado con el nombre de las calles:

Callejero del centro de Aguilas (Murcia)

Como habras podido comprobar, es bastante sencillo obtener datasets de cualquier parte del mundo. Dependiendo del tamaño de la zona, el país o la ciudad, puede que tengas más o menos información disponible.

Por ejemplo, en este otro caso, he seleciconado una zona del Parque Natural de la Sierra de Guadarrama entre Madrid y Castilla León, y podemos ver que nos aparecen desde puntos de interés hasta senderos rurales:

Datos descargados de OSM de la Sierra de Guadarrama

Te animo a que trates de probar la herramienta en alguna zona de tu interés y así podrás comprobar qué datos tienes disponibles.

LiDAR PNOA

Como instalar el nuevo QGIS 3.18 con la funcionalidad de visualizar LiDAR

Durante el mes de Febrero, se ha lanzado una nueva versión de QGIS (3.18) con múltiples mejoras y extras, entre ellas la posibilidad de cargar nubes de puntos en formato LAZ o LAS directamente arrastrándolas a tu ventana de QGIS.

El programa utiliza librerías de entwine pdal combinadas con el software de QGIS para exprimir al máximo nuestros datos LiDAR. Por ahora se trata de una primera versión con escasa funcionalidad, pero es fácil imaginar su potencial unido a QGIS. El simple hecho de poder combinar vectores, rasters y nubes de puntos en la ventana de QGIS ya resulta de gran utilidad.

Sin embargo, parece que esta opción aun no está disponible para Windows cuando descargamos el instalador de QGIS directamente desde su página oficial. No obstante existe una solución temporal para esto que ha sido facilitada por Lutra Consulting, empresa que organizó el crowdfounding para incluir esta funcionalidad en QGIS, junto con North Road y Hobu.

Instalación

Para poder disfrutar por ahora de esta nueva funcionalidad, es necesario descargar el nuevo instalador de OSGEO4W que por ahora se encuentra en prueba. Pero ojo, si ya tienes OSGEO4W o QGIS instalado en tu ordenador y no deseas sobreescribir o modificar la instalación, entonces te recomiendo que a la hora de instalarlo, lo hagas en una ruta diferente.

Sigue los pasos para realizar la instalación. Durante el proceso no sólo podrás seleccionar la ruta de instalación si no que también podrás crear un acceso directo en el escritorio. La instalación puede tardar unos minutos y como con cualquier otro porgrama, es recomendable reiniciar el ordenador una vez finalizada.

Probando datos

Una vez hemos instalado QGIS 3.18, es el momento de ejecutar el programa. Para ello, dirígete a la ruta donde lo has instalado y busca la carpeta bin. Desde ella, busca el archivo ejecutable llamado «qgis-bin.exe» y haz doble clic en él. De esta manera te aseguras de ejecutar la versión que acabas de instalar y no otra versión que ya exista en tu PC.

Ahora simplemente arrastra una nube de puntos en formato LAS o LAZ a tu ventana de QGIS. Para este ejemplo, he descargado el bloque «PNOA_2016_MAD_426-4481_ORT-CLA-RGB.laz» a través del centro de descargas del CNIG.

Las nubes de puntos que descargamos del PNOA estan coloreadas usando ortofotos, por este motivo al cargarla se verá como en la siguiente captura de pantalla, coloreda por sus atributos RGB:

Bloque LiDAR visualizado en QGIS por RGB

Si lo deseas, puedes cargar también en QGIS una ortofoto que puedes conseguir del mismo buscador del CNIG y usarla como mapa base.

En QGIS, la nube de puntos se carga como otra capa cualquiera, es decir, como una capa vectorial o ráster. Por tanto, el sistema de coordenadas de referencia o su simbología se pueden modificar.

Para cambiar la simbología de la nube de puntos, haz doble clic en la capa LiDAR y busca la pestaña de simbología. Tendrás 4 opciones:

  • Extensión: Serían los límites del bloque
  • Atributos: Esta opción te permite mostrar la nube de puntos en base a sus campos escalares (intensidad, número de retorno, coordenadas, etc.
  • RGB: Si existe, es posible mostrar la nube de puntos por los colores con los que haya sido atribuída.
  • Clasificación: Generalmente, esta clasificación será responde a los estándares de la «American Society of Photogrametry and Remote Sensing«

En este ejemplo he optado por colorear la nube de puntos en base a uno de sus atributos, en concreto la coordenada Z. Para ello simplemente selecciona «Attribute by Ramp» en las opciones de simbología y ha continuación, selecciona la opción de la coordenada Z. De forma automática se crea una rampa de colores en base al rango por alturas (en este caso alturas sobre el nivel del mar).

Nube de puntos superpuesta sobre Ortofoto. El LiDAR se muestra clasificado por alturas

Por el momento, no hay algoritmos nativos disponibles en QGIS 3.18 para modificar la nube de puntos o crear productos a partir de ella. Pero teniendo en cuenta que usa la librería de PDAL, es muy posible que próximas versiones incorporen distintas funcionalidades para generar, por ejemplo, modelos digitales del terreno a partir del LiDAR.

Mapas base en QGIS. Complemento Quick Map Services.

Los mapas base nos ayudan a crear un contexto en nuestros proyectos. Son una guía sobre la que crear o modificar nuestros archivos vectoriales y raster, además de ayudarnos a comprender mejor los datos con los que estamos trabajando.

Observa la imagen inferior, a la izquierda, tenemos un archivo vectorial de carreteras y a la derecha el mismo archivo con un mapa base satélite obtenido de Google. ¿Cuál te resulta más interesante?

Mapa de carreteras con y sin mapa base

En este post vamos a hablar de las ventajas del plugin Quick Map Services de QGIS para incorporar distintos mapas base.

Antes de comenzar con el complemento de Quick Map Services, es importante recordar que QGIS tiene sus propios proveedores y complementos de terceros para acceder a los servicios de mapas base. Los protocolos WMS y WMTS se implementan en el núcleo del programa.

Del mismo modo, es posible acceder a los mosaicos XYZ a través del controlador WMS escribiendo un archivo XML especial comprensible con GDAL. Sin embargo, esto no es conveniente, ya que se necesita recordar todas estas direcciones y lleva tiempo añadir los archivos. Puedes acceder a estos servicios desde el navegador, por defecto, deberías tener un callejero de Open Street Map:

Mapa base de OSM

La alternativa de la que se habla en este post es Quick Map Services. Un complemento para QGIS que te ayudará a disponer fácilmente de numerosos mapas base.

Quick Map Services

Este plugin o complemento de QGIS, desarrollado por NextGIS, es mi opción favorita a la hora de incorporar mapas base a nuestro workbench de QGIS. El complemento viene con mapas de numerosas fuentes:

  • Bing
  • Esri
  • Google
  • OSM
  • Y muchos más!

Sus principales ventajas son:

  • Incluye una lista de servicios que se van actualizando continuamente
  • Los mapas se añaden a nuestro proyecto con un solo clic
  • Es fácilmente ampliable agregando archivos ini

Para disfrutar de todos esos mapas, tienes que seguir los siguientes pasos:

  • Dirígete al menú complementos/plugins de QGIS
  • Desde la pestaña de «todos» busca «Quick Map Services»
  • Instala el complemento
  • Una vez instalado, verás que te aparece en el menú principal una bola del mundo con un símbolo + en su parte inferior derecha.
  • Haz clic en ella y después en «Settings», «More services», «Get Contributed Pack»
  • Ahora puedes disfrutar de todos estos mapas base:

Personalmente utilizo mucho las imágenes satélite de Google para dar contexto a mis proyectos. Pero también puedes disponer del típico mapa base de ESRI Gray Dark o de imágenes de Bing o incluso OSM.

Si de todos los mapas disponibles en el complemento, no encuentras uno que se ajuste a tus necesidades, siempre puedes probar suerte usando el buscador de Quick Map Services. Para ello, pincha de nuevo en el plugin y busca donde dice «Panel Search QMS» en la parte inferior. De forma alternativa, puedes pinchar en la bola del mundo con la lupa. Se abrirá una pestaña donde podrás incluir el nombre del mapa base que andas buscando.

Buscador QMS

Intenta utlizar paalabras clave como «water», «earthquake», «DEM», etc. Por ejemplo, un mapa base muy interesante es éste elaborado por la NASA que te permite ver a nivel global la peligrosidad símismica medida por la velocidad punta de la onda en superficie:

mapa base de peligrosidad sísmica
Mapa base de peligrosidad sísmica

Observa que puedes combinar mapas base, por ejemplo en la imagen anterior, existe un mapa base de Google Satellite debajo del mapa base de peligrosidad sísmica.

Para terminar, os dejo con este mapa base un tanto vintage pero que me ha parecido muy interesante. Se trata de una imagen que emula un mapa pintado en acuarela. Para encontrarlo, simplemente escribe «water» en el buscador de «Search QMS» de tu complemento. Aparecerán además una serie de mapas base relacionados con el agua.

watercolor
Mapa base watercolor (acuarela)

Operador de consultas. Filtrando atributos en QGIS

El filtrado y selección de atributos es una operación muy común y poderosa en PostgreSQL que muchas veces nos pasa desapercibida en QGIS. Gracias a la herramienta de filtro de QGIS, podemos seleccionar aquellos elementos de una capa que deseemos, lo cual resulta de gran interés a la hora de trabajar con grandes archivos de datos.

Pero filtrar atributos, no es algo exclusivo de la tabla de atributos, también se puede utilizar a la hora de aplicar una simbología o una etiqueta especifica en aquellos elementos que deseemos.

A continuación, veremos algunos ejemplos. Puedes descargarte los datos que vamos a utilizar de la página del IGN. En este caso utilizaremos datos de la Región de Murcia, pero podrías descargar los que quisieras.

IGN
Centro de descargas (CNIG). Descarga de datos poblacionales.

Una vez descargados los datos, extrae los archivos shapefile de la carpeta comprimida y carga en QGIS el archivo SHP que se llama «areapoblacion_s.shp».

A continuación haz clic derecho sobre la capa y pincha en «mostrar números de objetos espaciales». Verás que aparece un número a la derecha del nombre de la capa que se corresponde con el total de campos de la tabla de atributos.

tabla de atributos
Tabla de atributos de la capa «areapoblación». A la derecha del nombre de la capa, podemos ver el total de campos.

Constructor de consultas

Vamos ahora a filtrar datos usando el constructor de consultas de QGIS. Antes, vamos a duplicar la capa para ver las diferencias. Haz clic derecho en la capa y después en duplicar. En la capa duplicada, vuelve a hacer clic derecho y pincha en «mostrar números de objetos espaciales» y nuevamente clic derecho y «filtrar» para abrir el constructor de consultas.

constructor consultas
Constructor de consultas

El constructor de consultas se compone de distintas partes. En la parte superior, tenemos los campos de la tabla de atributos y sus valores. En la parte central, disponemos de los operadores mas comunes. En la ventana inferior, es donde escribiremos nuestra consulta. En esta versión de QGIS (3.16) podemos también guardar y cargar consultas.

Vamos a realizar una consulta que nos muestre únicamente campos donde el número de edificios sea superior a 500. La consulta sería: «numedif» > 500

Escribe la consulta en la parte inferior. Puedes hacer doble clic en el campo «numedif» y después hacer clic en «>» para que se vaya rellenando la consulta. Después escribe «500» o busca el valor en la ventana de valores. Finalmente haz clic en «probar» para asegurarte que todo ha ido bien. Si el resultado de la consulta es satisfactorio, haz clic en aceptar.

constructor consultas SQL
Consulta para encontrar aquellos campos con mas de 500 edificios

Hemos pasado de tener mas de 60.000 elementos a tener solamente 158, los que nos interesaban. Opcionalmente, cambia la simbología de la capa (por ejemplo para que tenga un color rojo) y ponla para que se muestre en primer lugar y así apreciar los cambios.

capas
Capa filtrada superpuesta

Pero, ¿Qué ocurre si queremos aplicar mas de un filtro simultáneamente?. A continuación vamos a filtrar los datos no solo por el numero de edificios sino también por el área de los polígonos. Queremos conocer las áreas con mas de 500 edificios y más de 500.000 metros cuadrado. Vuelve a abrir el constructor de consultas y construye la siguiente consulta:

«numedif» > 500 AND «area» > 500000

constructor consultas 2
Consulta para encontrar zonas con mas de 500 edificios y área superior a 500.000 metros cuadrados.

Observa ahora la siguiente consulta. Aparte de los filtros ya utilizados, queremos encontrar aquellas áreas que pertenecen a Cartagena o Alhama de Murcia y que además, cumples con los requisitos anteriores. Para ello construye la siguiente consulta:

«numedif» > 500 AND «area» > 500000 AND («nombre» = ‘Cartagena’ OR «nombre» = ‘Alhama de Murcia’)

constructor consultas operador OR

Puedes pinchar en el campo «nombre» y en la parte de la derecha, escribir los valores de ese campo para encontrarlos más rápidamente. Tras hacer clic en probar, ahora tendremos solamente dos resultados, uno para Alhama y otro para Cartagena.

Observa los paréntesis. Al utilizar el operador «OR» después de otras consultas con el operador «AND» es importante que utilicemos los paréntesis, si no, podemos obtener resultados erróneos.

Quizás te haya llamado la atención que la parte entre paréntesis ocupa la mitad de la consulta, ya que se repita la parte «nombre» dos veces. Imagina que tuvieras que realizar la consulta para 10 áreas y tuvieras que escribir el campo «nombre» 10 veces. Quedaría una consulta muy larga. Para evitar esto, vamos a usar el operador «IN». La misma consulta de antes quedaría como:

«numedif» > 500 AND «area» > 500000 AND «nombre» IN (‘Cartagena’, ‘Alhama de Murcia’)

constructor consultas operador IN
Usando el operador «IN»

Si por el contrario quisiéramos mostrar todos los campos salvo aquellos que pertenecen a Cartagena y Alhama de Murcia, usaríamos el operador «NOT IN».

«numedif» > 500 AND «area» > 500000 AND «nombre» NOT IN (‘Cartagena’, ‘Alhama de Murcia’)

Si ahora exportamos la capa en la que hemos aplicado las consultas, podríamos guardar únicamente aquellos elementos que se encuentran filtrados. Del mismo modo, si ejecutamos algún algoritmo en dichas capas, los cambios sólo ocurren en los datos filtrados.

Operador de consultas para la simbología

Estas consultas nos sirven también no solo para la tabla de atributos si no también para el etiquetado de datos o incluso la simbología. Veamos un ejemplo para la simbología. Imagina que quieres mostrar todos las áreas que pertenecen a Murcia, Lorca y Cartagena en color verde y el resto sin color.

Para ello, simplemente dirígete a la ventana de propiedades de la capa y luego a simbología. En la parte superior haz clic en «categorizado» y después haz clic en el símbolo de épsilon para abrir el diálogo de expresiones. Copia la siguiente consulta:

simbologia
Diálogo de consultas desde la ventana de simbología

Después ha clic en «clasificar» y selecciona los colores que desees. El valor 1 corresponde para «True» es decir, aquellas zonas donde la consulta se vuelve verdadera y por tanto asignamos color verde:

Seleccionando los colores verdes para Lorca, Murcia y Cartagena.

Al volver al canvas de QGIS, obtendremos algo como lo que se muestra a continuación:

simbologia canvas qgis
Simbología generada a partir de expresión SQL.

Como ves, las expresiones SQL que podemos usar en el constructor de consultas, resultan tremendamente útiles. Nos ayudan a organizar nuestros datos e incluso crear simbología. Para mas información sobre el constructor de consultas, visita el siguiente enlace de QGIS.

Curso de introducción a ArcGIS Online

Este curso de 8 horas con numerosos vídeos, todos ellos colgados en Youtube, te ayudará a entender cómo funciona la plataforma ArcGIS Online, desde crear una cuenta hasta desarrollar tu primera aplicación.
10 vídeos en Youtube
8 horas de contenido
Numerosos ejercicios y ejemplos
Totalmente gratis

Sobre el curso y mi colaboración con GISCorps:

En 2018 tuve la oportunidad de trabajar en coloración con GISCorps para realizar este fantástico curso de ArcGIS Online donde aprenderás a crear una cuenta en AGOL, las distintas opciones de cuentas existentes, como alojar tus propias capas vectoriales y ráster en el servidor de ArcGIS, conectar tu ArcMAP con AGOL y publicar servicios, embeber tus mapas en tu pagina web y mucho más!

 

FONAFIFO es una institución gubernamental costarricense que proporciona pagos a los propietarios de tierras que celebran contratos con el gobierno para preservar las tierras forestales, practicar el manejo forestal sostenible, etc., a cambio de servicios ambientales. FONAFIFO buscó la ayuda de un voluntario de GISCorps capaz de crear vídeos de capacitación de ArcGIS Online (AGOL) en español. Antonio Javier Soto Molina (Javier Soto) fue seleccionado para este proyecto y recientemente completó la grabación de diez vídeos de capacitación. Dick Kotapish, otro voluntario de GISCorps que ayudó a FONAFIFO con un proyecto anterior, trabajó estrechamente con Javier en este proyecto.

Temario y enlaces a Youtube:

Todos los vídeos comienzan con una introducción donde se explica el contenido del vídeo. Esta introducción se ha realizado con un Story Map de la plataforma AGOL disponible en el siguiente enlace: http://arcg.is/011eK5
Todos los vídeos del curso se encuentran alojados en el siguiente enlace:
VÍDEO 1: Introducción a ArcGIS Online (AGOL) 8 min
  • En este vídeo te muestro las distintas cuentas existentes en AGOL
  • Así como los planes que más se pueden ajustar a tus necesidades.
VÍDEO 2: Cómo crear tu propia cuenta en ArcGIS Online 16 min
  • Aquí te ayudaré a crear tu cuenta de organizaciones y las prestaciones que tiene la misma.
  • Número de usuarios
  • Créditos
  • Almacenamiento
VÍDEO 3: Personalizar una cuenta de AGOL: 20 min
  • Una vez creada tu cuenta, haremos un tour por la misma y veremos las distintas opciones de personalización.
  • Cómo añadir una descripción y un logo
  • Invitar miembros, añadir usuarios y crear roles.
VÍDEO 4: Creando nuestro primer mapa 42 min
  • El siguiente vídeo te guiará en los pasos necesarios para crear tu primer mapa.
  • Añadir capas,
  • Cambiar simbología,
  • Personalizar ventanas emergentes,
  • Cambiar leyenda, guardar y compartir nuestro mapa.
  • También veremos como utilizar ArcGIS Online Assistant.
VÍDEO 5: Crear y compartir un mapa con información en vivo 41 min
  • Crear una capa con información que se actualiza.
  • Simbología con un icono personalizado.
  • Añadir capas en tiempo real.
  • Embeber un el mapa en una página web y otras opciones de los Living Atlas.
VÍDEO 6: Publicar un servicio desde ArcMAP 68 min
  • Publicar servicios de entidades tanto desde AGOL como de ArcMAP.
  • Crear entidades vacías en AGOL.
  • Publicar servicios de teselas desde ArcMAP
VÍDEO 7: Servicios ready-to-use 65 min
  • Repaso por los distintos servicios Ready-to-use.
  • Geocodificar direcciones.
  • Crear cuencas hidrológicas.
  • Crear perfiles del terreno.
  • Cálculo de rutas óptimas.
VÍDEO 8: Herramientas de análisis espacial en ArcGIS Online 55 min
  • Análisis espacial
  • Encontrar mejores rutas
  • Crear buffers e intersectar capas
VÍDEO 9: Preparando nuestros datos para crear aplicaciones web 59 min
  • Definir dominios y plantillas para crear capas más interactivas.
  • ArcGIS collector.
VÍDEO 10: Creando nuestra primera aplicación con Web App Builder 59 min
  • Que es Web App Builder.
  • Esquema para preparar un aplicación.
  • Tratamiento de datos previos.
  • Publicación de los datos.
  • Abrir los datos en la ventana de Mapas.
  • Guardar mapa. Compartirlo en Webb App Builder.
  • Personalizar nuestra aplicación