月震データベースの問題点
現在の月震データベースには、次のような問題点、未実装の点が残っています。
- Origin Timeの表示がない。
- 月震がいつから始まったかという、Origin Timeを表示したヘッダがありません。
- Data Gapの情報がない。
- 月震のデータは、アポロ計画のデータ処理の際に、月面から送信されてきたデータパケットをつなげることによって作られています。そのパケットごとの先頭の時刻を読み取り、実際にどの程度データが離れているかどうかを確認することを考えています。
- 月震規模のIndexがない。
- その月震がどの程度の大きさなのかを知るための指標としては、今のところは最大振幅しかありません。しかし、最大振幅はデータに含まれるノイズによっていかようにも変化します(実際、そのようなデータの方が多い)。
- 各チャネルのデータの標準偏差が欲しい。
- 同じく、データの良し悪しを表す値として、各チャネルデータの標準偏差が挙げられます。例えば、あまりにも標準偏差が大きい場合には、このデータは分散している、つまり極端に大きなデータ(ノイズ)が含まれていることになります。このような標準偏差を各チャネルのデータ煮含めることを考えています。
- 整数値がサポートされていない。
- 現行のMQDBでは浮動小数点値しか許されていません。浮動小数点値は、コンピュータによってフォーマットがばらばらであるという問題点があり(最近は標準化が図られつつあるようですが)、それを避けるためにテキストでやりとりすると、データが増大するという欠陥を抱えています。もともとのデータが整数値なのですから、整数値データフォーマットをサポートする必要があります。
- コメントに制限がないため、仕様が不安定。
- 現在の月震データベースの仕様では、ヘッダエリアについて、先頭に記号が来る行全てをコメントとみなしています。これではあまりにも仕様が広過ぎるため、将来のバージョンではコメントは行頭が#で始まる行のみとすることを予定しています。
未実装箇所
- C言語用ライブラリにおける個別のヘッダの読み込み関数
- FORTRAN用にはあるのですが、C言語用には今のところ、まとめて読み込むための関数しか用意されていません。
- 共有メモリのサポート
- 一時展開領域として共有メモリが使えるようにする予定ですが、現在はまだサポートされていません。
月震データベースの強化(予定)点
将来に向けて、月震データベースの拡張を行っていく予定です。当面の予定は、以下の通りです。
1.00→1.10へ
- Origin Timeヘッダを加える。
- 新たにOrigin Timeヘッダを加えます。なお、このためのOrigin Time判定は、LUNAR-Aの月震判定アルゴリズムを使用する予定です。
- Data Gapの情報を加える。
- 当面は外部データベースの形でサポートします。
- 数値データについての情報を加える。
- 形式としては、
Data_type: Integer / Float
Data_bytes: 4
などとすることを考えています。
- コメントに制限をつける。
- 上で述べた通り、行頭に#がある行のみをコメントとするように仕様を変更します。そのため、MQDB仕様に沿ったデータを独自に作成する場合、行頭に#以外の記号を使ったコメントは作成しないことをお勧めいたします。
- 未実装の部分を完成させる
- 上で述べた未実装部を完成させます。
- 圧縮されたファイルの自動読み込み
- 今はgzipやcompress、bzip2などで圧縮されたファイルは、いったん手動で展開しないとファイルを開くことができません。これを、ライブラリ内で自動的に展開されるように修正する予定です。
◎1.10→2.00へ
- ヘッダ形式をPDS (Planetary Data System) と同等にする。
- PDSとは、NASAが月・惑星データを配布する際に使っているデータ形式です。基本的にはMQDBにそっくりで(というよりMQDBがPDS類似なのですが)、ブロック型のデータ構造や、MQDBを上回る数多くのヘッダをサポートしています。ヘッダ部はほとんど差がないため、この部分からまずPDS互換にすることがよいと考えています。
- ヘッダをフリーフォーマットにする。
- 今はヘッダについては、必ず1桁目から始まり、その他、あまり自由なフォーマットをとることはできません。そのため、これらをもう少し自由にし、フリーフォーマットとして記述できるようにします。
- ブロック型構造体データ構造をサポートする。
- 上述した通り、ブロック型のヘッダ構造、データ構造をサポートすれば、その部分のデータだけをまとめて取り扱うことができます。これをどのようにして実現するかを考えているところです。
- MIMEを利用した複数データ式のデータ構造とする。
- 複数のデータを1ファイルに収容できるようになると、データを持ち歩く場合などに非常に便利です。このような複数データを収容するフォーマットとして、いちばんわかりやすいものが、MIMEのmultipart形式です。これを応用して、複数のデータやヘッダなどを1ファイル内に格納できるようにする予定です。
- データ内にデータヘッダの定義が入る形とする。
- これは、PDSのデータ形式を強く意識しています。最終的には、現行の月震データフォーマットは、いろいろある規格の1つとしてとり込めるようにして、MQDBフォーマットはPDS-compatibleとする予定です。また、MQLIBについては、PDSを扱うためのライブラリとして進化させていくことを考えています。
◎その他
- Java言語のサポート
- 現在、実装を始めています。早ければ1999年中にもコア機能を実装したクラスライブラリを公開できればと考えています。
- 2次データベースの作成
- 今は、ヘッダ情報は各ファイルに納められているだけです。この情報を別のファイルに集約して、そのファイルを何らかのデータベースシステムによってアクセスするようにすれば、より早く求めるデータにアクセスすることができるはずです。このためのシステムを作りつつあります。