Faire du relief orienté la seule couche produite et affichée
PANEL_VIZ ne contient plus que relief_oriente et pilote désormais tout : le pipeline sans --only ne produit que cette couche, la génération lancée depuis la carte aussi, et la carte ne liste ni ne sert en tuiles (panneau, XYZ, TileJSON, WMTS, JOSM) les autres visualisations présentes sur disque. Les autres visualisations restent calculables explicitement avec --only. Corrige au passage _panel_viz_steps, qui ne retenait que les couches dont le nom de fichier diffère du nom d'étape : la génération depuis la carte ne produisait que l'openness positive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@ -18,9 +18,12 @@ class _FakeRequest:
|
||||
"port": 8975})()
|
||||
|
||||
|
||||
def _setup(tmp_path, monkeypatch, layers=("aspect", "slope")):
|
||||
def _setup(tmp_path, monkeypatch, layers=("aspect", "slope"), panel=None):
|
||||
"""Dalle factice ; panel=None lève la restriction PANEL_VIZ pour que les
|
||||
couches de test (aspect, slope) soient servies."""
|
||||
import lidar_pipeline.mapserve as mapserve
|
||||
from lidar_pipeline import tiles
|
||||
from lidar_pipeline import index, tiles
|
||||
monkeypatch.setattr(index, "PANEL_VIZ", panel)
|
||||
_make_dalle(tmp_path, 1054, 6882, list(layers))
|
||||
monkeypatch.setattr(mapserve, "OUTPUT_DIR", tmp_path)
|
||||
tiles.source_index(tmp_path, force=True)
|
||||
@ -209,6 +212,19 @@ def test_map_meta(tmp_path, monkeypatch):
|
||||
assert meta["default_layers"] == ["relief_oriente"]
|
||||
|
||||
|
||||
def test_only_panel_layers_are_served(tmp_path, monkeypatch):
|
||||
"""Seules les couches de PANEL_VIZ sont affichées et servies ; la
|
||||
génération depuis la carte ne produit qu'elles."""
|
||||
from fastapi import HTTPException
|
||||
mapserve = _setup(tmp_path, monkeypatch, layers=("relief_oriente", "aspect", "slope"),
|
||||
panel=("relief_oriente",))
|
||||
meta = mapserve.map_meta()
|
||||
assert [l["key"] for l in meta["layers"]] == ["relief_oriente"]
|
||||
with pytest.raises(HTTPException):
|
||||
asyncio.run(mapserve.tile("aspect", 15, 1, "1.png"))
|
||||
assert mapserve._panel_viz_steps() == ["relief_oriente"]
|
||||
|
||||
|
||||
def test_map_tile_info(tmp_path, monkeypatch):
|
||||
"""/api/map/tile identifie la dalle sous un point et lit ses métadonnées."""
|
||||
mapserve = _setup(tmp_path, monkeypatch)
|
||||
@ -542,11 +558,8 @@ def _reset_bg(mapserve):
|
||||
|
||||
def test_tile_cache_only_never_renders(tmp_path, monkeypatch):
|
||||
"""Mode cache seule : tuile manquante = transparente non mémorisable."""
|
||||
import lidar_pipeline.mapserve as mapserve
|
||||
mapserve = _setup(tmp_path, monkeypatch, layers=("slope",))
|
||||
from lidar_pipeline import tiles
|
||||
_make_dalle(tmp_path, 1054, 6882, ["slope"])
|
||||
monkeypatch.setattr(mapserve, "OUTPUT_DIR", tmp_path)
|
||||
tiles.source_index(tmp_path, force=True)
|
||||
monkeypatch.setenv("LIDAR_TILE_CACHE_ONLY", "1")
|
||||
z = 15
|
||||
x, y = _tile_of_cell(1054, 6882, z)
|
||||
|
||||
Reference in New Issue
Block a user