当前位置: 首页 > ai >正文

Hysplit大气传输和污染扩散-轨迹聚合标准20%30%用途

1、HYSPLIT轨迹聚合中的百分比标准

在HYSPLIT模型中,轨迹聚合(Trajectory Clustering)用于将大量轨迹按相似性分组,20%和30%是常见的聚合阈值标准,反映轨迹间的空间相似度要求。

2、20%和30%的具体含义

这两个百分比代表轨迹聚合算法中允许的最大空间差异阈值。具体计算基于轨迹之间的空间距离标准差(或均方根距离):

  • 20%阈值:要求轨迹组内各轨迹间的空间差异不超过整体轨迹样本空间分布标准差的20%,聚合条件更严格,生成的组数更多。
  • 30%阈值:允许更大的空间差异(标准差的30%),聚合条件更宽松,生成的组数较少但每组轨迹更分散。

3、阈值选择的影响

  • 20%标准
    适用于需要高精度分析的场景(如污染源精确定位),轨迹分组更细,能识别更局部的传输路径,但可能增加计算量。

  • 30%标准
    适合大尺度分析(如区域传输模式研究),减少组数以突出主要传输路径,可能忽略部分细节但增强整体规律的可视化。

4、个人理解

    1)App默认使用30%参数。

    2)官方文档:

View possible final number of clusters.  Typically a pairing of "different" clusters is indicated by a 30% change in the percent change in total spatial variance (see Step 2, Display plot). Run lists the possible final cluster numbers.  If the 30% criterion does not identify any, the 20% criterion may be chosen.  The maximum is arbitrarily set to 20 clusters。(查看可能的最终聚类数量。通常,“不同”聚类的配对由总空间方差变化百分比中30%的变化表示(参见步骤2,显示图表)。运行列表显示可能的最终聚类数量。如果30%的标准未识别出任何结果,可选择20%的标准。最大聚类数默认设置为20个。)

    也就是说默认使用30%来选择聚类数量,如果没有数量结果,则使用20%再算一次重新选择。

5、聚类数量读取Java代码

    private List<NcDataEntry> readTsvFile(String filePath) {List<NcDataEntry> dataEntries = new ArrayList<>();try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {String line;while ((line = br.readLine()) != null) {// 分割一个或多个空白字符String[] parts = line.trim().split("\\s+");if (parts.length >= 2) {try {int nc = Integer.parseInt(parts[0]);double tsv = Double.parseDouble(parts[1]);dataEntries.add(new NcDataEntry(nc, tsv));} catch (NumberFormatException e) {// 忽略无法解析为数字的行System.err.println("忽略无法解析的行: " + line);}}}} catch (IOException ex) {throw new FileOptionException("读取文件时出错: " + ex.getMessage());}return dataEntries;}
import lombok.Data;@Data
public class NcDataEntry {private int nc;private double tsv;public NcDataEntry(int nc, double tsv) {this.nc = nc;this.tsv = tsv;}
}

http://www.xdnf.cn/news/19363.html

相关文章:

  • OpenCV 图像直方图与对比度增强实战:从分析到优化
  • Week 14: 深度学习补遗:迁移学习
  • 《隐性质量:决定软件生命周期的看不见的竞争力》
  • Langflow Agents 技术深度分析
  • 极客学院-从零开始学架构
  • MCP SDK 示例一
  • Linux 特殊文件系统
  • 二、程序设计语言基础知识
  • 预售破 500 万!淮北吾悦广场京东奥莱8月29日开业燃动皖北
  • Pytest+Selenium4 Web自动化测试框架(三日速通)
  • ANR InputDispatching TimeOut超时判断 - android-15.0.0_r23
  • python如何打开显示svg图片
  • react-beautiful-dnd ​React 拖拽(Drag and Drop)库
  • Scikit-learn Python机器学习 - 类别特征提取- OneHotEncoder
  • 人工智能-python-深度学习-
  • RPC个人笔记(包含动态代理)
  • HarmonyOS 应用开发:基于API 12+的现代化开发实践
  • shell编程基础入门-2
  • 层次分析法
  • 现代C++特性 并发编程:线程管理库 <thread>(C++11)
  • dayjs 常用方法总结
  • MySQL—— 概述 SQL语句
  • MSVC---编译器工具链
  • 【CUDA入门·Lesson 1】Ubuntu实战:CUDA 概念、nvidia-smi 工具与 GPU 参数详解
  • Docker从零学习系列之Dockerfile
  • 蓓韵安禧活性叶酸独立包装防漏贴心设计
  • 策略模式:模拟八路军的抗日策略
  • 性能测试工具-Slow Query Log
  • React学习教程,从入门到精通, ReactJS - 架构(6)
  • Java GC 销毁机制 与 Redis 过期策略深度对比