我 https://unidata.github.io/MetPy/latest/examples/gridding/Point_Interpolation.html#sphx-glr-examples-gridding-point-interpolation-py 使用这种 Metpy 插值方法。我的问题是我如何从纽约的图像中获取给定点的插值温度值?所以,我得到了纬度和纬度,我得到了那个点的温度值。在此处输入图像描述
在示例代码中,数据被投影到阿尔伯斯等面积投影上的格网,该投影使用以下命令创建:
import cartopy.crs as ccrs
to_proj = ccrs.AlbersEqualArea(central_longitude=-97.0000, central_latitude=38.0000)
您可以使用to_proj
将纬度/纬度转换为投影坐标,方法是:
pt_x, pt_y = to_proj.transform_point(lon, lat, ccrs.Geodetic())
然后,您可以使用 pt_x
和 pt_y
查找gx
和gy
数组(在原始示例代码中创建)中最接近的索引,以将数据值从img
数组中提取出来。
如果您真的只关心特定位置的值,您可能需要查看 MetPy 的interpolate_to_points
函数。
,我使用此命令修复了问题:
proj = ccrs.PlateCarree()
to_proj = ccrs.Mercator()
back_to_lon = precx.ravel()
back_to_lat = precy.ravel()
back_to_prec = prec_p.ravel()
pt_x = proj.transform_points(to_proj,back_to_lon,back_to_lat,back_to_prec)
在此处输入图像描述