用途:Verde 用于空间数据网格化和插值,将地理或笛卡尔坐标的散点数据(如高程)处理到规则网格上,适合探索性分析与可复现工作流。
主要能力:提供 Spline(双调和样条,平滑、外推较好)、Linear(Delaunay 三角剖分,快、不外推)、Cubic(中等平滑)等插值器;BlockReduce 可将密集数据降为块均值/中位数;Trend 支持多项式趋势拟合并去除;Chain 可串联的处理管线;Vector 支持二分向量数据网格化;cross_val_score 可交叉验证调参;distance_mask 可屏蔽远离数据的区域。网格参数包括 spacing(网格单元大小,与坐标单位一致)、region(west, east, south, north)、shape、adjust。
使用方式:典型流程为加载散点数据、必要时用 pyproj 投影为笛卡尔坐标、用 BlockReduce 降采样、用 Trend 去趋势、交叉验证选择参数、在残差上拟合插值器、以 .grid() 生成网格、加回趋势、distance_mask 裁剪、用 xarray 绘制并用 to_netcdf 保存。基本用法如 vd.Spline().fit(coordinates, values),grid = spline.grid(spacing=0.1) 返回 xarray Dataset;亦可构建 vd.Chain 管线。交叉验证示例为 vd.cross_val_score(spline, coordinates, values, cv=5)。命令行脚本 scripts/grid_data.py 可将散点数据网格化并输出 NetCDF。
适用场景:需要类 scikit-learn 风格 API、内置交叉验证与趋势去除的散点空间数据网格化,以及探索性分析和可复现流程。若只是简单插值可选 scipy.interpolate;势场数据网格化可用 Harmonica;命令行批量处理或用超大数据集可用 GMT/GDAL;基于变差函数的插值可选 scikit-gstat/pykrige。
限制:外推效果差时应使用 distance_mask;大数据较慢,建议先 BlockReduce;需注意坐标单位(度与米);资料未提供收费、平台等信息。