Project

General

Profile

Actions

Wiki

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

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](http://fr.wikipedia.org/wiki/Coordonnées_géographiques)). 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'arc[secondes-d'arc](http://fr.wikipedia.org/wiki/Sous-unités_du_degré) ( 1″ (seconde d'arc) = 1°/3600 = 0,000 277° )en France latitude = ~45° > 21,90m , a l'équateur latitude = 0° > 30,92m

Updated by Baptiste Pelouas about 7 years ago · 8 revisions