我有一个xyz(xy坐标z高程),它是一百万个点。 由于内存不足或需要,无法进行任何类型的网格化。 我想要的是为自己提供一个网格,并在每个单元格内进行简单搜索,以便能够找到平均值。
换句话说,我编写了以下脚本(Xp,Yp和Z是带有数据的向量)
delta=1 # desired resolution
xmin=np.min(Xp)
xmax=np.max(Xp)
ymin=np.min(Yp)
ymax=np.max(Yp)
x_idx=np.arange(xmin+delta/2,xmax-delta/2,delta)
y_idx=np.arange(ymin+delta/2,ymax-delta/2,delta)
gridc=np.zeros((x_idx.shape[0],y_idx.shape[0]))
for ii in range(0,x_idx.shape[0]):
for jj in range(0,y_idx.shape[0]):
dummy1=np.where( (Xp>=x_idx[ii]-delta/2) & (Xp<x_idx[ii]+delta/2) &
(Yp>=y_idx[jj]-delta/2) & (Yp<y_idx[jj]+delta/2)
)[0]
gridc[ii,jj]=np.nanmean(Z[dummy1])
是否已经在python中实现了更好的方法?这不是非常有效的编程方法。