Fix corrupted COPC detection, add CSF→SMRF fallback, improve MSRM colormap, add SVF and anisotropic openness

- validate_laz: verify point data accessibility (not just headers) to detect
  corrupted COPC files that pass header checks but fail on data reads
- classify_ground: fallback from CSF to SMRF when CSF produces no ground
  points or PDAL errors (fixes 2/9 failing tiles)
- MSRM: preserve sign in weighted combination so RdBu_r colormap shows
  both red (elevated) and blue (depressed) instead of red only
- Add Sky-View Factor (SVF) visualization: cos²(horizon angle) over 16
  directions, excellent for archaeological earthwork detection
- Add Anisotropic Openness: directional weighting (NW-SE/NE-SW) enhances
  linear feature detection aligned with common settlement patterns
- Remove anomalies and flow visualizations (replaced by SVF + aniso_open)
- Location inset: use IGN topographic map at zoom 10 instead of simplified
  France outline, with red rectangle marker and fallback
- Remove flow (hydrological accumulation) from VIZ_STEPS
This commit is contained in:
Antoine Jacquin
2026-05-15 01:38:09 +02:00
parent da454bd23e
commit c634db573a
4 changed files with 437 additions and 28 deletions

View File

@ -60,8 +60,8 @@ from .visualizations import (
generate_hillshade, generate_slope, generate_aspect, generate_curvature,
generate_lrm, generate_openness,
generate_mslrm, generate_tpi, generate_sailore,
generate_roughness, generate_anomalies, generate_wavelet,
generate_flow,
generate_roughness, generate_wavelet,
generate_svf, generate_aniso_open,
)
from .gpu import gpu_cleanup
from .ign import generate_ign_overlay
@ -83,9 +83,9 @@ VIZ_STEPS = [
('tpi', generate_tpi),
('sailore', generate_sailore),
('roughness', generate_roughness),
('anomalies', generate_anomalies),
('svf', generate_svf),
('aniso_open', generate_aniso_open),
('wavelet', generate_wavelet),
('flow', generate_flow),
('ortho', lambda d, b, v, r: generate_ign_overlay(
d, b, v, r,
layer='ORTHOIMAGERY.ORTHOPHOTOS',