最終更新日 : 2002年06月17日
■CEOS BSQのイメージデータ内部
仕様書とバイナリデータから調べたところ、イメージデータ内の1レコードは次のような構成になる。
プレフィックス、サフィックスは衛星、又はセンサー毎に大きさが変化している。
プレフィックス,サフィックスは、イメージデータ内のディスクプリター内にサイズが保存されているが、その位置も衛星,センサーの種類に影響されている。これは下記のようなiniファイルを作成するのとで対応させます。
[LANDSAT-5TM]
PrefixPos=280
PrefixSize=4
ImagePos=284
ImageSize=4
SuffixPos=288
SuffixSize=4
LeftFillPos=24
LeftFillSize=4
RightFillPos=28
RightFillSize=4
[SPOT-2HX]
PrefixPos=276
PrefixSize=4
ImagePos=280
ImageSize=4
SuffixPos=288
SuffixSize=4
LeftFillPos=24
LeftFillSize=4
RightFillPos=28
RightFillSize=4
[ADEOSAVNIR Mul]
PrefixPos=280
PrefixSize=4
ImagePos=284
ImageSize=8
SuffixPos=292
SuffixSize=4
LeftFillPos=24
LeftFillSize=4
RightFillPos=28
RightFillSize=4
次にイメージデータの左右にあるダミーピクセルですが、これをどう扱うかが問題です。このダミーピクセルというのは、
左の図では左右の黒い部分、右の図では(1)と(3)の部分にあたります。もちろん、各ラインでサイズが違うので各レコード中のプレフィックス内にサイズが記載されています。
問題はここからですが、(1)と(3)のデータを省くのに次の2通りの方法があります。その方法は、
と言うものですが、1だと扱うデータ量はかなり減りますがプログラムの手間が非常に大きいし、2だとデータ量があまり減りません。
どうするのが良いのか悩みどころです。
3月発表バージョンの基礎設計というかクラス構成が決まったので構成図を作成してみた。
今回はプログラマの熟練度が低いので、全てのクラスをメインウインドウに持たせる形となった。しかも、まだマルチスレッドの仕組みをよく理解していないので、この構成でマルチスレッド化できるか怪しい。
しかし、衛星の画像を扱っている時に他の事をすることはまずないので、マルチスレッド化しなくても良いかもしれない。
最後に作った物かどうかはわかりませんが置いておきます。今、設計を見直すと無茶苦茶なやり方しています。表示部分くらいしかバグが無いのが奇跡としか言いようが無い。