情况
我有两个数据集:
- 使用
rioxarray
(xarray.DataArray
(加载的光栅数据 - CCD_ 3和CCD_。数据集
两个数据集中的地理数据位于同一CRS中(EPSG:4326(。
问题
对于2中的每个条目。我想聚合1中的所有值。其与特定CCD_ 5重叠。有点像使用几何图形+.sum()
的.group-by()
。
当前的WIP方法
包xagg
已经做到了这一点,不幸的是,在我的数据集的一个子集上速度较慢,当我试图在我的整个数据集上使用它时,扩展得更糟。
问题
在Python中有简单高效的方法吗?(该解决方案不需要准确复制xagg
的结果。(
WRT你在这里的评论是我用来做你想要做的事情的一些伪代码。在这种情况下,正在执行的函数输出文件。如果这一点不明显,那么如果您只有一个大光栅和一个大多边形文件,策略将不会有帮助。此方法假定平铺数据,并使用索引系统将右侧光栅与覆盖的多边形相匹配。完整的例子有点超出了单个答案的范围。但是,如果你问具体情况,如果你有问题,我可以尝试提供帮助。除了dask良好的文档外,这里还有很多其他关于dask延迟示例的帖子。
results_list = []
for f in raster_file_list:
temp_list = dask.delayed(your_custom_function)(f, your_custom_function_arg_1, your_custom_function_arg_2)
results.append(temp_list)
results = dask.compute(*results_list, scheduler='processes')