はじめに
この投稿を読んでいる皆さん、こんにちは。
航空は私の趣味です、私はすでにそれについて書きました。 私は何時間も立って飛行機の写真を撮り、それらについてのビデオを見て、 エアマンのブログを読んで、 fr24.comで交通を監視する準備ができています。 また、航空では、ECAM、CDA、ACES、APUなどの略語が1つしかありません。 一般的に、魔法。 しかし、私の環境のほとんどすべての人は航空に無関心です。「まあ、飛行機、飛行機のように。 いいですね なに? ボーイング777-300ER? まあ、明らかに、明らかに...」。 しかし、何もする必要はありません。すべてのマーカーの味と色は異なります。
断食のアイデアはどのように思いついたのですか? シェレメーチエヴォ国際空港から車で20分ほどの場所に住んでいました。 どういうわけか私は自由な時間を過ごし、小さな写真を撮るようになりました。 私がそこにいる間に、約10機が私を通り過ぎました。 ほとんどすべてがアエロフロートです。 私は主張しません、アエロフロートには興味深い側面があります。 たとえば、 ドブロレットまたはホフロマ 。 しかし、その日私は幸運ではなかった、私はそのようなものを見ていませんでした。 そして、そのような旅行を計画することは非常に有用だと思いました。 そして、断食のアイデアが生まれました。 次の機能が必要でした:出発表-選択した空港の到着、興味深いボットとあまりボットではないものの両方の色の強調表示、pdfへのエクスポート。
さあ始めましょう!
したがって、最初に行う必要があるのは、 https://developer.flightstats.comにアクセスして登録し、ダッシュボードに移動して、[新しいアプリケーションを作成]ボタンをクリックすることです。 これは、多数のAppId + AppKeyを取得するために必要です。これがないと、APIにアクセスできません。 一般に、それは支払われますが、無料の料金プランもあります-「 評価プラン 」、私たちのニーズに対するその能力は完全に十分でしょう。 その後、「 Get Started 」->「 Flex API Reference 」->「 Flight Status&Track API 」->「 Flight Status&Track by Airport 」に大胆に進みます 。 ページの下部に「 対話型ドキュメント 」セクションがあり、「 空港の状態(出発) 」を選択します。 このリクエストには7つの必須フィールドがあり、次のように入力する必要があります。appId | appKey | 空港 | 年 | 月 | 日 | hourOfDay |
あなたのappId | あなたのappKey | SVO | 2013 | 12 | 7 | 10 |
数秒後、答えが表示されます。
つまり、2014年12月7日にシェレメーチエヴォ空港から10時間後に出発するフライトについての情報を求めました。 はい、SVO-シェレメチェボ。 また、UUEE-シェレメチェボ。 覚えておいて、私は略語について少しだけ話したのですか? ここで、最初に出くわしました。
空港コード。 IATA vs. ICAO
IATA-国際航空運送協会、 IATA (英語国際航空運送協会)国際非政府組織。 協会はコーディネーターとして行動し、航空安全、飛行操作、関税政策、保守、航空安全、ICAOと連携した国際標準の開発などの分野における航空輸送業界の利益を代表しています。
ICAO-国際民間航空機関は国連の専門機関であり、民間航空の国際基準を設定し、安全性と効率性を高めるために開発を調整しています。
IATAとICAOの両方に独自の空港コードがあります。 IATAコードは空港の名前に合わせて選択され、ICAOコードは空港の場所に基づいているため、これらは異なります。 それが、シェレメーチエヴォがIATAコードSVOとICAO-UUEEを持っている理由です。プルコボの場合、たとえばそれぞれLEDとULLIです。 唯一の例外は、米国の空港(IATAコードに「K」を追加:ロサンゼルス-LAX-KLAX)およびカナダ(「C」を追加:トロント-YYZ-CYYZ)です。
フライト統計に回答する
このリクエストでは、レスポンスの構造は次のとおりです。
{ } "appendix": { "airlines": {...} "airports": {...} "equipments": {...} "flightStatuses": {...} }
航空会社 、 空港 、および機器のセクションには、flightStatusesセクションにある航空会社、空港、および航空機の種類の説明が含まれています。
航空会社のセクションは非常にシンプルです:
"airlines": [ { "fs": "SU", "iata": "SU", "icao": "AFL", "name": "Aeroflot", "active": true }, ...
「fs」フィールドには、flightStatsデータベースの航空会社コードが含まれています。 ほとんどの場合、IATAコードと一致します。
空港セクションはより複雑です。
"airports": [ { "fs": "BUD", "iata": "BUD", "icao": "LHBP", "name": "Liszt Ferenc International Airport", "city": "Budapest", "cityCode": "BUD", "countryCode": "HU", "countryName": "Hungary", "regionName": "Europe", "timeZoneRegionName": "Europe/Budapest", "localTime": "2013-12-06T20:51:56.974", "utcOffsetHours": 1, "latitude": 47.433037, "longitude": 19.261621, "elevationFeet": 495, "classification": 2, "active": true, "delayIndexUrl": "https://api.flightstats.com/flex/delayindex/rest/v1/json/airports/BUD?codeType=fs", "weatherUrl": "https://api.flightstats.com/flex/weather/rest/v1/json/all/BUD?codeType=fs" }, ...
天気と遅延係数を除き、必要なすべての情報が含まれています。これらは別途要求する必要があります。
セクション「機器」。
"equipments": [ { "iata": "319", "name": "Airbus Industrie A319", "turboProp": false, "jet": true, "widebody": false, "regional": false }, ...
航空機の基本的な特性を説明します。
APIから再び脱線しましょう。
航空機の種類を区別することを学ぶ
これはまったく難しいことではありません。 空の車の世界を簡単にナビゲートするのに役立つ小さな図(クリック可能)を用意しました。 Rasckoからの追加ガイド
そして今、私の言葉の確認:
エアバスA380対 ボーイング747
IL-96対 エアバスA340
ボーイング737対 エアバスA320
ボーイング757対 ボーイング767
エアバスA330対 ボーイング777
ヤク42対 Tu-154対 マクドネルダグラスMD-11
フライトの解析
flightStatusの内容。 長いので非表示
{ "flightId": 317846653, "carrierFsCode": "SU", "flightNumber": "2030", "departureAirportFsCode": "SVO", "arrivalAirportFsCode": "BUD", "departureDate": { "dateLocal": "2013-12-07T10:50:00.000", "dateUtc": "2013-12-07T06:50:00.000Z" }, "arrivalDate": { "dateLocal": "2013-12-07T10:35:00.000", "dateUtc": "2013-12-07T09:35:00.000Z" }, "status": "L", "schedule": { "flightType": "J", "serviceClasses": "RJY", "restrictions": "" }, "operationalTimes": { "publishedDeparture": { "dateLocal": "2013-12-07T10:50:00.000", "dateUtc": "2013-12-07T06:50:00.000Z" }, "publishedArrival": { "dateLocal": "2013-12-07T10:35:00.000", "dateUtc": "2013-12-07T09:35:00.000Z" }, "scheduledGateDeparture": { "dateLocal": "2013-12-07T10:50:00.000", "dateUtc": "2013-12-07T06:50:00.000Z" }, "estimatedGateDeparture": { "dateLocal": "2013-12-07T10:50:00.000", "dateUtc": "2013-12-07T06:50:00.000Z" }, "actualGateDeparture": { "dateLocal": "2013-12-07T11:27:00.000", "dateUtc": "2013-12-07T07:27:00.000Z" }, "scheduledGateArrival": { "dateLocal": "2013-12-07T10:35:00.000", "dateUtc": "2013-12-07T09:35:00.000Z" }, "estimatedGateArrival": { "dateLocal": "2013-12-07T11:12:00.000", "dateUtc": "2013-12-07T10:12:00.000Z" }, "actualGateArrival": { "dateLocal": "2013-12-07T10:43:00.000", "dateUtc": "2013-12-07T09:43:00.000Z" } }, "delays": { "departureGateDelayMinutes": 37, "arrivalGateDelayMinutes": 8 }, "flightDurations": { "scheduledBlockMinutes": 165, "blockMinutes": 136 }, "airportResources": { "departureTerminal": "D", "departureGate": "28", "arrivalTerminal": "2" }, "flightEquipment": { "scheduledEquipmentIataCode": "320", "actualEquipmentIataCode": "A320", "tailNumber": "VP-BWI" } }, ...
ほとんどの場合、フィールドの目的は明らかです。 内容が完全に明らかではないものについてのみ詳細に説明します。 なんで? そうです、カットだからです。
答えのこの部分は次のとおりです。
"status": "L", "schedule": { "flightType": "J", "serviceClasses": "RJY", "restrictions": "" },
フィールド | 説明 |
状態 | 現在のフライト状況
A-アクティブ C-キャンセル済み D-迂回-目的地の変更が行われた(たとえば、気象条件に応じて) DN-データソースが必要-ステータス情報を取得する場所がありません L-着陸 いいえ -操作不可 R-リダイレクトされました S-スケジュール済み U-不明 |
flightType | フライトのタイプ。 合計で23個あります。 例えば
J-定期旅客-定期旅客 M-定期貨物/郵便(MailOnly)-貨物、ただし手紙のみ。 W-軍事-軍事 |
serviceClasses | IATAフライトで提供されるサービスオプション。 詳細はこちら-http://en.wikipedia.org/wiki/IATA_class_codes |
制限事項 | IATA分類の制限。 詳細-http ://www.flyerguide.com/wiki/index.php/Traffic_Restriction_Codes_(AA) |
プログラミング
今は、Python 2.7、urllib2、simplejsonを使用しています。
最初に行うことは、必要なライブラリを接続し、変数を初期化することです。
import urllib2 import simplejson appId = " appId " appKey = " appKey " # . flightstats, ICAO IATA requestedAirport = "SVO" # . arr - , dep - flightsType = "arr" # requestedDate = "2013/12/7" # , requestedHour = "15" # , requestedNumHours = "6"
次のステップでは、これらの変数をURLにパックし、リクエストを送信して、応答を待ちます。
# url = "https://api.flightstats.com/flex/flightstatus/rest/v2/json/" \ "airport/status/%s/%s/%s/%s?appId=%s&appKey=%s&utc=false&numHours=%s" # url = url %(requestedAirport, flightsType, requestedDate, requestedHour, appId, appKey, requestedNumHours) # JSON- req = urllib2.Request(url, None) opener = urllib2.build_opener() f = opener.open(req) response = simplejson.load(f)
次に、補助フィールドを解析します。 リスト内の航空機と飛行機の詳細な名前を置き換えるためにそれらが必要です。
# airports = response["appendix"]["airports"] # (dictionary) airportsDict = dict() # [ flightstats]:[] for airport in airports: airportsDict[airport["fs"]] = airport["name"] # ... equipments = response["appendix"]["equipments"] equipmentsDict = dict() for equipment in equipments: equipmentsDict[equipment["iata"]] = equipment["name"], equipment["iata"] #... airlines = response["appendix"]["airlines"] airlinesDict = dict() for airline in airlines: airlinesDict[airline["fs"]] = airline["name"]
コードの結果は、次のような表になります。
フライト | 運送業者 | 装備品 | 登録 | から | STD | ATD | に | STA | STD |
---|---|---|---|---|---|---|---|---|---|
XQ114 | SunExpress | ボーイング737-800の乗客 | D-asxa | アンタルヤ | 15:00:00.000 | --- | Cgn | 17:55:00.000 | --- |
データをHTMLで出力します。
# webPage = "<html><body><table border=\"1\"> \ <tr><th>Flight</th><th>Carrier</th><th>Equipment</th><th>Registration</th><th>From</th><th>STD</th> \ <th>ATD</th><th>To</th><th>STA</th><th>ETA</th></tr>" # templateRow = "<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td> \ <td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>" f = open("./list.html", "w")
次に、補助関数を作成する必要があります。
必要な値は異なる深さにあります。 たとえば、深さ0の
carrierFsCode
、空港コード。 実際の出発時間を取得するには、2番目の深さ(
operationalTimes --> actualGateDeparture --> dateLocal"
必要があります。これを行うには、最初の補助関数が必要です。
def getProperty(status, propertyNames): # try: # propertyNames for propertyName in propertyNames: # status = status[propertyName] # ! return status except # , return "---"
ここで最も興味深いのは、トラフィックに最も関心のあるものを選択する必要があることです。 次の3つの配列に含まれています。
interestingCarriers = ["RU", # AirBridgeCargo "CU", # Cubana de Aviacion "ME", # China Eastern Airlines "KE", # Korean Air Lines ] interestingEquipments = ["SU9"] # Sukhoi Superjet 100 interestingTailNumbers = ["VP-BGB"] # Boeing 777-300ER
そして今、実際には、パーサー:
for flightStatus in flightStatuses: newRow = templateRow %(getProperty(flightStatus, ["carrierFsCode"]) + getProperty(flightStatus, ["flightNumber"]), airlinesDict[getProperty(flightStatus, ["carrierFsCode"])], getProperty(flightStatus, ["flightEquipment", "scheduledEquipmentIataCode"]), getProperty(flightStatus, ["flightEquipment", "tailNumber"]), str(airportsDict[getProperty(flightStatus, ["departureAirportFsCode"])]).replace("Airport", ""), str(getProperty(flightStatus, ["departureDate", "dateLocal"])).split("T")[-1], str(getProperty(flightStatus, ["operationalTimes", "actualGateDeparture", "dateLocal"])).split("T")[-1], str(airportsDict[getProperty(flightStatus, ["arrivalAirportFsCode"])]).replace("Airport", "") str(getProperty(flightStatus, ["arrivalDate", "dateLocal"])).split("T")[-1], str(getProperty(flightStatus, ["operationalTimes", "estimatedGateArrival", "dateLocal"])).split("T")[-1]) # if (getProperty(flightStatus, ["carrierFsCode"]) in interestingCarriers) or \ (getProperty(flightStatus, ["flightEquipment", "scheduledEquipmentIataCode"]) in interestingEquipments) or \ (getProperty(flightStatus, ["flightEquipment", "tailNumber"]) in interestingTailNumbers): newRow = newRow.replace("<tr>", "<tr bgcolor=\"#FF0000\">") # webPage += newRow
最後の仕上げ-ページの最後にタグを追加し、ファイルを閉じます。
webPage = webPage + "</table></body></html>" f.write(webPage) f.close()
作業結果
フライト | 運送業者 | 装備品 | 登録 | から | STD | ATD | に | STA | えた |
---|---|---|---|---|---|---|---|---|---|
SU155 | アエロフロート | 332 | VQ-BBE | カンクン国際 | 午後12時30分 | 13:17:00.000 | シェレメーチエヴォ国際空港 | 10:30:00.000 | 11:03:00.000 |
DL466 | デルタ航空 | 76W | --- | ジョン・F・ケネディ・インターナショナル | 16:15:00.000 | 16:14:00.000 | シェレメーチエヴォ国際空港 | 10:50:00.000 | 10:12:00.000 |
SU111 | アエロフロート | 332 | VP-BLX | マイアミインターナショナル | 17:35:00.000 | 18:35:00.000 | シェレメーチエヴォ国際空港 | 13:45:00.000 | 13:46:00.000 |
SU103 | アエロフロート | 333 | VP-BDE | ジョン・F・ケネディ・インターナショナル | 19:05:00.000 | --- | シェレメーチエヴォ国際空港 | 13:25:00.000 | 13:34:00.000 |
UN576 | Transaero Airlines | 744 | EI-XLJ | プンタカナ国際 | 19:55:00.000 | 21:18:00.000 | シェレメーチエヴォ国際空港 | 14:50:00.000 | 15:35:00.000 |
RU566 | AirBridgeCargo | 74年 | --- | フランクフルト・アム・マイン | 04:45:00.000 | --- | シェレメーチエヴォ国際空港 | 11:00:00.000 | --- |
RU498 | AirBridgeCargo | 74N | --- | 上海浦東国際 | 05:00:00.000 | --- | シェレメーチエヴォ国際空港 | 10:45:00.000 | --- |
SU233 | アエロフロート | 332 | --- | インディラガンジーインターナショナル | 05:05:00.000 | 05:26:00.000 | シェレメーチエヴォ国際空港 | 10:10:00.000 | 10:13:00.000 |
RU506 | AirBridgeCargo | 74N | --- | ミラノ・マルペンサ | 05:30:00.000 | --- | シェレメーチエヴォ国際空港 | 12:00:00.000 | --- |
SU1827 | アエロフロート | 320 | Vq-baz | シンフェロポリ | 06:00:00.000 | 06:25:00.000 | シェレメーチエヴォ国際空港 | 10:15:00.000 | 10:40:00.000 |
SU2437 | アエロフロート | 320 | VP-BLH | デュッセルドルフ国際 | 06:05:00.000 | 06:27:00.000 | シェレメーチエヴォ国際空港 | 12:25:00.000 | 12:24:00.000 |
RU440 | AirBridgeCargo | 74N | VP-BIM | 香港インターナショナル | 06:15:00.000 | 06:15:00.000 | シェレメーチエヴォ国際空港 | 12:25:00.000 | --- |
KE529 | 大韓航空 | 74年 | Hl7466 | 仁川インターナショナル | 06:25:00.000 | 07:07:00.000 | シェレメーチエヴォ国際空港 | 10:40:00.000 | --- |
JU650 | ジェットエアウェイズ | 733 | --- | ベオグラード・ニコラ・テスラ | 06:45:00.000 | 06:45:00.000 | シェレメーチエヴォ国際空港 | 12:35:00.000 | 12:39:00.000 |
PS561 | UIA | 73N | ウルギャップ | キエフ/キエフ-ボリスポル | 07:00:00.000 | 07:00:00.000 | シェレメーチエヴォ国際空港 | 10:35:00.000 | 10:35:00.000 |
SU1009 | アエロフロート | 321 | VQ-BED | カリーニングラード | 07:10:00.000 | 07:36:00.000 | シェレメーチエヴォ国際空港 | 10:00:00.000 | 10:26:00.000 |
AF1644 | エールフランス | 319 | F-GRHL | シャルルドゴール | 07:15:00.000 | 07:13:00.000 | シェレメーチエヴォ国際空港 | 13:55:00.000 | 13:52:00.000 |
SU1867 | アエロフロート | 320 | VP-BQP | ズヴァルトノッツインターナショナル | 08:10:00.000 | 08:21:00.000 | シェレメーチエヴォ国際空港 | 11:00:00.000 | 11:11:00.000 |
5N502 | ノルダビアリージョナル航空 | 735 | --- | スィクティフカル | 08:20:00.000 | 08:27:00.000 | シェレメーチエヴォ国際空港 | 10:15:00.000 | 10:11:00.000 |
Kc893 | エアアスタナ | 320 | P4-kbc | アスタナ | 08:40:00.000 | 08:36:00.000 | シェレメーチエヴォ国際空港 | 10:20:00.000 | 10:49:00.000 |
SU3 | アエロフロート | 321 | VP-BWO | プルコヴォ | 08:55:00.000 | 09:04:00.000 | シェレメーチエヴォ国際空港 | 10:20:00.000 | 10:29:00.000 |
SU1513 | アエロフロート | 319 | VP-BWA | スルグート | 09:00:00.000 | 08:59:00.000 | シェレメーチエヴォ国際空港 | 10:35:00.000 | 10:34:00.000 |
SU1293 | アエロフロート | 320 | VQ-BIV | カザン | 09:00:00.000 | 09:27:00.000 | シェレメーチエヴォ国際空港 | 10:30:00.000 | 10:50:00.000 |
SU1229 | アエロフロート | 320 | VP-BDK | ニジニ・ノヴゴロド | 09:05:00.000 | 09:21:00.000 | シェレメーチエヴォ国際空港 | 10:25:00.000 | 10:41:00.000 |
SU1309 | アエロフロート | 319 | VP-BDO | サマラ | 09:15:00.000 | 09:20:00.000 | シェレメーチエヴォ国際空港 | 10:55:00.000 | 11:00:00.000 |
AY153 | フィンエアー | 319 | OH-LVI | ヘルシンキ・ヴァンター | 09:25:00.000 | 09:29:00.000 | シェレメーチエヴォ国際空港 | 13:05:00.000 | 12:57:00.000 |
OK892 | CSA | 319 | --- | ヴァーツラフハヴェルプラハ | 09:30:00.000 | 09:31:00.000 | シェレメーチエヴォ国際空港 | 15:10:00.000 | 15:05:00.000 |
SU2005 | アエロフロート | 320 | VP-BWI | J.ポールIIインターナショナルクラクフバリス | 09:35:00.000 | 09:56:00.000 | シェレメーチエヴォ国際空港 | 14:40:00.000 | 14:49:00.000 |
SU1121 | アエロフロート | 320 | VP-BTI | アドラー/ソチ | 09:50:00.000 | 09:55:00.000 | シェレメーチエヴォ国際空港 | 12:20:00.000 | 12:25:00.000 |
SU2685 | アエロフロート | 320 | VQ-BCM | シェーネフェルト | 09:50:00.000 | 10:44:00.000 | シェレメーチエヴォ国際空港 | 15:25:00.000 | 16:15:00.000 |
SU5 | アエロフロート | 320 | VQ-BAX | プルコヴォ | 09:55:00.000 | 10:20:00.000 | シェレメーチエヴォ国際空港 | 11:15:00.000 | 11:40:00.000 |
SU1839 | アエロフロート | SU9 | RA-89010 | ハリコフ | 09:55:00.000 | 10:10:00.000 | シェレメーチエヴォ国際空港 | 13:30:30.000 | 13:20:00.000 |
SU2321 | アエロフロート | 320 | VQ-BHL | フランツ・ヨーゼフ・シュトラウス | 10:00:00.000 | 10:16:00.000 | シェレメーチエヴォ国際空港 | 16:00:00.000 | 16:16:00.000 |
SU1001 | アエロフロート | 320 | VP-BLL | カリーニングラード | 10:05:00.000 | 10:25:00.000 | シェレメーチエヴォ国際空港 | 12:55:00.000 | 13:15:00.000 |
R25807 | オレネア | 738 | --- | バルナウル | 10:10:00.000 | 10:15:00.000 | シェレメーチエヴォ国際空港 | 11:30:00.000 | 11:35:00.000 |
SU1307 | アエロフロート | 320 | VP-BKX | トルマチョーボ | 10:15:00.000 | 10:19:00.000 | シェレメーチエヴォ国際空港 | 11:25:00.000 | 11:29:00.000 |
SU1701 | アエロフロート | 333 | VQ-BNS | ウラジオストック国際 | 10:20:00.000 | 10:24:00.000 | シェレメーチエヴォ国際空港 | 12:25:00.000 | 12:29:00.000 |
SU1805 | アエロフロート | 321 | VP-BOE | キエフ/キエフ-ボリスポル | 10:20:00.000 | 11:00:00.000 | シェレメーチエヴォ国際空港 | 13:50:00.000 | 14:30:00.000 |
SU2137 | アエロフロート | 321 | VQ-BHK | イスタンブールアタチュルク | 10:20:00.000 | 11:03:00.000 | シェレメーチエヴォ国際空港 | 15:15:00.000 | 15:26:00.000 |
SK734 | SAS | 320 | オイカップ | コペンハーゲン | 10:20:00.000 | 10:46:00.000 | シェレメーチエヴォ国際空港 | 15:45:00.000 | 16:02:00.000 |
SU7 | アエロフロート | 320 | --- | プルコヴォ | 10:25:00.000 | 10:43:00.000 | シェレメーチエヴォ国際空港 | 11:45:00.000 | 12:03:00.000 |
SU1813 | アエロフロート | 320 | VP-BRX | ドネツク | 10:30:00.000 | 10:31:00.000 | シェレメーチエヴォ国際空港 | 14:25:00.000 | 14:26:00.000 |
SU1831 | アエロフロート | 320 | --- | ミンスクインターナショナル2 | 10:50:00.000 | 11:40:00.000 | シェレメーチエヴォ国際空港 | 13:15:00.000 | 14:05:00.000 |
SU2107 | アエロフロート | 320 | VP-BZS | タリン | 10:50:00.000 | 10:54:00.000 | シェレメーチエヴォ国際空港 | 14:30:00.000 | 14:18:00.000 |
SU1479 | アエロフロート | 319 | VP-BDM | アバカン | 10:55:00.000 | 10:55:00.000 | シェレメーチエヴォ国際空港 | 11:55:00.000 | 11:55:00.000 |
SU1483 | アエロフロート | 77W | VP-BGB | クラスノヤルスク | 11:00:00.000 | 11:13:00.000 | シェレメーチエヴォ国際空港 | 11:35:00.000 | 11:48:00.000 |
SU2683 | アエロフロート | 319 | VQ-BCO | リガ | 11:00:00.000 | 11:24:00.000 | シェレメーチエヴォ国際空港 | 14:35:00.000 | 14:44:00.000 |
D95399 | ドナビア | 319 | VP-BNN | スタブロポリ | 11:15:00.000 | 11:17:00.000 | シェレメーチエヴォ国際空港 | 13:30:30.000 | 13:32:00.000 |
SU2035 | アエロフロート | SU9 | RA-89008 | オトペニインターナショナル | 11:15:00.000 | 11:28:00.000 | シェレメーチエヴォ国際空港 | 15:35:00.000 | 15:33:00.000 |
SU11 | アエロフロート | 320 | --- | プルコヴォ | 11:30:00.000 | 11:49:00.000 | シェレメーチエヴォ国際空港 | 12:45:00.000 | 13:04:00.000 |
SU1139 | アエロフロート | 321 | VQ-BKU | アドラー/ソチ | 11:35:00.000 | 11:55:00.000 | シェレメーチエヴォ国際空港 | 14:00:00.000 | 14:20:00.000 |
SU1211 | アエロフロート | 320 | VQ-BIT | サマラ | 11:40:00.000 | 12:13:00.000 | シェレメーチエヴォ国際空港 | 13:25:00.000 | 13:42:00.000 |
SU1759 | アエロフロート | SU9 | VP-BZQ | ヴォルゴグラード | 11:45:00.000 | 11:53:00.000 | シェレメーチエヴォ国際空港 | 13:35:00.000 | 13:43:00.000 |
SU1255 | アエロフロート | 319 | VP-BDN | ベギシェボ | 11:50:00.000 | 12:03:00.000 | シェレメーチエヴォ国際空港 | 13:40:00.000 | 13:53:00.000 |
SU1643 | アエロフロート | 320 | VQ-BIW | アストラハン | 11:50:00.000 | 11:55:00.000 | シェレメーチエヴォ国際空港 | 14:10:00.000 | 14:15:00.000 |
SU1305 | アエロフロート | 320 | VP-BLP | ミネラルニエボディ | 11:50:00.000 | 12:08:00.000 | シェレメーチエヴォ国際空港 | 14:15:00.000 | 14:33:00.000 |
SU1761 | アエロフロート | 738 | VP-BRH | 知多 | 11:55:00.000 | 12:00 10:00 | シェレメーチエヴォ国際空港 | 12:45:00.000 | 13:00:00.000 |
SU1221 | アエロフロート | 320 | VP-BMF | ニジニ・ノヴゴロド | 12:05 p.m. | 12:12:00.000 | シェレメーチエヴォ国際空港 | 13:10:00.000 | 13:17:00.000 |
SU1743 | アエロフロート | 333 | VQ-BQX | ユジノサハリンスク | 12:00 10:00 | 12:20:00.000 | シェレメーチエヴォ国際空港 | 14:05:00.000 | 14:15:00.000 |
D95301 | ドナビア | 734 | VQ-BCS | ロストフ | 12:15:00.000 | 12:28:00.000 | シェレメーチエヴォ国際空港 | 14:15:00.000 | 14:28:00.000 |
SU13 | アエロフロート | 319 | --- | プルコヴォ | 12:20:00.000 | 12:50:00.000 | シェレメーチエヴォ国際空港 | 13:35:00.000 | 14:05:00.000 |
5N117 | ノルダビアリージョナル航空 | 735 | --- | アルハンゲリスク | 12:20:00.000 | 12:25:00.000 | シェレメーチエヴォ国際空港 | 14:05:00.000 | 14:10:00.000 |
SU1191 | アエロフロート | 320 | VQ-BEA | カザン | 12:25:00.000 | 13:04:00.000 | シェレメーチエヴォ国際空港 | 13:55:00.000 | 14:34:00.000 |
SU1751 | アエロフロート | 738 | VP-BRF | ヤクーツク | 午後12時30分 | 12:58:00.000 | シェレメーチエヴォ国際空港 | 13:15:00.000 | 13:43:00.000 |
SU1547 | アエロフロート | SU9 | --- | アナパ | 午後12時30分 | 12:50:00.000 | シェレメーチエヴォ国際空港 | 14:45:00.000 | 15:05:00.000 |
D95377 | ドナビア | 319 | --- | ミネラルニエボディ | 12:45:00.000 | 13:03:00.000 | シェレメーチエヴォ国際空港 | 15:10:00.000 | 15:28:00.000 |
D95363 | ドナビア | 319 | VP-BQK | ロストフ | 13:05:00.000 | 13:20:00.000 | シェレメーチエヴォ国際空港 | 15:05:00.000 | 15:20:00.000 |
SU1411 | アエロフロート | 321 | VQ-BOI | コルツォヴォ国際 | 13:15:00.000 | 13:43:00.000 | シェレメーチエヴォ国際空港 | 13:40:00.000 | 14:08:00.000 |
SU1731 | アエロフロート | 333 | VQ-BCQ | ペトロパブロフスク・カムチャツキー | 13:30:30.000 | 13:44:00.000 | シェレメーチエヴォ国際空港 | 14:30:00.000 | 14:44:00.000 |
SU15 | アエロフロート | 320 | --- | プルコヴォ | 13:30:30.000 | 13:39:00.000 | シェレメーチエヴォ国際空港 | 14:45:00.000 | 14:52:00.000 |
SU1231 | アエロフロート | 320 | VP-BLR | ウファ | 13:55:00.000 | 14:19:00.000 | シェレメーチエヴォ国際空港 | 14:00:00.000 | 14:24:00.000 |
SU1421 | アエロフロート | 320 | VP-BNL | チェリャビンスク | 13:55:00.000 | 13:56:00.000 | シェレメーチエヴォ国際空港 | 14:20:00.000 | 14:21:00.000 |
R25803 | オレネア | 738 | --- | イルクーツク | 14:05:00.000 | 14:30:00.000 | シェレメーチエヴォ国際空港 | 14:50:00.000 | 15:15:00.000 |
SU1201 | アエロフロート | SU9 | --- | パーマ | 14:10:00.000 | --- | シェレメーチエヴォ国際空港 | 14:25:00.000 | 14:25:00.000 |
5N9134 | ノルダビアリージョナル航空 | --- | --- | カザン | 14:10:00.000 | 15:07:00.000 | シェレメーチエヴォ国際空港 | 15:30:00.000 | --- |
SU17 | アエロフロート | 320 | --- | プルコヴォ | 14:25:00.000 | 14:56:00.000 | シェレメーチエヴォ国際空港 | 15:40:00.000 | 16:11:00.000 |
今後の仕事
- 結果でテーブルをより美しく見せたい
- Webページの印刷とは異なり、PDFへの通常の出力
- Androidアプリ