所以这是我之前问题的一个小后续问题:在多边形内部生成坐标和我的答案https://stackoverflow.com/a/15243767/1740928 事实上,我想将多边形数据合并到常规网格中。因此,我计算了多边形内的几个坐标,并将它们的纬度/经度组合转换为它们各自的网格列/行组合。
目前,行/列信息存储在一个numpy数组中,其行数对应于数据多边形的数量,其列数对应于多边形中的坐标。
整个代码不到一秒钟,但这段代码是目前的瓶颈(大约 7 秒):
for ii in np.arange(len(data)):
for cc in np.arange(data_lats.shape[1]):
final_grid[ row[ii,cc], col[ii,cc] ] += data[ii]
final_grid_counts[ row[ii,cc], col[ii,cc] ] += 1
数组“data”只包含每个多边形(80000)的数据值。数组“row”和“col”包含多边形中坐标的行号和列号(形状:(80000,16))。如您所见,我正在汇总每个网格单元格中的所有数据值并计算匹配数。因此,我知道每个网格单元的平均值,以防不同的多边形相交。不过,这两个 for 循环怎么会花费大约 7 秒呢?你能想出更快的方法吗?