Outil open source pour convertir un DEM en modèle 3D


11

Je voudrais convertir un fichier DEM (Digitial Elevation Model) (par exemple de SRTM) en un modèle 3D que je peux ensuite éditer avec des outils de modélisation 3D réguliers (par exemple Meshlab / Blender / etc.). Cependant, j'utilise Ubuntu Linux.

Alors, existe-t-il des programmes / outils open source qui peuvent le faire? Et si oui, pouvez-vous me donner un guide simple sur la façon de convertir un DEM en modèle 3D. (programmes en ligne de commande préférés)

Réponses:


7

Blender dispose d'une API Python. Par conséquent, j'utilise Python dans Blender et j'importe les bibliothèques GDAL et je construis un maillage natif de Blender directement à partir des données SIG. La seule chose à laquelle vous devez faire attention est que la version de GDAL que vous avez correspond à la version de Python dans la version Blender que vous utilisez.

MODIFIER les plugins:
si vous ne voulez pas écrire votre propre script en utilisant l'API Blender Python et GDAL, il existe des plugins disponibles en standard qui peuvent vous aider:

  1. Importer DXF
  2. Il existe des importateurs pour OBJ, X3D et VRML et certains systèmes SIG 3D seront exportés vers ceux-ci (par exemple ArcScene et NVIZ) bien que cette route soit peut-être nécessairement strictement gratuite.

Il existe un module complémentaire pour les données XYZ, mais il n'est pas standard et vise principalement les données moléculaires, bien que vous puissiez peut-être le plier à votre guise. Pour une gamme complète d'importateurs standard pour Blender, voir ici . Il y a un importateur PDS .IMG dans Blender mais GDAL ne peut lire que les fichiers PDS IMG (à ne pas confondre avec les fichiers Erdas IMG qui sont différents).

Donc, vraiment, votre meilleur pari si vous avez un GeoTiff, ASC ou à peu près tout autre raster de données de hauteur est d'écrire un petit script pour itérer sur le raster car il n'y a pas de plugin prêt à l'emploi pour la plupart des cas d'utilisation, sauf si vous le pouvez exporter votre DTM vers DXF, VRML ou OBJ.


Existe-t-il un plugin particulier ou quelque chose avec lequel je peux télécharger et jouer?
Rory

1
Votre meilleur est de créer votre propre script - voir mes modifications.
MappaGnosis

4

J'ai trouvé que NVIZ (qui fait partie du package GRASS) est un outil utile pour visualiser les données DEM sous forme de modèle 3D.

Afin d'installer le plugin GRASS (si vous avez déjà QGIS installé), naviguez simplement vers Plugins -> Gérer et installer les plugins -> Obtenir plus et installer GRASS. Assurez-vous qu'il est coché dans votre liste Gérer et installer les plugins!

  1. Une fois GRASS installé, commencez par ajouter votre couche raster. Pour ce faire, accédez à Calque -> Ajouter un calque raster -> Sélectionner

  2. Créez ensuite un nouveau jeu de cartes dans GRASS. Pour ce faire, accédez à Plugins -> GRASS -> New Mapset ou utilisez la barre d'outils GRASS qui devrait être visible. A. Sélectionnez un emplacement pour votre jeu de données GRASS B. Saisissez un nouveau nom d'emplacement de votre choix C. Sélectionnez la projection souhaitée D. Sélectionnez une région dans la liste déroulante ou sélectionnez-en une manuellement à l'aide des coordonnées lat / long (vous pouvez rechercher le lat / long de votre position sur le Web) E. Entrez un nouveau nom de jeu de cartes, puis cliquez sur Terminer.

  3. Ensuite, vous voudrez charger votre couche DEM ou raster dans GRASS. Vous le ferez par A. Naviguer vers Plugins -> GRASS -> Ouvrir les outils GRASS B. Sous «Liste des modules», sélectionnez «r.in.gdal.qgis» C. Sous «Couche chargée», sélectionnez votre couche dans le liste déroulante et nommez le fichier de sortie D. Cliquez sur «Exécuter»

  4. Vous devez maintenant ajouter une couche raster GRASS à votre jeu de cartes A. Accédez à Plugins -> GRASS -> Ajouter une couche raster GRASS ou cliquez sur. B. Sélectionnez votre emplacement et votre jeu de cartes, puis sélectionnez votre couche et cliquez sur «OK»

  5. Vous voudrez peut-être colorer votre raster. Si c'est le cas, A. Assurez-vous d'avoir sélectionné la bonne couche raster en sortie B. Naviguez vers Plugins -> GRASS -> Ouvrez les outils GRASS C. Sous la «Liste des modules», cliquez sur «r.colors.table». D. Sélectionnez le calque d'entrée, puis choisissez un «Type de tableau de couleurs» E. Appuyez sur «Exécuter».

  6. MAINTENANT pour la partie amusante. Visualisation en 3D à l'aide de NVIZ. Donc, vous voudrez A. Définir une région de carte spécifique pour la modélisation 3D en naviguant vers Plugins -> GRASS -> Modifier la région GRASS actuelle. Sélectionnez ensuite manuellement la région souhaitée en dessinant un cadre rouge avec votre souris ou définissez les coordonnées dans la boîte de dialogue qui apparaît. (Cela permet à NVIZ de déterminer la résolution à utiliser) B. Naviguez vers Plugins -> GRASS -> Ouvrez les outils GRASS C. Sous «Liste des modules», sélectionnez «nviz» D. Sélectionnez le raster pour l'élévation et la couleur (ils peuvent être les mêmes un), et cliquez sur le carré à droite (ce qui signifie "Utiliser la région de cette carte") E. Appuyez sur "Exécuter"

Jouez ensuite avec différentes vues, hauteurs et éclairages jusqu'à obtenir l'image souhaitée!

J'espère que cela vous aide et faites-le moi savoir si vous avez des questions!


Je noterai que j'ai eu des problèmes avec la projection lors de l'utilisation d'une couche SRTM. Est-ce que quelqu'un a des suggestions?
Zizah

Quel genre de problèmes?
markusN


1

nviz n'est pas une application autonome, il fait partie de GRASS GIS , pour la visualisation et l'animation 3D. Si vous souhaitez exporter des rasters, vous avez besoin de GRASS GIS (ou GRASS dans QGIS). Vous pouvez exporter des DEM dans différents formats de fichiers , y compris Terragen Heightfield (.ter), VTK, PovRay, xyz, etc.

Vous pouvez également utiliser Paraview pour ouvrir les fichiers VTK et les exporter vers d'autres formats différents

Mais Blender a également des plugins pour importer directement DEMS, comme Blender Digital Elevation Importer ou importer des shapefiles et des rasters ( ESRI Shapefile import / export et géoréférencé raster importateur ), par exemple.

Kodex présente également une solution pour visualiser les données QGIS avec Blender au format SVG

Regardez également le relief ombré dans Blender avec les données SRTM


1

Vous pouvez simplement ajouter un fichier dem en tant que * .tif dans Blender avec l'addon "importer l'image en tant que plan". Voir cet article où vous pouvez voir comment j'ai fait des cartes 3D haute résolution en utilisant un dem dans blender: -> /gis//a/80842/24809

Après avoir chargé le fichier dem dans le mélangeur, vous pouvez également le modifier comme vous pouvez modifier une image.



0

Avez-vous essayé USGS & GTOPO30 DEM Importer ?


Certaines captures d'écran (et noms de fichiers) sur cette page la font ressembler à un programme MS Windows. J'ai besoin de quelque chose qui puisse fonctionner sous Linux.
Rory

Je ne sais pas si cela fonctionne sous Linux ou non. Vous pouvez peut-être vérifier leur documentation à ce sujet.
Catlover

0

IMO une combinaison de gdal2xyz.py et triangle et une reconfiguration des fichiers de sortie de triangle (.node, .ele) dans l'un des formats de texte pris en charge de blender ou meshlab devrait fonctionner.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.