数据转换
Hi-net提供了win32格式的波形数据和通道表形式的仪器响应。 win32
可以将其转换为SAC和SAC零极点格式。
>>> from HinetPy import win32
>>> data = "0101_201001010000_20.cnt"
>>> ctable = "0101_20100101.ch"
提取波形数据
提取所有通道的数据数据并保存为SAC格式。
>>> 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文件后缀和输出目录。
>>> win32.extract_sac(data, ctable, suffix="", outdir="SAC")
如果你只想提取一部分通道的波形数据,你可以使用 filter_by_id
、 filter_by_name
和/或 filter_by_component
以筛选需要的通道。这些参数都可以接受字符串列表或者包含通配符的字符串。
>>> # extract 3 channles by id
>>> win32.extract_sac(data, ctable, filter_by_id=["3e83", "3e84", "3e85"])
>>> # extract all channels whose name match 'N.NA*'
>>> win32.extract_sac(data, ctable, filter_by_name="N.NA*")
>>> # extract vertical(U) component channels whose name match 'N.NA*'
>>> win32.extract_sac(data, ctable, filter_by_name="N.NA*", filter_by_component="U")
提取零极点文件
extract_sacpz()
可以将仪器响应从Hi-net的通道表格式转换为SAC PZ格式。
提取所有通道的仪器响应并保存为SACPZ文件:
>>> win32.extract_sacpz(ctable)
SACPZ文件的默认文件名格式为 STATION.COMPONENT.SAC_PZ
(例如 N.NABC.U.SAC_PZ
)。你可以指定其他SACPZ文件后缀和输出目录。
>>> win32.extract_sacpz(ctable, suffix="SACPZ", outdir="PZ/")
如果你只想提取一部分通道的波形数据,你可以使用 filter_by_id
、 filter_by_name
和/或 filter_by_component
以筛选需要的通道。这些参数都可以接受字符串列表或者包含通配符的字符串。
>>> # extract 3 channles by id
>>> win32.extract_sacpz(ctable, filter_by_id=["3e83", "3e84", "3e85"])
>>> # extract all channels whose name match 'N.NA*'
>>> win32.extract_sacpz(ctable, filter_by_name="N.NA*")
>>> # extract vertical(U) component channels whose name match 'N.NA*'
>>> win32.extract_sacpz(ctable, filter_by_name="N.NA*", filter_by_component="U")