Метпи интерполировать значения для данной точки

Я использую эти методы интерполяции 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)

введите описание изображения здесь

Другие вопросы по тегам