Herramienta de código abierto para convertir un DEM en un modelo 3D

11

Me gustaría convertir un archivo DEM (modelo de elevación digital) (por ejemplo, de SRTM) en un modelo 3D que luego pueda editar con herramientas de modelado 3D normales (por ejemplo, Meshlab / Blender / etc.). Sin embargo, estoy usando Ubuntu Linux.

Entonces, ¿hay algún programa / herramienta de código abierto que pueda hacer esto? Y si es así, ¿puede darme una guía simple sobre cómo convertir un DEM a un modelo 3D? (programas de línea de comandos preferidos)

Rory
fuente

Respuestas:

7

Blender tiene una API de Python. Por lo tanto, uso Python en Blender e importo las bibliotecas GDAL y construyo una malla nativa de Blender directamente desde los datos SIG. Lo único que debe tener cuidado es que la versión de GDAL que tiene coincide con la versión de Python en la versión de Blender que está utilizando.

EDITAR complementos:
si no desea escribir su propio script utilizando Blender Python API y GDAL, hay algunos complementos que están disponibles como estándar que pueden ayudar:

  1. Importar DXF
  2. Hay importadores para OBJ, X3D y VRML y algunos sistemas GIS 3D exportarán a estos (por ejemplo, ArcScene y NVIZ), aunque esta ruta es necesariamente estrictamente gratuita.

Hay un complemento para los datos XYZ, pero no es estándar y está dirigido principalmente a datos moleculares, aunque tal vez podría doblarlo a su voluntad. Para ver una gama completa de importadores comerciales de Blender, consulte aquí . Hay un importador PDS .IMG en Blender, pero GDAL solo puede leer archivos PDS IMG (no debe confundirse con los archivos Erdas IMG que son diferentes).

Entonces, realmente, su mejor opción si tiene un GeoTiff, ASC o cualquier otro ráster de datos de altura es escribir un pequeño script para iterar sobre el ráster ya que no hay un complemento listo para la mayoría de los casos de uso, a menos que pueda exporta tu DTM a DXF, VRML u OBJ.

MappaGnosis
fuente
¿Hay algún complemento en particular o algo con lo que pueda descargar y jugar?
Rory
1
Lo mejor que puedes hacer es crear tu propio guión. Mira mis ediciones
MappaGnosis
4

He descubierto que NVIZ (que forma parte del paquete GRASS) es una herramienta útil para visualizar datos DEM como un modelo 3D.

Para instalar el complemento GRASS (si ya tiene QGIS instalado), simplemente navegue a Complementos -> Administrar e instalar complementos -> Obtener más e instalar GRASS. ¡Asegúrate de que esté marcado en tu lista Administrar e instalar complementos!

  1. Una vez que haya instalado GRASS, comience agregando su capa ráster. Puede hacerlo navegando a Capa -> Agregar capa ráster -> Seleccionar

  2. Luego cree un nuevo conjunto de mapas en GRASS. Para hacerlo, navegue a Complementos -> GRASS -> Nuevo conjunto de mapas o use la barra de herramientas de GRASS que debería estar visible. A. Seleccione una ubicación para su conjunto de datos GRASS B. Ingrese un nuevo nombre de ubicación de su elección C. Seleccione la proyección que desee D. Seleccione una región de la lista desplegable o seleccione manualmente una utilizando las coordenadas lat / long (puede buscar el lat / long de su ubicación en la web) E. Ingrese un nuevo nombre de conjunto de mapas y luego haga clic en Finalizar.

  3. A continuación, querrás cargar tu DEM o capa ráster en GRASS. Para ello, A. Navegue a Complementos -> GRASS -> Abra las herramientas de GRASS B. En “Lista de módulos”, seleccione “r.in.gdal.qgis” C. En “Capa cargada”, seleccione su capa de lista desplegable y nombre el archivo de salida D. Haga clic en "Ejecutar"

  4. Ahora debe agregar la capa ráster GRASS a su conjunto de mapas A. Navegue a Plugins -> GRASS -> Agregar capa ráster GRASS o haga clic en. B. Seleccione su ubicación y conjunto de mapas, y luego seleccione su capa y haga clic en "Aceptar"

  5. Es posible que desee colorear su trama. Si es así, A. Asegúrese de haber seleccionado la capa ráster de salida correcta B. Navegue a Complementos -> GRASS -> Abra las herramientas de GRASS C. En la "Lista de módulos", haga clic en "r.colors.table". D. Seleccione la capa de entrada y luego elija un "Tipo de tabla de colores" E. Presione "Ejecutar".

  6. Ahora viene la parte divertida. Visualizando en 3D usando NVIZ. Por lo tanto, querrá A. Establecer una región de mapa específica para el modelado 3D navegando a Complementos -> GRASS -> Editar región de GRASS actual. Luego, seleccione manualmente la región deseada dibujando un marco rojo con el mouse o establezca las coordenadas en el cuadro de diálogo que aparece. (Esto ayuda a NVIZ a determinar qué resolución usar) B. Navegue a Complementos -> GRASS -> Abra las herramientas de GRASS C. En “Lista de módulos”, seleccione “nviz” D. Seleccione el ráster para Elevación y Color (pueden ser los mismos uno), y haga clic en el cuadrado a la derecha (que significa "Usar región de este mapa") E. Presione "Ejecutar"

¡Entonces juega con diferentes vistas, alturas e iluminación hasta que tengas la imagen deseada!

Espero que esto ayude y por favor avíseme si tiene alguna pregunta

Ziza
fuente
Notaré que tuve problemas con la proyección al usar una capa SRTM. ¿Alguien tiene alguna sugerencia?
Zizah
¿Qué tipo de problemas?
markusN
2

Nunca lo intenté, pero aquí está NVIZ . Todo lo que necesitas es QGIS, que puedes descargar para Ubuntu Linux.

Akheloes
fuente
1

nviz no es una aplicación independiente, es parte de GRASS GIS , para visualización y animación en 3D. Si desea exportar rásteres, necesita GRASS GIS (o GRASS en QGIS). Puede exportar DEM en varios formatos de archivo , incluidos Terragen Heightfield (.ter), VTK, PovRay, xyz, etc.

También puede usar Paraview para abrir los archivos VTK y exportarlos a otros formatos.

Pero Blender también tiene complementos para importar directamente DEMS, como Blender Digital Elevation Importer o importar archivos shape y rásteres ( importación / exportación ESRI Shapefile e importador de ráster georreferenciado ), por ejemplo.

Kodex también presenta una solución para visualizar datos QGIS con Blender con el formato SVG

Mire también Relieve sombreado en Blender con datos SRTM

gene
fuente
1

Simplemente puede agregar un archivo dem como * .tif en Blender con el complemento "importar imagen como plano". Vea esta publicación donde puede ver cómo hice algunos mapas 3D de alta resolución usando una dem en la licuadora: -> /gis//a/80842/24809

Después de cargar el dem en Blender, también puede editarlo, ya que puede editar una imagen.

Antoine
fuente
0

¿Has probado USGS & GTOPO30 DEM Importer ?

Amante de los gatos
fuente
Algunas de las capturas de pantalla (y nombres de archivo) en esa página hacen que parezca un programa de MS Windows. Necesito algo que pueda funcionar en Linux.
Rory
No estoy seguro de si funciona en Linux o no. Quizás pueda consultar su documentación para esto.
Catlover
0

En mi opinión, debería funcionar una combinación de gdal2xyz.py y triangle y una reconfiguración de los archivos de salida de triangle (.node, .ele) en uno de los formatos de texto compatibles de blender o meshlab.

huckfinn
fuente