J'ai travaillé sur une bibliothèque de géotraitement à code source ouvert appelée WhiteboxTools, qui peut être utilisée à la place d'ArcPy dans de nombreuses applications. À l'heure actuelle, près de 300 outils sont disponibles pour le traitement des données raster, vectorielles et LiDAR (LAS), mais il est prévu de porter à terme l'ensemble des 400 outils disponibles dans Whitebox GAT . Bien que les outils soient développés à l'aide du langage de programmation Rust (pour plus d'efficacité), chaque outil peut être appelé à partir de Python, comme dans l'exemple suivant:
from whitebox_tools import WhiteboxTools
wbt = WhiteboxTools()
# Set the working directory. This is the path to the folder containing the data,
# i.e. files sent to tools as input/output parameters. You don't need to set
# the working directory if you specify full path names as tool parameters.
wbt.work_dir = "/path/to/data/"
# The most convenient way to run a tool is to use its associated method, e.g.:
wbt.elev_percentile("DEM.tif", "output.tif", 15, 15)
# You may also provide an optional custom callback for processing output from the
# tool. If you don't provide a callback, and verbose is set to True, tool output
# will simply be printed to the standard output.
def my_callback(value):
if user_selected_cancel_btn: # Assumes a 'Cancel' button on a GUI
print('Cancelling operation...')
wbt.cancel_op = True
else:
print(value)
wbt.breach_depressions('DEM.flt', 'DEM_breached.flt', callback=my_callback)
# List all available tools in WhiteboxTools
print(wbt.list_tools())
# Lists tools with 'lidar' or 'LAS' in tool name or description.
print(wbt.list_tools(['lidar', 'LAS']))
# Print the help for a specific tool.
print(wbt.tool_help("ElevPercentile"))
# Want to read the source code for a tool?
# 'view_code' opens a browser and navigates to a tool's
# source code in the WhiteboxTools GitHub repository
wbt.view_code('watershed')
Vous trouverez des informations plus détaillées dans le manuel de l'utilisateur WhiteboxTools . La bibliothèque est autonome et n'a pas d'autres dépendances. Vous devez simplement télécharger le petit fichier (<5 Mo) situé ici . Le fichier de téléchargement contient l'exe WhiteboxTools, le script whitebox_tools.py , qui fournit l'API Python de la bibliothèque (importée sur la première ligne du script ci-dessus), ainsi que le manuel d'utilisation. Il existe également une interface graphique tkinter très basique (wb_runner.py) pour l’interfaçage avec la bibliothèque.
La licence permise MIT est destinée à permettre à WhiteboxTools d’être intégré en tant que back-end à d’autres SIG open source; Alexander Bruy a développé un plugin QGIS pour le back-end WhiteboxTools. Vous pouvez également mélanger et faire correspondre les outils de WhiteboxTools et ArcPy dans un seul script, si nécessaire. La bibliothèque est encore quelque peu expérimentale, développée par le groupe de recherche en géomorphométrie et hydrogéomatique de l'Université de Guelph , et est actuellement publiée avant la version 1.0, ce qui devrait être pris en compte dans l'utilisation.