最近研究了一下HITRAN 数据库,在网络上关于HITRAN 的介绍不是很多,而且有点不太详细。所以这篇博客就从小白的角度介绍一下HITRAN 数据库以及从中获取数据的方法。


1. HITRAN是用来干嘛的

HITRAN数据库是光谱参数的汇编,用于模拟和分析气态介质(尤其是陆地大气)中的光的传输和发射。 自1960年代末成立以来(当时仅包含了七个在自然陆地大气中具有红外活性的吸收剂),它经历了许多修改和扩展。 在其最新的主要版本(HITRAN2012)中,数据库的逐行(line-by-line)部分包含将近450万个离子对,总共包含47个不同分子的116个单独的同位素。 对于这些过渡中的每一个,都提供参数以计算其强度和线形随温度和压力的变化,并假设具有通过与两种类型的分子碰撞而确定的洛伦兹分量的Voigt轮廓:“air”和“self”。
详细的介绍可参看:https://zhuanlan.zhihu.com/p/132358533
说实话,我也不是很懂上面这段话所要表达的意思(也许自己专业不是太贴合),但是有胜于无,上面知乎上的这篇文章是我在hitran online(http://hitran.org/)上面找到的一篇英文文章 翻译了一下。前人栽树后人乘凉,我就当是为西学中用做那么一丢丢贡献好了。

2. 如何获取数据

获取数据的方法主要有两种,一是从 hitran online(http://hitran.org/)上面直接下载,上面文章中有详细介绍,并且本人亲测有效!
接下来重点介绍一下第二种方法:使用http://hitran.org/hapi上提供的一个python 包:

老外做的帮助文档真的很给力,只不过是英文的(看见英文就头大),但是翻译一下就知道老外做的东西有多么精细。
下这个数据一般都是在Linux 下进行的。此篇博客基于ubuntu 18.04
关于这个API,可以参看文章:https://zhuanlan.zhihu.com/p/132532661
下面开始介绍实操内容:
首先你电脑上得有Python ,还得下几个包:Numpy Matplotlib等,详细参看用户手册。如何下载,在终端中输入命令:sudo apt-get install python即可。

1.在http://hitran.org/hapi上把那个python 包下载下来。
2.找一个地方(最好是固定,不长动的地方)建立一个文件夹存储下载的数据。

可以看到,我建了一个hitran 文件夹,之后又建了一个data 文件夹准备用来接受下载下来的数据。
3.将从hitran online上下载的包复制到这个文件夹中,然后右键,打开终端。

4.在终端中输入python 进入python

5.引用刚才下的包:from hapi import *并且告诉程序将数据下到指定文件夹:db_begin('data') ’ ’ 中是指定文件夹的名称,这里设成了data

6.开始下载所需数据,这里以下载H2O 为例:fetch('HOH', 1, 1, 4000, 4100)

7.接着就可以在 data 文件夹下看到下载下来的文件了,

可以看到下载了两个文件,一个是data文件存储数据,一个是header 文件存储描述。
这个接口处理数据的方法可以阅读帮助手册,也可以参看这篇文章:https://zhuanlan.zhihu.com/p/112537228

最后展示一下下载出来的数据:

引用文章

[1] 知乎作者-方巍: https://zhuanlan.zhihu.com/p/112537228
[2] 知乎作者-流浪猪头拯救地球: https://zhuanlan.zhihu.com/p/132532661
[3] 知乎作者-流浪猪头拯救地球: https://zhuanlan.zhihu.com/p/132358533

如何从HITRAN数据库 获取数据相关推荐

  1. Loadrunner脚本优化-参数化之关联MySQL数据库获取数据

    脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1.   安装MySQL ODBC驱动程序 O ...

  2. eclipse读取mysql数据乱码_eclipse从数据库获取数据时控制台乱码问题

    最近在学习HQL的时候,想从数据库获取数据时eclipse控制台乱码,一开始以为是控制台设置的编码有问题,然后就修改了控制台的编码,run->run Configurations->com ...

  3. mysql从库数据源_SoapUI Pro教程:如何使用MySQL服务器作为数据源-从MySQL数据库获取数据...

    SoapUI Pro拥有许多其他web服务测试工具所不具备的高级技术和功能.对于REST.SOAP以及其他流行的API和物联网协议,SoapUI Pro提供了业界最全面的功能测试功能.通过易用的图形界 ...

  4. java简单从一个数据库获取数据,然后插入到另外一个数据库

    思路:从一个数据库获取数据,然后插入到另外一个数据库,使用springboot的话就需要在application.yml配置两个数据库,这样比较麻烦也要注意注解的使用,如: server:port: ...

  5. Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(值相等)

    1.做数值校验 ,Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(小数) 会出现 数据库取出的数据进度丢失 得到的结果是 false 解决方案 :先进行小数位保留 然后再作比较 ...

  6. Android中连接MySql数据库获取数据的简单实现

    文章目录 背景 demo布局 导入jar包 demo代码实现 权限设置 应用运行的结果 背景 一般情况下,Android与数据库中的数据进行交互都是通过调用api接口来实现的.但是今天我们就来尝试实现 ...

  7. echarts从数据库获取数据制图

    echarts从数据库获取数据制图 首先是连接mysql的工具类(DBUtil ), import java.sql.Connection; import java.sql.DriverManager ...

  8. oracle 从别的数据库获取数据 ,访问其他数据库

    在某个oracle数据库,获取其他oracle数据库中的数据,需要建立database link,在使用语句获取数据 假设前置机实例名prod,你要查询的用户scott密码tiger在本机:creat ...

  9. 7. 从数据库获取数据- 从零开始学Laravel

    从零开始学Laravel教程目录 路由,控制器,视图我们都学了一点了,从这里开始,我们先看下如何用migration创建数据表,然后通过查询构建器(query builder)和Elequent去获取 ...

最新文章

  1. 主流浏览器js 引擎内核市场份额attialx总结vOa9
  2. Spring3 MVC
  3. 记一则神秘JDK版本引发的hadoop集群慢性崩溃”血案“
  4. P4630-[APIO2018]Duathlon铁人两项【圆方树】
  5. 利用函数wavread对语音信号进行采样_AI大语音(一)——语音识别基础(深度解析)...
  6. python数据类型和循环控制
  7. ajax是宏任务还是微任务,(滴滴面试)事件循环Event Loop及微任务和宏任务的执行过程详解...
  8. vuejs简单介绍特点
  9. vue中给window添加滚动监听无效的解决方案
  10. python成绩统计_python统计考试成绩排名
  11. android的fragment讲解
  12. web开发时碰到的问题以及心得经验
  13. 高等数学(第七版)同济大学 习题4-5 个人解答
  14. C语言实现EEPROM程序读取24C02成功读取方案单片机用
  15. Python高级数据处理与可视化
  16. C# LeetCode刷题 - LeetCode 148. Sort List 解题报告(归并排序小结)
  17. python如何调用数学函数_Python_函数调用_数学函数_组合
  18. 100倍分析性能提升 清华冠军团队用图数据震惊世界
  19. 小米10等UFS字库备份与基带分区说明
  20. 机器学习的学习形式分类

热门文章

  1. 数字城市福清防汛应急平台(泉舟时代)
  2. 企业移动学习行业调研报告 - 市场现状分析与发展前景预测
  3. Android调用系统摄像头拍照并显示在ImageView上
  4. 文:来自一个不知名的网友答复如何做到早起床
  5. 如何搭建GFS分布式文件系统
  6. [20190402]关于semtimedop函数调用2.txt
  7. HTML5(六).Input 类型
  8. dpdk-20.11 rpm包编译
  9. Whoosh如何搜索
  10. python中利用jieba库统计词频,counts[word] = counts.get(word,0)+1的使用