acarsdのDB用データ作成方法
acarsdで使用するDBは*.dbというファイルです
これらはバイナリーファイルですが、txtファイルからDBマネージャーで変換することができます
大量にデータを入力したい場合などは、テキストファイルを作成し、DBに変換するのが一番です
地上局DB
他のDBと違って、地上局DBは初期のデータがありません
地上局の情報は国によって違うためです
そのため、地上局DBを自分で作成してあげる必要があります
- 日本の地上局データをダウンロードし、acarsdをインストールしたディレクトリーに保存してください
- groundstations.txtというファイルがacarsdのディレクトリーにあります
念のためこのファイルを別名にしておきます
- 先ほどダウンロードしたファイルをgroundstations.txtにリネームします
- acarsdを起動し、DatabaseメニューからDatabase manager(ALT-d)を選択します
- GroundstationsのTXT Dateが今日の日付になっているのを確認してください
- doitボタンを押します
- 10 new lines successfully imported, 3444 lines updated, 0 lines with errors.
のようなメッセージが表示されればok
- 5 lines with errorsのようにエラーがある場合は、テキストのデータに誤りがあります
- ALT-0でメインウインドウに切り替えてメッセージを確認してください
ACARS mode: M [Haneda]のように、地上局名が表示されれば成功です
空港DB
初期状態では日本の空港があまり入力されていません
日本の空港データをこのページで公開していますので、それを入力する手順を解説します
- 日本の空港データをダウンロードし、acarsdをインストールしたディレクトリーに保存してください
- 次にairports2.txtというファイルを適当な名前に変えてください
これは元から入力されているDBのテキストファイルです
- 先ほどダウンロードしたファイルをairports2.txtにリネームします
- acarsdを起動し、DatabaseメニューからDatabase manager(ALT-d)を選択します
- AirportsのTXT Dateが今日の日付になっているのを確認してください
- doitボタンを押します
- 10 new lines successfully imported, 3444 lines updated, 0 lines with errors.
のようなメッセージが表示されればok
- 5 lines with errorsのようにエラーがある場合は、テキストのデータに誤りがあります
- ALT-0でメインウインドウに切り替えてメッセージを確認してください
Flight id: JL1404 [Takamatsu, Japan-Tokyo, Haneda, Japan]
こんな感じで空港で表示されていれば成功です
- 失敗していると、3レター、もしくは4レターのまま表示されます
日本の空港は網羅したつもりですが、抜けている物もあるかも知れません
- また、空港名は便名を元にフライトDBで経路に変換し、その経路を元に空港名に変換します
そのため、フライトDBに誤り(例えばHND-CTSをHDN-CTSと打ち間違えた場合)があると、空港名に変換出来ません
その際には、フライトDBを修正しましょう
- acarsdは未知の空港名があった場合、サーバーに問い合わせる機能があります
成功した場合、以下のようなメッセージが表示され、自動的にDBに追加されます
Fetching data for unknown item 'LFPG '
Fetching informations for 'LFPG ' from www.acarsd.org
Found data 'LFPG Paris-Aeroport Charles De Gaulle, France ' for request 'LFPG ' on www.acarsd.org
フライトDB
フライトDBは空港と違って、たびたび変更されるため厄介です
私はFlying Aceさんで配布されている、WACARS用データを変換して使用しています
このデータは再配布禁止なので、利用者が各自Flying Aceさんからダウンロードしてください
ここではどのようにしてacarsd用に変換するか解説します
UNIXを使う方はsedなどでスクリプトを組むと楽です
- Flying Aceさんからダウンロードしたデータを解凍します
いくつかファイルができますが、その中のROUTES.WDFというファイルを使用します
- このファイルには国際線のデータも入っています
そのまま使用しても良いのですが、国際線はacarsdのデータをそのまま使用するので
国内線以外は削除しました
- まずは区切りを変更します。JL1000=SAPPORO - TOKYOという形式を
JL1000TABSAPPORO - TOKYOTABTABXXXXXXXに変換します
TABはタブコードです
ちなみに、2個目と3個目のTABの間にはコメントが入ります
また、最後のXXXXXXXは運航日情報で、運行する日はX、欠航日は-ですが
面倒だし、特に利用していないようなので、全部XXXXXXXにしています
- 次に必要なのは、空港名の変換です。空港名を3レターに変換します(4レターでもよい)
ここで注意が必要なのは、TOKYO(NRT)のような表記があることです
当然これはNRTに変換する必要があります
先にTOKYO(NRT)をNRTに変換し、次にTOKYOをHNDに変換すればokです
TOKACHI-OBIHIROのような表記にも注意が必要です
また、数カ所TYPOが見受けられるので、変換後には全体を確認しましょう
- 最後に" - "を"-"に変換します
- 最終的にはJL1000TABSPK-HNDTABTABXXXXXXXのようになります
- 空港DBの時と同じく、flights.txtというファイルを別名にします
- ROUTES.WDFをflights.txtにリネームします
- acarsdを起動し、DatabaseメニューからDatabase manager(ALT-d)を選択します
- FlightsのTXT Dateが今日の日付になっているのを確認してください
- doitボタンを押します
- 10 new lines successfully imported, 3444 lines updated, 0 lines with errors.
のようなメッセージが表示されればok
- 5 lines with errorsのようにエラーがある場合は、テキストのデータに誤りがあります
- ALT-0でメインウインドウに切り替えてメッセージを確認してください
フライトDBにないフライトは、Flight id: JL1404 []
のように便名の後が空白になります
- acarsdは未知の便名があった場合、サーバーに問い合わせる機能があります
成功した場合、以下のようなメッセージが表示され、自動的にDBに追加されます
Fetching flight informations for 'JL0010' from amadeus.net
Found route 'NRT-ORD' for flight 'JL0010' on amadeus.net
Fetching informations from 'www.acarsd.org/addfn.php?f=JL0010&r=NRT-ORD'
Added flightnumber JL0010 NRT-ORD to your database