【问题标题】:Python regridding a 2D rotated mesh gridPython重新网格化二维旋转网格
【发布时间】:2019-01-07 19:15:35
【问题描述】:

我有一个 2D 旋转矩形网格,其经度和纬度值的尺寸为 [405, 555],但我无法理解如何重新网格化它,我想要一个轴“平行”于 Parallels 和 Meridians 的矩形网格。

我尝试将 scipy 插值函数用作:griddata 或 RegularGridInterpolator,但我总是对旧网格维度有问题,因为它们是 2D 和旋转的,值不重复,我不知道如何解决它。

抱歉,我无法发布我的原始代码和数据,因为它们是专有的,我不知道如何创建 MWE。

我试过了:

import scipy.interpolate.ndgriddata as ndgriddata
import numpy as np

x = np.linspace(35.0, 42.0, 405) # my new longitude
y = np.linspace(36.0, 48.0, 555) # my new latitude
X, Y = np.meshgrid(x, y)

# grid_lon: old 2D array [405, 555] for the longitude
# grid_lat: old 2D array [405, 555] for the latitude
# data: old 2D array [405, 555] for the data
test = ndgriddata.griddata((grid_lon, grid_lat), data, (X, Y), method="linear")

但是,我当然得到错误:

ValueError:输入数据点的形状无效

我知道这样回答起来很复杂,但如果有人有想法,请告诉我。

谢谢,

西乔

【问题讨论】:

  • 嗨@cicciodevoto - 我也对这个问题感兴趣。但是您能否在您的 ode 中更清楚地说明或显示您正在使用哪些 scipy 函数?目前尚不清楚 ndgriddata.griddata 来自何处。干杯
  • 嗨@dreab 对不起,你是对的,我更新了包括导入。 ndgriddata 来自 scipy.interpolate,希望对您有所帮助,如果您有任何其他问题,请告诉我 :-)

标签: python-2.7 scipy grid interpolation


【解决方案1】:

我只需要展平旧坐标和数据。

ndgriddata.griddata((grid_lon.flatten(), grid_lat.flatten()), 
                    data.flatten(), (X, Y), method="linear")

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    相关资源
    最近更新 更多