Sortie de Giro3D 1.0 pour la visualisation géospatiale 3D web

By vendredi 19 décembre 2025NewsFR, Open Source
logo Giro3D

L’équipe de Giro3D est heureuse de vous annoncer la sortie de Giro3D 1.0.

Giro3D, un projet libre de visualisation géospatiale

Giro3D est une bibliothèque de visualisation de données géospatiales sur le Web. Libre et open source, elle est compatible avec de nombreuses sources de données géospatiales (rasters, vecteurs, nuages de points…). La mission de Giro3D est de vous permettre de visualiser l’ensemble de vos données SIG géoréférencées, qu’elles soient 2D ou 3D, de façon performante sur le web.

Libre et communautaire

Giro3D se veut libre et communautaire. Nous accueillons toutes les contributions, dans le code source, la documentation ou les tests : tout le monde est bienvenu !

Giro3D a démarré le processus d’incubation à de l’OSGeo, vous pouvez retrouver la page du projet sur le site OSGeo.org

Extensible et facile à intégrer

Giro3D est pensé pour l’intégration dans des applications et a été intégré avec succès dans des environnements React et Vue.js. Conçu comme une boîte à outil pour construire des applications web géospatiales, il est également facile de créer ses propres plugins et connecteurs de données pour Giro3D.

Giro3D a également été intégré avec succès dans QGIS Web Client (QWC), et fournit les capacités de visualisation 3D de cette application.

Performant

Giro3D utilise les technologies web comme les web workers ou traitement côté GPU, afin de permettre l’affichage de données massives comme le LIDAR HD ou les 3D Tiles. Les techniques d’indexation, et l’utilisation de formats optimisés permettent la gestion de très grands volumes de données, comme des Tera-octets de nuages de points.

👉 Synthèse des fonctionnalités

Visualisation géospatiale

  • Mode projeté ou globe
  • Nombreux types de données 2D
  • Nombreux types de données 3D
  • Illumination et lumière naturelle ( soleil, atmosphère…)
  • Hillshading
  • Visualisation avancée ( inpainting, EDL…)
  • Lignes de niveau
  • Plans de coupes
  • Billboards
  • Rampes de couleur pour le terrain et les nuages de points
  • Masques
  • Modes de fusion pour les raster
  • Projection de couleur de raster vers les nuages de points
  • Grilles 3D
  • Accès complet au moteur de rendu Three.js et à son écosystème

Traitement Géospatial

  • Support de CRS multiples
  • Reprojection de rasters
  • Extrusion de bâtiments en 3D
  • Styles OpenLayers pour les données vecteur
  • Optimisations pour les très grosses volumétries de données ( e.g. Milliards de points )
  • Gestion des valeurs de no-data
  • Filtres de classification

Outils et Widgets

  • Mesure ( distance, surface, angles, hauteurs… )
  • Dessin ( point, ligne, polygone…), dessin sur MNT
  • Inspecteur de scène pour les développeurs
  • Profil d’élévation
  • Minimap
  • Requêteur de données

Giro3D est accompagnée de Piero pour une application clé en main totalement paramétrable.

✨ Les nouveautés de la version 1.0

Meilleure gestion des systèmes de coordonnées

Une bonne gestion des systèmes de coordonnées est vital pour garantir l’exactitude et la fidélité des données affichées.

Giro3D gère désormais correctement les unités verticales d’un système de coordonnées. Par exemple, le nuage de points du stade d’Autzen utilise deux unités différentes pour ses axes horizontaux (pieds) et verticaux (pieds US) !

Pour enregistrer un système de coordonnée, il faut désormais utiliser CoordinateSystem.register() :

import CoordinateSystem from "@giro3d/giro3d/core/geographic/CoordinateSystem.js";

const epsg2154 = CoordinateSystem.register(
  "EPSG:2154",
  `PROJCRS["RGF93 v1 / Lambert-93",
    BASEGEOGCRS["RGF93 v1",
        DATUM["Reseau Geodesique Francais 1993 v1",
            ELLIPSOID["GRS 1980",6378137,298.257222101,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["EPSG",4171]],
    CONVERSION["Lambert-93",
        METHOD["Lambert Conic Conformal (2SP)",
            ID["EPSG",9802]],
        PARAMETER["Latitude of false origin",46.5,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8821]],
        PARAMETER["Longitude of false origin",3,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8822]],
        PARAMETER["Latitude of 1st standard parallel",49,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8823]],
        PARAMETER["Latitude of 2nd standard parallel",44,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8824]],
        PARAMETER["Easting at false origin",700000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8826]],
        PARAMETER["Northing at false origin",6600000,
            LENGTHUNIT["metre",1],
            ID["EPSG",8827]]],
    CS[Cartesian,2],
        AXIS["easting (X)",east,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["northing (Y)",north,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    USAGE[
        SCOPE["Engineering survey, topographic mapping."],
        AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],
        BBOX[41.15,-9.86,51.56,10.38]],
    ID["EPSG",2154]]`
);
Enregistrement du système de coordonnée RGF93 v1 / Lambert-93 -- France

Les images orientées

La nouvelle entité OrientedImageCollection permet l’affichage d’images orientées dans la scène 3D, par exemple des photographies de drones.

Les données issues d'une captation drone LIDAR: nuage de point et photos géoréférencées. ©2017, Piero Toffanin

Les données issues d’une captation drone LIDAR: nuage de point et photos géoréférencées. ©2017, Piero Toffanin

Les couches vidéo

Il est désormais possible d’utiliser une vidéo comme couche pour une Map, afin par exemple de représenter un timelapse météorologique.

import Extent from '@giro3d/giro3d/core/geographic/Extent.js';
import VideoSource from '@giro3d/giro3d/sources/VideoSource.js';

const source = new VideoSource({
    extent: new Extent(CoordinateSystem.epsg4326, {
        west: -180,
        east: +180,
        south: -90,
        north: +90,
    }),
    source: 'https://3d.oslandia.com/giro3d/videos/humidity.webm',
});
Création d'une couche vidéo dans Giro3D
Une couche vidéo. ©NOAA

Une couche vidéo. ©NOAA

Colorisation multi-attribut pour les nuages de points

L’entité PointCloud supporte désormais une colorisation multi-attributs. Par exemple:

  • intensité + classification
  • couleur + élévation
La couleur seule. ©United States Geological Survey

La couleur seule. ©United States Geological Survey

La classification seule. ©United States Geological Survey

La classification seule. ©United States Geological Survey

Classification et couleur mixées. ©United States Geological Survey

Classification et couleur mixées. ©United States Geological Survey

Pour aller plus loin

Piero

Basée sur Giro3D, Piero est une application Web permettant de visualiser, annoter et analyser des données géospatiales 2D et 3D:

  • Terrain
  • Imagerie
  • BIM
  • 3D Tiles
  • Nuages de points…

Pleinement configurable et extensible par un système de plugins, Piero ambitionne de devenir l’application de référence dans le domaine de la 3D géospatiale libre.

👉 La démo interactive : https://piero.giro3d.org

Remerciements

Merci à Jérémie Piellard et Karl Tayou pour leurs contributions à cette version !

Giro3D en 2026

En 2026, l’équipe de Giro3D continue son travail d’amélioration. Les objectifs sont multiples:

  • Implémenter de nouveaux formats de données (par exemple 3D Gaussian Splatting, données météorologiques)
  • Améliorer l’intégration avec le moteur three.js
  • Exploiter pleinement les possibilités offertes par 3D Tiles Next
  • Améliorer les capacités de Giro3D dans le domaine des jumeaux numériques

👉 Et vous, que souhaiteriez-vous voir dans les prochaines versions ?