# 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 ```bash cd /votre/dossier/lidar mkdir -p input # Copiez vos fichiers .laz dans input/ cp /chemin/vos/fichiers/*.laz input/ # Build l'image Docker (avec support GPU NVIDIA) docker build -t lidar-archeo . ``` ## Utilisation ### Traitement avec accélération GPU (recommandé) ```bash # Nécessite une carte NVIDIA + nvidia-container-toolkit docker run --rm --gpus all \ -v $(pwd)/input:/data/input:ro \ -v $(pwd)/output:/data/output \ lidar-archeo ``` ### Traitement standard (CPU seul, sans GPU) ```bash docker run --rm \ -v $(pwd)/input:/data/input:ro \ -v $(pwd)/output:/data/output \ lidar-archeo ``` ### Traitement parallèle multi-CPU ```bash # 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 ```bash # 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 ```bash 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 1. **Negative Openness** - Zones sombres = creux profonds 2. **Dépressions** - Carte spécifique des dolines et sinkholes 3. **Local Relief Model** - Zones bleues = dépressions 4. **Hillshade** - Ombres inhabituelles en forme de trous ### Pour détecter structures et bâtiments anciens 1. **VAT composite** - Meilleure carte unique combinant hillshade+pente+SVF 2. **Sky-View Factor** - Structures géométriques claires 3. **MSRM** - Détection multi-échelle de tous les reliefs 4. **Geomorphons** - Classification automatique des formes ### Pour anomalies statistiques 1. **Anomalies statistiques** - Zones significativement différentes du terrain 2. **Ondelette Mexican Hat** - Structures circulaires (tumulus, enclos) 3. **Rugosité** - Surfaces anthropiques vs naturelles 4. **Texture GLCM** - Labour ancien, chemins, murs enfouis ### Pour hydrologie et fossés 1. **Accumulation de flux** - Fossés d'enceinte, routes antiques 2. **Dépressions** - Zones de collecte d'eau, dolines 3. **Negative Openness** - Fossés et tranchées ## Dépannage ```bash # 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 - [PDAL Documentation](https://pdal.io/) - [LiDAR Archéologie - Méthodes avancées](https://archaeologydataservice.ac.uk/) - [Relief Visualization Toolbox](https://rvtpy.readthedocs.io/)