METAR/SPECI 問題から Kazakhstan–Kyrgyzstan relations に辿り着く、の巻

interpreting METAR and SPECI coded weather reports」のハナシ。

METAR/SPECI の「親玉」てのは、World Meteorological Organization (WMO)が作ったものである。(ひっじょーに読みにくい)仕様書はこれ(の FM_15_16)。ので、ここに書かれている範囲内のことは「世界中のどの METAR/SPECI でも通用する」もの、ということ。

で、RMK の説明:

The indicator RMK denotes the beginning of a section containing information included
by national decision which shall not be disseminated internationally.

国ごとに好き勝手に決めて運用しなはれ、ってスペックなのよ、もともと。ただ、「航空業界とか含めなんでも大親分」になりがちな「我らが合衆国」仕様が「結構アメリケン以外でも使われてるっぽい」、かつ、「とはいえやっぱしメリケンローカル」なのであることよ。このスペックは NOAA の chapter 12 of the Federal Meteorological Handbook No.1. (FMH-1 1995) に書かれている。アタシが使うのを避けた python-metar はこれを一所懸命やってる。けど、cycles に出てくるもの全部処理してみればやっぱり「全然違う」(つまり U.S. convention に基いて解釈すると滅茶苦茶な結果になる)ものが頻発。

要するに「アメリカ仕様を常に使うわけにはいかないので、空港コードから国名を調べ、アメリカじゃなかったら U.S. convention での解釈をしない」…としたかったわけなのだ。

ところがこれがなかなかに大変なことになった。

そもそも、なんだけど、「日本全国の駅一覧」的なほどには、「世界中の全ての空港」の数は全然多くない。(ちなみに「航空機の登録記号一覧、すら、一冊の本で済むほど少ない。) ので、「一覧データを丸ごと」って全然非現実的じゃないのね。1万はないのです。なんだけど、「全てを管理している機関(ICAO)がちゃんと機械が簡単に処理出来る形で(取り出しやすい形で)データを整理して公開してくれてない」てことが苦しいんだよな。

以前「ICAO registration」でテキストデータ取れた気がすんなぁ、と思ったがこれは FAA の方だった。記憶だと FAA のほうに空港一覧的なのはなかった気がする。

で、これまではずっと openflights.org を頼りにしてきたのね。日本の一覧が欲しいだけなら全然これで足りる。が、これで cycles にあるものを処理すると、まぁ随分抜けがあるのね。このデータ、現時点で 2 年も塩漬けされてる。

と、python-metar を見直していたら、nsd_cccc.txt なんてのを管理していた。あぁ、「国」はこれでもわかるな、でもこれ、どっから持ってきたんだろう、と。答えは「http://www.noaa.gov/nsd_cccc.txt」なんだけれども、つまり NOAA が「公開していた」んだけど、行ってみればわかる通り、Not Found。ははぁん、だから抱え込んだのか。

で真似して nsd_cccc.txt でもやってみるも…、やはり cycles に出てくるものを結構当てられない。較べてないけど openflights のものと大差ない印象。

うーんどうしたものか、と悩んでいたら、ICAO 4 letter code は国・地域を示すプレフィクスを持っていることを知る。そうか、これでもいけるか。

ただ…、「Wikipedia はデータベースじゃない」、つまり、「Wikipedia からデータを取得する」てのは、「汚い処理で書く」もしくは「手作業」なわけなので、ほかに取りやすいとこないかなーと探していたら Landings.com なんてのを発見。これなら手作業は少ないぞ、と。

やってみたら…、どうも KYRGYZSTAN のデータを間違っているっぽいのね。KYRGYZSTAN のプレフィクスは UC が正解らしく、UA は Kazakhstan。いやん、と思ってたんだけど、そういえばキリギスタンとカザフスタンてすぐ側じゃなかったかしら、と、普段世界情勢に無頓着なアタシでも思い出せる範囲で思い出し…あ、お隣でやんの

てだけ。おしまい。

この試行錯誤の記録が全部 レポジトリに記録されてるので、興味があったら読んでみたらいいよ。