Метпи интерполировать значения для данной точки
Я использую эти методы интерполяции Metpy https://unidata.github.io/MetPy/latest/examples/gridding/Point_Interpolation.html. У меня вопрос, как я могу получить интерполированное значение температуры для данной точки, в данном случае из изображения для Нью-Йорка? Итак, я получаю широту и долготу и получаю значение температуры в этот момент. введите описание изображения здесь
2 ответа
В примере кода данные проецируются в сетку на проекции равной площади Альберса, созданной с помощью:
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's 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)