d8502ff26ea33a19f241f0f536a5965cffe0e760
- Corriger SVF: ray-tracing 16 azimuts (inversion DEM remplacée) - Corriger Openness: angle zénith/nadir sur 8 directions (min/max filter remplacé) - Ajouter MSRM (LRM multi-échelle 5/10/25/50/100m) - Ajouter TPI multi-échelle (5m + 100m) - Ajouter détection dépressions (remplissage hydrologique) - Ajouter SAILORE (LRM adaptatif f(pente)) - Ajouter rugosité de surface (écart-type local 5m) - Ajouter anomalies statistiques (z-score + Moran's I) - Ajouter ondelette Mexican Hat (CWT 5 échelles) - Ajouter texture GLCM (contraste + entropie - homogénéité) - Ajouter accumulation de flux (D8) - Retirer geomorphons et VAT composite - Répertoire par fichier LAZ dans visualisations/ - Support multi-CPU (-w/--workers) - Légendes explicites avec différenciation entre techniques similaires - Docker: uid/gid 1000:1000 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.
Visualisations (21 par fichier)
Visualisations principales
| # | Visualisation | Utilité archéologique |
|---|---|---|
| 1 | Hillshade multidirectionnel | Murs, terrasses, structures linéaires, routes |
| 2 | Pente (Slope) | Murs de soutènement, talus, changements brusques |
| 3 | Aspect (Orientation) | Direction des pentes, exposition |
| 4 | Courbure (Curvature) | Fossés, terrasses, talus, concavité/convexité |
| 5 | Sky-View Factor | Structures, tumulus, fondations (ray-tracing 16 azimuts) |
| 6 | Local Relief Model | Micro-reliefs, fossés, levées de terrain |
| 7 | Positive Openness | Élévations, tumulus, bâtiments (ray-tracing 8 directions) |
| 8 | Negative Openness | Cavités, fossés, souterrains (ray-tracing 8 directions) |
Visualisations avancées
| # | Visualisation | Description | Détection |
|---|---|---|---|
| 9 | MSRM | Multi-Scale Relief Model (sigma 5/10/25/50/100m) | Tumulus, fossés, murs à toutes échelles |
| 10 | TPI multi-échelle | Topographic Position Index (5m + 100m) | Crêtes, vallées, plateformes |
| 11 | VAT composite | Fusion hillshade+pente+SVF en RGB | Meilleure carte unique archéologique |
| 12 | Dépressions | Remplissage cuvettes + différence | Dolines, sinkholes, zones inondables |
| 13 | SAILORE | LRM adaptatif (noyau = f(pente)) | Terrain hétérogène, tout relief |
| 14 | Geomorphons | 10 formes de terrain | Pics, crêtes, vallées, fosses, plateaux |
| 15 | Rugosité | Écart-type de l'élévation | Surfaces anthropiques vs naturelles |
| 16 | Anomalies statistiques | Z-score + Local Moran's I | Anomalies topographiques significatives |
| 17 | Ondelette Mexican Hat | CWT 2D multi-échelle | Tumulus, fossés circulaires |
| 18 | Texture GLCM | Contraste, entropie, homogénéité | Labour, surfaces archéologiques |
| 19 | Accumulation de flux | Algorithme D8 hydrologique | Fossés d'enceinte, routes antiques |
Cartes de référence IGN
| # | Visualisation | Source |
|---|---|---|
| 20 | Photographie aérienne IGN | Orthophotographie WMTS |
| 21 | Carte topographique IGN | Plan IGN V2 WMTS |
Installation Docker
cd /votre/dossier/lidar
mkdir -p input
# Copiez vos fichiers .laz dans input/
cp /chemin/vos/fichiers/*.laz input/
# Build l'image Docker
docker build -t lidar-archeo .
Utilisation
Traitement standard (1 CPU)
docker run --rm \
-v $(pwd)/input:/data/input:ro \
-v $(pwd)/output:/data/output \
lidar-archeo
Traitement parallèle multi-CPU
# Utiliser 4 CPU pour traiter plusieurs fichiers en parallèle
docker run --rm \
-v $(pwd)/input:/data/input:ro \
-v $(pwd)/output:/data/output \
lidar-archeo \
process_lidar.py /data/input -o /data/output -w 4
Résolution personnalisée
# Résolution fine (0.2m) - bâtiments individuels
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.2
# Résolution standard (0.5m) - recommandée archéologie
docker run --rm \
-v $(pwd)/input:/data/input:ro \
-v $(pwd)/output:/data/output \
lidar-archeo
Combinaison résolution + multi-CPU
docker run --rm \
--memory=16g \
-v $(pwd)/input:/data/input:ro \
-v $(pwd)/output:/data/output \
lidar-archeo \
process_lidar.py /data/input -o /data/output -r 0.5 -w 4
Structure des dossiers
.
├── input/ # Vos fichiers .laz (monté en read-only)
├── output/ # Résultats générés
│ ├── DTM/ # Modèles numériques de terrain (GeoTIFF)
│ ├── visualisations/ # Images PNG par fichier LAZ
│ │ ├── fichier_6881/ # Un sous-dossier par fichier LAZ
│ │ │ ├── ..._hillshade_multi.png
│ │ │ ├── ..._svf.png
│ │ │ ├── ..._mslrm.png
│ │ │ └── ... (21 visualisations)
│ │ └── fichier_6882/
│ │ └── ...
│ └── rapports/ # Rapports PDF A3 par fichier
│ ├── fichier_6881_rapport.pdf
│ └── fichier_6882_rapport.pdf
├── Dockerfile
├── docker-compose.yml
└── process_lidar.py
Paramètres
| Paramètre | Option | Défaut | Description |
|---|---|---|---|
| Résolution | -r |
0.5 | Résolution en mètres par pixel |
| Workers | -w |
1 | Nombre de CPU pour traitement parallèle |
| Output | -o |
/data/output | Dossier de sortie |
Résolution recommandée
0.2- Très fine, bâtiments individuels (lent)0.5- Recommandée archéologie (équilibre vitesse/détail)1.0- Rapide, grandes structures uniquement
Interprétation archéologique
Pour détecter les cavités et souterrains
- Negative Openness - Zones sombres = creux profonds
- Dépressions - Carte spécifique des dolines et sinkholes
- Local Relief Model - Zones bleues = dépressions
- Hillshade - Ombres inhabituelles en forme de trous
Pour détecter structures et bâtiments anciens
- VAT composite - Meilleure carte unique combinant hillshade+pente+SVF
- Sky-View Factor - Structures géométriques claires
- MSRM - Détection multi-échelle de tous les reliefs
- Geomorphons - Classification automatique des formes
Pour anomalies statistiques
- Anomalies statistiques - Zones significativement différentes du terrain
- Ondelette Mexican Hat - Structures circulaires (tumulus, enclos)
- Rugosité - Surfaces anthropiques vs naturelles
- Texture GLCM - Labour ancien, chemins, murs enfouis
Pour hydrologie et fossés
- Accumulation de flux - Fossés d'enceinte, routes antiques
- Dépressions - Zones de collecte d'eau, dolines
- Negative Openness - Fossés et tranchées
Dépannage
# Vérifier Docker
docker --version
# Shell dans le conteneur
docker run --rm -it \
-v $(pwd)/input:/data/input \
-v $(pwd)/output:/data/output \
--entrypoint bash lidar-archeo
# Reconstruire l'image
docker build --no-cache -t lidar-archeo .
# Nettoyer
docker system prune -a
Erreur mémoire
Augmenter la mémoire Docker à 16Go+ pour les gros fichiers LiDAR HD.
Ressources
Description
Languages
Python
86.6%
Shell
12.5%
Dockerfile
0.9%