最終更新日 : 2002年06月17日
卒業研究ってのは、まあ今まで大学で身に付けてきた事を使って何かするわけですが、はっきり言って情報関連の勉強なんて大学で習ったことなんて殆ど無いに等しいものがあります。それで、この衛星データの各バンドを結合し、なんか良い感じの画像を作って卒研発表なんて無茶もいいのですが、やるのはプログラム好きの変な奴と普段プログラムやってないくせにプログラム組み出すと「俺よりうまいんじゃないの?」という奴がやるので特に問題はないと思われます。
何せ2年も3年も前から同じような課題をやっている人がいるわけで、しっかりソースも残っていました。という事で変換と表示部分はレイアウトやアルゴリズムを多少変えるだけで特に手を加えるだけでやることが無いんですよね。本気でやれば3日で終わるとか言うやつですね。
そういうわけですから、なんか今年は無意味に機能をつけてみることにしました。とりあえず現段階で決まっている機能は
後、個人的には
をつけたい所です。
衛星データを加工する処理は大体揃っているのですが、無意味な画像処理もつけるらしいです。その辺りはOPTPiXを超えるくらいのこだわりを持ちたいところですが、時計等をつけているのでは無理じゃないかと思われます。もっとも、1年でしかもスタッフ2人でOPTPiXを超えるなんて不可能だと思いますけどね。某有名高級画像処理ソフトでさえOPTPiXの減色や縮小拡大、その他には勝てないのですから。
今の所、ろくに進めてないんですよね。就職決まってないから落ち着かないのもありますが、結局は暑いからやる気がおきないというだけです。
各衛星のLABファイルの比較表作成。全衛星が共通なのかと思ったら違うようです。規格はどこだ。
○ : パラメータは存在するが値はNULL
× : パラメータが存在しない
意味 | 共通 | LANDSAT-5 | SPOT-2 | ADEOS | |
○ | SCENE HEADER DATA L5TM BK ******* | SCENE HEADER DATA S2HX 2 ******* | SCENE HEADER DATA A1AVM1B2******4 | ||
BSQ | ○ | 701020304050607 | 3010203 | 401020304 | |
Satellite | 人工衛星名 | ○ | LANDSAT-5 | SPOT-2 | ADEOS |
Processing Level | 処理レベル | ○ | BK | 2 | 1B2 |
Center Latitude | 中央緯度 | ○ | N36.314 | N36.366 | N35.657 |
Multi Scene Seq. No. | ○ | 0 | 0 | 0 | |
Sensor | センサ・タイプ | ○ | TM | HX | AVNIR Mul |
Map Projection | ○ | UTM | UTM | UTM | |
Center Longitude | 中央経度 | ○ | E135.661 | E136.555 | E136.387 |
Multi Scene Total No. | ○ | 0 | 0 | 0 | |
Obs. Date | ○ | 1997/01/13 | 1997/01/17 | 1997/01/08 | |
Resampling Method | ○ | CC | CC | CC | |
Number Of Pixels | ライン幅 | ○ | 6920 | 3874 | 8610 |
Logical Format | 論理フォーマット | ○ | CEOS-BSQ | CEOS-BSQ | CEOS-BSQ |
Gain Mode | × | N | 0886 | × | |
Geo-Coded | ○ | ○ | ○ | ○ | |
Number Of Lines | ライン数 | ○ | 5965 | 2987 | 4983 |
Physical Format | 物理フォーマット | ○ | ISO9660 | ISO9660 | ISO9660 |
Orbital Direction | × | D | × | D | |
Earth Ellipsoid | ○ | TOKYO | TOKYO | TOKYO | |
Data Size(MB) | データ・サイズ | ○ | 279.9 | 46.5 | 169.6 |
Record Format | 記録フォーマット | ○ | ISO9660 | ISO9660 | ISO9660 |
Path-Row | × | 110- 35 | × | × | |
Sampling Rate | サンプリング・レート | ○ | ○ | ○ | ○ |
Media | 記録メディア | ○ | CD-ROM | CD-ROM | CD-ROM |
Full/Sub Scene | × | F | × | × | |
Bands Present | ○ | , , , , | , , , , | , , , , | |
Number Of Vol | ボリューム・ナンバー | ○ | 1 | 1 | 1 |
Scene Shift Rate | ○ | -2 | 0 | -3 | |
W/0 No. | ○ | R9700808-005 | R9801051-007 | R9801053-010 | |
Cloud Coverage | ○ | 08 | 00 | 10 | |
Master Media No. | メディア・ナンバー | ○ | D039000024 | D030000008 | D129000090 |
Ground Station | ○ | HEOC | HEOC | HEOC | |
Production Date | ○ | 1998/01/05 | 1999/03/31 | 1999/04/13 | |
K-J | × | × | 324- 277 | × | |
Sensor No. | センサ番号 | × | × | 2 | × |
Angle Of Incidence | × | × | L26.1 | × | |
Product Code | × | × | × | L1B2M- | |
L1B2 Option | × | × | × | , , , , , | |
Sensor Mode | センサーモード | × | × | × | MOB |
GRS Column-Line | × | × | × | 1365- 355 | |
RSP Path-Frame | × | × | × | 54- 291 | |
Pixel Spacing | × | × | × | 16m | |
Angle Of pointing | × | × | × | -34.58 |
とりあえず、有用なパラメータは下記の表のようになります。
Obs. DateとProduction Dateってどんな日付か分からないし。Number Of PixelsはLANDSATのライン幅は7020のはずなのに6920になっている。Logical FormatはどうせBSQとBIL形式しか対応させないのでわざわざ取得する必要はないかもしれない。Map ProjectionやScene Shift Rate,W/0 No.,Ground Stationは言葉はわからないけど言いたい事はなんとなく分かるので追加しておくことにしよう。
全て3つの人工衛星で共通のものなので簡単に取得できるように関数などを作りたいと思う。DLLにするとは面倒な割にあまり意味が無いので静的ライブラリに変換しよう。
意味 | LANDSAT-5 | SPOT-2 | ADEOS | |
Satellite | 人工衛星名 | LANDSAT-5 | SPOT-2 | ADEOS |
Processing Level | 処理レベル | BK | 2 | 1B2 |
Center Latitude | 中央緯度 | N36.314 | N36.366 | N35.657 |
Sensor | センサ・タイプ | TM | HX | AVNIR Mul |
Map Projection | UTM | UTM | UTM | |
Center Longitude | 中央経度 | E135.661 | E136.555 | E136.387 |
Obs. Date | 1997/01/13 | 1997/01/17 | 1997/01/08 | |
Resampling Method | CC | CC | CC | |
Number Of Pixels | ライン幅 | 6920 | 3874 | 8610 |
Logical Format | 論理フォーマット | CEOS-BSQ | CEOS-BSQ | CEOS-BSQ |
Number Of Lines | ライン数 | 5965 | 2987 | 4983 |
Earth Ellipsoid | TOKYO | TOKYO | TOKYO | |
Scene Shift Rate | -2 | 0 | -3 | |
W/0 No. | R9700808-005 | R9801051-007 | R9801053-010 | |
Ground Station | HEOC | HEOC | HEOC | |
Production Date | 1998/01/05 | 1999/03/31 | 1999/04/13 |
涼しくなってきましたね。昼の間も冷房なしで快適な季節になってきました。そろそろ、本格的に始めて9月中には完成させようかと思います。そういえば卒業研究の締め切りっていつなのでしょうか?
それはさておき、GUI部分の設計です。学校提出用なので、まともな設計にしましょう。オンラインで公開するものは「はじめに」の下にある「基本設計」の通りふざけていますが、こちらはまともです。(と言っても俺の設計するものだからシンプルすぎですが。)
各領域は
です。各領域は全て岡田 正之さんのライブラリを使用してInternetExplorerのフレームのようにサイズ変更可能にします。
ツリーウインドウは3段にして、上位のものから
とします。
今は(2)の下に(3)がありますが、(3)は(1)の下にあったほうが画像表示の際は(2)の領域が大きくなって良いかもしれません。
画像ファイルは保存すると、とんでもない容量になるので複数の場所に保存できるようにする。一つの元画像ごとに一つのプロジェクトとして別個の場所に保存して各プロジェクトの場所は実行ファイルのカレントディレクトリにあるPjFPath.txtで管理するようにする。
プロジェクトの保存形式は次の通りとする。
画像名や123,231などのフォルダ名はそのままツリービューに反映させる。画像名と同じテキストファイルはLABから取得してきたデータや適応しているバンドの説明、加工するさいのパラメータなどのログ等を格納しツリービューでクリックされた時(3)に表示される。
各メッセージに対する処理はもうまとめてあるので実際は後は組むだけと言う状態です。
とりあえず、スプリットウインドウを使用てみしました。
ライブラリの使用で20分くらいで楽々作成できました。
人のライブラリ使うのっていつも大変なんですが、岡田
正之さんのライブラリは楽ですねー。
次はLABファイルを指定して1プロジェクトとしてツリービューに追加できるようにしようと思います。
イメージデータのヘッダ部分ってLANDSAT5号とLANDSAT7号は違うように見える。実際のデータは持ってないけど海外ページにLANDSAT7号仕様書がごろごろしてる。5号の仕様書は見かけないんだよな。後、SPOT-2とADEOSも見つからない。持っているデータが扱える程度のものを作れば良いか・・・・・・。
進行状況とか言いながら全然書いてないな。とりあえず、変換実行時にWin32APIを使用して物理メモリ量や空きメモリ量をチェックして現在の速度設定と比較してメモリ足りなかったら速度を落とすようにしたいです。メモリの状態は簡単に取得できました。一応、ソース置きます。
でも、実装する前にBSQクラスにBILに変換する機能つけてBILクラスも作らないといけないんだよな。すぐできそうだけど・・・・・・
今日はreallocが前の領域ちゃんと消してくれてるのか不安だったので実験をしてみました。詳しくはソース見て下さい。と言っても、それほどの物ではないんですがVisual C++付属のデバッガ使ってみるときちんと開放しているみたいです。規格見ればよかったんでしょうけどアドレス忘れてしまった。
LAB表示完成、実際の規格がわからないから不安だが、手元にあるデータでは全て表示できた。処理内容は以下の通り
実際、処理を行ってみると40文字区切りかと思っていたが、4回ループの所の最初の一回が39文字しかない。仕方なく削ったのだがデータを作成した人はいったい何を考えているのだろうか?まあ、単にハードウェア制限で39文字にしたのかもしれない。でも、4回目のデータの後はスペースが大量にあるので、やっぱりデータ作者がいかれてたのだろう。
そういえば、BSQのイメージデータ内にバイナリでレコードサイズが入っていたがVisual C++とバイトオーダーが違うからひっくり返して使わないといけないんだよな。人口衛星のプログラムだから規模でかくて考えるの面倒だったのもかも知れないけど、お金もらってるんだからもっとちゃんとしようぜ。
前回から、あまり進んでいない。ウインドウのクラス化,ソースの整理くらいかな?いまだ、データをツリービューに追加できていない。とりあえず、プロジェクトのデータ保存形式を変更したので一応明記しておく。
LABファイルはBSQからの変換の際にそのCD-ROMがそのプロジェクトのCD-ROMかを照合するのに用いる。実際はCRCを取得して照合しようと思ったが、どちらにしろそんなにサイズの大きなファイルではないのでそのままコピーして使用することにした。
STCの拡張子を持つファイルは衛星の画像データが非常に大きいので別の場所に保存する場合に使いその内容は単にパスが入ったShiftJISのテキストである。
後、あまり意味がない割に手間がかかりそうな気がしてきたので各ファイルの付属するTXTデータは作成しないようにした。
結局、後でソフト自体の仕様が変わってしまったため。思った通りに作成できなかった。
さらに、締め切りであせったせいでソースが汚く、無理やり仕様を変更したので、うまくGUIとの連携が取れずバグが残ってしまった。
一応、論文を置いておきます。ソフト自体は3月の発表会が終わってからアップロードします。
衛星の画像変換に関する研究の論文をダウンロード(886KB)