【发布时间】: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