Guide de Dépannage
Solutions aux problèmes courants rencontrés lors du traitement de données LiDAR avec IGN LiDAR HD.
Problèmes d'Installation
Échec d'Installation des Dépendances
Problème : L'installation du package Python échoue
ERROR: Failed building wheel for some-package
Solutions :
-
Mettre à jour pip
pip install --upgrade pip setuptools wheel
-
Installer avec conda
conda install -c conda-forge ign-lidar-hd
-
Installation manuelle des dépendances
pip install numpy scipy laspy pdal
pip install ign-lidar-hd
Problèmes CUDA/GPU
Problème : CUDA non détecté
CUDA not available, falling back to CPU processing
Diagnostic :
# Vérifier CUDA
nvidia-smi
python -c "import torch; print(torch.cuda.is_available())"
Solutions :
- Installer les pilotes NVIDIA
- Installer CUDA Toolkit
- Installer PyTorch avec support CUDA
Problèmes de Traitement
Erreurs de Mémoire
Problème : Mémoire insuffisante
MemoryError: Unable to allocate array
Solutions :
-
Réduire la taille des morceaux
processor = Processor(chunk_size=100000)
-
Traiter en petits lots
for batch in split_large_file(input_file, max_points=500000):
process_batch(batch) -
Utiliser la pagination
processor = Processor(use_pagination=True, page_size=50000)
Mémoire GPU Insuffisante
Problème : VRAM insuffisante
CUDA out of memory. Tried to allocate 2.00 GiB
Solutions :
-
Limiter la mémoire GPU
processor = Processor(gpu_memory_limit=0.5)
-
Vider le cache GPU
import torch
torch.cuda.empty_cache() -
Traitement hybride CPU/GPU
processor = Processor(
use_gpu=True,
fallback_to_cpu=True
)
Erreurs de Fichier
Problème : Fichier LAS corrompu
LASError: Invalid LAS file header
Diagnostic :
# Vérifier avec PDAL
pdal info input.las
# Valider avec laspy
python -c "import laspy; f=laspy.read('input.las'); print('OK')"
Solutions :
-
Réparer avec PDAL
pdal translate input.las output_fixed.las --writers.las.forward=all
-
Valider et nettoyer
from ign_lidar.utils import validate_and_clean
clean_file = validate_and_clean("input.las")
Problèmes de Performance
Traitement Lent
Problème : Très mauvaises performances
Diagnostic :
from ign_lidar import Profiler
with Profiler() as prof:
result = processor.process_tile("input.las")
prof.print_bottlenecks()
Solutions :
-
Optimiser les paramètres
processor = Processor(
n_jobs=-1, # Tous les cœurs
chunk_size=1000000,
use_gpu=True
) -
Vérifier la vitesse du disque
# Tester la vitesse du disque
dd if=/dev/zero of=test_file bs=1M count=1000 -
Surveiller les ressources
htop # CPU et RAM
iotop # E/S disque
nvidia-smi # GPU
Goulots d'Étranglement E/S
Problème : Lecture/écriture lente
Solutions :
-
Optimiser les tampons
processor = Processor(
read_buffer_size='128MB',
write_buffer_size='128MB',
io_threads=4
) -
Utiliser un stockage rapide
- Préférer les SSD NVMe
- Éviter les lecteurs réseau pour le traitement
-
Compression adaptative
# Équilibrer compression/vitesse
processor = Processor(
output_format='laz',
compression_level=1
)
Problèmes de Configuration
Configuration Invalide
Problème : Erreurs de paramètres
ConfigurationError: Invalid feature configuration
Solutions :
-
Valider la configuration
from ign_lidar import Config
config = Config.from_file("config.yaml")
config.validate() -
Utiliser la configuration par défaut
config = Config.get_default()
config.features = ['buildings', 'vegetation'] -
Générer des modèles de configuration
# Générer un modèle
ign-lidar-hd config --template > config.yaml
Problèmes de Chemin
Problème : Fichiers introuvables
FileNotFoundError: No such file or directory
Solutions :
-
Vérifier les chemins
import os
assert os.path.exists("input.las"), "Fichier introuvable" -
Utiliser des chemins absolus
input_path = os.path.abspath("input.las")
-
Vérifier les permissions
ls -la input.las
chmod 644 input.las
Problèmes Spécifiques
Augmentation RGB
Problème : Échec de l'augmentation couleur
OrthophotoError: Cannot read orthophoto file
Solutions :
-
Vérifier le format
gdalinfo orthophoto.tif
-
Convertir le format
gdal_translate -of GTiff input.jp2 output.tif
-
Vérifier le géoréférencement
from ign_lidar.utils import check_crs_match
match = check_crs_match("input.las", "orthophoto.tif")
Détection de Bâtiments
Problème : Mauvaise détection des bâtiments
Solutions :
-
Ajuster les paramètres
config = Config(
building_detection={
'min_points': 100,
'height_threshold': 2.0,
'planarity_threshold': 0.1
}
) -
Prétraitement adaptatif
processor = Processor(
ground_classification=True,
noise_removal=True
)
Journalisation et Débogage
Activer la Journalisation Détaillée
import logging
logging.basicConfig(level=logging.DEBUG)
processor = Processor(verbose=True)
Enregistrer les Journaux
import logging
logging.basicConfig(
filename='ign_lidar.log',
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
Mode Débogage
# Exécution en mode débogage
IGN_LIDAR_DEBUG=1 python script.py
# Profilage détaillé
IGN_LIDAR_PROFILE=1 python script.py
Support et Aide
Documentation
Outils de Diagnostic
# Informations système
ign-lidar-hd system-info
# Test de configuration
ign-lidar-hd config-test
# Validation des données
ign-lidar-hd validate input.las
Signalement de Bugs
-
Collecter les informations
ign-lidar-hd system-info > system_info.txt
-
Exemple minimal
# Code minimal reproduisant le problème
from ign_lidar import Processor
processor = Processor()
# Erreur ici... -
Fichiers de test
- Fournir un petit fichier LAS de test si possible
- Inclure la configuration utilisée
Ressources Utiles
- Dépôt GitHub : Issues et discussions
- Documentation : Guides détaillés et API
- Exemples : Scripts d'exemple
- Communauté : Forums de discussion
Solutions Rapides
Liste de Vérification Générale
- ✅ Python 3.8+ installé
- ✅ Dépendances correctement installées
- ✅ Fichiers d'entrée valides
- ✅ Permissions de lecture/écriture
- ✅ Espace disque suffisant
- ✅ RAM disponible pour les morceaux
- ✅ Pilotes GPU à jour (si utilisé)
Commandes Utiles
# Diagnostics rapides
ign-lidar-hd doctor
# Vider le cache
ign-lidar-hd cache --clear
# Réinitialiser la configuration
ign-lidar-hd config --reset
# Test de performance
ign-lidar-hd benchmark --quick