7c609d0c247fb8dd821b0d6c77d57e57b21b5d66
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pipeline LiDAR Archéologique - Docker
Workflow automatisé pour générer des visualisations exploitables à partir de données LiDAR pour la détection de structures archéologiques.
🎯 Ce que détecte ce pipeline
| Visualisation | Utilité archéologique |
|---|---|
| Hillshade multidirectionnel | Murs, terrasses, structures linéaires, routes |
| Slope (Pente) | Murs de soutènement, talus, changements brusques |
| Sky-View Factor | ⭐ Top - structures, tumulus, fondations |
| Local Relief Model | Micro-reliefs, fossés, levées de terrain |
| Positive Openness | Élévations, tumulus, bâtiments |
| Negative Openness | ⭐ Cavités, fossés, souterrains |
📦 Installation Docker
# Clone ou copiez les fichiers dans un dossier
cd /votre/dossier/lidar
# Créez le dossier pour vos fichiers LAZ
mkdir -p input
# Copiez vos fichiers .laz dans input/
cp /chemin/vos/fichiers/*.laz input/
# Build l'image Docker
docker-compose build
# Ou avec docker build
docker build -t lidar-archeo .
🚀 Utilisation
Méthode 1: docker-compose (recommandé)
# Traitement avec résolution 0.5m
docker-compose up
# Résolution plus fine (plus lent)
docker-compose run -e RESOLUTION=0.2 lidar process_lidar.py /data/input -o /data/output -r 0.2
Méthode 2: docker run
# Basic
docker run --rm \
-v $(pwd)/input:/data/input:ro \
-v $(pwd)/output:/data/output \
lidar-archeo
# Avec résolution personnalisée
docker run --rm \
-v $(pwd)/input:/data/input:ro \
-v $(pwd)/output:/data/output \
lidar-archeo \
process_lidar.py /data/input -o /data/output -r 0.3
# Plus de mémoire pour fichiers volumineux
docker run --rm \
--memory=16g \
--memory-swap=16g \
-v $(pwd)/input:/data/input:ro \
-v $(pwd)/output:/data/output \
lidar-archeo
📁 Structure des dossiers
.
├── input/ # Vos fichiers .laz (monté en read-only)
├── output/ # Résultats générés
│ ├── DTM/ # Modèles numériques d'élévation
│ ├── visualisations/# Images PNG prêtes à l'emploi
│ └── rapports/ # Vues synthétiques
├── Dockerfile
├── docker-compose.yml
└── process_lidar.py
📊 Sortie générée
Après traitement, dans output/ :
output/
├── DTM/
│ └── fichier_dtm.tif
├── visualisations/
│ ├── fichier_hillshade_multi.png
│ ├── fichier_svf.png # ⭐ Sky-View Factor
│ ├── fichier_lrm.png # Local Relief Model
│ ├── file_positive_openness.png # Élévations
│ ├── file_negative_openness.png # ⭐ Cavités
│ └── fichier_slope.png
└── rapports/
└── fichier_overview.png # Vue 2x3 synthétique
👁️ Interprétation
Pour détecter les cavités et souterrains
Regardez dans cet ordre :
- Negative Openness - Zones bleues foncées = creux
- Local Relief Model - Zones bleues = dépressions
- Hillshade - Ombres inhabituelles en forme de trous
Pour détecter structures et bâtiments anciens
- Sky-View Factor - Structures géométriques claires
- Positive Openness - Zones orangées/rouges = élévations
- Hillshade - Lignes droites, rectangles, angles
Pour élévations de terrain
- Slope - Changements de pente brusques
- Positive Openness - Zones en hauteur
- LRM - Zones rouges = relief local
⚙️ Paramètres
Résolution (-r)
0.2- Très fine, bâtiments individuels (lent)0.5- Recommandé archéologie (équilibre)1.0- Rapide, grandes structures
Ressources Docker
Modifiez dans docker-compose.yml :
deploy:
resources:
limits:
cpus: '4' # CPU cores
memory: 8G # RAM
🔧 Dépannage
# Vérifier que Docker fonctionne
docker --version
docker-compose --version
# Voir les logs en temps réel
docker-compose up -f
# Shell dans le conteneur
docker-compose run lidar bash
# Nettoyer tout
docker-compose down -v
docker system prune -a
Erreur mémoire
# Augmenter la limite mémoire dans docker-compose.yml
# Ou utiliser --memory=16g avec docker run
Erreur PDAL/Whitebox
# Recréer l'image
docker-compose build --no-cache
📝 Prochaines améliorations
- Classification automatique des structures détectées
- Export GeoTIFF géoréférencés pour QGIS
- Interface web pour exploration interactive
- Support multi-fichiers avec mosaïque
📚 Ressources
Description
Languages
Python
86.6%
Shell
12.5%
Dockerfile
0.9%