El Blog colaborativo sobre Geotecnologías, GIS y Mapas para la comunidad GEO
  • Política de cookies
  • Más información
  • Contacto
geomapik
  • Proyecto
  • Contacto
Sin resultados
Ver todos los resultados
geomapik

Cómo extraer y representar curvas de nivel con QGIS

Breve tutorial para aprender a obtener curvas de nivel con QGIS, almacenarlas y representarlas correctamente

Raúl Estévez por Raúl Estévez
11 diciembre, 2018
en Análisis GIS, Tutoriales
Home Análisis GIS
20.8k
Vistas
CompartirTwitter

En este breve artículo a modo de tutorial o guía sobre cómo extraer curvas de nivel con QGIS se muestra paso por paso el proceso de extracción, guardado y representación de curvas altimétricas con este Sistema de Información Geográfica.

Capas necesarias para generar curvas de nivel con QGIS

Para poder extraer las curvas de nivel con QGIS de cualquier área determinada vamos a necesitar dos elementos básicos.

En primer lugar, necesitaremos contar con los datos para generar dichas curvas de nivel. Los datos pueden provenir de distintas fuentes. Concretamente, tenemos dos opciones.

Para la primera opción es necesario contar con una capa de puntos de elevación. Esos puntos se podrán interpolar para obtener líneas o curvas de nivel.

En su defecto, deberemos contar con un archivo ráster que contenga información altimétrica. Es decir, con un Modelo Digital del Terreno (MDT) o Modelo Digital de Elevaciones (MDE).

Además de los datos de partida, vamos a requerir de una serie de herramientas en nuestro Sistema de Información Geográfica. En este caso, utilizaremos la herramienta destinada a extraer curvas de nivel de un archivo MDT con la que cuenta QGIS.

Obtener curvas de nivel en QGIS a partir de un MDT (DEM)

El archivo con el que trabajaremos en este caso es un Modelo Digital del Terreno descargado del Instituto Geográfico Nacional a resolución de 5 metros y en formato ASCII (.asc).

El MDT pertenece a un municipio situado en un valle pirenaico rodeado con una compleja orografía, que nos servirá para poder visualizar aún mejor el proceso y el resultado de extracción de las curvas de nivel.

En primer lugar, cargaremos la capa ráster que contenga el MDT en QGIS para poder visualizarlo, mediante la herramienta “añadir capa ráster”.

Herramienta para extracción de curvas de nivel

A continuación, nos dirigiremos al menú ráster > extracción > curvas de nivel. Una vez abierta la herramienta de extracción de curvas de nivel, asignaremos nuestro MDT a la capa de entrada, asignaremos una ruta y nombre de archivo de salida (las curvas de nivel en formato vectorial) y finalmente el intervalo entre las curvas de nivel.

Extraer curvas de nivel con QGIS - Imagen 2

Finalmente, e importante, activaremos la opción de añadir nombre de atributo. De este modo, el propio QGIS asignará un nuevo campo que incorporará los valores de altitud de cada una de las líneas a la capa de curvas de nivel.

Por defecto, el nombre del campo que asigna para dichas curvas es ALT. Podemos asignar el que más nos interese. Posteriormente, podremos consultar la altitud que representa la línea en cuestión y realizar selecciones por valores de altura.

Aceptamos y a continuación se nos generará la capa vectorial en la ruta asignada. Podemos cargar la capa generada en QGIS si no hemos marcado la opción de cargar la vista del mapa al terminar el proceso. Deberíamos visualizar las curvas de nivel de forma parecida a la siguiente.

Extraer curvas de nivel con QGIS - Imagen 3

Como vemos, las curvas de nivel extraídas del MDT son tremendamente densas. Esto es debido a diversos factores. En primer lugar, se debe a la propia orografía del área de estudio elegida; en segundo lugar, debido a la resolución del archivo ráster; y por último debido al valor de intervalo asignado entre curvas. En nuestro caso, asignamos un intervalo cada 50 metros y el área tiene zonas montañosas importantes.

El siguiente paso será representar correctamente las curvas de nivel según nuestras necesidades, adecuándose a los requisitos cartográficos del proyecto, y asignar etiquetas para mostrar valores de altitud, etcétera.

Representar las curvas de nivel en QGIS

Previamente se había marcado la opción de generar un nuevo campo con los atributos de altura al crear el archivo de curvas de nivel. Por ello, al abrir la tabla de atributos de la capa, podemos ver como aparecen los valores de altura para cada una de las líneas existentes.

Extraer curvas de nivel con QGIS - Imagen 4

De este modo, QGIS nos va a permitir representar de forma graduada las curvas de nivel según el factor altura del campo que contiene esa información. En nuestro caso, como dejamos el nombre por defecto, el campo “ALT” contiene los valores de elevación.

Representación por intervalos

Para poder representar las curvas de nivel de forma graduada lo haremos abriendo el panel de simbología (en el panel de capas: botón derecho sobre la capa > propiedades > estilo). Escogeremos la opción “graduado” y como columna, lógicamente, seleccionaremos en nuestro caso “ALT”. Elegiremos una paleta de color y asignaremos clasificar.

Podremos variar el número de clases a representar de forma graduada, así como el valor entre intervalos. Adecuaremos, si fuera necesario, los valores máximos y mínimos de cada intervalo. Aplicaremos los cambios una vez ajustados.

Extraer curvas de nivel con QGIS - Imagen 5

De este modo las curvas de nivel se mostrarán graduadas en cuanto a color en función de su valor de altura contenido en la columna “ALT”. Resulta útil, por ejemplo, si debemos representar las curvas adaptadas a tintas hipsométricas o si existiera, por ejemplo, curvas situadas por debajo del nivel del mar, etcétera.

Representación mediante graduación cromática

Otra opción es desear mostrar las curvas de nivel sin una clasificación de intervalos, sino únicamente como una transición o graduado suave de un color a otro. En este caso, en estilo escogeremos la opción “categorizado” y cargaremos todos los valores del atributo altura, asignando una paleta de color de transición entre dos o más colores.

Extraer curvas de nivel con QGIS - Imagen 6

En este caso no existirán los intervalos, sino que cada una de las curvas recibirá un color comprendido entre cada uno de los dos situados a cada extremo de la paleta escogida. Se trata de una opción útil para representar efectos de profundidad y altitud, a modo de complemento a las clásicas tintas hipsométricas.

Aislar y exportar las curvas de nivel

Una de las necesidades que se nos puede plantear es la de tener que representar las curvas de nivel principales o maestras cada ciertos metros, de forma distinta a las demás (secundarias o auxiliares).

Una de las opciones existentes pasa por seleccionar y exportar las curvas de nivel principales. Para ello, primeramente procederemos a seleccionar tan sólo aquellas curvas que sean múltiples, por ejemplo, de 250 metros comprendidas en nuestro área de estudio.

En nuestro caso, conociendo los valores de altura máxima y mínima, determinamos que los valores a seleccionar serán 500, 750, 1000, 1250, 1500, 1750, 2000 y 2250 metros. Para seleccionar las líneas que representan las curvas con dichos valores podemos hacerlo directamente mediante la tabla de atributos.

Sin embargo, como las líneas no son cerradas, sino que quedan interrumpidas por los límites del MDT, deberíamos seleccionar múltiples líneas para una sola curva de nivel.

Extraer curvas de nivel con QGIS - Imagen 7

Selección de múltiples curvas de nivel

A pesar de que el área de estudio para el ejemplo es pequeña, el proceso de seleccionar todas las curvas de nivel identificadas puede llevarnos un tiempo largo para áreas mayores. No se trata de un procedimiento eficiente para seleccionar curvas de nivel y aumenta las probabilidades de error.

Por ello, utilizaremos alternativamente la selección por atributos de QGIS, introduciendo directamente los valores de altitud de las curvas de nivel que nos interesan. En el menú de selección superior de QGIS haremos clic en “seleccionar por expresión”.

Extraer curvas de nivel QGIS - Imagen 8

A continuación, se nos desplegará un panel en el que deberemos introducir una expresión indicando que queremos seleccionar los valores de la columna “ALT” coincidentes con los establecidos cada 250 metros. Podemos hacerlo rápidamente introduciendo una expresión como la siguiente.

Extraer curvas de nivel QGIS - Imagen 9

Haciendo clic en seleccionar quedarán resaltadas las líneas referentes a los valores indicados en la expresión. Podemos cerrar el panel de “selección por expresión”.

A continuación, lo que haremos será exportar las entidades seleccionadas como una nueva capa vectorial. Para ello, clic derecho sobre la capa de curvas de nivel > guardar como y asignamos tipo de archivo, ruta y nombre. Marcaremos la opción de guardar únicamente las entidades seleccionadas.

Extraer curvas de nivel QGIS - Imagen 10

Selección inversa para exportar capas diferenciadas

Seguidamente, realizaremos una selección inversa (CTRL + I, o alternativamente desde el menú de selección > “invertir selección de objetos”). Ahora tenemos seleccionadas todas las entidades excepto las que habíamos guardado anteriormente cada 250 metros. En otras palabras: están seleccionadas las curvas auxiliares en vez de las curvas maestras.

Lo que haremos a continuación será guardar también estas entidades seleccionadas como otra capa vectorial, utilizando el mismo procedimiento.

Ahora contamos con dos archivos distintos de curvas de nivel. El primero de ellos comprende las curvas de nivel principales o maestras (cada 250 metros) y el segundo aquellas curvas auxiliares con valores intermedios, es decir, situadas entre las curvas maestras. Así, podremos representar de forma distinta las curvas de nivel, asignando simbología y etiquetado alternativo según sean curvas auxiliares o maestras.

Extraer curvas de nivel QGIS - Imagen 11

Cargando las capas podemos visualizarlas independientemente, asignando colores, grosores o tipologías de línea distintas. Además, podremos generar productos derivados del MDT como por ejemplo capas de sombras o hillshades, asignando transparencia y mejorando la visualización de las capas.

Etiquetar las curvas de nivel en QGIS

Una vez diferenciadas podremos asignar el etiquetado según los valores de las capas, pues al exportar las selecciones como nuevas capas se conservan los atributos y columnas de la capa original.

Para realizar el etiquetado podemos hacer clic derecho sobre la capa > propiedades > etiquetas. A continuación, seleccionaremos el atributo con el que etiquetar las líneas de curvas de nivel que volverá a ser el atributo “ALT” que habremos conservado.

Podremos modificar las opciones referentes al texto, al reborde o buffer para destacar la etiqueta o el orden de las etiquetas.

Representar curvas de nivel QGIS - Imagen 12

Además, tratando de etiquetar elementos lineales como lo son las curvas de nivel, es interesante activar la opción de ubicación “curvo”. De esta manera la etiqueta se emplazará siguiendo el contorno de la línea curva, adaptándose a ella.

Deberemos establecer igualmente los valores de repetición para no masificar nuestro mapa con etiquetas, y evitando que estas sean escasas.

Representar curvas de nivel QGIS - Imagen 13

Finalmente, una vez configuradas la simbología y las etiquetas obtendremos una vista final que deberemos ajustar para adecuaremos a la producción cartográfica necesaria.

Etiquetas: AnálisisCartografíaDiseño cartográficoMapasQGISTutorial
Compartir664Tweet415
Post anterior

Missing Maps: un proyecto humanitario para cartografiar zonas vulnerables

Post siguiente

Aprender programación GIS gratis: 15 webs de referencia

Raúl Estévez

Raúl Estévez

Post siguiente
aprender programacion GIS gratis

Aprender programación GIS gratis: 15 webs de referencia

Instalar paquetes python qgis - portada osgeo

Instalación de paquetes de Python para QGIS

Comentarios 6

  1. sebastian yañez says:
    4 años atrás

    consulta, como puedo agregar una etiqueta «metros» pero abreviado (m) a mis curvas de nivel? que quede así por ejemplo: 100 m que aparezca esa «m».

    Responder
    • Raúl Estévez says:
      4 años atrás

      Hola Sebastian,

      gracias por tu comentario. Para poder añadir unidades (por ejemplo, «m», «cm», «ha», «km»…) a las etiquetas de un campo de cualquier capa vectorial, deberás acceder a las propiedades de capa. Desde allí, en el menú de etiquetas acceder al diálogo de expresiones (símbolo ℰ morado) e introducir una expresión similar a: «nombre de campo» || «unidad».

      Por ejemplo, suponiendo que tenemos las cotas de las curvas de nivel en una capa vectorial de líneas almacenadas dentro del campo «elevacion» y queremos etiquetar cada línea con su elevación seguida de «m», deberíamos introducir la siguiente expresión: elevacion || ‘ m’.

      Con eso te debería funcionar. Espero que te sirva de ayuda.

      Un saludo!

      Responder
  2. Rodrigo says:
    3 años atrás

    Estimados,

    instalé el QR 3.10 y en el menú ráster no me muestra la oción extraer. Que puede estar pasando?

    Responder
    • Raúl Estévez says:
      3 años atrás

      Hola Rodrigo,

      prueba a activar el panel de procesos. Puedes hacerlo haciendo click derecho sobre el menú superior. En él, dentro del panel de búsqueda, trata de localizar dicho geoproceso. Además, asegúrate de tener activados los proveedores desde configuración de QGIS.

      Saludos!

      Responder
  3. Grisel González says:
    3 años atrás

    Hola! Una duda, como puedo exportar curvas de nivel con elevaciones de Qgis a Autocad? muchas gracias…

    Responder
  4. Elson Meneses Pelayo says:
    3 años atrás

    hola¡ Cómo puedo cerrar las curvas de nivel para guardarlas como poligonos y luego usarlas para extraer datos de un raster como mascara. Es una cuenca, tengo las curvas de nivel y el shape de la cuenca. Como tienen geometría diferente no pude unirlas de una vez sin antes transforma el shape en linea, luego uní la linea con las curvas y está bien pero cuando intento convertir esto a poligonos el resultado descarta muchas curvas y solo muestra un shape con algunas. espero me haya dado a entender. lo que necesito finalmente es extraer información de un raster con datos distintos a altitud a partir de unos intervalos de altura.

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Posts Recomendados

TimeManager QGIS plugin mapa animado

Mapas animados en QGIS con Time Manager

6 febrero, 2019
8.1k
que es postgis

¿Qué es PostGIS? Extensión GIS para PostgreSQL

26 septiembre, 2019
7.6k
Geotecnologías GIS Mapas Cartografía Digital

Geotecnologías, GIS y Mapas

Información, recursos de aprendizaje y novedades del sector GEO para los usuarios especializados en el manejo de la información geográfica, su análisis y su representación.

Posts Nuevos

Overture Maps. ¿Rival para Google Maps?

Overture Maps ¿una nueva plataforma de mapas con datos abiertos?

19 diciembre, 2022
155
El futuro de los GIS según OpenAI

El futuro de los GIS y el sector geoespacial según OpenAI

9 diciembre, 2022
151
GeoPandas librería geoespacial para Python

Librería GeoPandas de Python: qué es y para qué sirve

22 septiembre, 2021
2.1k
ogr2ogr-postgis-geopackage-shapefile

ogr2ogr para importar datos a PostGIS: Shapefile, Geopackage y GeoJSON

20 septiembre, 2021
1.8k
que es la geoestadistica

¿Qué es la Geoestadística? Análisis geoestadístico con R, ArcGIS y QGIS

8 mayo, 2020
9.3k
Geotecnologías GIS Mapas Cartografía Digital

El blog colaborativo sobre Geotecnologías, GIS y Mapas para la comunidad GEO

Información, recursos de aprendizaje y novedades del sector GEO para los usuarios especializados en el manejo de la información geográfica, su análisis y su representación.

Todo reunido en un blog colaborativo y abierto. ¿Te animas a colaborar con geomapik?

Categorías

  • Análisis GIS
  • Desarrollo GIS
  • Novedades GIS
  • Recursos GIS
  • Spatial Data Science
  • Tutoriales
  • Uncategorized
  • Webmapping
Sin resultados
Ver todos los resultados
Novedades GIS

Overture Maps ¿una nueva plataforma de mapas con datos abiertos?

19 diciembre, 2022
155
Novedades GIS

El futuro de los GIS y el sector geoespacial según OpenAI

9 diciembre, 2022
151
Spatial Data Science

Librería GeoPandas de Python: qué es y para qué sirve

22 septiembre, 2021
2.1k
Spatial Data Science

ogr2ogr para importar datos a PostGIS: Shapefile, Geopackage y GeoJSON

20 septiembre, 2021
1.8k

Etiquetas

Análisis (15) Análisis de datos (5) aprender GIS (5) ArcGIS (5) Bases de Datos Espaciales (5) Cartografía (28) Data Analysis (4) Data Science (4) Datos (9) Desarrollo GIS (16) Diseño cartográfico (6) ESRI (3) GDAL (2) geoestadística (2) Geoinformática (7) Geopandas (2) Geotecnología (4) GIS (41) Javascript (4) Jupyter Notebook (3) Linux (2) Mapas (19) Matplotlib (2) MDT (3) Medio Ambiente (2) OGC (2) OpenStreetMap (3) pgAdmin (2) plugins (7) PostGIS (7) PostgreSQL (6) Programación (14) Python (8) QGIS (25) R (5) ráster (2) Sistemas de Información Geográfica (33) SQL (6) Tutorial (12) visor de mapas (3) visualización (3) Webmapping (11) WKT (2) WMS (2) WMTS (2)

© 2018 geomapik - Geotecnologías, GIS y Mapas

Sin resultados
Ver todos los resultados
  • Proyecto
  • Contacto

© 2018 geomapik - Geotecnologías, GIS y Mapas

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies