Translate the whole project to English and fix outdated comments and help
Comments, docstrings, logs, CLI help, map UI, legends, PDF sheet, scripts, compose files and AGENTS.md are now English. Data keys stay unchanged (relief_oriente, densite_sol, visualisations/, API JSON keys, link params). Wrong comments and help defaults found along the way are corrected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
301
run.sh
301
run.sh
@ -1,32 +1,37 @@
|
||||
#!/bin/bash
|
||||
# Pipeline LiDAR Archéologique
|
||||
# Utilisation: ./run.sh [options]
|
||||
# LiDAR archaeology pipeline
|
||||
# Usage: ./run.sh [options]
|
||||
#
|
||||
# Options:
|
||||
# -r RESOLUTION Résolution en m/px, ou multiples séparées par virgules (défaut: 0.5, ex: 0.5,0.2)
|
||||
# -w WORKERS Nombre de workers parallèles (défaut: 1)
|
||||
# -g [LISTE] Sélectionner le(s) GPU(s) : -g (auto), -g 0, -g 0,2, -g all
|
||||
# -v Mode verbeux
|
||||
# --debug Mode debug
|
||||
# -f / --force Régénérer tous les fichiers
|
||||
# --keep-tif Conserver les fichiers TIFF
|
||||
# -r RESOLUTION Resolution in m/px, or several separated by commas
|
||||
# (run.sh default: 0.5, e.g. 0.5,0.2; the CLI alone defaults to 0.2)
|
||||
# -w WORKERS Number of parallel workers (run.sh default: 1)
|
||||
# -g [LIST] Select GPU(s): -g (auto), -g 0, -g 0,2, -g all
|
||||
# -v Verbose mode
|
||||
# --debug Debug mode
|
||||
# -f / --force Regenerate all files
|
||||
# --keep-tif Keep the TIFF files
|
||||
# --force-classification
|
||||
# --ground-classification {auto,ign,smrf,csf}
|
||||
# --ground-classification {auto,ign,smrf,csf} (default: ign)
|
||||
# --ign-classes CLASSES
|
||||
# Classes LAS pour le MNT IGN (ex: sol,unclassified ; défaut: sol)
|
||||
# --quality N Qualité image 1-100 (défaut: 98)
|
||||
# --lossless Compression lossless
|
||||
# --format FMT Format de sortie : avif (défaut) ou webp
|
||||
# --only VIZ... Générer uniquement ces visualisations
|
||||
# --skip VIZ... Exclure ces visualisations
|
||||
# --file NOM... Traiter un ou plusieurs fichiers LAZ
|
||||
# --test Exécuter les tests unitaires
|
||||
# --serve [PORT] Carte + tuiles XYZ + génération (image complète, défaut: 8973)
|
||||
# LAS classes for the IGN DTM (e.g. sol,unclassified; default: sol)
|
||||
# --quality N Image quality 1-100 (default: 60)
|
||||
# --lossless Lossless compression
|
||||
# --format FMT Output format: avif (default) or webp
|
||||
# --only VIZ... Generate only these visualizations
|
||||
# --skip VIZ... Exclude these visualizations
|
||||
# --file NAME... Process one or more LAZ files
|
||||
# --fetch-tiles COL,ROW...
|
||||
# Download these tiles from IGN, then process them
|
||||
# --rebuild-index Rebuild only the tile catalogue (no reprocessing)
|
||||
# --no-index Do not build the catalogue
|
||||
# --test Run the unit tests
|
||||
# --serve [PORT] Map + XYZ tiles + generation (full image, default: 8973)
|
||||
# --serve-maps [PORT]
|
||||
# Conteneur carte seul (image légère lidar-maps) : tuiles
|
||||
# servies depuis le cache local, génération déléguée via
|
||||
# LIDAR_GENERATION_URL, dalles rapatriées via LIDAR_SOURCE_URL
|
||||
# -h Afficher l'aide complète
|
||||
# Map container only (lightweight lidar-maps image): tiles
|
||||
# served from the local cache, generation delegated via
|
||||
# LIDAR_GENERATION_URL, tiles fetched via LIDAR_SOURCE_URL
|
||||
# -h Show the full help
|
||||
|
||||
set -e
|
||||
|
||||
@ -35,53 +40,74 @@ INPUT_DIR="${SCRIPT_DIR}/input"
|
||||
OUTPUT_DIR="${SCRIPT_DIR}/output"
|
||||
IMAGE_NAME="lidar-lidar"
|
||||
|
||||
# Afficher l'aide si aucun argument
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Pipeline LiDAR Archéologique"
|
||||
show_help() {
|
||||
echo "LiDAR archaeology pipeline"
|
||||
echo ""
|
||||
echo "Usage: $0 [options]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " -r RESOLUTION Résolution en m/px, ou multiples (défaut: 0.5, ex: 0.5,0.2)"
|
||||
echo " -w WORKERS Nombre de workers CPU parallèles (défaut: 1)"
|
||||
echo " -g [LISTE] Sélectionner le(s) GPU(s) : -g (auto), -g 0, -g 0,2, -g all"
|
||||
echo " -v Mode verbeux (timestamps + niveaux)"
|
||||
echo " --debug Mode debug (détails internes fichier:ligne)"
|
||||
echo " -f / --force Régénérer tous les fichiers même si les AVIF existent"
|
||||
echo " -r RESOLUTION Resolution in m/px, or several separated by commas"
|
||||
echo " (default: 0.5, e.g. 0.5,0.2; the CLI alone defaults to 0.2)"
|
||||
echo " -w WORKERS Number of parallel CPU workers (default: 1)"
|
||||
echo " -g [LIST] Select GPU(s): -g (auto), -g 0, -g 0,2, -g all"
|
||||
echo " -v Verbose mode (timestamps + levels)"
|
||||
echo " --debug Debug mode (internal file:line details)"
|
||||
echo " -f / --force Regenerate all files even if the AVIF images exist"
|
||||
echo " --force-classification"
|
||||
echo " Reclassifier le sol même si le fichier .las existe"
|
||||
echo " --keep-tif Conserver les TIFF pour régénérer les AVIF"
|
||||
echo " Reclassify the ground even if the .las file exists"
|
||||
echo " --keep-tif Keep the TIFFs to regenerate the AVIF images"
|
||||
echo " --ground-classification {auto,ign,smrf,csf}"
|
||||
echo " Méthode de classification du sol (défaut: auto = pré-classification IGN)"
|
||||
echo " Ground classification method (default: ign = IGN pre-classification;"
|
||||
echo " auto = IGN if present, otherwise SMRF/CSF detection)"
|
||||
echo " --ign-classes CLASSES"
|
||||
echo " Classes LAS pour le MNT IGN : sol,unclassified,eau,virtuel,pont,sursol"
|
||||
echo " ou codes (ex: 2,1). Mode pur, aucune retouche. (défaut: sol)"
|
||||
echo " --quality N Qualité image 1-100 (défaut: 98, 100=lossless)"
|
||||
echo " --lossless Compression lossless (équivalent à --quality 100)"
|
||||
echo " --format FMT Format de sortie : avif (défaut) ou webp"
|
||||
echo " --only VIZ... Générer uniquement ces visualisations"
|
||||
echo " --skip VIZ... Exclure ces visualisations"
|
||||
echo " --file NOM... Traiter un ou plusieurs fichiers LAZ (nom complet sans .laz/.las)"
|
||||
echo " --test Exécuter les tests unitaires"
|
||||
echo " -h Afficher cette aide"
|
||||
echo " LAS classes for the IGN DTM: sol,unclassified,eau,virtuel,pont,sursol"
|
||||
echo " or codes (e.g. 2,1). Pure mode, no retouching. (default: sol)"
|
||||
echo " --quality N Image quality 1-100 (default: 60, 100 = lossless)"
|
||||
echo " --lossless Lossless compression (same as --quality 100)"
|
||||
echo " --format FMT Output format: avif (default) or webp"
|
||||
echo " --only VIZ... Generate only these visualizations"
|
||||
echo " --skip VIZ... Exclude these visualizations"
|
||||
echo " --file NAME... Process one or more LAZ files (full name without .laz/.las)"
|
||||
echo " --fetch-tiles COL,ROW..."
|
||||
echo " Download these tiles from IGN, then process them"
|
||||
echo " --rebuild-index Rebuild only the tile catalogue (no reprocessing)"
|
||||
echo " --no-index Do not build the catalogue (thumbnails + inventory)"
|
||||
echo " --serve [PORT] Map + XYZ tiles + generation API (full image,"
|
||||
echo " default 8973) - see docker-compose.yml (serve service)"
|
||||
echo " --serve-maps [PORT]"
|
||||
echo " XYZ tile map (lightweight lidar-maps image, default 8975):"
|
||||
echo " OpenStreetMap scheme, reusable in JOSM/QGIS/iD;"
|
||||
echo " generation delegated via LIDAR_GENERATION_URL"
|
||||
echo " (see docs/MAPS.md)"
|
||||
echo " --test Run the unit tests"
|
||||
echo " -h Show this help"
|
||||
echo ""
|
||||
echo "Visualisations disponibles:"
|
||||
echo " hillshade slope mslrm sailore pos_open neg_open"
|
||||
echo " svf aniso_open roughness wavelet flow_acc"
|
||||
echo "Available visualizations (default without --only/--skip: relief_oriente densite_sol):"
|
||||
echo " relief_oriente densite_sol hillshade slope aspect mslrm sailore"
|
||||
echo " pos_open neg_open svf roughness wavelet flow_acc solar anomaly"
|
||||
echo " ortho topo"
|
||||
echo ""
|
||||
echo "Exemples:"
|
||||
echo " $0 -g # GPU auto (premier disponible)"
|
||||
echo "Examples:"
|
||||
echo " $0 -g # Auto GPU (first available)"
|
||||
echo " $0 -g 0 # GPU index 0"
|
||||
echo " $0 -g 0,2 # GPUs 0 et 2"
|
||||
echo " $0 -g all # Tous les GPUs"
|
||||
echo " $0 -g 0,2 # GPUs 0 and 2"
|
||||
echo " $0 -g all # All GPUs"
|
||||
echo " $0 -g -w 4 # GPU + 4 workers"
|
||||
echo " $0 -g -r 0.2 # Haute résolution"
|
||||
echo " $0 -g -r 0.5,0.2 # Multi-résolution (0.5m + 0.2m)"
|
||||
echo " $0 -g --force # Régénérer AVIF (DTM conservé si --keep-tif)"
|
||||
echo " $0 -g --force-classification # Reclassifier le sol seulement"
|
||||
echo " $0 -g --ground-classification csf # Forcer CSF (terrain complexe)"
|
||||
echo " $0 -g --file LHD_...IGN69.copc # Un fichier"
|
||||
echo " $0 -g -v # GPU + verbose"
|
||||
echo " $0 -g -r 0.2 # High resolution"
|
||||
echo " $0 -g -r 0.5,0.2 # Multi-resolution (0.5 m + 0.2 m)"
|
||||
echo " $0 -g --force # Regenerate AVIF (DTM kept with --keep-tif)"
|
||||
echo " $0 -g --force-classification # Reclassify the ground only"
|
||||
echo " $0 -g --only hillshade svf # Only 2 visualizations"
|
||||
echo " $0 -g --lossless # Lossless AVIF"
|
||||
echo " $0 -g --quality 90 # AVIF quality 90"
|
||||
echo " $0 -g --ground-classification csf # Force CSF (complex terrain)"
|
||||
echo " $0 -g --file LHD_...IGN69.copc # A single file"
|
||||
}
|
||||
|
||||
# Show the help when called without arguments
|
||||
if [ $# -eq 0 ]; then
|
||||
show_help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@ -155,67 +181,10 @@ while [ $# -gt 0 ]; do
|
||||
if [ $# -gt 0 ] && [[ ! "$1" =~ ^- ]]; then MAPS_SERVE_PORT="$1"; shift; fi
|
||||
;;
|
||||
-h|--help|-help)
|
||||
echo "Pipeline LiDAR Archéologique"
|
||||
echo ""
|
||||
echo "Usage: $0 [options]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " -r RESOLUTION Résolution en m/px (défaut: 0.5)"
|
||||
echo " -w WORKERS Nombre de workers CPU parallèles (défaut: 1)"
|
||||
echo " -g [LISTE] Sélectionner le(s) GPU(s) : -g (auto), -g 0, -g 0,2, -g all"
|
||||
echo " -v Mode verbeux (timestamps + niveaux)"
|
||||
echo " --debug Mode debug (détails internes fichier:ligne)"
|
||||
echo " -f / --force Régénérer tous les fichiers même si les AVIF existent"
|
||||
echo " --force-classification"
|
||||
echo " Reclassifier le sol même si le fichier .las existe"
|
||||
echo " --keep-tif Conserver les TIFF pour régénérer les AVIF"
|
||||
echo " --ground-classification {auto,ign,smrf,csf}"
|
||||
echo " Méthode de classification du sol (défaut: auto = pré-classification IGN)"
|
||||
echo " --ign-classes CLASSES"
|
||||
echo " Classes LAS pour le MNT IGN : sol,unclassified,eau,virtuel,pont,sursol"
|
||||
echo " ou codes (ex: 2,1). Mode pur, aucune retouche. (défaut: sol)"
|
||||
echo " --quality N Qualité image 1-100 (défaut: 98, 100=lossless)"
|
||||
echo " --lossless Compression lossless (équivalent à --quality 100)"
|
||||
echo " --format FMT Format de sortie : avif (défaut) ou webp"
|
||||
echo " --only VIZ... Générer uniquement ces visualisations"
|
||||
echo " --skip VIZ... Exclure ces visualisations"
|
||||
echo " --file NOM... Traiter un ou plusieurs fichiers LAZ"
|
||||
echo " --fetch-tiles COL,ROW..."
|
||||
echo " Télécharger ces dalles depuis l'IGN puis les traiter"
|
||||
echo " --serve [PORT] Carte + tuiles XYZ + API de génération (image complète,"
|
||||
echo " défaut 8973) — cf. docker-compose.yml (service serve)"
|
||||
echo " --serve-maps [PORT]"
|
||||
echo " Carte à tuiles XYZ (image légère lidar-maps, défaut 8975) :"
|
||||
echo " schéma OpenStreetMap, réutilisable dans JOSM/QGIS/iD ;"
|
||||
echo " génération déléguée via LIDAR_GENERATION_URL"
|
||||
echo " (cf. docs/MAPS.md)"
|
||||
echo " --test Exécuter les tests unitaires"
|
||||
echo " -h Afficher cette aide"
|
||||
echo ""
|
||||
echo "Visualisations disponibles:"
|
||||
echo " hillshade slope mslrm sailore pos_open neg_open"
|
||||
echo " svf aniso_open roughness wavelet flow_acc"
|
||||
echo " ortho topo"
|
||||
echo ""
|
||||
echo "Exemples:"
|
||||
echo " $0 -g # GPU auto (premier disponible)"
|
||||
echo " $0 -g 0 # GPU index 0"
|
||||
echo " $0 -g 0,2 # GPUs 0 et 2"
|
||||
echo " $0 -g all # Tous les GPUs"
|
||||
echo " $0 -g -w 4 # GPU + 4 workers"
|
||||
echo " $0 -g -v # GPU + verbeux"
|
||||
echo " $0 -g -r 0.2 # Haute résolution"
|
||||
echo " $0 -g -r 0.5,0.2 # Multi-résolution (0.5m + 0.2m)"
|
||||
echo " $0 -g --force # Régénérer AVIF"
|
||||
echo " $0 -g --only hillshade svf # Seulement 2 visualisations"
|
||||
echo " $0 -g --skip ortho topo # Sans les overlays IGN"
|
||||
echo " $0 -g --lossless # AVIF lossless"
|
||||
echo " $0 -g --quality 90 # AVIF qualité 90"
|
||||
echo " $0 -g --ground-classification csf # Forcer CSF (terrain complexe)"
|
||||
echo " $0 -g --file LHD_...IGN69.copc # Un fichier"
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
*) echo "Option invalide: $1" >&2; exit 1 ;;
|
||||
*) echo "Invalid option: $1" >&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
@ -223,34 +192,34 @@ done
|
||||
FILE_ARGS=$(echo "$FILE_ARGS" | xargs)
|
||||
FETCH_TILES_ARGS=$(echo "$FETCH_TILES_ARGS" | xargs)
|
||||
|
||||
# input/ en lecture seule sauf si --fetch-tiles (téléchargement IGN dans input/)
|
||||
# input/ is read-only unless --fetch-tiles (IGN download into input/)
|
||||
INPUT_RO=":ro"
|
||||
if [ -n "$FETCH_TILES_ARGS" ]; then
|
||||
INPUT_RO=""
|
||||
fi
|
||||
|
||||
# Build systématique de l'image avant tout docker run. Le cache Docker rend
|
||||
# l'opération quasi instantanée si le code n'a pas changé ; en cas d'échec,
|
||||
# le journal complet est affiché. Ça évite de lancer tests/serveur/pipeline
|
||||
# sur une image périmée (code baké à la dernière édition).
|
||||
# Always build the image before any docker run. The Docker cache makes this
|
||||
# almost instant when the code has not changed; on failure the full build log
|
||||
# is printed. This avoids running tests/server/pipeline on a stale image (the
|
||||
# code is baked in at build time).
|
||||
build_image() {
|
||||
local log="/tmp/lidar_build_$$.log"
|
||||
echo "Mise à jour de l'image Docker (cache)..."
|
||||
echo "Updating the Docker image (cached)..."
|
||||
if ! docker build -t "$IMAGE_NAME" "$SCRIPT_DIR" >"$log" 2>&1; then
|
||||
cat "$log" >&2
|
||||
echo "Échec du build de l'image (journal : $log)" >&2
|
||||
echo "Image build failed (log: $log)" >&2
|
||||
exit 1
|
||||
fi
|
||||
rm -f "$log"
|
||||
}
|
||||
|
||||
# Image carte à tuiles XYZ (cf. Dockerfile.maps)
|
||||
# XYZ tile map image (see Dockerfile.maps)
|
||||
build_maps_image() {
|
||||
local log="/tmp/lidar_maps_build_$$.log"
|
||||
echo "Mise à jour de l'image Docker carte (cache)..."
|
||||
echo "Updating the map Docker image (cached)..."
|
||||
if ! docker build -f Dockerfile.maps -t "$MAPS_IMAGE" "$SCRIPT_DIR" >"$log" 2>&1; then
|
||||
cat "$log" >&2
|
||||
echo "Échec du build de l'image carte (journal : $log)" >&2
|
||||
echo "Map image build failed (log: $log)" >&2
|
||||
exit 1
|
||||
fi
|
||||
rm -f "$log"
|
||||
@ -260,7 +229,7 @@ build_maps_image() {
|
||||
if [ "$TEST_FLAG" -eq 1 ]; then
|
||||
build_image
|
||||
echo "============================================"
|
||||
echo " Tests unitaires LiDAR Pipeline"
|
||||
echo " LiDAR pipeline unit tests"
|
||||
echo "============================================"
|
||||
docker run --rm --init $GPU_FLAG \
|
||||
"$IMAGE_NAME" \
|
||||
@ -270,29 +239,29 @@ fi
|
||||
|
||||
build_image
|
||||
|
||||
# Créer les répertoires s'ils n'existent pas
|
||||
# Create the directories if they do not exist
|
||||
mkdir -p "$INPUT_DIR" "$OUTPUT_DIR"
|
||||
|
||||
# Mode --serve : carte à tuiles XYZ + API de génération (image complète,
|
||||
# input/ en écriture pour le téléchargement IGN). Équivalent conteneurisé :
|
||||
# --serve mode: XYZ tile map + generation API (full image, input/ writable
|
||||
# for the IGN download). Compose equivalent:
|
||||
# docker compose up -d --build serve (port 8973).
|
||||
if [ "$SERVE_FLAG" -eq 1 ]; then
|
||||
echo "============================================"
|
||||
echo " Carte LiDAR — tuiles XYZ + génération"
|
||||
echo " LiDAR map - XYZ tiles + generation"
|
||||
echo "============================================"
|
||||
echo " http://127.0.0.1:${SERVE_PORT}/"
|
||||
echo " GPU : $([ -n "$GPU_FLAG" ] && echo 'OUI' || echo 'non')"
|
||||
echo " Bouton « + Zone » : dessiner un rectangle → téléchargement IGN + rendu"
|
||||
echo " GPU : $([ -n "$GPU_FLAG" ] && echo 'yes' || echo 'no')"
|
||||
echo " \"+ Area\" button: draw a rectangle -> IGN download + rendering"
|
||||
echo "============================================"
|
||||
GPU_ENV_FLAG=""
|
||||
[ -n "$GPU_FLAG" ] && GPU_ENV_FLAG="-e LIDAR_GPU=1"
|
||||
if [ -n "$GPU_ARG" ] && [ "$GPU_ARG" != "all" ]; then
|
||||
GPU_ENV_FLAG="-e LIDAR_GPU=1 -e CUDA_VISIBLE_DEVICES=${GPU_ARG} --gpus '""device=${GPU_ARG}""'"
|
||||
fi
|
||||
# Réseau autorisé à lancer les générations (/api/generate) : la valeur
|
||||
# vient de l'environnement hôte LIDAR_REGEN_CIDR ; sans elle, le défaut
|
||||
# du serveur s'applique (localhost + RFC1918). Chaîne VIDE pour lever
|
||||
# complètement la restriction.
|
||||
# Network allowed to start generations (/api/generate): taken from the
|
||||
# host environment variable LIDAR_REGEN_CIDR; without it, run.sh passes
|
||||
# the server default (localhost + RFC1918). An EMPTY string lifts the
|
||||
# restriction entirely.
|
||||
REGEN_ENV_FLAG="-e LIDAR_REGEN_CIDR=${LIDAR_REGEN_CIDR-127.0.0.0/8,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16}"
|
||||
exec docker run --rm --init $GPU_FLAG \
|
||||
--user 1000:1000 \
|
||||
@ -306,26 +275,28 @@ if [ "$SERVE_FLAG" -eq 1 ]; then
|
||||
python3 -m uvicorn lidar_pipeline.mapserve:app --host 0.0.0.0 --port 8973
|
||||
fi
|
||||
|
||||
# Mode --serve-maps : carte à tuiles XYZ (image légère lidar-maps).
|
||||
# Les tuiles suivent le schéma OpenStreetMap ({z}/{x}/{y}.png) : la carte est
|
||||
# consultable ici et les mêmes URLs servent de fond d'imagerie dans JOSM, iD,
|
||||
# QGIS ou uMap. Variables optionnelles depuis l'environnement hôte :
|
||||
# LIDAR_MAPS_URL serveur de tuiles amont (carte déportée)
|
||||
# LIDAR_SOURCE_URL serveur de dalles amont (inventaire /api/tiles)
|
||||
# LIDAR_GENERATION_URL machine de traitement pour la génération déléguée
|
||||
# LIDAR_ATTRIBUTION mention d'attribution servie aux clients
|
||||
# --serve-maps mode: XYZ tile map (lightweight lidar-maps image).
|
||||
# Tiles follow the OpenStreetMap scheme ({z}/{x}/{y}.png): the map can be
|
||||
# browsed here and the same URLs work as imagery background in JOSM, iD,
|
||||
# QGIS or uMap. Optional variables from the host environment:
|
||||
# LIDAR_MAPS_URL upstream tile server (remote map)
|
||||
# LIDAR_SOURCE_URL upstream source-tile server (/api/tiles inventory)
|
||||
# LIDAR_GENERATION_URL processing machine for delegated generation
|
||||
# LIDAR_REMOTE_TOKEN token for calls to the processing machine
|
||||
# LIDAR_REGEN_CIDR network allowed to start generations
|
||||
# LIDAR_ATTRIBUTION attribution text served to clients
|
||||
if [ "$MAPS_FLAG" -eq 1 ]; then
|
||||
build_maps_image
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
echo "============================================"
|
||||
echo " Carte LiDAR — tuiles XYZ (image légère)"
|
||||
echo " LiDAR map - XYZ tiles (lightweight image)"
|
||||
echo "============================================"
|
||||
echo " Carte : http://127.0.0.1:${MAPS_SERVE_PORT}/"
|
||||
echo " Tuiles XYZ : http://127.0.0.1:${MAPS_SERVE_PORT}/tiles/{couche}/{z}/{x}/{y}.png"
|
||||
echo " Map : http://127.0.0.1:${MAPS_SERVE_PORT}/"
|
||||
echo " XYZ tiles : http://127.0.0.1:${MAPS_SERVE_PORT}/tiles/{layer}/{z}/{x}/{y}.png"
|
||||
echo " JOSM / QGIS : /tiles/josm.imagery.xml, /tiles/wmts.xml"
|
||||
echo " Amont tuiles : ${LIDAR_MAPS_URL:-aucun (rendu local)}"
|
||||
echo " Amont dalles : ${LIDAR_SOURCE_URL:-aucun (cache local seul)}"
|
||||
echo " Génération : ${LIDAR_GENERATION_URL:-locale si pipeline présent}"
|
||||
echo " Upstream tiles : ${LIDAR_MAPS_URL:-none (local rendering)}"
|
||||
echo " Upstream data : ${LIDAR_SOURCE_URL:-none (local cache only)}"
|
||||
echo " Generation : ${LIDAR_GENERATION_URL:-local if the pipeline is present}"
|
||||
echo "============================================"
|
||||
MAPS_ENV=()
|
||||
[ -n "${LIDAR_MAPS_URL:-}" ] && MAPS_ENV+=(-e LIDAR_MAPS_URL="$LIDAR_MAPS_URL")
|
||||
@ -343,30 +314,30 @@ if [ "$MAPS_FLAG" -eq 1 ]; then
|
||||
"$MAPS_IMAGE"
|
||||
fi
|
||||
|
||||
# Lancer le pipeline
|
||||
# Run the pipeline
|
||||
echo "============================================"
|
||||
echo " Pipeline LiDAR Archéologique"
|
||||
echo " LiDAR archaeology pipeline"
|
||||
echo "============================================"
|
||||
echo " Résolution : ${RESOLUTION}m/px"
|
||||
echo " Resolution : ${RESOLUTION} m/px"
|
||||
echo " Workers : ${WORKERS}"
|
||||
echo " GPU : $([ -n "$GPU_FLAG" ] && echo "OUI${GPU_ARG:+ ($GPU_ARG)}" || echo 'non')"
|
||||
echo " Verbeux : $([ -n "$VERBOSE_FLAG" ] && echo 'OUI' || echo 'non')"
|
||||
echo " Force : $([ -n "$FORCE_FLAG" ] && echo 'OUI' || echo 'non')"
|
||||
echo " Force classif.: $([ -n "$FORCE_CLASSIFY_FLAG" ] && echo 'OUI' || echo 'non')"
|
||||
echo " Keep TIFF : $([ -n "$KEEP_TIF_FLAG" ] && echo 'OUI' || echo 'non')"
|
||||
echo " Qualité image : $([ -n "$QUALITY" ] && echo "$QUALITY" || echo '98')"
|
||||
echo " Verbose : $([ -n "$VERBOSE_FLAG" ] && echo 'yes' || echo 'no')"
|
||||
echo " Force : $([ -n "$FORCE_FLAG" ] && echo 'yes' || echo 'no')"
|
||||
echo " Force classif. : $([ -n "$FORCE_CLASSIFY_FLAG" ] && echo 'yes' || echo 'no')"
|
||||
echo " Keep TIFF : $([ -n "$KEEP_TIF_FLAG" ] && echo 'yes' || echo 'no')"
|
||||
echo " Image quality : $([ -n "$QUALITY" ] && echo "$QUALITY" || echo '60')"
|
||||
echo " Format : $([ -n "$FORMAT_FLAG" ] && echo "${FORMAT_FLAG#--format }" || echo 'avif')"
|
||||
echo " Classification sol : $([ -n "$GROUND_METHOD" ] && echo "$GROUND_METHOD" || echo 'auto')$([ -n "$IGN_CLASSES_FLAG" ] && echo " ${IGN_CLASSES_FLAG#--ign-classes }")"
|
||||
echo " Ground classification : $([ -n "$GROUND_METHOD" ] && echo "$GROUND_METHOD" || echo 'ign')$([ -n "$IGN_CLASSES_FLAG" ] && echo " ${IGN_CLASSES_FLAG#--ign-classes }")"
|
||||
if [ -n "$ONLY_FLAG" ]; then
|
||||
echo " Visualisations: uniquement${ONLY_FLAG#--only}"
|
||||
echo " Visualizations: only${ONLY_FLAG#--only}"
|
||||
elif [ -n "$SKIP_FLAG" ]; then
|
||||
echo " Visualisations: tout sauf${SKIP_FLAG#--skip}"
|
||||
echo " Visualizations: all except${SKIP_FLAG#--skip}"
|
||||
fi
|
||||
if [ -n "$FILE_ARGS" ]; then
|
||||
echo " Fichiers :${FILE_ARGS}"
|
||||
echo " Files :${FILE_ARGS}"
|
||||
fi
|
||||
if [ -n "$FETCH_TILES_ARGS" ]; then
|
||||
echo " Dalles IGN :${FETCH_TILES_ARGS} (input/ monté en écriture)"
|
||||
echo " IGN tiles :${FETCH_TILES_ARGS} (input/ mounted writable)"
|
||||
fi
|
||||
echo "============================================"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user