我手头有大约一百万个 (r, phi)
坐标及其强度数据。为了减少内存使用和更快的绘图,我想在一个网格模式下对这些数据进行采样。但是我希望采用 X、Y 坐标进行采样,因为后面我需要将这些坐标转换成 (X,Y)
坐标进行绘图。
我考虑使用 meshgrid 来得到一个采样模板,但我卡在了下一步。
我在 Google 或这里搜索时似乎找不到任何有用的信息,如果这是一个太简单的问题,请谅解!
我正在使用 numpy,并且我的数据目前是存储在三个分离的数组中的。我打算使用 np.meshgrid
,然后使用 scipy.interpolate.griddata
进行插值。
r
、phi
和 intensity
都是形状为 (million,)
的 np.array
。
例如:
r = array([1560.8, 1560.8003119, 1560.8006238, ..., 3556.831746,
3558.815873 , 3560.8 ])
我从这个开始;
r = data[:, 0] # radius
phi = data[:, 1] # altitude angle
h2o = data[:, 2] # intensity
x = r * np.sin(phi) # It's a left handed coordinate system
z = r * np.cos(phi)
至于采样网格,我已经得到了这个:
Xscale = np.linspace(min(x), max(x), 1000)
Zscale = np.linspace(min(z), max(z), 1000)
[X, Z] = np.meshgrid(Xscale, Zscale)