Automatisation du Traitement de Données Satellites avec KeymouseGo : Un Guide Pratique

Les professionnels du domaine spatial consacrent souvent une part considérable de leur temps à des tâches répétitives de téléchargement, de conversion de formats et de traitement d'images de satellites. L'outil d'automatisation KeymouseGo permet de convertir ces séquences d'actions manuelles en scripts exécutables, libérant ainsi du temps pour l'analyse scientifique.

Pourquoi opter pour KeymouseGo ?

Cet uitlitaire enregistre les actions de la souris et du clavier pour en générer des scripts automatisés. Ses atouts principaux pour le traitement de données satellites sont :

  • Simplicité d'utilisation : L'automatisation se crée par enregistrement, sans nécessiter de compétences en programmation.
  • Multiplateforme : Compatible avec les systèmes Windows, Linux et macOS courants dans les environnements de recherche.
  • Précision : Le contrôle fin des délais entre les actions assure la fiabilité des opérations sur les données géospatiales.

Configuration et Installation

Une version compilée est disponible au téléchargement pour une utilisation directe. Pour une installation depuis le code source, les étapes de construction avec pyinstaller sont les suivantes :

# Pour Windows
pip install -r requirements-windows.txt
pyinstaller -F -w --add-data "./assets;assets" KeymouseGo.py

# Pour Linux/macOS
pip3 install -r requirements-universal.txt
pyinstaller -F -w --add-data "./assets:assets" KeymouseGo.py

L'interface graphique se compose de zones dédiées au contrôle de l'enregistrement, à la gestion des scripts, au paramétrage et à l'affichage des statuts.

Application : Automatisation du Téléchargement d'Images Landsat 8

La récupération manuelle d'une scène sur la plateforme USGS Earth Explorer requiert plusieurs étapes interactives. Un script automatisé peut exécuter ce workflow complet, le temps de traitement par scène passant d'environ 15 minutes à 2 minutes.

Pour créer le script :

  1. Lancer l'enregistrement (via le bouton dédié ou une touche de raccourci).
  2. Effectuer le processus complet (authentification, sélection de zone, filtrage, soumission de commande).
  3. Arrêter l'enregistrement. Le script est sauvegardé automatiquement.

Optimisation des Scripts

Le script de base peut être ajusté pour s'adapter aux contraintes techniques :

  • Traitement par lots : Configurer une exécution en boucle pour enchaîner plusieurs téléchargements.
  • Gestion des temps de chargement : Modifier les délais (delay) dans le script pour s'adapter à la vitesse réseau.

Voici un exemple de structure d'événement dans un script (format JSON) :

{
  "type": "event",
  "event_type": "EM",
  "delay": 2000,
  "action_type": "mouse left down",
  "action": ["0.2800%", "0.4700%"]
}

Les coordonnées sont exprimées en pourcentage de l'écran pour garantir la portabilité entre différentes résolutions.

Exécution Concurrente de Tâches

Pour paralléliser plusieurs flux de travail (ex: téléchargement Landsat, Sentinel, MODIS), l'outil peut être lancé simultanément via des lignes de commande distinctes :

./KeymouseGo script_landsat.txt -rt 4 &
./KeymouseGo script_sentinel.txt -rt 2 &

Dépannage et Affinements

Précision du clic : Si les clics sont imprécis, on peut augmenter la fréquence d'enregistrement des mouvements de la souris en modifiant le paramètre mouse_move_interval_ms dans le code source du recorder.

Éléments dynamiques : Il est conseillé d'ajouter des délais suffisants dans le script pour permettre le chargement complet des pages web ou des données avant l'action suivante.

Personnalisation des raccourcis : Les touches de lancement et d'arrêt de l'enregistrement peuvent être reconfigurées via l'interface de l'application.

L'outil offre une base extensible via son architecture de plugins, permettant de développer des foncitons spécifiques aux besoins du traitement de données géospatiales.

Étiquettes: KeymouseGo automatisation traitement de données satellites enregistrement clavier-souris Python

Publié le 22 juillet à 02h10