Re: Atlasの最新版を使うには?
toshi
投稿数: 1540
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さんの報告の中で、長方形の画像が生成されるという点です。
引用:
引用:
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:
このmap.batを使って、e135n34の画像ファイルを再生成した際のコンソール画面のメッセージは以下のとおりです。
それから、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)が整備されていないようですので、ビルドに成功するまでに様々な修正が必要になることが予想されます。
長くなりましたが、以上です。
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)が整備されていないようですので、ビルドに成功するまでに様々な修正が必要になることが予想されます。
長くなりましたが、以上です。
投票数:19
平均点:3.16
投稿ツリー
-
Atlasの最新版を使うには?
(hide, 2012-5-6 13:49)
-
Re: Atlasの最新版を使うには?
(toshi, 2012-5-7 23:56)
-
Re: Atlasの最新版を使うには?
(hide, 2012-5-8 20:52)
-
Re: Atlasの最新版を使うには?
(toshi, 2012-5-11 1:44)
- Re: Atlasの最新版を使うには? (hide, 2012-5-14 3:07)
-
Re: Atlasの最新版を使うには?
(toshi, 2012-5-11 1:44)
-
Re: Atlasの最新版を使うには?
(hide, 2012-5-8 20:52)
-
Re: Atlasの最新版を使うには?
(toshi, 2012-5-25 1:30)
-
Re: Atlasの最新版を使うには?
(hide, 2012-5-27 13:04)
- Re: Atlasの最新版を使うには? (toshi, 2012-5-27 23:33)
-
Re: Atlasの最新版を使うには?
(hide, 2012-5-27 13:04)
-
Re: Atlasの最新版を使うには?
(toshi, 2012-5-7 23:56)