基于对现有论文及开源软件的深入研究,使用C++复现了高阶累积量算法,并系统评估其在地质空间场景中的适用性,明确了原算法在时间与空间效率方面的不足。针对冗余中间值存储及计算瓶颈,引入AVL树实现高效缓存管理,同时结合并行计算与迭代优化手段,大幅提升了算法运行速度与资源利用率。最终将优化后的算法模块集成至专业开源软件,增强了软件在地质空间分析中的处理能力与实用性。
点击空白处退出提示
基于对现有论文及开源软件的深入研究,使用C++复现了高阶累积量算法,并系统评估其在地质空间场景中的适用性,明确了原算法在时间与空间效率方面的不足。针对冗余中间值存储及计算瓶颈,引入AVL树实现高效缓存管理,同时结合并行计算与迭代优化手段,大幅提升了算法运行速度与资源利用率。最终将优化后的算法模块集成至专业开源软件,增强了软件在地质空间分析中的处理能力与实用性。
为实现地质空间模拟、多点统计等地学相关需求,基于专业地学统计平台SGeMS,为其实现具体功能性算法插件。包含:
1. 模板型高阶矩/累积量插件:这个插件在滞后域 lag domain工作。它根据用户设定的方向、滞后距离、滞后数量和方向容差,搜索满足模板几何关系的数据组合,然后计算高阶矩或高阶累积量。
主要功能是:计算模板型高阶空间矩、计算模板型高阶空间累积量、支持重复方向或多方向模板、输出二维滞后剖面图、输出三维滞后域体数据、可从已有 3D 滞后体中提取 xy、xz、yz 切片,不需要重新计算累积量。
它主要用于研究:地质变量在不同方向、不同滞后距离下的高阶空间依赖关系。
2. 移动窗口高阶矩/累积量插件:这个插件在原始空间 physical space工作。它用一个滑动窗口在网格或点集上移动,在每个窗口内计算局部矩或局部累积量,然后把结果写回成局部属性图。
主要功能是:计算局部高阶矩、计算局部高阶累积量、支持设置窗口大小、支持设置移动步长、对二维数据输出规则网格属性图、对稀疏三维数据输出点集属性、支持三维稀疏数据内部补齐计算,再写回原始点集支撑。
它主要用于把高阶统计量变成局部地质属性图,用来识别通道、高孔隙带、局部连通结构等空间特征。
3. HOSC / AVL 树优化计算模块”这是主要的生产计算路线。它用 AVL 树存储和复用累积量递归计算中的中间状态,避免重复计算相同子问题。
主要功能是:加速高阶累积量计算、降低重复方向模板计算中的内存和时间消耗、特别适合模板型、高阶、重复计算较多的场景。
4. Bell 分区参考计算模块:这是一个精确但通常较慢的参考路线。它基于 Bell 多项式或集合分区公式来计算累积量。
主要功能是:作为数值验证基准、与 HOSC 路线对比,确认两条路线得到的累积量一致、适合小规模或低阶移动窗口测试。
从算法研究到插件框架设计均独立完成。技术栈包括SGeMS 插件开发框架、C++ 高性能计算实现、高阶空间统计、移动窗口分析、二维/三维输出与可视化处理。项目难点包括计算复杂度难点:高阶累积量涉及大量矩组合和分区项,阶数、方向数、重复方向一增加,状态数会快速膨胀。一致性验证难点:HOSC 是优化路线,Bell 是参考路线,必须证明两者在相同设置下结果一致,否则插件可信度不够。SGeMS 数据结构适配难点:要同时支持规则二维网格、三维 lag volume、稀疏三维 point set,并把结果正确写回 SGeMS 属性。地质可解释性难点:高阶累积量数值可能正负混合、极值明显、对窗口和权重敏感。








评论