临近格点插值
# 定义一个方法
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)