FlightGear Mac OS X 1.0.0
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
FlightGear Mac OS X 1.0.0
msg# 1
Tat
投稿数: 375
FlightGear Mac OS X 1.0.0 がリリースされました!
Mac 特有の不具合も少しありましたが、なんとか無事終えました。突然 0.9.11 から 1.0.0 になったものですから GUI Launcher は 0.9.10 と殆ど変わらない状況です。(bug fix のみ) 地味な違いと言えば内包する RubyCocoa のアップデートです。なお、Leopard / Tiger 両対応です。
Mac 版にはボーナスとして A6M2, J7W, Ki-84 が付いてきます。また、Saitek X52 及び Logitech 3D Extreme Pro 用の設定ファイルが修正/追加されています。
更に今回は要望の多かった fgjs, js_demo, 及び yasim の3つのコマンドラインツールが追加されました。(/Applications/FlightGear.app/Contents/Resources にあります。) ジョイスティックの動作確認や 機体開発時にご利用ください。
FlightGear Mac OS X 1.0.0 に関するバグ、フィードバックはこのスレッドに返信してください。既知の問題はパッケージの ReadMe に記載されています。
ではよいフライトを!
Mac 特有の不具合も少しありましたが、なんとか無事終えました。突然 0.9.11 から 1.0.0 になったものですから GUI Launcher は 0.9.10 と殆ど変わらない状況です。(bug fix のみ) 地味な違いと言えば内包する RubyCocoa のアップデートです。なお、Leopard / Tiger 両対応です。
Mac 版にはボーナスとして A6M2, J7W, Ki-84 が付いてきます。また、Saitek X52 及び Logitech 3D Extreme Pro 用の設定ファイルが修正/追加されています。
更に今回は要望の多かった fgjs, js_demo, 及び yasim の3つのコマンドラインツールが追加されました。(/Applications/FlightGear.app/Contents/Resources にあります。) ジョイスティックの動作確認や 機体開発時にご利用ください。
FlightGear Mac OS X 1.0.0 に関するバグ、フィードバックはこのスレッドに返信してください。既知の問題はパッケージの ReadMe に記載されています。
ではよいフライトを!
投票数:19
平均点:4.74
Re: FlightGear Mac OS X 1.0.0
msg# 1.1
BBCTV
居住地: 茨城県、日本国
投稿数: 96
さっそく使ってみました。一部のインターフェイス(上のボタンなど)が変わりましたし、シーナリーも改良されていますね。
他の機種を追加しようとしたのですが、どうもうまくいきません。どうすれば、ファイルの変更ができるようになるのでしょうか?
<それからTatさん、フォーラムでの多数の投稿ありがとうございます。>
他の機種を追加しようとしたのですが、どうもうまくいきません。どうすれば、ファイルの変更ができるようになるのでしょうか?
<それからTatさん、フォーラムでの多数の投稿ありがとうございます。>
投票数:16
平均点:5.63
FlightGear Mac OS X 1.0.0-r150
msg# 1.1.1
Tat
投稿数: 375
FlightGear 1.0.0 の Mac 版 GUI に不具合がありました。機体をインストールしようとすると、launcher が落ちます :-p そこで、修正版を FlightGear 1.0.0-r150 としてリリースしました。(r150 は Mac 版 GUI 固有のバージョン番号です)
http://macflightgear.sourceforge.net/home/downloads/
から FlightGear-1.0.0-r150.dmg をダウンロードしてください。
p.s.
BBCTVさん、機体の追加ができてよかったですね。
実は質問の内容がうまく理解できなかったのですが、ディスクイメージから FlightGear を起動させているとは思いませんでした。macflightgear のサイトにあるユーザーズガイドのインストールセクションに、「必ず Applications フォルダにコピーしてね」と追記しておきました。
http://macflightgear.sourceforge.net/home/downloads/
から FlightGear-1.0.0-r150.dmg をダウンロードしてください。
p.s.
BBCTVさん、機体の追加ができてよかったですね。
実は質問の内容がうまく理解できなかったのですが、ディスクイメージから FlightGear を起動させているとは思いませんでした。macflightgear のサイトにあるユーザーズガイドのインストールセクションに、「必ず Applications フォルダにコピーしてね」と追記しておきました。
投票数:22
平均点:5.45
FlightGear Mac OS X 1.0.0-r151
msg# 1.1.1.1
Tat
投稿数: 375
FlightGear Mac OS X の GUI をリニューアルして、FlightGear-1.0.0-r151-launcher.dmg としてリリースしました。ラウンチャーのアップデートパッケージは以下の URL からダウンロードできます。
http://macflightgear.sourceforge.net/home/downloads/
今回のアップデートでは、以下の機能が追加/改善されています。
- 空港の検索 (改善)
-- 空港コードではなく空港名をトップ画面表示 (プルダウンボタンは廃止)
-- 空港名の右にあるギアボタンから空港の検索が可能
-- 2万以上の空港が利用可能 (フライトギアで可能な全ての空港)
-- GUI の起動時間短縮 (空港データベースファイルの変更)
- 機体検索(新規)
-- 機体名をトップ画面に表示 (プルダウンポタンは廃止)
-- 空港と同様に機体も検索可能(ギアボタンを押して検索)
-- 検索キーに機体名, 機体情報ファイル名(例: a6m2b)、FDM(例: yasim, jsb), 開発状況(alpha, beta, production, ...) が利用可能
-- 機体データキャッシュによる起動時間の短縮
- 追加オプション
-- Real weather fetch
-- Horizon effect
-- Clouds / 3D clouds
-- Turbulence
-- visibility
-- Season
- Saitek Pro Flight Rudder 用 xml file (改善)
-- 先日購入したものが MacBook Pro で認識可能になった
http://macflightgear.sourceforge.net/home/downloads/
今回のアップデートでは、以下の機能が追加/改善されています。
- 空港の検索 (改善)
-- 空港コードではなく空港名をトップ画面表示 (プルダウンボタンは廃止)
-- 空港名の右にあるギアボタンから空港の検索が可能
-- 2万以上の空港が利用可能 (フライトギアで可能な全ての空港)
-- GUI の起動時間短縮 (空港データベースファイルの変更)
- 機体検索(新規)
-- 機体名をトップ画面に表示 (プルダウンポタンは廃止)
-- 空港と同様に機体も検索可能(ギアボタンを押して検索)
-- 検索キーに機体名, 機体情報ファイル名(例: a6m2b)、FDM(例: yasim, jsb), 開発状況(alpha, beta, production, ...) が利用可能
-- 機体データキャッシュによる起動時間の短縮
- 追加オプション
-- Real weather fetch
-- Horizon effect
-- Clouds / 3D clouds
-- Turbulence
-- visibility
-- Season
- Saitek Pro Flight Rudder 用 xml file (改善)
-- 先日購入したものが MacBook Pro で認識可能になった
投票数:32
平均点:2.81
FlightGear Mac OS X 1.0.0-r152
msg# 1.1.1.1.1
Tat
投稿数: 375
再び GUI をアップデートしました。
例によって以下の URL からフルパッケージ又はアップデータをダウンロードできます。
http://macflightgear.sourceforge.net/home/downloads/
今回は Tiger でのボタン表示のマイナーバグフィックスが主な理由です。ついでに、~/Documents/FlightGear/1.0.0 にフライトギアの
データフォルだをリンクしたり、fsfs の終了時にスクリーンショットを ~/Documents/FlightGear/1.0.0/ScreenShots に保存したりする機能も追加しました。詳細な更新情報を以下に示します。
* Tiger でのバグフィックス
- テキストボックスがグレー表示になっていた
- ギアボタンとフライトギアアイコンが正しく表示されない
- 拡張機能タブを出し入れする際にサムネイルがぼやける場合がある
- サムネイルの DPI に問題があったため、サムネイルを差し替え
* 安定性の向上
- emacs 等で作成されるバックアップファイル .#xxxx-set.xml# の呉認識を解消
- その他のオプションを2つ以上指定するとエラーになる問題を解消
- 利便性に関する改善
- 起動時にフライトギアのデータフォルダを ~/Documents/FlightGear/1.0.0 にリンク(存在しない場合のみ)
- fgfs 終了時にスクリーンショットを ~/Documents/FlightGear/1.0.0/SnapShots/*.ppm にコピー
- 7zip 形式の機体がインストール可能 (Leopard のように 7zip がある場合)
* 機体の改善
- Nasal コードのクリーンアップ
- A6M2 の ADF, VSI を修正
- A6M2 と A6M2b を統合
- テキスチャ切り替え (灰/緑)
- その他若干の変更
例によって以下の URL からフルパッケージ又はアップデータをダウンロードできます。
http://macflightgear.sourceforge.net/home/downloads/
今回は Tiger でのボタン表示のマイナーバグフィックスが主な理由です。ついでに、~/Documents/FlightGear/1.0.0 にフライトギアの
データフォルだをリンクしたり、fsfs の終了時にスクリーンショットを ~/Documents/FlightGear/1.0.0/ScreenShots に保存したりする機能も追加しました。詳細な更新情報を以下に示します。
* Tiger でのバグフィックス
- テキストボックスがグレー表示になっていた
- ギアボタンとフライトギアアイコンが正しく表示されない
- 拡張機能タブを出し入れする際にサムネイルがぼやける場合がある
- サムネイルの DPI に問題があったため、サムネイルを差し替え
* 安定性の向上
- emacs 等で作成されるバックアップファイル .#xxxx-set.xml# の呉認識を解消
- その他のオプションを2つ以上指定するとエラーになる問題を解消
- 利便性に関する改善
- 起動時にフライトギアのデータフォルダを ~/Documents/FlightGear/1.0.0 にリンク(存在しない場合のみ)
- fgfs 終了時にスクリーンショットを ~/Documents/FlightGear/1.0.0/SnapShots/*.ppm にコピー
- 7zip 形式の機体がインストール可能 (Leopard のように 7zip がある場合)
* 機体の改善
- Nasal コードのクリーンアップ
- A6M2 の ADF, VSI を修正
- A6M2 と A6M2b を統合
- テキスチャ切り替え (灰/緑)
- その他若干の変更
投票数:24
平均点:3.75
Re: FlightGear Mac OS X 1.0.0-r152
msg# 1.1.1.1.1.1
takehiro
居住地: Kawasaki
投稿数: 101
直接Mac版のことではないのですが、LinuxやWindowsでは実際の気象を使用するようにすると起動時にMETARが読み込まれるのですが、どうやら自動的に最新のものを読み込んでいないようです。
ソースを見たらMETARを取得しにいく時間間隔の数値が設定されていたのですが、有効ではないみたいですね。
Mac版ではこの現象は起こりますか?
ソースを見たらMETARを取得しにいく時間間隔の数値が設定されていたのですが、有効ではないみたいですね。
Mac版ではこの現象は起こりますか?
投票数:15
平均点:4.67
Re: FlightGear Mac OS X 1.0.0-r152
msg# 1.1.1.1.1.1.1
Tat
投稿数: 375
METAR は自動更新されていますよ。きっと Windows でも LInux でも同じだと思います。
METAR は同一ステーション管内に居る場合は 15分に一度しか更新しないです。また、ステーションによっては 1時間に一度しか情報を更新しません。
さらに、METAR の値が代わっても、フライトギア内の天気は徐々に代わるようになっているため、体感が難しいかもしれませんね。
--enable-real-weather-fetch を有効にして、UFO で飛び、メニューから DEBUG >> Nasal Console を開き、以下のコマンドを入力して execute ボタンを押してみてください。
setlistener("/environment/metar/real-metar", func(v) { print(v.getValue()) }, 1);
UFO でかなり速く飛べば 1分おきに METER の更新情報がログかコンソールに吐き出されます。Windows ではどこに書き出されるかは判りませんが...
METAR は同一ステーション管内に居る場合は 15分に一度しか更新しないです。また、ステーションによっては 1時間に一度しか情報を更新しません。
さらに、METAR の値が代わっても、フライトギア内の天気は徐々に代わるようになっているため、体感が難しいかもしれませんね。
--enable-real-weather-fetch を有効にして、UFO で飛び、メニューから DEBUG >> Nasal Console を開き、以下のコマンドを入力して execute ボタンを押してみてください。
setlistener("/environment/metar/real-metar", func(v) { print(v.getValue()) }, 1);
UFO でかなり速く飛べば 1分おきに METER の更新情報がログかコンソールに吐き出されます。Windows ではどこに書き出されるかは判りませんが...
投票数:13
平均点:6.92
Re: FlightGear Mac OS X 1.0.0-r152
msg# 1.1.1.1.1.1.1.1
takehiro
居住地: Kawasaki
投稿数: 101
WindowsとLinuxで確認しましたが、両方ともMETARは更新されていないようでした。
いったい何が問題なのでしょうか・・・
ちなみにUFOで飛んでも、1分おきに更新されていることはありませんでした。
いったい何が問題なのでしょうか・・・
ちなみにUFOで飛んでも、1分おきに更新されていることはありませんでした。
投票数:8
平均点:5.00
Re: FlightGear Mac OS X 1.0.0-r152
msg# 1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
おかしいですね。シミュレータ画面の メニューから Weather >> Weather Scenario でMETER を選択しているかを確認してみてください。またUFO でもかなり速く飛ばないと1分では更新されません。
ちなみに今東京では雪が降っています。METER では雪となっているようですが。
FG 上では降っていませんね。
ちなみに今東京では雪が降っています。METER では雪となっているようですが。
FG 上では降っていませんね。
投票数:13
平均点:6.92
Re: FlightGear Mac OS X 1.0.0-r152
msg# 1.1.1.1.1.1.1.1.1.1
takehiro
居住地: Kawasaki
投稿数: 101
本日toshiさんと確認をしましたが、どうやら自動更新されていないようです。
Weather Source: METAR
にして、1時間ほど様子を見ましたがRJTTのMETARは数回更新され、FGFS内部変数は変化なしでした。
これから本家で情報を探してみるつもりですが、何か解決手段をご存知でしたらご教授お願いいたします。
Weather Source: METAR
にして、1時間ほど様子を見ましたがRJTTのMETARは数回更新され、FGFS内部変数は変化なしでした。
これから本家で情報を探してみるつもりですが、何か解決手段をご存知でしたらご教授お願いいたします。
投票数:16
平均点:1.25
METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1
toshi
投稿数: 1540
> RJTTのMETARは数回更新され、FGFS内部変数は変化なしでした。
補足しますと、noaaのMETARデータベース ( http://weather.noaa.gov/weather/metar.shtml )上ではRJTTのMETARは30分に1回更新されるが、FGFS内部プロパティの /environment/metar/real-metar は起動時のRJTTのMETARから1時間たっても変化しなかった、という意味です。
ちなみにFGFSでの本来の挙動は、Re: [Flightgear-users] METAR update interval に書いてあります。
もう少し詳しく調べてみるために、デバッグレベルをwarnにしてからTatさんのアドバイスを試してみたところ、METARデータの取得時にエラーが発生していることがわかりました。
ソースコードを見たわけではありませんが、システム時刻とMETARデータの時刻との整合性に問題があり、取得したMETARデータが古いと判断されている感じがします。
9時間以上古いデータと判断されているので、UTCとJSTの差(PCのタイムゾーン)を考慮してないのかな...
私の環境と再現手順は以下の通りです。
・Windows XP
・FGFS v1.0.0
・FlightGear Wizard (fgrun) で起動
fgfs起動時の設定
引用:
UFOでRJTTで起動した直後に、Tatさんのnasalスクリプトを実行した結果:
引用:
RJTTを北に向かって離陸し、速度3890kt, 高度10,000ftで飛行したところ、約2分後にコンソールに表示された結果:
引用:
補足しますと、noaaのMETARデータベース ( http://weather.noaa.gov/weather/metar.shtml )上ではRJTTのMETARは30分に1回更新されるが、FGFS内部プロパティの /environment/metar/real-metar は起動時のRJTTのMETARから1時間たっても変化しなかった、という意味です。
ちなみにFGFSでの本来の挙動は、Re: [Flightgear-users] METAR update interval に書いてあります。
もう少し詳しく調べてみるために、デバッグレベルをwarnにしてからTatさんのアドバイスを試してみたところ、METARデータの取得時にエラーが発生していることがわかりました。
ソースコードを見たわけではありませんが、システム時刻とMETARデータの時刻との整合性に問題があり、取得したMETARデータが古いと判断されている感じがします。
9時間以上古いデータと判断されているので、UTCとJSTの差(PCのタイムゾーン)を考慮してないのかな...
私の環境と再現手順は以下の通りです。
・Windows XP
・FGFS v1.0.0
・FlightGear Wizard (fgrun) で起動
fgfs起動時の設定
引用:
C:\Program Files\FlightGear\bin\Win32\fgfs.exe
--fg-root=C:\Program Files\FlightGear\data
--fg-scenery=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery
--airport=RJTT
--aircraft=ufo
--control=joystick
--disable-random-objects
--disable-ai-models
--enable-real-weather-fetch
--ai-scenario=nimitz_demo
--log-level=warn
UFOでRJTTで起動した直後に、Tatさんのnasalスクリプトを実行した結果:
引用:
RJTT 031230Z 01018KT 9999 -RA FEW008 SCT010 BKN040 02/01 Q1009 RMK 1ST008 4ST010
7SC040 A2979
RJTTを北に向かって離陸し、速度3890kt, 高度10,000ftで飛行したところ、約2分後にコンソールに表示された結果:
引用:
METAR data too old (672 min).
no metar at station = RJSN
METAR data too old (552 min).
no metar at station = RJTT
METAR data too old (557 min).
no metar at station = RJTY
METAR data too old (612 min).
no metar at station = RJSS
METAR data too old (552 min).
no metar at station = RJAA
Mno metar at station = RJSK
METAR data too old (612 min).
no metar at station = RJNT
METAR data too old (612 min).
no metar at station = RJSA
METAR data too old (552 min).
no metar at station = RJNK
METAR data too old (644 min).
no metar at station = RJNH
METAR data too old (552 min).
Error fetching live weather data: More than 10 stale METAR messages in a row. Ch
eck your system time!
Stop fetching data permanently.
投票数:30
平均点:3.67
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.1
toshi
投稿数: 1540
とりあえずの回避策を見つけましたので、もしよろしければお試しください。
$FG_ROOT/preferences.xml 627行目付近を以下のように修正します。
デフォルトでは240分以上古いデータが破棄されますが、この設定では800分以上古いデータを破棄するようにしています。
起動時に --enable-real-weather-fetch を設定しておけば、FGFSメニューの [Weather] > [Weather Scenario] はデフォルトの none のままでも大丈夫のようです。
ちなみに、PCのタイムゾーンをGMTに変えてもダメでした。
$FG_ROOT/preferences.xml 627行目付近を以下のように修正します。
<params>
<real-world-weather-fetch type="bool">false</real-world-weather-fetch>
<!--metar-max-age-min type="long">240</metar-max-age-min-->
<metar-max-age-min type="long">800</metar-max-age-min>
<control-fdm-atmosphere type="bool">true</control-fdm-atmosphere>
<contrail-altitude>30000</contrail-altitude>
</params>
デフォルトでは240分以上古いデータが破棄されますが、この設定では800分以上古いデータを破棄するようにしています。
起動時に --enable-real-weather-fetch を設定しておけば、FGFSメニューの [Weather] > [Weather Scenario] はデフォルトの none のままでも大丈夫のようです。
ちなみに、PCのタイムゾーンをGMTに変えてもダメでした。
投票数:19
平均点:4.21
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.1.1
takehiro
居住地: Kawasaki
投稿数: 101
toshiさん、ありがとうございます。
それで回避できそうですね。
私のほうはというと、ソースをいじって対処しようとしていました。
設定ファイルで何とかなるものですね。
それで回避できそうですね。
私のほうはというと、ソースをいじって対処しようとしていました。
設定ファイルで何とかなるものですね。
投票数:13
平均点:3.08
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2
Tat
投稿数: 375
FlightGearはMETAR データを以下の URL から取得しています。
weather.noaa.gov/pub/data/observations/metar/stations/<空港コード>.txt
RJTT の場合は http://weather.noaa.gov/pub/data/observations/metar/stations/RJTT.txt
です。
このデータ内の更新時間は GMT のようです。また FlightGear も GMT 時間でデータ更新が古いかどうかを比較しています。RJSNなどのデータは更新頻度が低いのか、かなり時間が古いことが多いでしょう。 (RJTTの更新時間が 19:00の時に RJSN は12:00でした。
ですから RJSN の too old はデータによるものですので問題ありません。ただ RJTT は 30 分毎に更新されているので too old は解せませんね。 RJTT付近に居ると、Mac 版では 30分毎に /environment/metar 以下の値が正しく更新されています。
ということで、プログラム上は何の問題もないでしょう。toshi さんの設定ファイル変更でもとりあえず更新できますが、 9時間以上前の気象データを参照することになります。
ひとつ気になるのが BIOS の時間設定です。この値が GMT なのか Local time なのかで OSによりGMT の計算が違ってくるかもしれません 。
weather.noaa.gov/pub/data/observations/metar/stations/<空港コード>.txt
RJTT の場合は http://weather.noaa.gov/pub/data/observations/metar/stations/RJTT.txt
です。
このデータ内の更新時間は GMT のようです。また FlightGear も GMT 時間でデータ更新が古いかどうかを比較しています。RJSNなどのデータは更新頻度が低いのか、かなり時間が古いことが多いでしょう。 (RJTTの更新時間が 19:00の時に RJSN は12:00でした。
ですから RJSN の too old はデータによるものですので問題ありません。ただ RJTT は 30 分毎に更新されているので too old は解せませんね。 RJTT付近に居ると、Mac 版では 30分毎に /environment/metar 以下の値が正しく更新されています。
ということで、プログラム上は何の問題もないでしょう。toshi さんの設定ファイル変更でもとりあえず更新できますが、 9時間以上前の気象データを参照することになります。
ひとつ気になるのが BIOS の時間設定です。この値が GMT なのか Local time なのかで OSによりGMT の計算が違ってくるかもしれません 。
投票数:20
平均点:5.00
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2.1
sambar
居住地: 岡山
投稿数: 484
引用:
一般的に、WindowsのBIOSの時間設定はlocaltimeです。
Linuxの場合はBIOSの時刻がlocaltimeかUTCかを変更できるはずです。
少なくとも、Fedoraではインストール時に、BIOSの時刻がどちらか聞かれました。(ドライバの都合で、FlightGearを動かしたことはありませんが。)
と思って調べてみたら、http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/set.htmlにやり方が載ってました。
#takehiroさん、もしWindowsとのデュアルブートでないなら、やってみませんか?
ひとつ気になるのが BIOS の時間設定です。この値が GMT なのか Local time なのかで OSによりGMT の計算が違ってくるかもしれません 。
一般的に、WindowsのBIOSの時間設定はlocaltimeです。
Linuxの場合はBIOSの時刻がlocaltimeかUTCかを変更できるはずです。
少なくとも、Fedoraではインストール時に、BIOSの時刻がどちらか聞かれました。(ドライバの都合で、FlightGearを動かしたことはありませんが。)
と思って調べてみたら、http://www.linux.or.jp/JF/JFdocs/TimePrecision-HOWTO/set.htmlにやり方が載ってました。
#takehiroさん、もしWindowsとのデュアルブートでないなら、やってみませんか?
--
Powerd by Phenom X4_9350e, nVidia GeForce GTX550Ti,Linux(x86_64)
旧callsign=sambar
新callsign=JA26FB
投票数:17
平均点:2.94
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2.1.1
toshi
投稿数: 1540
toshiです。
MacのスレッドをすっかりMETARネタで埋めてしまってスミマセン。
今日は時間があったので、もう少しMETARの更新の不具合についてソースコードを見ながら考えてみました。
Tatさん:
> RJTT の場合は http://weather.noaa.gov/pub/data/observations/metar/stations/RJTT.txt
> です。
具体的なURLは知りませんでした。情報ありがとうございます。
ちなみに、拡張子は大文字のようですね。
http://weather.noaa.gov/pub/data/observations/metar/stations/RJTT.TXT
> ということで、プログラム上は何の問題もないでしょう。toshi さんの設定ファイル変更でもとりあえず更新できますが、 9時間以上前の気象データを参照することになります。
はい、ちゃんと断っておくべきでした。
何も問題の起きていないマシンでは、設定ファイルの変更を「しないでください」。
METARの更新に問題の生じているマシンでは、とりあえずの回避策として試してみても良いでしょう。
> ひとつ気になるのが BIOS の時間設定です。この値が GMT なのか Local time なのかで OSによりGMT の計算が違ってくるかもしれません 。
はい、それはあるかもしれませんね。
sambarさんの書き込みにもありましたが、私もWindows環境で、biosもOSも Local time のJSTで設定しています。
環境の違いによってMETAR読込時の挙動が変わることは分かってきているわけですが、その要因は色々ありますね。
場合によっては、複数の要因が関係する可能性だって考えられます。
・BIOSの時刻設定 (私はJST)
・OSのタイムゾーンと時刻設定 (私はタイムゾーンも時刻もJST)
・OSの種類 (私は Wiondows XP Media Center Edition 2002 SP2 日本語版)
・ひょっとするとコンパイラの種類とコンパイル時の設定 (コンパイル済みバイナリしか使ったことがないのでよく分かりませんが)
・etc...
どの要因が効いているのか、あるいはどの程度の割合のユーザ環境で不具合が生じていそうかは、残念ながら私には分かりません。
ただ、「少なくとも現在の私の環境では」常に、 --log-level=warn としたときに METAR data too old (age min)のように表示される経過時間"age"は、本来のMETARデータの経過時間よりも必ず9時間多くなります。
・本来のage (分)=GMTの現在時刻−METARデータ内の更新時間
・表示されるage (分)=GMTの現在時刻−METARデータ内の更新時間+540=JSTの現在時刻−METARデータ内の更新時間
ですので、「少なくとも現在の私の環境では」設定ファイルで800分まで許容するようにしても、実際には260分(4時間20分)以上古いMETARデータが破棄されるため、9時間以上前のMETARデータを参照することにはならないはずだ、と思っています。
4時間20分以内であれば許容して良いものか、という話もありますけどね。
ちなみに、LFPG (シャルル・ド・ゴール国際空港)で起動してパリ周辺をうろうろした時も、9時間多い"age"が表示されました。
ここからは先は推測(というより妄想かも)です。
特に困っているわけではないので、雑談と思っていただいて結構です。
time()関数の戻り値が、Tatさんの環境ではGMTに、私の環境では Local time (JST=GMT+9) になっているのではないかな、という気がします。
コンパイル環境が無く、かつまともにソースコードが読めないので、ホントに想像です。
environment_ctrl.cxx より引用:・age > max_age なら METAR data too old (age min) というログを吐き、METARデータを破棄する。
・max_age は preferences.xml で設定可能で、デフォルトは240。
Environment/fgmetar.cxx より引用:・「age」=(「time()関数から得られたunix timeの現在時刻(秒)」−「METARデータの更新時刻(秒)」) ÷ 60。
同じく Environment/fgmetar.cxx より引用:・「METARデータの更新時刻」はGMTである。
結局のところ、time(0)の代わりにこの sgTimeGetGMT を以下のような感じで使えばGMTの現在時刻を戻せるような気がします。
fg_init.cxx より引用:
MacのスレッドをすっかりMETARネタで埋めてしまってスミマセン。
今日は時間があったので、もう少しMETARの更新の不具合についてソースコードを見ながら考えてみました。
Tatさん:
> RJTT の場合は http://weather.noaa.gov/pub/data/observations/metar/stations/RJTT.txt
> です。
具体的なURLは知りませんでした。情報ありがとうございます。
ちなみに、拡張子は大文字のようですね。
http://weather.noaa.gov/pub/data/observations/metar/stations/RJTT.TXT
> ということで、プログラム上は何の問題もないでしょう。toshi さんの設定ファイル変更でもとりあえず更新できますが、 9時間以上前の気象データを参照することになります。
はい、ちゃんと断っておくべきでした。
何も問題の起きていないマシンでは、設定ファイルの変更を「しないでください」。
METARの更新に問題の生じているマシンでは、とりあえずの回避策として試してみても良いでしょう。
> ひとつ気になるのが BIOS の時間設定です。この値が GMT なのか Local time なのかで OSによりGMT の計算が違ってくるかもしれません 。
はい、それはあるかもしれませんね。
sambarさんの書き込みにもありましたが、私もWindows環境で、biosもOSも Local time のJSTで設定しています。
環境の違いによってMETAR読込時の挙動が変わることは分かってきているわけですが、その要因は色々ありますね。
場合によっては、複数の要因が関係する可能性だって考えられます。
・BIOSの時刻設定 (私はJST)
・OSのタイムゾーンと時刻設定 (私はタイムゾーンも時刻もJST)
・OSの種類 (私は Wiondows XP Media Center Edition 2002 SP2 日本語版)
・ひょっとするとコンパイラの種類とコンパイル時の設定 (コンパイル済みバイナリしか使ったことがないのでよく分かりませんが)
・etc...
どの要因が効いているのか、あるいはどの程度の割合のユーザ環境で不具合が生じていそうかは、残念ながら私には分かりません。
ただ、「少なくとも現在の私の環境では」常に、 --log-level=warn としたときに METAR data too old (age min)のように表示される経過時間"age"は、本来のMETARデータの経過時間よりも必ず9時間多くなります。
・本来のage (分)=GMTの現在時刻−METARデータ内の更新時間
・表示されるage (分)=GMTの現在時刻−METARデータ内の更新時間+540=JSTの現在時刻−METARデータ内の更新時間
ですので、「少なくとも現在の私の環境では」設定ファイルで800分まで許容するようにしても、実際には260分(4時間20分)以上古いMETARデータが破棄されるため、9時間以上前のMETARデータを参照することにはならないはずだ、と思っています。
4時間20分以内であれば許容して良いものか、という話もありますけどね。
ちなみに、LFPG (シャルル・ド・ゴール国際空港)で起動してパリ周辺をうろうろした時も、9時間多い"age"が表示されました。
ここからは先は推測(というより妄想かも)です。
特に困っているわけではないので、雑談と思っていただいて結構です。
time()関数の戻り値が、Tatさんの環境ではGMTに、私の環境では Local time (JST=GMT+9) になっているのではないかな、という気がします。
コンパイル環境が無く、かつまともにソースコードが読めないので、ホントに想像です。
environment_ctrl.cxx より引用:
long max_age = metar_max_age->getLongValue();
long age = result.m->getAge_min();
if (max_age && age > max_age) {
SG_LOG( SG_GENERAL, SG_WARN, "METAR data too old (" << age << " min).");
delete result.m;
result.m = NULL;
・max_age は preferences.xml で設定可能で、デフォルトは240。
Environment/fgmetar.cxx より引用:
long FGMetar::getAge_min() const
{
time_t now = _x_proxy ? _rq_time : time(0);
return (now - _time) / 60;
}
同じく Environment/fgmetar.cxx より引用:
_time = sgTimeGetGMT(_year - 1900, _month - 1, _day, _hour, _minute, 0);
結局のところ、time(0)の代わりにこの sgTimeGetGMT を以下のような感じで使えばGMTの現在時刻を戻せるような気がします。
fg_init.cxx より引用:
time_t currGMT = sgTimeGetGMT( gmtime(&cur_time) );
投票数:27
平均点:2.59
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2.1.1.1
Tat
投稿数: 375
# たしかに、Mac とはあまり関係のないスレッドになりつつありますが、ま、全く無関係でもないのでいんじゃないですかね。:-p
なるほど、やはりBIOS の時刻設定とからんでましたか。
そうなると、メーリングリストでディスカッションしてみてもいいかもしれませんね。
ってことで書いてみました。返答を待ちましょう。
なるほど、やはりBIOS の時刻設定とからんでましたか。
そうなると、メーリングリストでディスカッションしてみてもいいかもしれませんね。
ってことで書いてみました。返答を待ちましょう。
投票数:13
平均点:6.15
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1
Tat
投稿数: 375
返信は無かったのですが、IRC の方で他の開発者と話をしてみました。
やはり Windows / Linux で BIOS のファイルを local time にしておくのは
良くないということで落ち着きました。FlightGear のソースを変えてもよいですが、
「BIOS の時刻設定を UTC にすべき」という話になる可能性があります。
とりあえずは、BIOS の時刻を UTC に設定する方法を記述しておきます。
# ちなみに Mac ではこの設定は全く不要です。
こちらの記事 によると、レジストリを変更するだけで Windows の BIOS 時刻を UTC に変更する事ができます。
ちょっと端折っていますのでちゃんと書くと、
というキーを作り、DWORD の 1 という値をセットすればよいようです。
Linux とのデュアルブートの時にも役立つと思いますので、お試しください。
引用:
やはり Windows / Linux で BIOS のファイルを local time にしておくのは
良くないということで落ち着きました。FlightGear のソースを変えてもよいですが、
「BIOS の時刻設定を UTC にすべき」という話になる可能性があります。
とりあえずは、BIOS の時刻を UTC に設定する方法を記述しておきます。
# ちなみに Mac ではこの設定は全く不要です。
こちらの記事 によると、レジストリを変更するだけで Windows の BIOS 時刻を UTC に変更する事ができます。
ちょっと端折っていますのでちゃんと書くと、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
というキーを作り、DWORD の 1 という値をセットすればよいようです。
Linux とのデュアルブートの時にも役立つと思いますので、お試しください。
引用:
Tatさんは書きました:
# たしかに、Mac とはあまり関係のないスレッドになりつつありますが、ま、全く無関係でもないのでいんじゃないですかね。:-p
なるほど、やはりBIOS の時刻設定とからんでましたか。
そうなると、メーリングリストでディスカッションしてみてもいいかもしれませんね。
ってことで書いてみました。返答を待ちましょう。
投票数:17
平均点:4.12
Mac OS X 10.5.2 更新後の問題について
msg# 1.1.1.1.1.1.1.1.1.1.2
Tat
投稿数: 375
さて、たまにはまともに Mac 版の話を書いておきたいと思います
Mac OS X 10.5.2 アップデート後にシナリーのダウンロード機能が使えなくなるという不具合が発生しています。ネットワーク関連の一部が更新された事により、PLIB 上のネットワークアクセスの処理が正常に動作しなくなった事が原因です。(シナリーデータダウンロードプログラムである terrasync はネットワークを介してフライトギアから現在位置を取得してデータをダウンロードします)。
この問題は APPLE 側ではなく PLIB のコード上にあります。とりあえず PLIB を修正してホームページ上のニュースで公開しています。Mac OS X 10.5.2 を利用していて、この問題が発生する場合は、以下を参照して、ファイルをインストールしてください。
- Mac OS X 10.5.2 アップデート後の問題
アップデータは近々リリースしますが、Tiger や PPC マシンでのテスト後となりますので、時間が掛かる可能性があります。
Mac OS X 10.5.2 アップデート後にシナリーのダウンロード機能が使えなくなるという不具合が発生しています。ネットワーク関連の一部が更新された事により、PLIB 上のネットワークアクセスの処理が正常に動作しなくなった事が原因です。(シナリーデータダウンロードプログラムである terrasync はネットワークを介してフライトギアから現在位置を取得してデータをダウンロードします)。
この問題は APPLE 側ではなく PLIB のコード上にあります。とりあえず PLIB を修正してホームページ上のニュースで公開しています。Mac OS X 10.5.2 を利用していて、この問題が発生する場合は、以下を参照して、ファイルをインストールしてください。
- Mac OS X 10.5.2 アップデート後の問題
アップデータは近々リリースしますが、Tiger や PPC マシンでのテスト後となりますので、時間が掛かる可能性があります。
投票数:19
平均点:3.16
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1
toshi
投稿数: 1540
Linux (Ubuntu 7.10) と Windows XP のデュアルブート環境を構築し、METARの更新が正常に動作するかどうかを確認しました。
その結果、私のマシンでは、OSのタイムゾーンがJSTの場合、
a) Windows XP 環境では、BIOSがUTCでもJSTでも正常に動作しない。
b) Ubuntu 環境では、BIOS がJSTでも正常に動作する。
ことが分かりました。
b) の結果は Takehiroさんの状況と異なっていますが、単純にbios時刻の設定がMETARの更新不具合の原因になっているわけではないことを示していると考えられます。
また以前、
> ちなみに、PCのタイムゾーンをGMTに変えてもダメでした。
と書いたのは誤りでした。
環境変数 TZ を JST-9 に設定していたのを忘れてました。
環境変数 TZ を解除すれば、BIOSとPCがどちらもUTCの場合にWindows XPで正常にMETARの更新ができました。
標準的な状態で更新がうまくいかない原因としては、前に書いたように色々な要因が考えられるのですが、そもそも不具合の発生していない環境では検証しようがないでしょうから、今後も私のほうで何か分かれば報告しますね。
ちなみに、レジストリRealTimeIsUniversalを設定することによりBios時刻をUTCにする方法は、特に Windows Vista では問題が生じる場合があるそうですのでご注意ください。
以下、私のマシンでの検証結果です。
Bios と OS の時刻が共に Local Time の場合
・Ubuntu 7.10 (JST) + FlightGear 0.9.10: OK
・Ubuntu 7.10 (JST) + FlightGear 1.0.0: OK
・Windows XP (JST) + FlightGear 0.9.10: NG
・Windows XP (JST) + FlightGear 1.0.0: NG
・Windows XP (UTC) + FlightGear 1.0.0: OK (*)
(*) BIOSもOSのタイムゾーンもUTCに設定し、UTCからの時差が無い地域(イギリスとか)に住んでるユーザを模擬してみました。
BiosはUTC、OSはLocal Time の場合 (RealTimeIsUniversalを設定)
・Windows XP (JST) + FlightGear 1.0.0、SET TZ 未設定(デフォルト): NG
・Windows XP (JST) + FlightGear 1.0.0、SET TZ=JST-9: NG
利用したFlightGearのバイナリ
・FlightGear0.9.10 Windows用インストーラ付きパッケージ (fgsetup-1.0.0.exe)
・FlightGear1.0.0 Windows用インストーラ付きパッケージ (fgsetup-0.9.10.exe)
・FlightGear0.9.10 Ubuntu Gusty用パッケージ (0.9.10-2ubuntu2)
・FlightGear1.0.0 Ubuntu Hardy用パッケージ (1.0.0-1ubuntu1)
その結果、私のマシンでは、OSのタイムゾーンがJSTの場合、
a) Windows XP 環境では、BIOSがUTCでもJSTでも正常に動作しない。
b) Ubuntu 環境では、BIOS がJSTでも正常に動作する。
ことが分かりました。
b) の結果は Takehiroさんの状況と異なっていますが、単純にbios時刻の設定がMETARの更新不具合の原因になっているわけではないことを示していると考えられます。
また以前、
> ちなみに、PCのタイムゾーンをGMTに変えてもダメでした。
と書いたのは誤りでした。
環境変数 TZ を JST-9 に設定していたのを忘れてました。
環境変数 TZ を解除すれば、BIOSとPCがどちらもUTCの場合にWindows XPで正常にMETARの更新ができました。
標準的な状態で更新がうまくいかない原因としては、前に書いたように色々な要因が考えられるのですが、そもそも不具合の発生していない環境では検証しようがないでしょうから、今後も私のほうで何か分かれば報告しますね。
ちなみに、レジストリRealTimeIsUniversalを設定することによりBios時刻をUTCにする方法は、特に Windows Vista では問題が生じる場合があるそうですのでご注意ください。
以下、私のマシンでの検証結果です。
Bios と OS の時刻が共に Local Time の場合
・Ubuntu 7.10 (JST) + FlightGear 0.9.10: OK
・Ubuntu 7.10 (JST) + FlightGear 1.0.0: OK
・Windows XP (JST) + FlightGear 0.9.10: NG
・Windows XP (JST) + FlightGear 1.0.0: NG
・Windows XP (UTC) + FlightGear 1.0.0: OK (*)
(*) BIOSもOSのタイムゾーンもUTCに設定し、UTCからの時差が無い地域(イギリスとか)に住んでるユーザを模擬してみました。
BiosはUTC、OSはLocal Time の場合 (RealTimeIsUniversalを設定)
・Windows XP (JST) + FlightGear 1.0.0、SET TZ 未設定(デフォルト): NG
・Windows XP (JST) + FlightGear 1.0.0、SET TZ=JST-9: NG
利用したFlightGearのバイナリ
・FlightGear0.9.10 Windows用インストーラ付きパッケージ (fgsetup-1.0.0.exe)
・FlightGear1.0.0 Windows用インストーラ付きパッケージ (fgsetup-0.9.10.exe)
・FlightGear0.9.10 Ubuntu Gusty用パッケージ (0.9.10-2ubuntu2)
・FlightGear1.0.0 Ubuntu Hardy用パッケージ (1.0.0-1ubuntu1)
投票数:22
平均点:5.45
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1
takehiro
居住地: Kawasaki
投稿数: 101
ご無沙汰しております。
最近OSをWindowsVistaにしましたのでレジストリを変更することは不具合があるということなので控えたいと思います。
それにしてもLinuxにおいてはBIOS ClockがUTCでもJSTでも正常動作するというのは変ですね。
いったいどういうことなのでしょう・・・
最近OSをWindowsVistaにしましたのでレジストリを変更することは不具合があるということなので控えたいと思います。
それにしてもLinuxにおいてはBIOS ClockがUTCでもJSTでも正常動作するというのは変ですね。
いったいどういうことなのでしょう・・・
投票数:12
平均点:5.00
Re: METAR の更新
msg# 1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1
toshi
投稿数: 1540
takehiroさん、こんばんは。
技術的な興味から、METARの更新不具合について引き続き調べています。
ちょっとややこしい話をしますが、もしよろしければお付き合いください。
> それにしてもLinuxにおいてはBIOS ClockがUTCでもJSTでも正常動作するというのは変ですね。
えっと、私がLinuxで正常動作を確認したのは、Bios ClockがJSTの場合のみです。
JSTで正常に動くので、BIOS ClockとOSの時刻設定をUTCにしてもきっと正常に動くと思いますが、確認はしていません。
それから、BIOS ClockがUTCでもJSTでも正常動作するのは「変ではない」と思います。
私の考えでは、BIOS ClockがLocal TimeであろうとUTCであろうと(ユーザがどこに住んでいようと)、OSの各種の時刻関連の設定が正しい限り正常動作する、というのが本来のあるべき姿だと思います。
変なのは、同じLinuxでも、私の環境では正常に動作し、takehiroさんの環境では正常に動作しない、ということです。
ところでtakehiroさんは、Blogを拝見する限り私と同じくUbuntu 7.10をお使いのようですね。
TakehiroさんのUbuntu環境で以下の状態にしたときに、METARの更新が正常に動作するかどうかお分かりになりますでしょうか?
o BIOS Clock: JSTで設定
o OS: Ubuntu 7.10
- システム > システム管理 > 時刻と日付の設定 > タイムゾーン: Asia/Tokyo
- /etc/default/rcS の設定: UTC=no
o (もし可能なら)FlightGear: 0.9.10 Ubuntu Gusty用パッケージ (0.9.10-2ubuntu2)
- preferences.xml の metar-max-age-min: 240 (デフォルト)
技術的な興味から、METARの更新不具合について引き続き調べています。
ちょっとややこしい話をしますが、もしよろしければお付き合いください。
> それにしてもLinuxにおいてはBIOS ClockがUTCでもJSTでも正常動作するというのは変ですね。
えっと、私がLinuxで正常動作を確認したのは、Bios ClockがJSTの場合のみです。
JSTで正常に動くので、BIOS ClockとOSの時刻設定をUTCにしてもきっと正常に動くと思いますが、確認はしていません。
それから、BIOS ClockがUTCでもJSTでも正常動作するのは「変ではない」と思います。
私の考えでは、BIOS ClockがLocal TimeであろうとUTCであろうと(ユーザがどこに住んでいようと)、OSの各種の時刻関連の設定が正しい限り正常動作する、というのが本来のあるべき姿だと思います。
変なのは、同じLinuxでも、私の環境では正常に動作し、takehiroさんの環境では正常に動作しない、ということです。
ところでtakehiroさんは、Blogを拝見する限り私と同じくUbuntu 7.10をお使いのようですね。
TakehiroさんのUbuntu環境で以下の状態にしたときに、METARの更新が正常に動作するかどうかお分かりになりますでしょうか?
o BIOS Clock: JSTで設定
o OS: Ubuntu 7.10
- システム > システム管理 > 時刻と日付の設定 > タイムゾーン: Asia/Tokyo
- /etc/default/rcS の設定: UTC=no
o (もし可能なら)FlightGear: 0.9.10 Ubuntu Gusty用パッケージ (0.9.10-2ubuntu2)
- preferences.xml の metar-max-age-min: 240 (デフォルト)
投票数:18
平均点:5.00