如何用CDO从4D格点数据中提取沿经纬度点直线的数值?
使用CDO提取沿自定义经纬度序列的数据
解决方案步骤
第一步:准备经纬度点文件
创建一个纯文本文件(比如命名为points.txt),将781个经纬度对按每行一组的格式写入,每行两个数值用空格分隔,示例格式如下:77.222 28.588 77.333 28.666 ...第二步:执行CDO插值命令
用你熟悉的最近邻插值(remapnn)命令,指定上述点文件即可批量提取所有点的数据:cdo -remapnn,points.txt data.nc data_profile.nc如果需要更平滑的插值效果,可将
remapnn替换为双线性插值的remapbil,命令格式完全一致。
结果说明
执行后生成的data_profile.nc文件维度即为x(781个点)*plev*time,完全匹配你的需求。你可以用cdo infov data_profile.nc命令验证输出文件的维度信息。
注意事项
- 确保
points.txt中的经纬度值在原数据的经纬度覆盖范围内,否则对应位置会生成缺失值(NaN)。 - 文本文件不要包含表头、注释或多余空白行,避免CDO解析出错。
内容的提问来源于stack exchange,提问作者Ankan Sarkar
相关产品推荐
相关产品推荐

