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:
@@ -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
|
||||
|
||||
@@ -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"]],
|
||||
|
||||
Reference in New Issue
Block a user