En el siguiente tutorial vamos a mostrarte cómo crear un MDT a partir de un CSV (archivo de texto delimitado por comas), con las cotas. Para ello, utilizaremos un proceso conocido como interpolación espacial.
Te animamos a seguir este tutorial, puedes descargarte los datos necesarios pinchando aquí.
Índice
¿Qué es la interpolación espacial?
Por interpolación espacial se entiende “el procedimiento que permite calcular el valor de una variable en una posición del espacio, conociendo los valores de esa variable en otras posiciones” (Burrough y McDonnell, 1998).
La interpolación espacial se suele utilizar cuando los datos no cubren totalmente el área de interés, y para convertir observaciones discretas en datos continuos, pero también es necesaria en otros casos:
- Cuando una superficie deba cambiar de resolución espacial.
- Que una superficie debe cambiar de orientación (por rotación de los ejes).
- Cuando se necesita transformar el modelo de datos.
- Que se desee calcular elevaciones puntuales a lo largo de una isolínea.
Existen muchos métodos de interpolación espacial, los más conocidos y ampliamente utilizados son el método de Distancia Inversa Ponderada (IDW) y el método de Redes Irregulares Trianguladas (TIN).
En este proceso que nos ocupa emplearemos el segundo método mencionado.
Método de Red Triangulada o TIN
El TIN es un modelo de datos vectorial que, básicamente, compartimenta el espacio mediante facetas triangulares cuyos vértices son los puntos muestrales. Desde el punto de vista de la interpolación, puede considerarse un método local y exacto, y que asigna a cada punto a interpolar un valor que depende del que posean los tres puntos muestrales más cercanos, y estos puntos son los vértices del triángulo que lo contiene.
Comenzamos.
Creación de una capa de cotas en formato GeoPackage a partir de un archivo csv
En primer lugar, debemos importar los valores de cota (valor Z) a una capa vectorial en formato GeoPackage, emplearemos para ello la herramienta Añadir capa de texto delimitado en QGIS.
Tras seleccionar dicha herramienta, introducimos los siguientes parámetros en la misma:
- Nombre de archivo: seleccionamos el archivo cotas.csv
- Nombre de la capa: cotas
- Formato de archivo:
- Delimitadores personalizados → Punto y coma.
- Opciones de registros y campos: Marcamos la casillas:
- El primer registro tiene los nombres de campo.
- Detectar tipos de campo.
- Definición de geometría:
- Coordenadas del punto (indica los campos para las coordenadas X e Y).
- SRC de la geometría: ETRS89 UTM Zone 30N (EPSG: 25830).
Hacemos clic en Aceptar y se creará una capa virtual, es decir, está guardada en memoria. Si deseamos que la capa sea “estable”, y poder utilizarla con posterioridad al cierre del proyecto, hay que exportarla. Para ello, la seleccionamos en el panel de capas y en el menú Exportar → Guardar objetos como… indicamos el formato GeoPackage (por defecto), la ruta de alojamiento y el nombre para la nueva capa:
Crear un MDT mediante el método TIN
El siguiente paso es, mediante interpolación espacial, emplear el método TIN para generar un MDT a partir de la nueva capa de puntos que acabamos de crear. De ella necesitaremos el valor de cota que viene reflejado en el campo Z.
Vamos a la caja de herramientas de Procesos y buscamos la herramienta Interpolación TIN que se encuentra bajo Interpolación.
Ejecutamos el algoritmo e introducimos en él los siguientes parámetros:
- Capas vectoriales: cotas
- Atributo de interpolación: Campo Z (Haz clic en el botón + para añadir).
- Método de interpolación: Interpolación triangular (TIN).
- Haz clic sobre el botón Establecer extensión actual.
Ahora debemos establecer un tamaño de celdilla para la resolución del archivo de salida, dependiendo de la calidad muestral del archivo de cotas esta puede ser mayor o menor. En nuestro caso vamos a establecer un tamaño de celdilla de 50 metros:
- Tamaño X de celda: 50.
- Tamaño Y de celda: 50.
- Indicamos el nombre del archivo de salida y su ubicación.
Hacemos clic en Ejecutar para generar el MDT, dependiendo de las características técnicas del ordenador este proceso puede tardar varios minutos. Al finalizar el proceso se cargará el MDT en QGIS:
Accediendo a la simbología de la capa podemos modificar su aspecto para que sea más representativo:
Si quieres aprender a crear MDT con QGIS y otras muchas cosas interesantes, inscríbete en nuestro curso online de QGIS avanzado.
Tutor de los cursos de QGIS, QGIS avanzado, QGIS aplicado a Urbanismo y Catastro, PostGIS, Teledetección con QGIS y Google Earth Engine, PostGIS y ArcGIS. Licenciado en Geografía y Master en SIG y Ordenación del Territorio. Echa un vistazo a todos nuestros cursos de SIG online.
Buenas la herramienta Interpolation TIN de QGIS puede generar una TIN vectorial pero en 2D!, es posible construir un TIN vectorial en 3D?
Hola Carlos,
Para emplear la coordenada Z debes de seleccionar la columna de atributos a usar para la interpolación o habilitar la casilla Usar coordenada-Z para interpolación en la ventana de la herramienta.
Estas son las posibilidades que ofrece QGIS. Además de realizar un modelado 3D con su herramienta de Crear vista 3D.
Un saludo!
Hola Diego¡¡
¿Ya no está el archivo para seguir el tutorial? Parece que hay un error y no se descarga. Me gustaría poder realizar la prueba. ¿puedes volver a colocarlo?
Espero que sí.
Saludos.
Hola ghz,
Ya está el post actualizado con el archivo de cotas para que pueda seguirse el ejercicio.
Un saludo!
Buenas tardes;
Me gustaría cómo se podría (si es que se puede) cambiar el paso entre las curvas de nivel una vez tenemoss generadas las líneas en una capa.
Un saludo y gracias.
Hola Miguel Ángel,
Una vez tengas el MDT necesario para extraer la información altimétrica puedes indicar la equidistancia de las curvas de nivel en la herramienta Ráster/Extracción/Curvas de nivel al valor deseado en Intervalo entre curvas de nivel.
Este valor debes de considerarlo en función de si se trata de una zona abrupta o de escaso relieve para que el archivo final sea representativo de la misma.
Un saludo!
Buenas tardes
Me gustaria saber como alinear las etiquetas de altitud de las curvas de nivel, de manera que aparezcan en orden alineadas una encima de la otra en una zona del mapa, y no aleatoriamente
Muchas gracias
Saludos
Ibai
Hola Ibai,
Puedes etiquetar las curvas de nivel de forma alineada con la herramienta Contour Annotation de las ArcToolbox (Cartography Tools/Annotation) seleccionando el tipo ENABLE LADDERING.
Un saludo!
Buenas tardes
He seguido todos tus paso. Pero al exportar el archivo en .dxf y abrirlo en Autocad 2007, no veo nada. ¿Que me falla?
Buenos días Enrique, En AutoCAD no sabemos qué puede estar ocurriendo. Si tienes algún problema con QGIS coméntanoslo. Saludos!
Hola, buenas tardes y de antemano gracias a Diego. Hice todos los pasos para generar el DEM, pero al final lo que me entrega es un ráster con mínimos y máximos «nan», cómo remedio ésto?. De nuevo, gracias!.
Hola Jimmi,
Si has seguido los pasos descritos en el tutorial el MDT debe de generarse de modo correcto, por lo que puede deberse a un bug de programa que puedes comentar en la lista de usuarios de QGIS.
Puedes encontrar más información en: https://www.qgis.org/es/site/forusers/support.html
Un saludo!
Hola!! gracias por la info!
Tengo el siguiente problema… quiero que la extensión exceda la Extensión actual. Es posible esto?
Muchas gracias!
J.
Hola Josefina,
Puedes introducir manualmente la extensión deseada a través de las coordenadas de la misma, pero si excede la extensión del archivo solo obtendrás datos en la extensión del archivo. Fuera de esa extensión los valores serán nulos.
Un saludo!
Hola,
Estoy empleando el MDT del Ministerio de Fomento para generar un mapa con curvas de nivel de Asturias. He conseguido generar el mapa y exportarlo en formato .dxf a Autocad, pero no encuentro la manera de colocar a cada curva de nivel etiquetas indicando su cota. ¿Es esto posible?
Saludos,
Pelayo.
Hola Pelayo,
Con QGIS no he encontrado la forma de realizar este proceso. Si bien con ArcGIS puede ser posible de la siguiente forma:
Partiendo de un shapefile con un campo que guarda la altitud asociada a cada curva de nivel lo convertimos a 3D con la herramienta Feature to 3D by attribute (donde el atributo es el campo mencionado).
Este archivo generado lo debes de convertir a CAD mediante la herramienta Export to CAD del grupo Conversion Tools/To CAD.
De este modo podrías obtener un dwg con las etiquetas con las cotas de las curvas de nivel..
Un saludo!
Buenas tardes, no me aparece la casilla que quiero para hacer interpolación a que se deberá? Agradezco su ayuda
Hola Roberto,
El campo de valor de altitud debe de ser decimal (double). Crea por tanto un campo de este tipo con la calculadora de campos y otórgale los valores del campo Z que hemos extraído del archivo .csv
Un saludo!
Hola, construí las curvas de nivel a partir del srtm que descargue del IGN, luego genere las curvas de nivel, pero al agregar las etiquetas de las curvas de nivel me da valores que no corresponden a los reales. Abri la tabla de atributos pero no me aparece el campo de alturas sino uno de ID que corresponde al numero de curva y no de la altura.
Cual fue el error? o debo calcularlas? como lo soluciono?
Hola Romina,
Al emplear la herramienta Curvas de nivel en QGIS debes de marcar la casilla de verificación para generar el campo de altitud, como indicamos en el tutorial, de lo contrario no se genera esta información.
Un saludo!
Buenas tardes,
¿Cómo incluir lineas de rotura?
Un saludo.
Fernando Pulgarín
Hola Fernando,
Si posees un archivo .csv con las coordenadas de los nodos puedes incluirlos como capa puntual a través de la herramienta Añadir capa de texto delimitado.
Una vez creada dicha capa de tipo punto puedes convertir la capa puntual a capa de tipo línea mediante el plugin Points2One, uniendo los nodos para generar líneas.
Un saludo!
Gracias Diego,
Saludos.