logo
ホーム •  フォーラム •  日本語wikiトップ •  アカウント情報 •  サイト内検索 •  新規登録
 ログイン
ユーザー名:

パスワード:


パスワード紛失

新規登録
 メインメニュー
 米国サイト
 オンライン状況
15 人のユーザが現在オンラインです。 (4 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 15

もっと...

Atlasの最新版を使うには?

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2012-5-6 13:49 | 最終変更
hide  長老 居住地: 兵庫県  投稿数: 620
hideです、たいへんご無沙汰しています。
 私事で恐縮ながら、身内にさまざまな変事が相次ぎまして、半月あまり帰省していました。一応ヤマ場を越えたようですので、徐々にFlightGearの空にも戻ってこようと思います。

 さっそくですが、FlightGear用ナビソフトのAtlasが、いつの間にか大進化を遂げていることに最近、気付きました。従来は公式サイトのv0.3.0(2005年版)しか知らなかったのですが、FlightGear Build Centre のページには、Ubuntu及びWin32向け最新版の、すごい画面サンプルが載っています。

         http://geoffmclane.com/fg/atlas-07.htm#downloads

 ざっと見たところ、平面上にトラック(航跡)を描く以外にも、自機の高度・速度・上昇/降下率の変化を任意の倍率でグラフ化したり、NAV-1、2で選択中のVORラジアルを図示する(以上Ubuntu版)など、大幅に機能が強化されています。航法にはもちろん、トラフィック・パターンやSID/STARを飛ぶトレーニングの自己評価などにも、非常に有効だと思われます。

 また、私が一番強く感銘を受けたのは、画面表示が一新され、非常にリアルになったことです。NDB局やVOR局などのシンボルマークは、実際のチャート(航空図)と同形式になり。VORにはコンパスローズ(方位盤)が付属したうえ、周波数はもちろん、コールサインもモールス符号入りで記載されました。また空港は規模の大小によって、実物同様にシンボルマークが描き分けられ、交信周波数の一覧表も併記。滑走路にはちゃんと長さ×幅まで表示してあります(以上Win32版)。つまり、この最新版Atlas画面は事実上、本物の区分航空図にそっくりです。これを導入すれば、世界中の航空図がタダで手に入ったも同然。FlightGear航法上の大きな課題が解決してしまうわけでして、つくづく感心しました。

 従来のv0.3.0も、基本的な機能は満たしていましたが、FlightGear本体がバージョンアップを重ねるにつれて、まずILSのシンボルマークが滑走路から外れてソッポを向き、その後はVORの局名がダブって読み取り困難になるなど、次第に画面表示が乱れまして、フライトプランの作成時や飛行中、チャート代わりに活用するには、だんだん不便になってきました。
 一方でFlightGearにはv2.4.0以降、デフォルトでMap機能が加わりましたが、ご承知のようにFMSの航法画面を模した作りで、IFRチャートに近いものです。基本的には、GPS航法に最適化しておりVOR航法にも使える…といった位置づけです。v2.6.0からはズームボタンも加わって、なかなか優れていますが、地形表示がないので、残念ながら地文航法には使えませんし、緯度・経度の数値もないため、推測航法や天文航法にも役立ちません。そもそも、機体の動きとの連動を解除できませんから、私が長距離飛行で好む「チャートとしてのみ利用し、現在地は自分で航法計算して判断する」という使い方が困難です。ここは何とか新しいAtlasを導入したいものです。

     ●

 という次第で、上記の英文ページから、最新版のatlas-11 その他をダウンロードし、インストールを目指しましたが正直、難物でした。素人向けにインストーラの付いたAtlasは、お馴染みの古いv0.3.0しかなく、その後のバージョンは自分でビルドアップしないといけないのです。
 私の知識は、いかんせん「コンパイルという単語は知ってますが、ビルドって何?」という程度のレベルです。取りあえず、上記ページに出てくる「MSVC」という単語をググり、「Visual C++ 2010 Express」の存在を知ってマイクロソフトから入手し、何とかインストールして解説書を買いました。が、前途は多難です。

 Atlasには、色々なバージョンがあります。当初は古くても一応動けばいいやと思って、比較的インストールしやすそうな(?)説明のあった、v0.5.0をダウンロード。zipを解凍し、できたAtlas-0.5.0-srcフォルダを…さて、どうすればいいのでしょう。v0.3.0からの類推で、取りあえずFlightGear/bin/win32フォルダの中に入れておき、Visual C++ 2010 Express を起動。メニューバーの「プロジェクト/ソリューションを開く」から、適当に Atlas-0.5.0-src/build/msvc/Atlas.dsw を選んだところ、MSVCは、計5個あるdspファイルを次々とアップグレードしようとしましたが、すべて読み込み不能と表示され、「プロジェクトはアップグレードに失敗しました」とのエラーメッセージが5つ並んで終了。残念です。
 試行錯誤の末、やはり最新版の方が、うまく行くのかと思い。Atlas-11を解凍して、幾つも含まれているビルド・セットの一つ(らしいもの。なぜ複数あるか不明)を、適当に選んで読み込んだところ、vcprojファイル(とは何でしょう…理解していません)を5つ、無事にアップグレードしました。が、「ビルドを開始」ボタンを押したところ、しばらく作動した後、「ビルド失敗」と表示して停止しました。無念です。そもそも、こんな操作でいいのでしょうか。

 あの素晴らしい、航空図そのままのAtlas画面は、まだまだ仮想空間の雲の彼方です。どなたか、この苦境を脱出する道を教えていただけませんでしょうかm(..)m。非常にムシのいいお話で恐縮至極ですけれども、Win-xp向けの最新版ビルド作業を、代行してくださると一番助かります。また出来上がったものを、どうすればインストールできるのかも、お示し下さると非常に嬉しいのですが…。

■私の環境は以下の通りです:
マウスコンピュータ製ノート
Win-xp Pro SP3
Intel Core i7
Q720@1.60GHz
925MHz 2.99GB RAM
GeForce GT240M
投票数:5 平均点:6.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-5-7 23:56 | 最終変更
toshi  長老   投稿数: 1103
hideさん、こんばんは。
toshiです。

Geoff版Atlasを以下の手順で動作させることができました。
コンパイル済みバイナリが配布されていますので、自分でコンパイルする必要はありませんでした。

以下は、FlightGearのインストール先フォルダが
C:\Program Files\FlightGear
であるものとして記述しています。

1. ダウンロード
http://geoffmclane.com/fg/atlas-07.htm
より
2011/10/09 atlas-11-all.zip 38,425,606
をダウンロードする。

2. インストール
atlas-11-all\projects\msvc\bin 以下にある
Atlas.exe
AtlasD.exe
GetMap.exe
GetMapD.exe
Map.exe
MapD.exe
を、
C:\Program Files\FlightGear\bin\Win32
にコピーする。

また、atlas-11-all\src\data 以下にあるファイルとフォルダを
C:\Program Files\FlightGear\data\Atlas
以下にコピーする。

3. Map.exeの実行
cmd.exeを実行してコマンドプロンプト画面を開き、以下のコマンドを実行する。
※本例では動作確認のため、初期インストール済みシーナリーのフォルダのみを指定しています。

"C:\Program Files\FlightGear\bin\Win32\Map.exe" "--fg-root=C:\Program Files\FlightGear\data" "--fg-scenery=C:\Program Files\FlightGear\data\Scenery"

4. Atlas.exeの実行
cmd.exeを実行してコマンドプロンプト画面を開き、以下のコマンドを実行する。
※本例では動作確認のため、初期インストール済みシーナリーのフォルダのみを指定しています。

"C:\Program Files\FlightGear\bin\Win32\Atlas.exe" "--atlas=C:\Program Files\FlightGear\data\Atlas" "--fg-root=C:\Program Files\FlightGear\data" "--fg-scenery=C:\Program Files\FlightGear\data\Scenery" --udp=5500

以上の設定を行ってからFlightGearをKSFOで起動し、機体位置がAtlas上に表示されることを確認しました。
あまり深く調べていないので、より良いオプション設定があるかもしれませんので、いろいろ研究してみてください。

なお些細な問題ですが、Atlas実行時のコマンドプロンプト画面に
Airplane image file C:/FG/29/data/Atlas/airplane_image.png was not found.
というエラーが表示されます。
私の手順でインストールした場合、airplane_image.png ファイルはC:\Program Files\FlightGear\data\Atlas にあるのですが、Geoffの環境のフォルダから探そうとしてしまっているようです。
Atlasの起動オプションを何か追加すれば直るかもしれませんが、気にしなくても良いかもしれません。

また、Geoffの解説によると、Map.exeで生成する地図画像が変になることがあるようです。
私が生成したのはKSFO周辺のw122n37.jpgとw123n37.jpgの2つだけですが、特に問題はありませんでした。
もしうまく生成できない場合はグラフィックボードおよびドライバに依存する可能性があるかもしれません。
c.f. FlightGear Forum - Cannot generate maps.
http://www.flightgear.org/forums/viewtopic.php?f=31&t=14565

それから、atlas-11-all\projects\msvc の中には、atsetup.bat や runmap.bat、runatlas.bat といった、使いこなせば便利かもしれないバッチファイルが付属しています。
このうち、atsetup.bat と runatlas.bat は修正版が別途「atlas-11-bats.zip」として配布されています。
中身が複雑すぎてどこを修正すればよく分からないので、私は使いませんでしたが、runmap.bat には、htmlファイルを生成してブラウザで画像を見れる機能などもあるようです。
同じフォルダ内にreadmeファイルがいくつかあるので、読んでみると理解が深まるかもしれません。
投票数:5 平均点:6.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-5-8 20:52
hide  長老 居住地: 兵庫県  投稿数: 620
toshiさん、こんばんは。
 hideです。さっそく詳細なアドバイスを頂きまして、本当にありがとうございました!!!

 コンパイル済みの実行ファイルが含まれていたとは、自分ではまず気付くことが出来ない、意外な展開でした。さっそくご教示に従い、組み込んでみました。私は、起動ボリュームの容積節約とデフラグ時の負荷軽減のため、シーナリー・データとAtlasマップのタイルは、すべてDドライブに置いています。この関係で、起動バッチファイルのパス設定に少しだけ頭を使いましたが、程なくちゃんと機体位置が表示され、速度表示グラフも動きました。

 カーナビ的ムービング・マップとしての機能はもとより、期待していた航法チャートとしての使い勝手も、まさに感動的です。これまで気が付きませんでしたが、現在のFlightGearは高空・低空両方の航空路データを内蔵しており、個別にAtlas画面に呼び出せるのですね。また地形の画像データも、小縮尺時(拡大時)は従来より解像度が上がり、かなり見やすくなりました。空港めがけてズームアップしていくと、各種の周波数やILSのカテゴリ区分など、詳細なデータがどんどん追加表示され、まさに感動ものです(^^)/。
 マップデータの画像は、計5段階のサイズ(解像度)で生成する仕組みになっており、なかなか贅沢な設計ですね。保管すべきデータ量は増えましたが、ズームやスクロール時の再計算負荷が大幅に減った分、動作が非常に軽くなりました。

     ●

 私のグラフィック環境では、Map.exeが生成した画像のうち、一番精細なものだけが正常に表示され、デフォルトサイズの地図ウィンドウ1画面につき、30〜40nmくらいの範囲(大阪市全域+神戸市程度)が、素晴らしい画質で表示されます。残念ながら、もっと大縮尺用の画像はすべて異常が現れ、ズームアウトすると地表がノイズに覆われます。マップのタイルが未生成の場所は、全地球を表示する「background.jpg」という画像(シーナリーDLページの世界全図と同じ絵柄)が読み込まれますので、超広域の表示は正常です。しかしながら、解像力は全世界で1024×512ピクセルしかありませんので、例えば日本列島ですと本州・四国が区別しにくいほど、ボケボケになってしまいます。

 そこで、これに代わる高解像度の世界地図はないかとググったところ、ウィキペディアにAtlasと同様の円筒図法を使った、約8000×4000ピクセルの地勢図がありました。主要な地名入りで、三浦半島や種子島・屋久島程度の地形まで判別可能です。これをAtlasの仕様に合わせて、経度ゼロのグリニッジ子午線が中央に来るように切り貼りし、「background.jpg」にリネームしてみたところ、デフォルトのファイルとは解像度が大幅に違うものの、ちゃんと正常に読み込まれることが判明。空港の位置も全世界でピタリです。これで大縮尺でも…表示は粗いですが、一応はそれらしく機能するようになりました。
 正常な表示が出来るよう、気長にいじってみますが、ともかく新型Atlasが使えるようになったことは私にとって、新たな旅路のナビゲーションに向けた、嬉しい大きな一歩です。重ねて心から御礼申し上げます。
投票数:5 平均点:4.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-5-11 1:44 | 最終変更
toshi  長老   投稿数: 1103
hideさん、こんばんは。
toshiです。

まずはお役に立てて、私も嬉しいです。

ただ、hideさんの環境では、Map.exeで生成される画像が、一番高解像度のものは正常な一方、他の解像度ではノイズが混じってしまう問題が残念ながら起きてしまったようですね。

私の環境(WinXP, NVIDIA GeForce 8400 GS)では、どの解像度(4: 16x16, 6: 64x64, 8: 256x256, 9: 512x512, 10: 1024x1024)でも正常なjpg画像が生成されています。
TerraSyncで取得した日本のシーナリーから生成したjpg画像も、全て正常です。
同じMap.exeを使っても、PC環境によってうまくいく場合といかない場合があるのは、やっかいな問題ですね。

私の環境で作成した、KSFO周辺の正常なAtlas/10/w123n37.jpg をサンプル画像としてフォーラムにアップロードしましたので、比較検証用にご覧ください。
http://flightgear.jpn.org/uploads/photos/235.jpg

なお、Geoffのページ
http://geoffmclane.com/fg/atlas-07.htm
の[Problems with Map]には、2010-05-19付けで異常な生成例が掲載されています。
この時点でのKSFO周辺のw123n37のjpg画像は
http://geoffmclane.com/fg/images/w123n37W1.jpg
になります。

また、[Preamble:]の2011-10-09付けの記述からすると、hideさんと私が使用しているバージョンのMap.exeでもなお、赤やグレーのベタ塗りつぶしが発生する問題があるようです。
Geoffのjpg画像を見た限りでは、materialがOceanなど、water色が割り当てられるべき領域が赤やグレーになってしまう問題のほか、標高ごとに割り当てられる色が本来の色と異なっているようです。
KSFO周辺のw123n37で言うと、Geoffのjpg画像で標高の一番高そうな領域の色がグレー(標高5000m以上!)になっていますが、私のjpg画像では茶色っぽい色です。

ということで、Map.exeのソースコードに何らかの問題がある可能性が高いと思いますが、回避策は今のところ不明です。
ひょっとすると、最新のAtlas/CVSソースコードでは修正されているかもしれませんが、今のところ「改善した」というレポートは見ていません。

現時点でユーザレベルで出来る対処として思いつくことを書いてみますが、うまくいく可能性はあまり高くないかもしれません。

- グラフィックドライバを最新にする。
- Map.exeのオプションでパレットファイルを指定する。
※デフォルトは --palette=default.ap ですので、それ以外の.apファイルや、単純化した改造パレットファイル等を試して、よりまともなjpg画像が得られないかトライする
- Map.exe のその他のオプションを試してみる

それから以下は、Map.exeの不具合とは直接関係のない情報です。

Map画像が未作成のエリアで用いられる、全世界の画像は
Atlas\background.jpg (1024x512)
ですが、様々な解像度のものがwikipediaにあるようです。
http://en.wikipedia.org/wiki/File:Whole_world_-_land_and_oceans.jpg
※元ネタ: http://www.flightgear.org/forums/viewtopic.php?f=31&t=12411#p127344

Atlasのリリースについては、Win版インストーラについては0.3.0、ソースコードセットは0.3.1、で止まった状態ですが、Atlas-develメーリングリストの2012-03-04付けの投稿によると、0.5.0のリリースに向けて、これから1〜2ヶ月でソースコードを修正し、さらに1〜2ヶ月でテストとドキュメント整備を行いたい、とのことです。
Win版バイナリについては触れられていないのでどうなるか分かりません。
http://sourceforge.net/mailarchive/message.php?msg_id=28926847
投票数:5 平均点:6.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-5-14 3:07 | 最終変更
hide  長老 居住地: 兵庫県  投稿数: 620
hideです。toshiさん、こんばんは。
 またまた、大変ありがとうございました。追加で頂いたアドバイスをヒントに、新型Atlasの画面表示トラブルを解決することが出来ました。結論を言えば私の環境では、Terrasyncで取得したシーナリーからMap画像を作成した場合のみ、表示異常が発生します。なので当面は、ダウンロード(以下DL)版シーナリーに切り替えることによって防止することにしました。

 toshiさんのお話では、正常に生成されたMap画像はすべて、タテヨコのピクセル数が同じで、正方形の画像でしたね。ところが私の環境では、Terrasyncを元に生成したMap画像は正方形に加えて、左右のピクセル数が上下の半分しかない長方形も同数ずつ含まれています。しかもJPGデータなのに、画像は当たり前な地図の絵柄ではなく、Map画像が未作成のエリアで用いられる「background.jpg」の代わりに使っている世界地図(jpg)を、細く切り裂いてランダムに並べ替えたような状態に、幾何学的ノイズを加えたようなタイルか、或いは真っ黒なタイルになります。
 Atlas使用中の症状を、少し詳しく申し上げますと、起動時のデフォルト・ウィンドウ(ズーム倍率125)では、Map画像は真っ黒です。ここから1回以上ズームインしますと、正常な地図表示に切り替わり、以後何回ズームインを重ねても、拡大側は問題ありません。逆に起動画面(真っ黒)からズームアウトした場合は前述のように、background.jpg画像をつぎはぎしたようなノイズ状になります。Map画像が生成されていない領域はもちろん、background.jpgが正常に表示されます。投稿画像にサンプルをアップロードしておきます。

 異常表示の原因は分かりませんが、ご指摘のように、パレットを変更してみるのも手ですね。私はこのへんの作業に自信がなかったため、取りあえずGeForceのドライバを更新しました。効果がみられないので、次にダウンロード版のシーナリー・ファイルを使って、Map画像を生成し直してみました。結果的には大当たりで、Terrasync版のシーナリー使用時と同様、全解像度で正方形と長方形のタイルが生成されましたが、画像内容はすべて正常な地図タイルになり、当然ながらズームでもワイドでも、完全に正常に画面表示されました。一応めでたく解決です(^^)/

 となると今後は、便利なTerrasyncが使えず、いちいち昔のようにシーナリーをDLしなくてはなりません。これまでの印象では、Terrasync版のシーナリーはDL版より3Dオブジェクトが充実しているようにも思われ、もし本当にそうでしたら残念なお話で、悩ましいところです。
 ただしTerrasyncを使うと、起動に大変時間が掛かるうえ、飛行中のフレームレートが落ちます。またシーナリーの転送/展開にも時間が掛かって、飛行コースの前方にいつも「世界の崖っぷち」が見えてしまいます。例えて言えば、体育館に敷かれた柔道用の畳の上を歩いていくと、私の歩みに合わせて後方の畳が取り除かれ、10mほど前方に絶えず敷き直されるような印象で…大いにリアリティーが損なわれます(^^;)。
 さらに、高速で飛行すると地形の一部が、四角い穴となって欠落する場合もあります。本当はDL版シーナリーの方が、安定して広域表示が可能で、落ち着いて飛べるような気がします。当分は、せっせと暇を見てDLに務めようと思います。
 なおシーナリーのDLは従来、ほとんどグラフィック・インターフェース(地図画面のページ)で行っていましたが、遅まきながらftpを利用する方がずっと高速だと分かって、時間が節約できるようになりました。

 また「background.jpg」高解像度ファイルのご紹介も、ありがとうございました。なるほど、これはきれいですね。ただ地表の配色が濃いため、Map画像未生成の領域では、数値やシンボルマークの画面表示を見分けにくいと感じますので、しばらくは「投稿画像」(旧マイアルバム)でご覧に入れた、淡色の世界地図で代用してみるつもりです。
投票数:4 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-5-25 1:30 | 最終変更
toshi  長老   投稿数: 1103
hideさん、こんばんは。
toshiです。

terrasyncでダウンロードしたシーナリーからmap.exeで生成した画像はノイズ入りの画像になるが、手動でダウンロードしたシーナリーからmap.exeで生成した画像は問題がない、ということですね。
となると、map.exeの不具合によってhideさんの環境では問題が生じていると当初予想していたのですが、実はそうではないのかもしれません。

1つ目の可能性ですが、hideさんがterrasyncで取得したシーナリーファイル群に何らかの問題があるのかもしれません。

terrasyncフォルダにあるRJOO付近の地形(terrain)データは
terrasync\Terrain\e130n30\e135n34
フォルダにありますので、フォルダ名をe135n34から別の名前(e135n34origなど)にリネームし、次にfgrunの[Scenery Prefetch]ボタンからRJOOを指定してe135n34を取得し直してからmap.exeで画像生成テストをしてみてはいかがでしょう。
もしうまくいくのであれば、元のe135n34フォルダと新しいe135n34フォルダの中身を比較することで、原因がはっきりするかもしれません。

あるいは、既存のterrasyncフォルダ自体の名前をリネームして、terrasyncフォルダ以下のファイル全てを新規に取得しなおしてからテストする方法も考えられます。

map.exeで画像生成テストをする際に、生成しようとしている画像ファイル(e135n34.jpgなど)と同名のファイルが生成先フォルダにすでに存在する場合はmap.exeの処理がスルーされることに注意してください。
そのため、Atlas/4, 6, 8, 9, 10 の各フォルダにあるjpgファイルのうち、再生成したいjpgファイル(e135n34.jpgなど)をあらかじめ退避しておくなどのケアが必要です。
私のテストでは、e135n34.jpgをe135n34-a.jpgのように、緯度経度の後に文字を追加するリネームするだけでは駄目で、処理がスルーされてしまいました。
a-e135n34.jpgのように、はじめの方をリネームをすれば新たにe135n34.jpgファイルが生成されました。


もうひとつひっかかるのは、hideさんの報告の中で、長方形の画像が生成されるという点です。

引用:
toshiさんのお話では、正常に生成されたMap画像はすべて、タテヨコのピクセル数が同じで、正方形の画像でしたね。ところが私の環境では、Terrasyncを元に生成したMap画像は正方形に加えて、左右のピクセル数が上下の半分しかない長方形も同数ずつ含まれています。

引用:
結果的には大当たりで、Terrasync版のシーナリー使用時と同様、全解像度で正方形と長方形のタイルが生成されましたが、画像内容はすべて正常な地図タイルになり、当然ながらズームでもワイドでも、完全に正常に画面表示されました。

DL版のシーナリーを使っても長方形の画像が生成されることが、何か変な気がします。
たとえばe135n34エリアの画像の場合、正方形の画像と長方形の画像のファイル名はそれぞれどのようになっているのでしょうか?
また、長方形の画像の解像度はどうなっていますでしょうか?

私の環境で生成した画像ファイルは、全て正方形で、e135n34エリアの画像ファイルは以下の5つです。
なお私は、Atlas本体を使わずに、Windowsのエクスプローラでjpgファイルを表示させたり、jpgファイルをダブルクリックして画像ファイルを表示したりすることで解像度や見た目を確認しています。

Atlas/4/e135n34.jpg (16 x 16)
Atlas/6/e135n34.jpg (64 x 64)
Atlas/8/e135n34.jpg (256 x 256)
Atlas/9/e135n34.jpg (512 x 512)
Atlas/10/e135n34.jpg (1024 x 1024)

なお、サブフォルダの数字をNとすると、2^N x 2^N の解像度の画像ファイルを各サブフォルダに保存するようmap.exeはプログラムされている、はずです。

また、私がテスト時に使用しているmap.exe起動用のバッチファイルは以下のとおりです。
map.bat:
cd /d "C:\Program Files\FlightGear"
bin\win32\Map.exe --fg-root=data --fg-scenery=scenery;terrasync --atlas=data\Atlas --verbose
PAUSE

このmap.batを使って、e135n34の画像ファイルを再生成した際のコンソール画面のメッセージは以下のとおりです。
C:\Program Files\FlightGear>bin\win32\Map.exe --fg-root=data --fg-scenery=scener
y;terrasync --atlas=data\Atlas --verbose
Scenery directories: scenery;terrasync
Map directory: data/Atlas
Trying to read palette file 'default.ap'
Trying to read palette file 'data/Atlas/Palettes/default.ap'
Palette file: data/Atlas/Palettes/default.ap
Map sizes: 4 (16x16), 6 (64x64), 8 (256x256), 9 (512x512), 10 (1024x1024)
Scenery: 17 tiles
OpenGL 1.5 supported
OpenGL framebuffer object extension supported
Maximum supported texture size <= map size: 1024x1024
Render to frame buffer...
Rendering tile 33,134...
Rendering tile 33,135...
Rendering tile 33,136...
Rendering tile 34,134...
Rendering tile 34,135...
e135n34: 4, 6, 8, 9, 10
Rendering tile 34,136...
Rendering tile 35,134...
Rendering tile 35,135...
Rendering tile 35,136...
Rendering tile 36,-123...
Rendering tile 36,-122...
Rendering tile 37,-124...
Rendering tile 37,-123...
Rendering tile 37,-122...
Rendering tile 38,-124...
Rendering tile 38,-123...
Rendering tile 38,-122...

C:\Program Files\FlightGear>PAUSE
続行するには何かキーを押してください . . .

それから、Geoff版Atlasのビルドを試してみました。
もはや無用な情報だとは思いますが、今後またビルドに挑戦したくなった場合のために、ポイントを報告します。

まず必要なファイルですが、
http://geoffair.net/fg/atlas-07.htm
からリンクされているのですが、atlas-11-all.zipのほかにも、boost_1_42_0.zip とOSG-2.9.9.zip をダウンロードする必要があります。

次に、使用するMSVCのバージョンの選択もポイントになります。
GeoffはMSVC8 (Visual C++ 2005)を使用しています。
私の試した限りでは、同じMSVC8なら問題なくexeファイルを生成できました。
しかし、MSVC9 (Visual C++ 2008)では、ビルドは成功してexeファイルも生成できましたが、実際にmap.exeやatlas.exeを実行すると、エラーで終了してしまいました。
hideさんが使ったMSVC10 (Visual C++ 2010)では試していないのですが、MSVC8以外でビルドする場合は、ソルーションファイルかソースコードに何らかの修正が必要になると考えられます。

また、boostとOSG を展開する場所がポイントになります。
私は、atlas-11-all\projects の中に置きました。

次に、Atlas.vcprojとMap.vcprojの中で指定している、boostとOSGのライブラリのパスを、自分の環境に合わせて修正する必要があります。
具体的には、MSVCを起動して、ソルーションエクスプローラに見えている4つのプロジェクトのうち、AtlasとMapをそれぞれ右クリックし、構成で「すべての構成」を選択し、構成プロパティ > C/C++ > 全般 にある「追加のインクルード ディレクトリ」で、
C:\Projects\OSG\OSG-3.0.1\include,C:\FGCVS\boost-trunk
となっているのを
..\OSG-2.9.9\include,..\boost_1_42_0
のように自分の環境に合わせて修正する必要があります。

また、.dswと.dspはVC6時代の古いフォーマットのファイルです。
Visual C++ 2005以降では、.slnと.vcprojが用意されていれば、それを使えばよいはずです。

ビルドのポイントは以上です。
より詳しい解説は、atlas-11-all\projects\msvc にあるREADME.msvc.txt などのreadmeファイルに記載があります。

なお私はしきりに「Geoff版」Atlasと呼んでいますが、Geoffが配布しているAtlasは、2011年秋ごろのいわゆる開発版のAtlasソースコードに対して、MSVC8 でコンパイルできるようにするための修正と、いくつかの機能追加をGeoffが行ったものになります。

最新の開発版Atlasソースコードを入手したい場合は、CVSクライアントソフトを使うか、あるいはsourceforge上のcvsブラウザ
http://atlas.cvs.sourceforge.net/atlas/
よりtarballをダウンロードする必要があります。
しかしながら、MSVCでコンパイルする際に必要なソルーションファイル(.sln)やプロジェクトファイル(.vcproject)が整備されていないようですので、ビルドに成功するまでに様々な修正が必要になることが予想されます。

長くなりましたが、以上です。
投票数:5 平均点:2.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-5-27 13:04 | 最終変更
hide  長老 居住地: 兵庫県  投稿数: 620
toshiさん、こんにちは。hideです。
 Atlas問題につきまして、さらに詳しい調査と丁寧な解説を、大変ありがとうございました。

 さっそくあれこれ、調べてみました。まず「terrasyncで取得したシーナリーファイル群に何らかの問題があるのかも」とのご指摘に従い、Terrasyncフォルダの内容を全部待避させ、またAtlasフォルダ(地図画像入れ)も別名の新規フォルダを製作。Terrasyncモードを使ってRJOOで起動する際、prefechを実行し、シーナリーが正常に取得されるのを確認して、これから新たなMapデータを生成したところ、正常な地図画像のjpegファイルが、正方形の画像で得られました。つまりご指摘の通り、以前取得したデータそのものに、何かおかしな点があったようです(だとすると、恐らくv240用のデータだったはずですが、或いは現行v260に適合しない形式なのでしょうか)。
 またテスト用に新設したAtlasフォルダ内に、atlas-11-all\src\data 以下にあるファイルとフォルダ(パレットデータや、バックグラウンドの全世界地図など)を追加したところ、正常にAtlasが起動できました。

 今回のテストでうまく働いたMap.batは次の通りです。(途中改行。地図画像は「Atlastest」内)
"C:\FlightGear\bin\Win32\Map.exe" "--fg-root=C:\FlightGear\data"
"--fg-scenery=D:\FlightGear\terrasync" "--atlas=D:\FlightGear\data\Atlastest"
pause (ちなみに、toshiさんが作られたものには --verbose という記述がありますが、あれは何をするためのオプションなのでしょうか)

 また、今回のテストで起動に成功したAtlas.batは、以下の通りです。
"C:\FlightGear\bin\Win32\Atlas.exe" "--atlas=D:\FlightGear\data\Atlastest"
"--fg-root=C:\FlightGear\data" "--fg-scenery=D:\FlightGear\terrasync"
--udp=5500 --airport=rjoo
pause
 ついでに、以前から正常に起動している、DL版データ用のAtlas.batもお目に掛けます。
"C:\FlightGear\bin\Win32\Atlas.exe" "--atlas=D:\FlightGear\data\Atlas2"
"--fg-root=C:\FlightGear\data" "--fg-scenery=D:\FlightGear\scenery"
--udp=5500 --airport=rjoo
pause

      ●

 それから、地図問題の2番目…「正方形と長方形の地図画像が生成される件」ですが。実はこれ大失敗でして、再確認したところ、RJOO付近の国内地図画像はすべて正方形でした。
 長方形(東西ピクセル数が、南北方向の半分)の画像は、昨年11月にUFOを使って一晩がかりの無人探査飛行を行い、Terrasyncモードで、北緯60度線沿いに北半球一周のシーナリーを取得した際のデータだと思われます。テスト用のフォルダをリネームしてやりくりする際に入り込み、絵柄が化けていたために、ファイル名まで確認せずに即断してしまいました。ですので、国内の同一地域で「2種類生成された」わけではありません。不正確なお話をしまして、申し訳ありませんでした。
 改めて調べたところ、Atlasは緯度によって、生成する地図画像の縦横比を変えていることが確認できました。地球の緯度の線は、どこを取ってもほぼ等間隔ですが、経度の線は高緯度になるほど間隔が狭くなります。なので、仮に全画像を正方形に作ってしまうと、東西方向の解像度が大幅に過剰になるからですね。最も解像度の高い地図画像が入っている「10」フォルダについて、以下に緯度別のサイズをご覧に入れます。
(フォルダ名が、2のべき乗を表すとは…まったく思い至りませんでした)(^^;)
   赤道付近〜e130n45.jpg 1024×1024
e130n46.jpg〜e130n69.jpg 512×1024
e130n70.jpg〜e130n79.jpg 256×1024
e130n80.jpg〜e130n82.jpg 128×1024
e130n83.jpg〜e130n84.jpg 256×1024
e130n85.jpg 128×1024
それより北〜 存在せず
 …北緯83〜84度で解像度が逆に増えているのは、恐らく東西方向について、画像の枚数を間引いているのでしょう。また極点付近にはテクスチャーがありませんが、かつて極地横断飛行をした時の記憶では、このあたりは氷原が消滅して、景色は海だけでした。残念ながら…本来は高い山脈がある南極でも同様です。

 もう一つ、Atlasのビルドに関するお話も、大変ありがとうございました。これは先日来、いずれ絶対に教えて頂かなくては…と思っていたテーマで、今の私の能力では、残念ながら直ちに役立てることは難しそうですが、遅かれ早かれ非常に貴重、かつ強力な資料になるものと楽しみにしております。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-5-27 23:33 | 最終変更
toshi  長老   投稿数: 1103
hideさん、こんばんは。
toshiです。

新たに取得しなおしたterrasyncのシーナリーに対してmap.exeを実行すると正常な画像が生成できたとのこと、了解です。
terrasyncのシーナリーでもmap.exeがちゃんと動くことが分かって良かったです。

「正方形と長方形の地図画像が生成される件」についても、検証していただいた結果から、ある地点において正方形と長方形の2種類が生成されるわけではないことが理解できました。

低緯度〜中緯度は正方形、高緯度では横幅の狭い長方形の画像が生成されるということは、まったく予想していないことでした。
レポートありがとうございます。
私もテストしてみたところ、n46以上の緯度ではhideさんと同じく横幅の狭い画像が生成され、しかも横のpixel数が緯度によって異なることを確認しました。

map.exeで生成される画像の縦横のpixel数を決定しているプログラムは、AtlasソースのTiles.cxxにありました。
Atlas/CVSの最新版のTiles.cxx (rev 1.19)で言うと、1006行目付近です。
1006 	// Calculates the width and height (in pixels) of the map, given a
1007 	// resolution.
1008 	void Tile::mapSize(unsigned int level, int *width, int *height) const
1009 	{
1010 	// The height is is the same for all tiles at a given resolution
1011 	// (a degree of latitude is pretty much the same wherever you go).
1012 	// The width is set to be as 'natural' as possible, with the
1013 	// constraint that it be a power of 2. By 'natural' I mean that
1014 	// pixels in different maps should cover approximately the same
1015 	// area. Since a 1-degree tile at 30 degrees latitude is about
1016 	// half the size of a 1-degree tile at the equator, it should have
1017 	// about half the width.
1018 	*height = 1 << level;
1019 	
1020 	// The width is proportional to the height, scaled by the latitude
1021 	// (the real latitude, not our special one) and the width of tiles
1022 	// at that latitude.
1023 	double w = *height * cos(lat() * SGD_DEGREES_TO_RADIANS) * Tile::width();
1024 	
1025 	// Oh yeah, and it has to be a power of 2, and non-zero.
1026 	*width = pow(2.0, round(log2f(w)));
1027 	if (*width == 0) {
1028 	*width = 1;
1029 	}
1030 	}

levelは、サブフォルダ名にも使われている、2のべき数(4, 6, 8, 9, 10)を表します。

縦のpixel数(height)は、シフト演算子を使って
*height = 1 << level;
と書いてありますが、意味合いとしては
height = 2^level
と同義ですので、緯度経度によらず、level=10ならheight=2^10=1024になります。

横のpixel数(width)の計算はちょっとやっかいですが、1023行のcosの項は高緯度ほど小さくなります。
またTile::width()は、「standard tile width」なるものを返す関数で、その意味合いについては残念ながら良く分からないのですが、緯度0〜82度は1、83度以上で2、86度以上で4、88度以上で8、89度で360の値を取るようです(参考: Tiles.cxx (rev 1.19)824行目付近)。
なお、SGD_DEGREES_TO_RADIANSはplibのsg.hで定義されている定数で、π/180です。
1026行では、round関数で四捨五入し、2のべき乗のpixel数になるように調整した値をwidthに代入しています。
従って、緯度82度までは、高緯度ほど横pixel数は小さくなり、緯度83以上は、cosの項とTile::width()の項の効き具合により大きくなったり小さくなったりしているようです。

とりあえずこのコードに沿ってexcelでちょっと計算してところ、横pixel数は以下のようになりました。
hideさんの報告にあった緯度については、ピタリと一致しています。

■level=10の場合の横pixel数
0≦lat≦45: 1024
46≦lat≦69: 512
70≦lat≦79: 256
80≦lat≦82: 128
83≦lat≦84: 256
lat=85: 128
86≦lat≦88: 256
lat=89: 8192

引用:
(ちなみに、toshiさんが作られたものには --verbose という記述がありますが、あれは何をするためのオプションなのでしょうか)

verbose は「冗長な」という意味ですが、--verbose オプションをつけると、デフォルトでは出力しない詳細な情報をコマンドプロンプト画面に表示してくれます。
map.exeがどのファイルを処理しているのかなど、処理内容をより詳しく知ることが出来ますので、動作テストや不具合調査などに有用です。
表示内容を確認する前にコマンドプロンプト画面が消えてしまうことを防ぐために、バッチファイルの最後にPAUSEで一時停止させています。

以下は、Geoff版map.exeのオプション一覧です(--help オプションで表示できます)。
--minmax、--chunk、--force はGeoffが独自に追加したオプションであり、CVS版AtlasのMap.cxxソースコードには存在しません。

C:\Program Files\FlightGear\bin\Win32>map --help
Map - FlightGear mapping utility

Usage:
  --fg-root=path     Overrides FG_ROOT environment variable
  --fg-scenery=path  Overrides FG_SCENERY environment variable
  --atlas=path       Store maps in path
  --palette=path     Set the palette file to use
  --minmax=<lat,lon,lat,lon> Set min. and max. limits.
  --chunk=<chunk>    Limit mapping to a 10x10 degree chunk.
  --force            Force overwrite of existing images.
  --png              Create PNG images
  --jpeg             Create JPEG images with quality 75 (default)
  --jpeg=integer     Create JPEG images with specified quality
  --aafactor=integer Antialiasing factor (default = 0)
  --render-offscreen Render offscreen (default)
  --render-to-window Render to a window
  --discrete-contour Don't blend contour colours (default)
  --smooth-contour   Blend contour colours
  --no-contour-lines Don't draw contour lines (default)
  --contour-lines    Draw contour lines
  --light=azim,elev  Set light position (default = <315, 55>)
  --lighting         Light the terrain (default)
  --no-lighting      Don't light the terrain (flat light)
  --smooth-shading   Smooth polygons (default)
  --flat-shading     Don't smooth polygons
  --test             Do nothing, but report what Map would do
  --verbose          Display extra information while mapping
  --version          Print version and exit
  --help             Print this message
投票数:0 平均点:0.00

  条件検索へ


 検索

高度な検索
 新しい登録ユーザ
odahosir 2018-12-16
itakamub 2018-12-16
ocehawigo 2018-12-16
ewavyte 2018-12-15
irojis 2018-12-15
exazed 2018-12-15
alajejiw 2018-12-14
oduwuhy 2018-12-14
edozaqir 2018-12-14
izocugoly 2018-12-13
 最近の画像(画像付)
F-15J 特別塗装の機... (2018-11-17)
F-15J 特別塗装の機...
誘導ミサイルを発射... (2018-11-9)
誘導ミサイルを発射...
誘導ミサイルは使え... (2018-9-16)
誘導ミサイルは使え...
誘導ミサイルは使え... (2018-9-16)
誘導ミサイルは使え...
全球シーナリー更新 (2018-6-4)
全球シーナリー更新
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Theme designed by OCEAN-NET