数据转换

Hi-net提供了win32格式的波形数据和通道表形式的仪器响应。 win32 可以将其转换为SAC和SAC零极点格式。

  1. >>> from HinetPy import win32
  2. >>> data = "0101_201001010000_20.cnt"
  3. >>> ctable = "0101_20100101.ch"

提取波形数据

提取所有通道的数据数据并保存为SAC格式。

  1. >>> win32.extract_sac(data, ctable)

重要

从win32格式转换得到的SAC文件的单位不是digital counts!!!

win2sac_32 会自动从波形中去除灵敏度,并乘以1.0e9。因而,SAC文件是以 nm/s 为单位的速度或以 nm/s/s 为单位的加速度。

SAC文件的默认文件名格式为 STATION.COMPONENT.SAC (例如 N.NABC.U.SAC )。你可以指定其他SAC文件后缀和输出目录。

  1. >>> win32.extract_sac(data, ctable, suffix="", outdir="SAC")

如果你只想提取一部分通道的波形数据,你可以使用 filter_by_idfilter_by_name 和/或 filter_by_component 以筛选需要的通道。这些参数都可以接受字符串列表或者包含通配符的字符串。

  1. >>> # extract 3 channles by id
  2. >>> win32.extract_sac(data, ctable, filter_by_id=['3e83', '3e84', '3e85'])
  3. >>> # extract all channels whose name match 'N.NA*'
  4. >>> win32.extract_sac(data, ctable, filter_by_name='N.NA*')
  5. >>> # extract vertical(U) component channels whose name match 'N.NA*'
  6. >>> win32.extract_sac(data, ctable, filter_by_name='N.NA*', filter_by_component='U')

提取零极点文件

extract_pz() 可以将仪器响应从Hi-net的通道表格式转换为SAC PZ格式。

警告

此功能仅对Hi-net台网有效。

强烈建议F-net数据用户使用 FnetPy 从Fnet网站申请SEED格式的数据,并从SEED文件中提取RESP或PZ格式的仪器响应。

提取所有通道的仪器响应并保存为SACPZ文件:

  1. >>> win32.extract_pz(ctable)

SACPZ文件的默认文件名格式为 STATION.COMPONENT.SAC_PZ (例如 N.NABC.U.SAC_PZ )。你可以指定其他SACPZ文件后缀和输出目录。

  1. >>> win32.extract_pz(ctable, suffix="SACPZ", outdir="PZ/")

如果你只想提取一部分通道的波形数据,你可以使用 filter_by_idfilter_by_name 和/或 filter_by_component 以筛选需要的通道。这些参数都可以接受字符串列表或者包含通配符的字符串。

  1. >>> # extract 3 channles by id
  2. >>> win32.extract_pz(ctable, filter_by_id=['3e83', '3e84', '3e85'])
  3. >>> # extract all channels whose name match 'N.NA*'
  4. >>> win32.extract_pz(ctable, filter_by_name='N.NA*')
  5. >>> # extract vertical(U) component channels whose name match 'N.NA*'
  6. >>> win32.extract_pz(ctable, filter_by_name='N.NA*', filter_by_component='U')

参见