OpenStreetMap vers 3D

D'OpenStreetMap à la 3D, sans la chaîne d'outils.

Le chemin habituel passe par une requête Overpass, un outil SIG pour la nettoyer, un script ou un add-on pour l'extruder et un logiciel 3D de bureau pour l'éclairer. Dans Studio, c'est une seule étape : tracez une zone sur la carte et les bâtiments, routes et plans d'eau OSM arrivent extrudés sur un terrain réel.

Une zone de carte à gauche et la même zone en modèle 3D extrudé à droite
OpenStreetMapStudio, un import plus tard
Rendu réel de Studio. Données cartographiques © OpenStreetMap contributors.

Aucun langage de requête

Vous n'écrivez jamais d'Overpass QL et ne manipulez pas de GeoJSON. Tracez une zone ; l'import demande à OpenStreetMap les bâtiments, routes, plans d'eau et occupations du sol, et met la réponse en cache.

Des balises qui changent la géométrie

height, building:levels et min_height fixent la hauteur d'un bâtiment et son point de départ ; roof:shape et building:part façonnent le haut ; les classes highway fixent la largeur des routes ; les balises water et landuse choisissent les matériaux.

Unités et placement corrects

Tout est projeté en mètres autour du centre de votre zone, si bien que les distances sont exactes et que vos propres modèles s'insèrent à l'échelle réelle.

Vers les outils que vous utilisez

Avec une offre payante, exportez le résultat en GLB, glTF, OBJ, FBX ou STL pour Blender, Unreal, Unity ou un slicer.

Ce que devient chaque balise

Tours de Midtown Manhattan aux toits en retrait étagés, à côté de Bryant Park
Midtown Manhattan : de vrais toits issus du NYC 3-D Building Model, OpenStreetMap là où il y a des manques.

Des bâtiments à leur hauteur cartographiée

Les emprises sont extrudées à leur hauteur ou nombre d'étages renseigné et posées sur le sol. Les formes de toit et les parties de bâtiment cartographiées sont construites, les petites maisons reçoivent des pignons et des croupes déduits, et les toits plats des acrotères et des équipements techniques.

Rues importées de largeurs différentes, une rivière avec un pont et des parcs sur un terrain réel
Routes par classe, un pont, l'eau et la couverture du sol.

Rues, eau et espaces verts

Les routes sont dimensionnées selon leur classe, avec trottoirs, marquages de voies et passages piétons ; les ponts franchissent l'eau au lieu de s'y enfoncer, et parcs, revêtements et arbres d'alignement complètent le tout.

Le port Hercule de Monaco vu d'en haut, le port rempli d'eau jusqu'à ses quais et ses jetées
Monaco, port Hercule : la mer construite à partir des lignes de côte OSM. Données cartographiques © OpenStreetMap contributors.

La mer à partir de la ligne de côte

OpenStreetMap ne dessine la mer que comme une ligne de côte. L'import ferme ces lignes en eau, si bien que ports et baies se remplissent jusqu'aux quais.

Studio affichant un résultat d'import qui liste les hauteurs de bâtiments cartographiées et estimées à côté de la ville importée
Le rapport d'import après un import en mode ville autour du Rockefeller Center, à New York.

Il vous dit ce que la carte savait

L'import indique combien de hauteurs de bâtiments viennent de la carte et combien ont été estimées, pour que vous sachiez jusqu'où faire confiance à la silhouette urbaine.

La boîte de dialogue d'export de Studio avec GLB sélectionné, au-dessus d'un Lower Manhattan importé
L'export GLB d'un lieu importé. Dans Blender : File ▸ Import ▸ glTF.

Terminez dans Blender

Exportez en GLB ou FBX avec une offre payante et importez dans Blender : mètres à l'échelle réelle, objets déjà séparés.

Pourquoi Mixos

Ce qui arrive à chaque balise

OpenStreetMap est une base de données de points, de lignes et de polygones portant des balises, pas un modèle 3D. En faire un modèle suppose de décider, pour chaque type d'élément, quelle géométrie il doit devenir. L'import de Studio prend ces décisions comme le décrivent les conventions 3D de la communauté OSM elle-même.

Un contour de bâtiment devient une emprise fermée — cours intérieures comprises — extrudée à sa balise de hauteur. S'il n'y a pas de hauteur, building:levels multiplié par environ 3 m en tient lieu ; s'il n'y a ni l'un ni l'autre, l'import estime et compte l'estimation dans son rapport. min_height soulève les parties qui commencent au-dessus du sol, comme une passerelle ou un surplomb. roof:shape construit un toit à pignon, à croupes, pyramidal, à un pan, en dôme ou en bulbe (les toits brisés, mansardés et à demi-croupes sont dessinés comme la forme la plus proche), building:part assemble un monument à partir de ses morceaux, et une petite maison sans balise reçoit un pignon ou des croupes déduits. Chaque emprise est posée sur le point le plus bas du terrain en dessous, si bien que rien ne flotte sur une pente.

Une ligne highway devient une bande dont la largeur suit la classe, du sentier à l'autoroute, drapée sur la surface du terrain. Les plans d'eau fermés deviennent de l'eau plate, et la mer — qu'OpenStreetMap ne dessine que comme une ligne de côte — est fermée en eau à partir de ces lignes de côte. L'occupation du sol, comme parcs, herbe et revêtements, devient une couverture du sol avec un matériau de la bibliothèque. Le terrain lui-même provient de tuiles d'altitude ouvertes et non d'OSM, qui n'a pas d'altitudes propres.

Les données OSM sont publiées sous l'Open Database License. Vous pouvez utiliser ce que vous en construisez, y compris à titre commercial, à condition de citer © OpenStreetMap contributors. Studio enregistre cette mention avec la scène pour qu'elle ne se perde pas entre l'import et le rendu.

Ce qui arrive à chaque balise

Questions fréquemment posées

Comment convertir des données OpenStreetMap en modèle 3D ?

Dans Studio, ouvrez le sélecteur Lieu réel, tracez une zone et importez. Bâtiments, routes, eau et couverture du sol sont extrudés et posés automatiquement sur un terrain réel. Vous n'avez pas besoin de télécharger un fichier .osm ni d'écrire une requête Overpass.

Puis-je récupérer des bâtiments OSM dans Blender ?

Oui. Construisez la zone dans Studio, puis exportez-la en GLB ou FBX avec une offre payante et importez-la dans Blender. Si vous préférez rester dans Blender, les add-ons gratuits BlenderGIS et Blosm importent aussi les données OSM.

Quelles balises OSM lit-il ?

Les contours de bâtiments avec height, building:levels et min_height ; les classes highway pour la largeur des routes ; les plans d'eau ; et l'occupation du sol, comme park, grass et paving, pour les matériaux du sol.

Pourquoi certains bâtiments ont-ils une mauvaise hauteur ?

Parce que la carte ne le dit pas. Lorsqu'un bâtiment n'a ni balise de hauteur ni balise d'étages, l'import en estime une et la compte dans le rapport. Ajouter la balise dans OpenStreetMap corrige le problème pour tout le monde.

Les données sont-elles libres d'usage commercial ?

Oui, sous l'Open Database License, à condition de citer © OpenStreetMap contributors. Si vous redistribuez les données extraites elles-mêmes sous forme de base de données, les conditions de partage à l'identique de l'ODbL s'appliquent aussi.

Mixos

Sautez la chaîne d'outils. Tracez une zone.