获取连续波形数据

本教程将展示如何通过 get_continuous_waveform() 用多种方式从Hi-net申请连续波形数据。

注解

HinetPy和Hi-net网站中的所有时间都是日本标准时间(东九区,GMT+0900)。

基本用法

申请Hi-net台网从2010-01-01T00:00 (GMT+0900)开始的20分钟的数据:

  1. >>> from HinetPy import Client
  2. >>> client = Client("username", "password")
  3. >>> data, ctable = client.get_continuous_waveform('0101', '201001010000', 20)
  4. [2017-03-11 17:46:20] INFO: 2010-01-01 00:00 ~20
  5. [2017-03-11 17:46:20] INFO: [1/4] => 2010-01-01 00:00 ~5
  6. [2017-03-11 17:46:41] INFO: [2/4] => 2010-01-01 00:05 ~5
  7. [2017-03-11 17:46:50] INFO: [3/4] => 2010-01-01 00:10 ~5
  8. [2017-03-11 17:47:04] INFO: [4/4] => 2010-01-01 00:15 ~5
  9. >>> ls
  10. 0101_201001010000_20.cnt 0101_20100101.ch

get_continuous_waveform()starttime 还可以用其他常见格式:

  1. >>> data, ctable = client.get_continuous_waveform('0101', '2010-01-01T00:00', 20)
  2. >>> data, ctable = client.get_continuous_waveform('0101', '2010-01-01 00:00', 20)

并且 datetime.datetime 允许用户更灵活地操作日期和时间:

  1. >>> from datetime import datetime
  2. >>> starttime = datetime(2010, 1, 1, 0, 0) # JST time
  3. >>> data, ctable = client.get_continuous_waveform('0101', starttime, 20)

现在我们得到了:

  • 0101_201001010000_20.cnt: win32格式的波形数据,默认文件名格式为 s CODE_YYYYmmddHHMM_LENGTH.cnt
  • 0101_20100101.ch: ctable数据(即通道表,类似于仪器响应文件),默认文件名格式为 CODE_YYYYmmdd.ch

注解

Hi-net对数据申请有三个限制:

  • 数据记录长度不超过60分钟
  • 通道数目*数据记录长度不得大于12000分钟
  • 仅保留最近150次申请的数据对于上面的示例,Hi-net有大约2350个通道,因而数据长度不得超过5分钟。一个20分钟长的数据请求需要被拆分成四个5分钟的子请求。

自定义

你可以自定义数据文件和通道表的文件名,以及输出目录。

  1. >>> from HinetPy import Client
  2. >>> from datetime import datetime
  3. >>> client = Client("username", "password")
  4. >>> starttime = datetime(2010, 1, 1, 0, 0) # JST time
  5. >>> data, ctable = client.get_continuous_waveform('0101', starttime, 20,
  6. ... data="201001010000.cnt"
  7. ... ctable='0101.ch',
  8. ... outdir='201001010000')
  9. [2017-03-11 17:46:20] INFO: 2010-01-01 00:00 ~20
  10. [2017-03-11 17:46:20] INFO: [1/4] => 2010-01-01 00:00 ~5
  11. [2017-03-11 17:46:41] INFO: [2/4] => 2010-01-01 00:05 ~5
  12. [2017-03-11 17:46:50] INFO: [3/4] => 2010-01-01 00:10 ~5
  13. [2017-03-11 17:47:04] INFO: [4/4] => 2010-01-01 00:15 ~5
  14. >>> ls 201001010000/
  15. 0101.ch 201001010000.cnt