Wiki

Via la Nasa (maillage min de 30m (STRM1))

Puy de Montchat
le fichier STL correspondant

L'explication des données: http://asterweb.jpl.nasa.gov/gdem.asp , le site tuto http://vterrain.org/Elevation/SRTM/ .

1. Concrètement, téléchargement sur le FTP : http://e4ftl01.cr.usgs.gov/SRTM/SRTMGL1.003/2000.02.11/
Y choisir le zip adéquat, découpage en fichier de 1° par 1°. Exemple: pour la latitude 45° et la longitude 2°(point Sud-Ouest de la zone), il faut prendre le fichier N45E002.hgt.zip et le déziper

2. Télécharger et installer le logiciel VTBuilder (http://vterrain.org/Doc/VTBuilder/overview.html).

Attention, il se peut que la compilation se passe mal sous Linux... Si c'est le cas, il faudra passer par le site Terrain2STL. Les étapes 1 et 3 seront inutiles, mais l'on récupèrera des données au format .stl (qui est pris en charge par MeshLab) et avec un échantillonage tout les ~90m et des coordonées en degrés.

3. Dans VTBuilder: Menu Calques>>Import de données>>Relief (Valider)>> choisir le fichier .hgt

  • 1 - Projection cartographique
    Le fichier étant en coordonnées géographiques, c.a.d. en degrés, il y a une déformation des distances (on voit un carré), donc on va utiliser une projection pour avoir des coordonnées en mètres.
    Menu Calques >> Convertir Projection >>
    • Projection= UTM (Universal Transversal Mercator)
    • Système Géodésique= World Geodetic System 1984 (Ellipsoid= WGS 84)
    • Unités Horyzontales= mètres
    • Zones= 31 (... central meridian = 3° *Pour la France*).
    Puis Valider. (au message "use floating-point values", choisir Oui
  • 2 - Recadrage
    • Zoomer sur la zone choisi (icône loupe)
    • Créer un cadre sur cette zone (icône "Outil Area" [un carrée en pointillé])
    • Menu Outil Aire>>Sample Elevation>> Sortie= creer un nouveau calque.
  • 3 - Menu Elévation>> Convert to TIN.
  • 4 - Menu Elévation>> Exporter sous... >> choisir type PLY puis Valider.

4. Ouvrir le fichier .ply avec MeshLab

  • 1 - Menu Show>> View Layer Dialog
  • 2 - Dans le gestionnaire de calques: clique-droit sur le calque actuel, et choisir *Duplicate current layer*, puis sélectionner le nouveau calque créer.
  • 3 - Création du socle.
    Le but de cette étape est de créer un socle a partir du calque précédemment dupliqué. En effet, pour qu'un modèle soit imprimable, il doit décrire un volume clos (sans trous, sans intersection de face et sans faces dupliquée). A l'aide de *Geometric Function*, on va affecter même altitude a tout les points pour créer une surface plane.
    Menu Filters >> Smoothing, Fairing and Deformation >> Geometric Function >>
    • func x = x
    • func y = y
    • func z = altitude du socle (par exemple 0 pour que le socle soit au niveau de la mer)
    Apply puis Close. (Note le socle doit être plus bas que le point le plus bas de la zone choisi pour qu'il n'y ai aucune intersection)
  • 4 - Menu Filters >> Normals, Curvatures and Orientations >> Invert Faces Orientation.
  • 5 - Dans le gestionnaire de calques: clique-droit sur le calque actuel, et choisir Flatten visible layers. Cocher tout, Apply puis Close.
  • 6 - Menu Filters >> Remeshing, Simplification and Reconstruction >> Ball Pivoting Surface Reconstruction >>
    • Pivoting Ball radius, perc on = 1
    • Clustering radius = 20
    • Angle Threshold = 90
    Apply
    Normalement, l'algorythme doit commencer a 'clore' le maillaige. Refaire Apply après avoir augmenter la valeur Pivoting Ball radius, perc on = (pour moi 1 puis 2 puis 3 puis 3.5). Lorsque le mailliage semble être totalement clos, faire Close.
  • 7 - Menu File >> Save as ... >>, choisir le format .stl, donner un nom, et Enregistrer (boite de dialog suivante: cocher Binary encoding puis OK) FINI

Si le fichier obtenu est trop gros

On peut alors le simplifier dans MeshLab avec les Algorythmes "Remeshing, Simplification and Reconstruction".
Par exemple, j'utilise Menu Filters >> Remeshing, Simplification and Reconstruction >> Quadratic Edge Collapse Decimation >> : en mettant le paramètre Percentage reduction = 0 (pas de réduction cible), Quality threshold = 0.3 (valeur par défault), et en cochant Planar Simplification. C'est algo réorganise les faces en supprime dans les zones planes. Il réduit, chez moi, de moitié la taille de mon fichier .stl.

Modifier l'echelle en Z (augmenter l'impression du relief)

Dans MeshLab:
Menu Filters >> Smoothing, Fairing and Deformation >> Geometric Function >>


func x = x ; func y = y ; func z = z*Z_factor (Généralement Z_factor = 2, rend bien).

Apply puis Close.

Autre Source

Via google map et Terrain2STL (maillage min de ~100m)

la présentation : http://www.fabbaloo.com/blog/2014/11/16/3d-print-any-landscape-right-now le site (via google map) : http://jthatch.com (et le code sur GitHub : https://github.com/ThatcherC/Terrain2STL ) >> la taille des mailles précision estimé : ~100m, les coordonnées sont en degré, donc déformation du a la latitude/longitude...

Via les données IGN gratuites (maillage min de 75m)

le site de téléchargement (maillage min de 75m): http://professionnels.ign.fr/bdalti#tab-3 >> les coordonnées ont le bon gout d'être en mètre, dans un système X(est) Y(nord) Z(altitude), mais sont pour toutes la France(181MO pour le maillage 75m)

Notes

La tailles des maillages suivant les sources est souvent fonction de la latitude. C'est due a un échantillonnage régulier en fonction de coordonnées polaires (on dit géographique). Cela a pour conséquence direct une variation notable de la densité des données, pour les latitude élevés > forte densité, pour les latitude basse (proche équateur) > densité faible ...
Pour un échantillonnage toutes les secondes-d'arcsecondes-d'arc ( 1″ (seconde d'arc) = 1°/3600 = 0,000 277° )en France latitude = ~45° > 21,90m , a l'équateur latitude = 0° > 30,92m

sample-3d-landscap00.png - Puy de Montchat (z_factor=2) (138,59 ko) Baptiste Pelouas, 23/02/2015 12:55

sample-3d-landscap_Puy de Montchat.stl - Puy de Montchat (z_factor=2) (1,173 Mo) Baptiste Pelouas, 23/02/2015 13:06