def get_array(coords, values):
lon_res, lat_res = get_resolution()
indices = get_grid_indices(coords)
indices['values'] = values
indices = indices.groupby(['x', 'y'])['values'].agg(['median', 'count']).reset_index()
x_size = int((LONDON_LONS[1] - LONDON_LONS[0])/lon_res) + 1
y_size = int((LONDON_LATS[1] - LONDON_LATS[0])/lat_res) + 1
x_mask = (indices['x'] < 0) | (indices['x'] >= x_size)
y_mask = (indices['y'] < 0) | (indices['y'] >= y_size)
mask = ~(x_mask | y_mask)
indices = indices.loc[mask]
arr = sp.nan*sp.zeros((x_size, y_size))
arr[indices['x'].values, indices['y'].values] = indices['median'].values
count_arr = sp.zeros((x_size, y_size))
count_arr[indices['x'].values, indices['y'].values] = indices['count'].values
return arr, count_arr
评论列表
文章目录