4 Les logiciels libres en géomatique

Sorte d’inventaire à la Prévert des logiciels libres en géomatique, cette liste n’a pas la préentention d’être ni exhaustive ni complète. En revanche, elle offre un bon aperçu de la diversité des solutions. Il existe de nombreux logiciels libres en géomatique (en anglais, Free OpenSource Software for Geospatial – FOSS4G). Ils peuvent être regroupés en plusieurs catégories:

  • SIG bureautiques
  • Applications serveurs
  • Languages de programmation
  • Briques logicielles de bas niveau
  • Standards

Les standards sont un cas particulier mais permettent la communication entre les différents outils.

4.1 SIG bureautiques

  • QGIS
  • gvSIG
  • OpenJUMP
  • GRASS
  • OrbisGIS

OpenJUMP et OrbisGIS ne sont pas des projets OSGeo.

4.2 Serveurs

4.2.1 Services web

  • MapServer
  • GeoServer
  • qgis-server
  • degree
  • zoo-project

4.2.2 Stockage

  • PostGIS
  • pgRouting
  • Rasdaman
  • spatialite

4.2.3 Télédétection

  • Orfeo Toolbox / Monteverdi

4.3 Traitement de données

Les languages de programmation Python et R ne sont pas des projets OSGeo, toutefois leurs capacités géospatiales sont fournies par des connecteurs aux outils GDAL, GEOS ou Proj.

4.3.1 Python

  • Pandas
  • GeoPandas

Pandas

4.3.2 R

R est un language de programmation dédié aux statistiques et au traitement de données. Il dispose de nombreux packages étendant ses capacités, notamment géospatiales.

R

4.3.2.1 Traitement

  • sf (sp/rgdal, rgeos)
  • raster
  • stars

4.3.2.2 Cartographie

  • ggplot
  • cartography

4.4 Briques logicielles de bas niveau

Beaucoup des logiciels cités plus haut ont recours à des bibliothèques logicielles contenant des algorithmes spécifiques. Le fait d’utiliser ses bibliothèques présente de nombreux avantages:

  • ne pas coder des fonctions souvent complexes
  • bénéficier des derniers avancements de la communauté
  • moins de maintenance

Dans le milieu de la géomatique, une poignée de bibliothèque de bas niveau sont disponibles et sont utilisées dans un grand nombre de logiciels. Tous les logiciels n’y ont pas recours, par exemple GRASS et SAGA disposent de leurs propres algorithmes. Il est intéressant de savoir d’où proviennent les algorithmes proposés pour pouvoir chercher une alternative si une fonctionnalité est manquante ou ne renvoit pas le résultat attendu.

Dans le monde de la géomatique libre, les plus connu sont proj, GDAL, GEOS et JTS. QGIS pouvant accèder à GRASS et SAGA via une API, ces derniers pourraient aussi avoir ce statut si ils n’étaient pas des SIG complets.

Ces briques de base ne proposent pas d’interface graphique et proposent des API permettant à d’autres logiciels d’accèder à leurs méthodes. Détaillons un peu ces différentes bibliothèques.

4.4.1 Proj

Proj est une bibliothèque qui contient les définitions de plusieurs milliers de projection. Elle fournit à la fois les formules de transformation et peut aussi transformer des coordonnées géospatiales d’un système de référence de coordonnées à une autre.

Proj est capable de travailler avec des systèmes de référence de coordonnées cartographiques comme géodésiques. Proj comprend différents catalogues de projection comme le catalogue EPSG ou IGNF (projections légales françaises).

La version stable a lontemps été la version 4, une version 5 a récemment légèrement moderniser en ajoutant de nouvelles projections et corrigeant quelques bugs.

La version 6 de Proj sortie en mars 2019 commence à être adoptée par les différents projets. Il s’agit toutefois d’une refonte complète entrainant non seulement des changements dans l’API mais aussi dans la façon de calculer les transformations.

Les versions précédentes avaient une étape intermédiaire de transformation passant par WGS84. Depuis la version 6.0, Proj effectue les conversions directement de système de référence à système de référence.

Cela améliore non seulement la rapidité mais aussi la précision. Attention donc les deux API renvoient des résultats différents.

4.4.2 GDAL/OGR

GDAL est une bibliothèque permettant de lire un grand nombre de formats d’image raster. La fusion avec OGR apporte à l’outil la capacité d’ouvrir les formats vectoriels.

Quelques formats supportés par GDAL (source: geopandas)

4.4.3 JTS

La Java Topology Suit (JTS) est comme son nom l’indique une bibliothèque Java. Elle fournit des algorithmes de traitement géométriques des données vectorielles. Elle implémente les spécifications Simple Features access (points, polylignes, polygones) définies par l’OGC et l’ISO.

4.4.4 GEOS

logo GEOS

GEOS est le portage en C des outils de la suite JTS. Elle est utilisée par les outils développés en C/C++.

4.5 Standards

Standards OGC

Utiles pour faciliter les communications entre les outils, les standards sont très importants. Vous pouvez avoir le meilleur outil du monde si il ne lit et n’écrit que son propre format de données, il va avoir du mal à se diffuser.

4.5.1 Fichiers

  • shapefile (standard de facto)
  • geojson (webmapping)
  • GeoPackage

4.5.2 WFS

4.5.3 WMS

4.5.4 WMTS

4.5.5 WCS

4.5.6 WPS

4.5.7 GEOAPI

4.5.8 Standards de métadonnées

Il existe plusieurs standards de métadonnées suivant les recommandations de la Dublin Core Metadata Initiative qui ont été transposés dans le monde géospatial.

Le FGDC états-unien recence les standards de métadonnées utilisés en géospatial.

En Europe, la directive Inspire impose l’ouverture des données publiques et impose un standard de métadonnées pour leur cataloguage.

4.6 Aller plus loin

Page des projets inclus dans OSGeolive: live.osgeo.org/contents/