A la hora de crear proyecto GIS, siempre nos surge la necesidad de generar una serie de capas que no se encuentren disponibles en los portales de datos abiertos o en las Infraestructuras de Datos Espaciales disponible. Es por ello que en este post te enseñaremos a generar un archivo vectorial de curvas de nivel a través de un Modelo Digital del Terreno (MDT) con el software libre QGIS.
¿Qué son las curvas de nivel y como se representan?
Las curvas de nivel o isolíneas de altitud, son líneas que unen puntos o cotas con igual altitud dentro de un mapa. Realmente consiste en cortar la superficie del terreno mediante una serie de planos paralelos separados por cierta distancia (5, 10, 50, 100, etc). La forma en que se representan estas líneas nos da idea de las diferencias de altitud existentes en una extensión concreta del espacio.
Para daros una pista, si hay muchas curvas de nivel juntas, esto significa que el relieve es más abrupto (mayor grado de pendiente). Sin embargo, cuando dos líneas están muy separadas entre si, significa que el relieve es más suave y por tanto hay menor grado de pendiente.
¿Dónde descargar la capa raster necesaria? ¿OSM – OpenStreetMaps?
Como suelo decir en diferentes artículos, para cualquier proyecto GIS lo más importante es trabajar con unos buenos datos, y en muchas ocasiones, es difícil encontrarlos si no nos los proporcionas. Éste es uno de esos casos, en los que mucha gente puede saber crear curvas de nivel a partir de una imagen ráster, pero cuando ve necesario obtener ese ráster, no sabe dónde encontrarlo.
Portales de descarga de datos
El centro de descarga de datos por excelencia en España, pertenece al Instituto Geográfico Nacional (IGN). Desde el CNIG, es posible obtener tanto datos ráster como vectoriales. Además de modelos LiDAR, datos sobre peligrosidad de inundación, Callejero, etc.

Por otra parte, existen los portales de datos abiertos y las infraestructuras espaciales desarrolladas para cada comunidad autónoma. Además de diversas web de descarga de datos gratuitos. Entre ellas se encuentra OSM.
OSM – OpenStreetMaps
Muchos mapas realizados con OpenStreetMaps utilizan isolineas, pero debemos de saber que OSM no guarda estos datos. A menudo, estos datos están sacados de las imágenes proporcionadas por la misión SRTM.
Esto puede sonar desconcertante y complicado, pero vamos a ver cómo adquirir estos datos para importarlos en QGIS y generar nuestras líneas de elevación.
Extraer curvas de nivel con QGIS
Importar ráster a QGIS
Como ya hemos comentado, las curvas de nivel se pueden obtener a través de un Modelo Digital del Terreno (MDT). En este caso, el MDT que se va a utilizar es de la provincia de Cantabria con un tamaño de pixel de 200 metros (CNIG). Una vez tenemos descargado el archivo ráster, deberemos importarlo a QGIS desde Capa > Añadir capa > Añadir capa ráster o bien desde el Administrador de Fuentes de Datos > Ráster.
De esta forma se cargará en el panel de capas y se visualizará en el canvas. Importante saber el SRC de la capa para configurar el proyecto con el mismo sistema. En este caso es ETRS89 EPSG:25830.

Recortar ráster con QGIS
Al querer solo las curvas de nivel para la provincia de Cantabria, lo siguiente que se debe hacer es recortar el ráster para adaptarlo a nuestra zona de estudio. Este ráster tiene una extensión muy grande, y calcular las curvas de nivel de toda su superficie sería un cálculo muy costoso, así como un archivo resultante muy pesado.
Por ello, existe una herramienta en QGIS que permite cortar el ráster por extensión del canvas o por capa de máscara. Esta la podemos encontrar en la Caja de herramientas de procesos dentro de la librería GDAL.
En este caso, ya disponemos de una capa de provincia de Cantabria. Así que abriremos la herramienta Cortar ráster por capa de máscara. Los parámetros a introducir son los siguientes:
- Capa de entrada: El MDT de 200 m de Cantabria descargado.
- Capa de máscara: La capa poligonal de la provincia de Cantabria.
- SRC de Origen y de destino: el SRC que tengan las capas. En este caso EPSG: 25830 ETRS89 / UTM zone 30N.
- Cortado (máscara): o bien se guarda como archivo temporal o se le asigna una ruta y un nombre al archivo de salida.

Una vez configurado, se ejecuta la herramienta y el resultado sigue siendo un archivo ráster de 200 metros de píxel pero ajustado al límite provincial de Cantabria.

Generar curvas de nivel con QGIS
Con este archivo ráster recortado ya podremos generar las curvas de nivel de Cantabria. Para eso debemos ir al menú Ráster > Extracción > Curvas de nivel. La configuración de la herramienta es la siguiente:
- Capa de entrada: El MDT de 200 m recortado para Cantabria.
- Intervalo entre curvas de nivel: En este caso, vamos a generar las curvas de nivel cada 50 metros. Tener en cuenta que este valor dependerá de la configuración de las unidades de medidas del proyecto. Pero por norma general suele ser en metros.
- Contornos: o bien se guarda como archivo temporal o se le asigna una ruta y un nombre al archivo de salida.

Una vez seleccionados los parámetros que queremos (archivo de entrada, archivo de salida y distancia entre las líneas), obtendremos el archivo vectorial mostrado a continuación.

Ahora podremos clasificarlas según el campo valor, filtrarlas, etc. Para ello, desde el botón derecho sobre la capa > Propiedades > Simbología > Graduado.

Como siempre, tras este análisis de partida, tendremos infinidad de usos para los datos derivados. Si quieres aprender sobre el diseño de mapas, disponemos de un Curso de Diseño Cartográfico con ArcGIS y QGIS que puede interesarte.
Conclusión
Es importante saber que cuando nos enfrentamos a un proyecto GIS, no siempre contamos con todos los datos que quisiéramos. Por eso es importante por un lado saber generarlos nosotros mismos (en la medida de lo posible, claro) y por otro conocer las fuentes donde obtener buenos datos para por ejemplo, poder generar curvas de nivel con QGIS.
Si estas empezando con QGIS te recomendamos nuestro Curso de introducción a los sistemas de información geográfica con QGIS, y si ya eres un usuario con cierto nivel, tenemos a tu disposición una amplia gama de Cursos de QGIS para todos los niveles.
Articulo actualizado a 3 de junio de 2022
Hola antes de nada muy interesante la página. Pero me surge un problema con Qgis. Resulta que yo me bajo el MDT en formato asc de internet y lo añado como capa raster a Qgis. Después me voy a la herramienta extracción de curvas de nivel. Finalmente lo exporto a dxf, y aqui viene la sorpresa, que abro AutoCAD y me doy cuenta que no tienen elevacion ninguna de las curvas de nivel. Llevo varios días intentando dar con la tecla para que me conserve las elevaciones de las curvas al exportar, asi como que me genere tambien las etiquetas de las cotas, pero no consigo ninguna de las dos cosas, me podrían dar ustedes alguna pista de qué es lo que me estoy saltando o haciendo mal?
Gracias y un saludo
Prueba a crear un campo «Elevation» i calcúlalo con las cotas de las curvas. Este campo Elevation es el que entienden los programas CAD como alzado.