seismicwave

package module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2024 License: MIT Imports: 9 Imported by: 6

README

seismicwave

地震波をファイルから読み込むライブラリパッケージです。

Install

go.mod ファイルに次の行を追記してください。

require github.com/takatoh/seismicwave v1.2.0

Usage

読み込みたいファイルフォーマットによって関数を使い分けます。いずれの関数も seismicwave.Wave 構造体 (のポインタ)のスライスとエラー値を返します。

Wave formats

CSV,気象庁形式,K-NET 形式,固定長の各フォーマットに対応しています。

CSV
waves, err := seismicwave.LoadCSV("filename.csv")
気象庁形式
waves, err := seismicwave.LoadJMA("filename.txt")
K-NET 形式

K-NET の地震波(強震動記録)のファイルは成分ごとに分かれているので、その1つを読み込む関数と、 3成分をまとめて読み込む関数があります。

waves, err := seismicwave.LoadKNET("filename.NS")

3成分をまとめて読み込む関数では、ファイル名から拡張子を除いた部分を指定します。

waves, err := seismicwave.LoadKNETSet("basename")
固定長フォーマット

固定長フォーマットではパラメータとして、ファイル名のほかに地震波名、各行のフォーマット、時間刻み、データ数、読み飛ばし行数 を指定する必要があります。この関数では、1つの地震波を読み込みます。

waves, err := seismicwave.LoadFixedFormat("filename.dat", "wavename", "10F8.2", 0.01, 6000, 2)

または、各パラメータを TOML 式のファイルに記述して読み込むこともできます。この関数では複数の地震波を読み込むことができます。

waves, err := seismicwave.LoadFixedFormatWithTOML("input.toml")

TOML 形式のインプットファイルは次のようになります。

[[wave]]
name   = "wave-1"
file   = "example.dat"
format = "10F8.2"
dt     = 0.01
ndata  = 6000
skip   = 2

[[wave]]
name   = "wave-2"
file   = "example.dat"
format = "10F8.2"
dt     = 0.01
ndata  = 6000
skip   = 604

この例では example.dat ファイルから2つの地震波を読み込んでいます。

License

MIT License

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type InputWave

type InputWave struct {
	Waves []InputWaveInfo `toml:"wave"`
}

type InputWaveInfo

type InputWaveInfo struct {
	Name   string  `toml:"name"`
	File   string  `toml:"file"`
	Format string  `toml:"format"`
	Dt     float64 `toml:"dt"`
	NData  int     `toml:"ndata"`
	Skip   int     `toml:"skip"`
}

type Wave

type Wave struct {
	Name string
	Dt   float64
	Data []float64
}

func LoadCSV

func LoadCSV(filename string) ([]*Wave, error)

func LoadFixedFormat

func LoadFixedFormat(filename, wavename, format string, dt float64, ndata, skip int) ([]*Wave, error)

func LoadFixedFormatWithTOML

func LoadFixedFormatWithTOML(inputfile string) ([]*Wave, error)

func LoadJMA

func LoadJMA(filename string) ([]*Wave, error)

func LoadKNET

func LoadKNET(filename string) ([]*Wave, error)

func LoadKNETSet

func LoadKNETSet(basename string) ([]*Wave, error)

func Make added in v1.1.0

func Make(name string, dt float64, data []float64) *Wave

func New

func New() *Wave

func (*Wave) AbsMax

func (w *Wave) AbsMax() float64

func (*Wave) AbsMaxWithTime added in v1.1.0

func (w *Wave) AbsMaxWithTime() (float64, float64)

func (*Wave) DT

func (w *Wave) DT() float64

func (*Wave) Length

func (w *Wave) Length() float64

func (*Wave) Max

func (w *Wave) Max() float64

func (*Wave) MaxWithTime added in v1.1.0

func (w *Wave) MaxWithTime() (float64, float64)

func (*Wave) Min

func (w *Wave) Min() float64

func (*Wave) MinWithTime added in v1.1.0

func (w *Wave) MinWithTime() (float64, float64)

func (*Wave) NData

func (w *Wave) NData() int

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL