1 数据准备:把 .nc 网格转成前端可消费的瓦片/矢量
1.1 先把变量切成 GeoTIFF
GDAL 自带的 gdal_translate
可把 NetCDF 子变量直接提成单波段 GeoTIFF:
# 以 ERA5 气温 (t2m) 为例
gdal_translate \
-of GTiff \
NETCDF:"/data/era5_20250722.nc":t2m \
t2m.tif
这样可以快速检视投影、无值等元数据,再进入下一步。
为什么 GeoTIFF?
● Leaflet 的栅格层(L.TileLayer
/RasterLayer
)天生吃瓦片;
● 绝大多数瓦片切片工具都支持 GeoTIFF 输入;
● 处理完成后可进一步转 COG(Cloud-Optimized GeoTIFF)做按需 HTTP Range 读取,显著减轻 IO。
1.2 切成标准瓦片(XYZ 或 WMTS)
# 把 t2m.tif 切成 XYZ 瓦片目录 ./tiles/t2m/{z}/{x}/{y}.png
gdal2tiles.py -z 0-6 -p mercator -w all -r bilinear t2m.tif tiles/t2m
同理可批量处理气压 (msl)、云量 (cloudcover)、降雨 (tp) 等变量。色标可在切片时用