fix:[FL-92][高程数据管理预览时地形图渲染不出来] - 添加minzoom字段

修复地形图layer.json缺少minzoom字段导致Cesium无法正确加载地形的问题。

根本原因:
- Cesium地形加载需要layer.json同时包含minzoom和maxzoom字段
- 之前只有maxzoom字段,导致Cesium不知道从哪个层级开始加载地形
- 虽然瓦片数据正常(API返回200),但前端无法正确渲染三维地形

修改内容:
1. 在ElevationTerrainLayerResponse模型中添加minzoom字段(schemas/elevation.py)
2. 在地形构建代码中设置minzoom=0(services/elevation_service.py)
3. 地形瓦片的zoom level范围现在完整定义为0-6

影响:
- 已构建的地形数据需要重新触发构建任务才能生成包含minzoom的新layer.json
- 新构建的地形将自动包含minzoom字段

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
chengkai3
2026-06-12 22:56:59 +08:00
parent c06390efb0
commit 2a5cbe474b
2 changed files with 2 additions and 0 deletions
+1
View File
@@ -206,6 +206,7 @@ class ElevationTerrainLayerResponse(BaseModel):
scheme: Literal["tms"] = "tms"
projection: Literal["EPSG:4326"] = "EPSG:4326"
tiles: list[str]
minzoom: int
maxzoom: int
extensions: list[str] = Field(default_factory=list)
attribution: str | None = None
+1
View File
@@ -3083,6 +3083,7 @@ def _build_dataset_terrain_tiles(db: Session, dataset: ElevationDataset) -> _Ter
layer_payload = ElevationTerrainLayerResponse(
tiles=[f"{{z}}/{{x}}/{{y}}.terrain?v={TERRAIN_TILE_VERSION}"],
minzoom=0,
maxzoom=max_zoom,
attribution=f"{dataset.code} {dataset.name}",
bounds=[bounds["west"], bounds["south"], bounds["east"], bounds["north"]],