HinetPy——基于Python的Hi-net数据申请客户端

https://img.shields.io/travis/seisman/HinetPy/master.svghttps://codecov.io/gh/seisman/HinetPy/branch/master/graph/badge.svghttps://img.shields.io/github/release/seisman/HinetPy.svghttps://img.shields.io/pypi/v/HinetPy.svghttps://img.shields.io/pypi/pyversions/HinetPy.svghttps://img.shields.io/github/license/seisman/HinetPy.svghttps://zenodo.org/badge/23509035.svg

HinetPy 是一个Python模块,致力于自动化和简化与 NIED Hi-net 相关的繁琐的数据申请、下载和格式转换工作。

NIED Hi-net | 源代码 | Documentation | 中文文档

功能

  • 从Hi-net申请连续波形数据
  • 从Hi-net申请事件波形数据
  • 选择一个矩形或环形区域内的Hi-net/F-net台站
  • 将波形数据从win32格式转换为SAC格式
  • 提取仪器响应信息并保存为SAC零极点文件
  • 多线程并行下载和转换以加快速度

一个简单的示例

HinetPy 功能强大,使得从Hi-net申请连续数据、将数据转换为SAC格式、提取仪器响应文件并保存为SAC零极点文件变得很简单。

  1. >>> from HinetPy import Client, win32
  2. >>>
  3. >>> # You need a Hi-net account to access their data
  4. >>> client = Client("username", "password")
  5. >>>
  6. >>> # Let's try to request 20 minutes data since 2010-01-01T00:00(GMT+0900) from Hi-net
  7. >>> # '0101' is the code of Hi-net network
  8. >>> data, ctable = client.get_continuous_waveform('0101', '201001010000', 20)
  9. >>> # The request and downloading process usually takes several minutes
  10. >>> # waiting data request ...
  11. >>> # waiting data downloading ...
  12. >>> ls # the downloaded data and corresponding channel table
  13. 0101_201001010000_20.cnt 0101_20100101.ch
  14. >>>
  15. >>> # Let's convert data from win32 format to SAC format
  16. >>> win32.extract_sac(data, ctable)
  17. >>> # Let's extract instrument response as PZ file from channel table
  18. >>> win32.extract_pz(ctable)
  19. >>> ls
  20. N.NGUH.E.SAC N.NGUH.U.SAC N.NNMH.N.SAC
  21. N.NGUH.N.SAC N.NNMH.E.SAC N.NNMH.U.SAC
  22. ...
  23. N.NGUH.E.SAC_PZ N.NGUH.U.SAC_PZ N.NNMH.N.SAC_PZ
  24. N.NGUH.N.SAC_PZ N.NNMH.E.SAC_PZ N.NNMH.U.SAC_PZ
  25. ...

引用

如果你觉得这个软件包很有用,请考虑在文章中通过如下方式引用: https://zenodo.org/badge/23509035.svg

许可协议

本项目使用 MIT license 许可协议。