Как данные сетки данных без интерполяции - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть xyz (координаты xy по высоте), которые представляют собой миллион точек.Любой вид сетки не возможен из-за памяти и не требуется.То, что я хочу, это обеспечить сетку для себя и с помощью простого поиска в каждой ячейке, чтобы иметь возможность найти среднее значение.

Другими словами, я создал следующий скрипт (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?Это не очень эффективное программирование.

...