Boîte à outils Java pour applications géospatiales
Geotoolkit.org (geotk) est une bibliothèque Java, robuste, respectueuse des standards internationaux en matière d'OpenSource et de normalisation permettant de construire des applications géospatiales.
Le projet porte une attention toute particulière à produire un code Java de haute qualité et bien documenté favorisant ainsi sa prise en main et son intégration à une infrastructure existante. Les méthodes et la structuration de la librairie permettent de gérer les métadonnées, les systèmes de références spatiaux, les transformations de coordonnées et la manipulation d'imagerie raster. Ce composant permet également d'instancier et de modifier les données géospatiales et de propulser ces éléments par un moteur de rendu et d'affichage. Geotoolkit.org fournit des procédés de liaisons pour publier de nombreux formats de données sous la forme de schémas XML conformes. L'outil offre en plus une série de composants basés sur SWING permettant de manipuler les données spatiales. La bibliothèque propose un outil de paramétrage, un accès en mode console et un générateur de pyramides d'images et de mosaïques. Geotoolkit.org est sous licence LGPL v2.1 et permet ainsi une grande liberté d'utilisation, de modification et de distribution.
Geotoolkit.org est le fruit d'une dérivation du projet GeoTools. Ce projet est né de l'ambition de proposer une bibliothèque de développement géo-informatique proposant un niveau de robustesse et de qualité algorithmique plus élevé que ce que propose le projet dont il est issu. Geotoolkit.org capitalise actuellement plus de deux années/homme de développements, et se différencie actuellement du projet GeoTools initial par une refonte totale des bibliothèques proposant le support des métadonnées, des systèmes de référence spatiaux (avec notamment la prise en charge du RGF93), et de la gestion des données raster (y compris multidimensionnelles). Le projet est en constante évolution, et est utilisé en production sur plusieurs projets d'envergure.
Architecture
Geotoolkit.org s'appuie sur le langage Java 6 et des librairies associées. Pour traiter efficacement les données raster, Geotoolkit.org s'appuie sur la bibliothèque Java Advanced Imaging. Très performante, elle utilise du code natif installé directement sur l'environnement de production. Geotoolkit.org utilise les types de données définis et standardisés par le projet GeoAPI.
Modules "Core"
- Metadata : Structuration des données permettant de définir des schémas de métadonnées structurées sur la GeoAPI, elle-même basée sur les standards ISO19115 et ses profils.
- Referencing : Module de gestion des systèmes de références spatiaux, référentiels et systèmes de coordonnées. Permet les conversions, transformations et import/export au format WKT.
- GridCoverage : Module permettant de manipuler les données de type Grid, de procéder à des géoréférencements sous la forme d'extension géographique à la librairie Java Advanced Imaging (JAI), d'importer et d'exporter des données provenant de sources externes.
- Geometry : Structuration des données pour manipuler, traiter et transformer les données vecteur géoréférencées, notamment les structures topologiques.
- Feature : Ce module fournit un méta-modèle pour stocker les données conformément aux standards ISO/OGC et comprenant notamment la dimension temporelle, l'indexation spatiale, les attributs. Le module permet de parcourir les données attributaires et d'effectuer des requêtes en s'aidant de procédés de filtrage paramétrable.
- Display : Le module d'affichage permet une représentation avancée des données en superposant des données de sources différentes et en prenant en compte différents systèmes de références spatiaux tout en permettant une symbologie avancée. La manipulation des données à l'aide de transformations affines autorise la rotation des objets et le suivi de parcours.
- D'autres modules fournissent des fonctionnalités additionnelles et des modules expérimentaux explorent de nouvelles vois.
Librairies internes
La librairie Geotoolkit.org utilise le système de liaison JAXB XML pour stocker sous la forme d'objets Java tous les éléments XML normalisés issus des schémas définis par l'ISO, par des Services Web OGC ou par d'autres organismes de standardisation.
GeoAPI
Interfaces Java répondants aux standards OGC et ISO
La bibliothèque GeoAPI offre une série d'interfaces en langage Java s'appuyant sur les standards définis par l'International Organization for Standardization (ISO) et l'Open Geospatial Consortium (OGC). En implémentant finement les standards en langage Java, GeoAPI favorise l'interopérabilité des systèmes et la flexibilité pour les utilisateurs passant d'une implémentation à l'autre. GeoAPI définit de nombreuses méthodes requis par des standards publiés et variés.
Le groupe de travail GeoAPI de l'OGC a proposé la standardisation de la bibliothèque par le consortium. GeoAPI contient une suite de méthodes de validation permettant à chacun implémentation de valider leur construction d'un type de données GeoAPI.
Geotoolkit.org inclut un nombre important de composants basés sur la boîte à outil Swing pour manipuler des données spatiales dans des applications graphiques.
Utilitaires
- Outil Console (Console tool) : permet l'utilisation directe en mode console de la bibliothèque de référencement pour manipuler les paramètres des systèmes de coordonnées ou effectuer des opérations géométriques et des calculs sur des données géoréférencées.
- Installeur graphique (Graphical Installer) : Permet de configurer les sources de données géoréférencées et les paramètres du tuilage.
- Générateur de mosaïque (tile mosaic generator) : transforme un jeu de données images non ordonné en une mosaïque régulière de tuiles de taille identique avec la possibilité de créer des pyramides à partir de plusieurs calques généralisés.
Développement
GeoToolkit.org est un projet communautaire qui suit des pratiques de développement permettant d'assurer la plus grande qualité possible au code produit. La bibliothèque inclut toute une batterie de tests unitaires et le projet utilise l'outil Hudson de génération automatique de compilation pour tester tous les jours une nouvelle version. Le code soumis à approbation passe de manière itérative par plusieurs dépôts pour être revu, corrigé et validé pour répondre aux critères de robustesse et d'exactitude.
Pour plus d'informations, consultez le site Web consacré à Geotoolkit : http://www.geotoolkit.org/