Skip to content

Commit c9d4c97

Browse files
committed
gui: resolution inline dans le selecteur provider (append conditionnel si deja dans le nom, noms nettoyes de la resolution descriptive); LRM en tete de liste et par defaut (rapide + lisible)
1 parent 8897b6c commit c9d4c97

25 files changed

Lines changed: 45 additions & 38 deletions

gui/app.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ let _initialized = false;
99
// côté pipeline), pour pré-remplir le champ σ à la bonne valeur selon le provider.
1010
let _resolutionM = 0.5;
1111
const sigmaDefautM = () => Math.round(15 * _resolutionM * 100) / 100;
12+
// Formate une résolution (m/px) pour affichage : virgule décimale en FR.
13+
const fmtRes = (r) => (_lang === 'fr' ? String(r).replace('.', ',') : String(r)) + ' m';
1214

1315
// ── i18n ───────────────────────────────────────────────────────────────────────
1416
// Pattern web standard : dico inline par locale + attribut data-i18n sur les
@@ -566,9 +568,12 @@ function buildProviders(providers, activeCode) {
566568
applyProviderCountry('fr');
567569
return;
568570
}
569-
sel.innerHTML = providers.map(p =>
570-
`<option value="${p.code}" data-country="${p.country}" data-apikey-requise="${p.apikey_requise?1:0}" data-res="${p.resolution_m ?? 0.5}">${p.name}</option>`
571-
).join('');
571+
sel.innerHTML = providers.map(p => {
572+
// Résolution déjà dans le nom officiel (ex. "DEM 5m", "50 cm") ? Ne pas la dupliquer.
573+
const hasRes = /\d[\d.,]*\s?(m|cm)\b/i.test(p.name);
574+
const label = hasRes ? p.name : `${p.name} (${fmtRes(p.resolution_m ?? 0.5)})`;
575+
return `<option value="${p.code}" data-country="${p.country}" data-apikey-requise="${p.apikey_requise?1:0}" data-res="${p.resolution_m ?? 0.5}">${label}</option>`;
576+
}).join('');
572577
sel.value = activeCode;
573578
const opt = sel.options[sel.selectedIndex];
574579
const country = (opt && opt.dataset.country) || 'fr';
@@ -1346,9 +1351,11 @@ function loadConfig(cfg) {
13461351
// Chaque instance = {type, params}. Plusieurs instances du même type avec des
13471352
// params différents coexistent (les params sont encodés dans le nom de fichier
13481353
// côté pipeline). Émission CLI : --shading TYPE:k=v,... (répétable).
1349-
// Ordre = utilité archéo décroissante (cf. _SHADING_TYPES côté pipeline) :
1350-
// composite VAT, SVF, paire openness, LRM/RRIM, hillshades, slope en dernier.
1354+
// Ordre = utilité pratique (cf. _SHADING_TYPES côté pipeline) : LRM en tête
1355+
// (rapide + lisible pour un néophyte, donc défaut), puis VAT (détecteur complet),
1356+
// SVF, paire openness, RRIM, hillshades, slope en dernier.
13511357
const OMB_DEFS = {
1358+
lrm: {label:'LRM', fields:{sigma:{lbl:'omb.sigma', tip:'tip.ombsigma', def:'', min:1, max:100, step:0.5, opt:true}}},
13521359
vat: {label:'VAT (composite)', fields:{dist :{lbl:'distance (m)', def:20, min:10, max:200, step:5},
13531360
gamma:{lbl:'omb.gamma', def:2.0, min:0.3, max:3.0, step:0.1}}},
13541361
svf: {label:'SVF', fields:{conv :{lbl:'type', def:'flux', opts:['flux','rvt']},
@@ -1359,7 +1366,6 @@ const OMB_DEFS = {
13591366
gamma:{lbl:'omb.gamma', def:2.0, min:0.3, max:3.0, step:0.1}}},
13601367
oneg: {label:'O− openness', fields:{dist :{lbl:'distance (m)', def:20, min:10, max:200, step:5},
13611368
gamma:{lbl:'omb.gamma.mirror', def:2.0, min:0.3, max:3.0, step:0.1}}},
1362-
lrm: {label:'LRM', fields:{sigma:{lbl:'omb.sigma', tip:'tip.ombsigma', def:'', min:1, max:100, step:0.5, opt:true}}},
13631369
rrim: {label:'RRIM', fields:{sigma:{lbl:'omb.sigma', tip:'tip.ombsigma', def:'', min:1, max:100, step:0.5, opt:true}}},
13641370
multi: {label:'multi', fields:{elevation:{lbl:'☀ élévation (°)', def:25, min:5, max:60, step:1}}},
13651371
'315': {label:'315°', fields:{elevation:{lbl:'☀ élévation (°)', def:25, min:5, max:60, step:1}}},
@@ -1368,7 +1374,7 @@ const OMB_DEFS = {
13681374
'225': {label:'225°', fields:{elevation:{lbl:'☀ élévation (°)', def:25, min:5, max:60, step:1}}},
13691375
slope: {label:'slope', fields:{}},
13701376
};
1371-
let ombInstances = [{type:'vat', params:{dist:20, gamma:2.0}}]; // défaut = VAT (meilleure visu archéo)
1377+
let ombInstances = [{type:'lrm', params:{sigma: sigmaDefautM()}}]; // défaut = LRM (rapide + lisible)
13721378

13731379
function ombLabel(inst) {
13741380
const d = OMB_DEFS[inst.type]; if (!d) return inst.type;

gui/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,11 @@
185185
<select id="omb-dispo" size="5" style="min-width:150px"
186186
data-i18n-title="tip.ombdispo" title="Ombrages disponibles. Sélectionnez puis + pour ajouter une instance à traiter."
187187
ondblclick="ombAdd()">
188-
<option value="vat" selected>VAT (composite)</option>
188+
<option value="lrm" selected>LRM</option>
189+
<option value="vat">VAT (composite)</option>
189190
<option value="svf">SVF</option>
190191
<option value="opos">openness O+</option>
191192
<option value="oneg">openness O−</option>
192-
<option value="lrm">LRM</option>
193193
<option value="rrim">RRIM</option>
194194
<option value="multi">multi (hillshade)</option>
195195
<option value="315">315° NO</option>

lidar2map.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
--dossier-dalles CHEMIN Cache dalles séparé (défaut: ign_lidar/dalles/)
120120
--workers N Connexions parallèles (défaut: 8)
121121
--ombrages TYPE... Shadings to generate (ordre d'utilité) :
122-
vat svf opos oneg lrm rrim
122+
lrm vat svf opos oneg rrim
123123
multi 315 045 135 225 slope | tous | aucun
124124
(opos/oneg = openness ± Yokoyama 2002,
125125
rayon --svf-dist, gamma --svf-gamma)
@@ -5852,17 +5852,18 @@ def _overlay(b, t):
58525852
return True
58535853

58545854

5855-
# Ordre = utilité archéo décroissante : le composite VAT d'abord (révèle creux
5856-
# ET bosses en une image), puis SVF et la paire openness, puis LRM/RRIM, puis
5857-
# les hillshades dépendants de l'éclairage (multi > directionnels), slope en
5858-
# dernier (terne seul, surtout couche du VAT). Pilote le dropdown GUI, le menu
5859-
# interactif, les choices argparse et l'ordre de `--shadings tous`.
5855+
# Ordre = utilité pratique. LRM d'abord : le plus rapide (flou gaussien, pas de
5856+
# ray-cast) et le plus lisible pour un néophyte (structures continues), donc le
5857+
# défaut. Puis VAT (détecteur multi-échelle complet), SVF, la paire openness,
5858+
# RRIM, les hillshades (multi > directionnels), slope en dernier (terne seul,
5859+
# surtout couche du VAT). Pilote le dropdown GUI, le menu interactif, les
5860+
# choices argparse et l'ordre de `--shadings tous`.
58605861
_SHADING_TYPES = {
5862+
"lrm": {"sigma"},
58615863
"vat": {"dist", "gamma"},
58625864
"svf": {"conv", "dist", "gamma", "sweep"},
58635865
"opos": {"dist", "gamma"},
58645866
"oneg": {"dist", "gamma"},
5865-
"lrm": {"sigma"},
58665867
"rrim": {"sigma"},
58675868
"multi": {"elevation"},
58685869
"315": {"elevation"},

providers/at_osttirol.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616

1717
# ── Identification ───────────────────────────────────────────────────────────
18-
NAME = "Autriche (Osttirol) — DGM 0.5 m (tiris)"
18+
NAME = "Autriche (Osttirol) — DGM (tiris)"
1919
CODE = "at-osttirol"
2020
COUNTRY = "at" # ISO 3166-1 alpha-2 — utilisé pour cache/lidar/<country>/
2121
LICENSE = "CC BY 4.0 — © Land Tirol / tiris (attribution requise)"

providers/at_tirol.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929

3030
# ── Identification ───────────────────────────────────────────────────────────
31-
NAME = "Autriche (Tyrol/Nordtirol) — DGM 0.5 m (tiris)"
31+
NAME = "Autriche (Tyrol/Nordtirol) — DGM (tiris)"
3232
CODE = "at-tirol"
3333
COUNTRY = "at" # ISO 3166-1 alpha-2 — utilisé pour cache/lidar/<country>/
3434
LICENSE = "CC BY 4.0 — © Land Tirol / tiris (attribution requise)"

providers/au_ga.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727

2828
# ── Identification ───────────────────────────────────────────────────────────
29-
NAME = "Australie (national) — DEM 5 m LiDAR (Geoscience Australia)"
29+
NAME = "Australie (national) — DEM LiDAR (Geoscience Australia)"
3030
CODE = "au-ga"
3131
COUNTRY = "au"
3232
LICENSE = "CC BY 4.0 — Commonwealth of Australia (Geoscience Australia)"

providers/au_qld.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323

2424
# ── Identification ───────────────────────────────────────────────────────────
25-
NAME = "Australie (Queensland) — DEM LiDAR 0.5m (QSpatial)"
25+
NAME = "Australie (Queensland) — DEM LiDAR (QSpatial)"
2626
CODE = "au-qld"
2727
COUNTRY = "au"
2828
LICENSE = "CC BY 4.0 — © State of Queensland (Dept of Resources)"

providers/be_flanders.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828

2929
# ── Identification ───────────────────────────────────────────────────────────
30-
NAME = "Belgique (Flandre) — DHMV II DTM 1m (Digitaal Vlaanderen WCS)"
30+
NAME = "Belgique (Flandre) — DHMV II DTM (Digitaal Vlaanderen WCS)"
3131
CODE = "be-flanders"
3232
COUNTRY = "be"
3333
LICENSE = "Gratis Open Data Licentie Vlaanderen"

providers/ca_nrcan.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222

2323
# ── Identification ───────────────────────────────────────────────────────────
24-
NAME = "Canada — HRDEM Mosaic 1m (NRCan)"
24+
NAME = "Canada — HRDEM Mosaic (NRCan)"
2525
CODE = "ca-nrcan"
2626
COUNTRY = "ca"
2727
LICENSE = "Open Government Licence — Canada"

providers/de_thueringen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131

3232
# ── Identification ───────────────────────────────────────────────────────────
33-
NAME = "Allemagne (Thuringe) — DGM 1–2m (TLBG, LiDAR)"
33+
NAME = "Allemagne (Thuringe) — DGM (TLBG, LiDAR)"
3434
CODE = "de-thueringen"
3535
COUNTRY = "de"
3636
LICENSE = "dl-de/by-2-0 — GDI-Th / Freistaat Thüringen (TLBG)"

0 commit comments

Comments
 (0)