地図上に観測地点を表示する
実習の準備
X Window (Windows パソコンでは Xming) を起動したうえで、
端末 (Windows パソコン では TeraTerm) で niigata にログインして、
各自のホームディレクトリで
(この授業用のディレクトリをつくっている人はそこに cd したうえで)
つぎのことをやってください。
- cp -r /home/masudako/ex/ex7 . 【ex7 のあとスペース、ピリオド、そして Enterキーをおす】
- cd ex7
- ls
気象庁の観測地点表 (「気象官署等」)
気象庁の気象官署等 (気象台、測候所、特別地域気象観測所など) の
地点名、緯度、経度などの一覧表を CSV ファイルで用意した。
- jma_stations.csv (文字コード ASCII)
- [注] これは気象庁ウェブサイトの
「各種データ・資料 > 過去の気象データ検索 > 利用される方へ > 観測概要と観測所一覧」
のページにある「地上気象観測 地点情報履歴ファイル」smaster.index.zip を 2022年 7月にダウンロードして
そこにふくまれた情報を増田が編集したものである。
各列はつぎのとおり。
列番号 | 列名 | 意味 | 表計算での列記号 |
0 | wmoid | 国際地点番号 | A |
1 | stname_roma | 地点名 (ローマ字) | B |
2 | lat | 緯度 (北緯、度) | C |
3 | lon | 経度 (東経、度) | D |
4 | height | (気圧計の) 高さ (海抜、m) | E |
5 | observatory | 気象台ならば1、他は空欄 | F |
また、第6列 (G列) に、地点名 (漢字) を追加したつぎのファイルも用意した。
地名についての注意
- ローマ字つづりは、ヘボン式、長音記号なし (長音短音の区別なし)、「ン」はつねに「n」とした。
地名の頭文字だけ大文字、他は小文字とした。
[日本語のローマ字表記について]のページ参照。
- 気象庁のダウンロードサイトの地点名表記で
「つくば (館野)」と「奥日光 (日光)」となっている地点は、
ローマ字では「Tateno」「Nikko」、漢字では「つくば」「奥日光」としてある。
気象官署等を地図上に表示する
- 71a_map_jma_stations.py (文字コード UTF-8)
- つかいかた
- 地図の緯度経度範囲を、lonmin, lonmax, latmin, latmax であたえる。
現状は前回の「kanto_chubu」と同じにしてあるが、日本全国の範囲で変更可能。
- 表の列を jvar で選択する。
0:国際地点番号、1:地点名 (ローマ字)、2:緯度、3:経度、4:高さ。
- 記号と文字の色は、気象台のばあい赤、その他は青にしてあるが、
その指定のしかたがわかれば変更可能である。
- 画像ファイルに保存したいときは、plt.show() をコメントにして、
plt.savefig() をふくむ複数行の「## 」をはずす。
また、ex7 の下にディレクトリ image をつくっておく。
地形の標高をかさねる。その部分は前回の [地図をかく (3)]の
63a_kanto_chubu.py (ただし、前回の授業後に改訂したバージョン)
と同じ。contourf で alpha=0.5 を指定して色を半透明にしたが、
地点表示の色とのかねあいはなお改良が必要である。
アメダスの地点表
- amedas_stations.csv (文字コード Shift_JIS)
- [注] これは気象庁ウェブサイトの
「知識・解説 > 気象衛星・気象観測 > 地域気象観測システム(アメダス)」
のページにある「地域気象観測所一覧 [ZIP圧縮形式]」ame_master.zip を 2023年 8月にダウンロードして
そこにふくまれた情報を増田が編集したものである。
アメダスの地点を地図上に表示する
- 73b_map_amedas_stations.py (文字コード UTF-8)
- 緯度経度範囲は 72b とおなじにした。
- さらに、plt.text で指定する fontsize をちいさめにしたが、
それでも文字どうしがかさなってしまうところがある。自動処理ではさけられないだろう。
- 文字の色は、ひとまず、地点表の typeの列が 1 (雨量計だけの地点) のばあい 赤、その他を青にしてある。
地形の標高をかさねる。
気象官署等の観測値データの例
- daily201807cjapan.csv (文字コード Shift_JIS)
- 2024年6月24日に気象庁サイトからダウンロードしたもの。
- 地点: 71a の地図と同じ範囲に含まれる気象官署等のある
都道府県の気象官署等。ただし富士山は省略した。
- 気象要素: 日別値。日平均気温、最高気温、最低気温、降水量、日照時間。
- 期間: 2018年 7月 の毎日 (熊谷で最高気温の記録を更新した 2018年 7月 23日をふくむ)。
気象官署等の観測値を地図上に表示する例
ここでは気象庁からダウンロードしたcsvファイルを加工しないで利用するために
ちょっとこみいったことをしている。
データを解析する際には、むしろ、データを解析にむく形に加工したうえで、
それを図示するようにプログラムを書くほうがよいだろう。
- 75a_map_dailyobs.py (文字コード UTF-8)
- つかいかた
- 地図の緯度経度範囲を、lonmin, lonmax, latmin, latmax であたえる。
(今回用意した観測データは日本全国ではないことに注意。)
- 気象要素を jvar で選択する。
0:日平均気温、1:最高気温、2:最低気温、3:降水量、4:日照時間。
- 期間を krecstart, krecend で指定する。
日付ではなく、記録のある時刻の番号で、はじまりが 0 であることに注意。
- 画像ファイルに保存したいときは、plt.show() をコメントにして、
plt.savefig() をふくむ複数行の「## 」をはずす。
また、ex7 の下にディレクトリ image をつくっておく。
- 注
- 2023年度の [観測点ごとの気象データを図示する] の
28e_map_tmpmax_kanto.py とだいたい同じである。
- ただし (2024年6月の作業では) つぎの変化への対応が必要となった。
新しいデータに対処したが、残念ながら従来のデータでは正しく動作しない。
両方に対処するためにはさらにプログラミングが必要。
- 気象庁のダウンロードサイトがつくるcsvファイルの気象要素の順序がかわり、日照時間がさきになった。
- (増田が) ダウンロードの際に都道府県名をふくめることにした。
[2024-06-25 授業後の訂正]
- 授業時の 75a のプログラムにまちがいがあり、
最低気温と降水量の図示がうまくいっていませんでした。
いずれも気象庁のデータ形式変更への対処の失敗ですが、対応箇所は別々です。
- 最低気温の対策: 127行め 「jcols = [5, 8, 10, 14, 1]」 → 「jcols = [5, 8, 11, 14, 1]」
- 降水量の対策: 143行め 「if jvar <= 3」 → 「if jvar <= 2」
- 授業後に、niigata の /home/masudako/ex/ex7/ の 75a_map_dailyobs.py は
修正後のものにさしかえました。修正前のものは 75a_map_dailyobs_bak.py として
残してあります。
2024-06-25
増田 耕一 (MASUDA Kooiti)