Ferramenta de código aberto para converter um DEM em um modelo 3D

11

Gostaria de converter um arquivo DEM (Digitial Elevation Model) (por exemplo, do SRTM) em um modelo 3D que eu possa editar com ferramentas de modelagem 3D comuns (por exemplo, Meshlab / Blender / etc.). No entanto, estou usando o Ubuntu Linux.

Então, existem programas / ferramentas de código aberto que podem fazer isso? Se sim, você pode me dar um guia simples de como converter um DEM em um modelo 3D. (programas de linha de comando preferidos)

Rory
fonte

Respostas:

7

O Blender possui uma API Python. Portanto, eu uso o Python no Blender e importo as bibliotecas GDAL e construo uma malha nativa do Blender diretamente dos dados do GIS. A única coisa que você precisa ter cuidado é que a versão do GDAL que você possui corresponde à versão do Python na versão do Blender que você está usando.

EDIT Plugins:
Se você não quiser escrever seu próprio script usando a API do Blender Python e o GDAL, existem alguns plugins disponíveis como padrão, que podem ajudar:

  1. Importar DXF
  2. Existem importadores para OBJ, X3D e VRML e alguns sistemas GIS 3D serão exportados para estes (por exemplo, ArcScene e NVIZ), embora essa rota seja talvez estritamente livre.

Há um complemento para dados XYZ, mas ele não é padrão e visa principalmente dados moleculares, embora talvez você possa dobrá-lo à sua vontade. Para uma gama completa de importadores prontos para uso do Blender, consulte aqui . Há um importador de PDS .IMG no Blender, mas o GDAL só pode ler arquivos IMS PDS (não deve ser confundido com arquivos Erdas IMG que são diferentes).

Então, realmente, sua melhor aposta se você tiver um GeoTiff, ASC ou qualquer outra varredura de dados de altura é escrever um pequeno script para iterar sobre a varredura, pois não há plug-in pronto para a maioria dos casos de uso, a menos que você possa exporte seu DTM para DXF, VRML ou OBJ.

MappaGnosis
fonte
Existe algum plugin em particular ou algo com o qual eu possa baixar e jogar?
Rory
1
O seu melhor é criar seu próprio script - veja minhas edições.
MappaGnosis
4

Descobri que o NVIZ (que faz parte do pacote GRASS) é uma ferramenta útil para visualizar dados de DEM como um modelo 3D.

Para instalar o plugin GRASS (se você já possui o QGIS instalado), basta navegar para Plugins -> Gerenciar e instalar plugins -> Obter mais e instalar o GRASS. Verifique se ele está marcado na sua lista Gerenciar e instalar plugins!

  1. Depois de instalar o GRASS, comece adicionando sua camada raster. Você pode fazer isso navegando para Camada -> Adicionar camada raster -> Selecionar

  2. Em seguida, crie um novo conjunto de mapas no GRASS. Faça isso navegando para Plugins -> GRASS -> New Mapset ou use a barra de ferramentas GRASS que deve estar visível. A. Selecione um local para o seu conjunto de dados GRASS B. Digite um novo nome de local de sua escolha C. Selecione a projeção desejada D. Selecione uma região na lista suspensa ou selecione manualmente uma usando as coordenadas lat / long (você pode consultar o lat / long de sua localização na web) E. Digite um novo nome para o conjunto de mapas e clique em Concluir.

  3. Em seguida, você desejará carregar sua camada DEM ou raster no GRASS. Você fará isso A. Navegando para Plugins -> GRASS -> Ferramentas GRASS abertas B. Em "Lista de módulos", selecione "r.in.gdal.qgis" C. Em "Camada carregada", selecione sua camada no menu lista suspensa e nomeie o arquivo de saída D. Clique em “Executar”

  4. Agora você precisa adicionar a camada raster GRASS ao seu conjunto de mapas A. Navegue para Plugins -> GRASS -> Adicionar camada raster GRASS ou clique em. B. Selecione sua localização e conjunto de mapas e, em seguida, selecione sua camada e clique em "OK"

  5. Você pode colorir sua varredura. Nesse caso, A. Certifique-se de selecionar a camada rasterizada de saída correta B. Navegue até Plugins -> GRASS -> Ferramentas GRASS abertas C. Na "Lista de módulos", clique em "r.colors.table". D. Selecione a camada de entrada e escolha uma “Tabela de tipos de cores”. E. Pressione “Executar”.

  6. Agora a parte divertida. Visualização em 3D usando NVIZ. Então, você deseja A. Defina uma região de mapa específica para modelagem 3D navegando para Plugins -> GRASS -> Editar região GRASS atual. Em seguida, selecione manualmente a região desejada desenhando uma moldura vermelha com o mouse ou defina as coordenadas na caixa de diálogo exibida. (Isso ajuda o NVIZ a determinar qual resolução usar) B. Navegue até Plugins -> GRASS -> Ferramentas GRASS abertas C. Em "Lista de módulos", selecione "nviz" D. Selecione a varredura para Elevação e Cor (elas podem ser as mesmas um) e clique no quadrado à direita (o que significa “Usar a região deste mapa”) E. Pressione "Executar"

Em seguida, brinque com diferentes vistas, alturas e iluminação até obter a imagem desejada!

Espero que isso ajude e por favor me avise se você tiver alguma dúvida!

Zizah
fonte
Observarei que tive problemas com a projeção ao usar uma camada SRTM. Alguém tem alguma sugestão?
Zizah
Que tipo de problemas?
markusN
2

Nunca tentei, mas aqui está o NVIZ . Tudo que você precisa é QGIS, que você pode baixar para o Ubuntu Linux.

Akheloes
fonte
1

O nviz não é um aplicativo independente, faz parte do GRASS GIS , para visualização e animação em 3D. Se você deseja exportar rasters, precisa do GRASS GIS (ou GRASS no QGIS). Você pode exportar DEMs em vários formatos de arquivo , incluindo Terragen Heightfield (.ter), VTK, PovRay, xyz etc.

Você também pode usar o Paraview para abrir os arquivos VTK e exportá-los para outros vários formatos.

Mas o Blender também possui plugins para importar diretamente DEMS, como o Blender Digital Elevation Importator ou importar shapefiles e rasters ( importação / exportação de shapefile ESRI e importador raster georreferenciado ), por exemplo.

A Kodex também apresenta uma solução para a visualização de dados QGIS com o Blender no formato SVG

Veja também Shaded Relief no Blender com dados SRTM

gene
fonte
1

Você pode simplesmente adicionar um arquivo dem como * .tif no liquidificador com o addon "importar imagem como plano". Veja este post onde você pode ver como eu fiz alguns mapas 3D de alta resolução usando uma demo no blender: -> /gis//a/80842/24809

Depois de carregar a demo no liquidificador, você também pode editá-la, assim como editar uma imagem.

Antoine
fonte
0

Você já experimentou o USGS & GTOPO30 DEM Importador ?

Amante de gatos
fonte
Algumas das capturas de tela (e nomes de arquivos) nessa página fazem com que pareça um programa MS Windows. Eu preciso de algo que possa funcionar no Linux.
Rory
Não tenho certeza se funciona no Linux ou não. Talvez você possa verificar a documentação deles para isso.
Catlover
0

Na IMO, uma combinação de gdal2xyz.py e triangle e uma reconfiguração dos arquivos de saída do triângulo (.node, .ele) em um dos formatos de texto suportados do blender ou meshlab devem funcionar.

huckfinn
fonte