我使用此Metpy插值方法https://unidata.github.io/MetPy/latest/examples/gridding/Point_Interpolation.html#sphx-glr-examples-gridding-point-interpolation-py。我的问题是,在这种情况下,如何从纽约的图像中获取给定点的内插温度值?因此,我得到了lat和lon,并且得到了该点的温度值。 enter image description here
答案 0 :(得分:0)
在示例代码中,将数据投影到使用以下方法创建的Albers等面积投影上的网格上:
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
函数。
答案 1 :(得分:0)
好的,我使用此命令解决了问题:
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)