Python 气象格点数据插值到站点

临近格点插值

# 定义一个方法
def nearest_interpolation(nc_lat, nc_lon, lat2d, lon2d):
    """获取最临近格点坐标索引
    stn_lat  : 站点纬度
    stn_lon  : 站点经度
    lat2d    : numpy.ndarray网格二维经度坐标
    lon2d    : numpy.ndarray网格二维纬度坐标
    Return: (y_index, x_index)
    """
    # 计算经纬度距离差(一个站点到每一个格点)
    difflat = nc_lat - lat2d
    difflon = nc_lon - lon2d
    # 计算欧氏距离
    rad = np.multiply(difflat, difflat) + np.multiply(difflon, difflon)
    # 找到距离最小的值的索引
    position = np.where(rad == np.min(rad))
    index = np.squeeze(np.array(position))  # 维度压缩
    # 返回经纬度索引
    return tuple(index)

你可能感兴趣的:(python,开发语言)