release: bump version to 0.58.0
Some checks failed
ci / backend (push) Has been cancelled
ci / frontend (push) Has been cancelled
ci / delivery (push) Has been cancelled
release / images (push) Has been cancelled

Release 0.58.0 includes the Earth high-precision boundary PMTiles/MVT pipeline, standardized Earth boundary source collectors, China POV boundary configuration templates, and removal of the legacy low-precision GeoJSON fallback. It also adds Earth news target-location queueing/archive support, fixes datasource task status visibility, documents the Earth surface depth-spacing rules that prevent far-zoom z-fighting snow/black blocks, and updates bilingual operations/developer docs.
This commit is contained in:
linkong
2026-05-15 17:40:07 +08:00
parent dd176a6ae6
commit 93eb41a9f7
75 changed files with 5217 additions and 716 deletions

View File

@@ -47,6 +47,18 @@ class GenericRecord(BaseModel):
return value
class EarthBoundarySourceRecord(BaseModel):
source_id: str | None = None
source_kind: str = Field(pattern="^(admin0-boundaries|coastline|claim-lines)$")
name: str | None = None
geometry: dict[str, Any] | None = None
properties: dict[str, Any] = Field(default_factory=dict)
artifact_path: str | None = None
sha256: str | None = None
feature_count: int | None = Field(default=None, ge=0)
license: str | None = None
@dataclass(frozen=True)
class TargetField:
name: str
@@ -143,6 +155,24 @@ TARGET_SCHEMAS: dict[str, TargetSchema] = {
TargetField("observed_at", "datetime", False, "观测时间", "2026-04-28T00:00:00Z"),
),
),
"earth_boundary_source": TargetSchema(
key="earth_boundary_source",
label="Earth 边界矢量源",
description="Admin-0 国界、海岸线、主张线等 Earth 边界源数据 artifact。",
destination="collected_data",
model=EarthBoundarySourceRecord,
fields=(
TargetField("source_id", "string", False, "来源侧 ID", "feature-1"),
TargetField("source_kind", "string", True, "边界源类型", "admin0-boundaries"),
TargetField("name", "string", False, "记录名称", "China"),
TargetField("geometry", "object", False, "GeoJSON geometry", {"type": "Polygon", "coordinates": []}),
TargetField("properties", "object", False, "GeoJSON properties", {"ISO_A3": "CHN"}),
TargetField("artifact_path", "string", False, "完整源数据本地 artifact 路径", "data/earth-boundary-sources/earth_admin0_boundaries/abc.geojson"),
TargetField("sha256", "string", False, "源数据 artifact SHA-256", "abc123"),
TargetField("feature_count", "integer", False, "源数据 feature 数", 1),
TargetField("license", "string", False, "源数据许可", "ODbL"),
),
),
}