GDAL
GDAL est une bibliothèque de traduction open source pour les formats de données géospatiales raster. Elle peut être utilisée comme une bibliothèque, car elle présente un modèle de données abstrait unique à l'application qui l’appelle, pour tous les formats pris en charge. Elle est également livrée avec une variété d'utilitaires de ligne de commande pour la traduction et le traitement des données.
GDAL est utilisée par une longue liste de progiciels et ses fonctionnalités peuvent être utilisées dans des scripts écrits en Python ou R.
Utiliser GDAL avec Python
La fonctionnalité GDAL peut être utilisée via le package osgeo que nous installons comme une extension du module GDAL. Pour l'utiliser, vous devez charger un module Python compatible avec le module GDAL.
Utiliser osgeo avec StdEnv/2020
Pour connaître les modules Python qui sont compatibles avec par exemple gdal/3.5.1
, utilisez le code suivant :
[name@server ~]$ module whatis gdal/3.5.1
gdal/3.5.1 : Description: GDAL is a translator library for raster geospatial data formats...
gdal/3.5.1 : Homepage: https://www.gdal.org/
gdal/3.5.1 : URL: https://www.gdal.org/
gdal/3.5.1 : Compatible modules: python/3.8, python/3.9, python/3.10
Nous avons donc le choix entre 3.8, 3.9 et 3.10. Nous choisissons python/3.10
.
[name@server ~]$ module load StdEnv/2020 gcc/9.3.0 python/3.10 gdal/3.5.1
#!/usr/bin/env python3
from osgeo import gdal
print("osgeo.gdal version:", gdal.__version__)
# osgeo.gdal version: 3.5.1
Utiliser osgeo avec StdEnv/2023
Pour connaître les modules Python qui sont compatibles avec par exemple gdal/3.7.2
, utilisez le code suivant :
[name@server ~]$ module whatis gdal/3.7.2
gdal/3.7.2 : Description: GDAL is a translator library for raster geospatial data formats...
data translation and processing.
gdal/3.7.2 : Homepage: https://www.gdal.org/
gdal/3.7.2 : URL: https://www.gdal.org/
gdal/3.7.2 : Compatible modules: python/3.10, python/3.11
gdal/3.7.2 : Extensions: osgeo-3.7.2
Nous avons donc le choix entre 3.10 et 3.11. Nous choisissons python/3.11
.
[name@server ~]$ module load StdEnv/2023 gcc/12.3 python/3.11 gdal/3.7.2
#!/usr/bin/env python3
from osgeo import gdal
print("osgeo.gdal version:", gdal.__version__)
# osgeo.gdal version: 3.7.2
Utiliser GDAL avec R
Plusieurs paquets R pour l’analyse des données spatiales dépendent de GDAL pour leur fonctionnalités, par exemple
L’ancien paquet rgdal a été abandonné et remplacé par sf
et terra
.
Installer sf
et terra
dans StdEnv/2020
L'installation de ces paquets nécessite non seulement le chargement d'un module gdal
, mais également de udunits
requis par le paquet units.
# load required modules:
module load StdEnv/2020 gcc/9.3.0 udunits/2.2.28 gdal/3.5.1 r/4.2.2
# create a local R library in $HOME:
mkdir -p $HOME/R/x86_64-pc-linux-gnu-library/4.2
export R_LIBS="$HOME/R/x86_64-pc-linux-gnu-library/4.2:$R_LIBS"
# install sf and terra from a Canadian CRAN mirror:
R -e "install.packages(c('sf', 'terra'), repos='https://mirror.csclub.uwaterloo.ca/CRAN/', dep=TRUE)"
Installer sf
et terra
dans StdEnv/2023
Notez qu’avec StdEnv/2023, en plus des modules gdal
et udunits
, hdf/4.3.1
est également requis.
# load required modules:
module load StdEnv/2023 gcc/12.3 udunits/2.2.28 hdf/4.2.16 gdal/3.7.2 r/4.3.1
# create a local R library in $HOME:
mkdir -p $HOME/R/x86_64-pc-linux-gnu-library/4.3
export R_LIBS="$HOME/R/x86_64-pc-linux-gnu-library/4.3:$R_LIBS"
# install sf and terra from a Canadian CRAN mirror:
R -e "install.packages(c('sf', 'terra'), repos='https://mirror.csclub.uwaterloo.ca/CRAN/', dep=TRUE)"