-
Notifications
You must be signed in to change notification settings - Fork 0
PacificOcean/Weather_data
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
2018.04.11
気温データ取得コマンドの使い方
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
1. ツール概要
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
本ツールは、以下の機能を提供します。
- 気象庁のウェブサイトから過去の気温データを収集する
- 気象庁のウェブサイトで過去の気象データを公開している気象台・観測所の一覧を
作成・更新する
2. インストール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
2.1. 動作環境
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
- OS:CentOS 7
- Pythonバージョン:3.5.2、3.6.2(動作確認済)
- Pythonモジュール:Anacondaでインストールされるモジュール
2.2. モジュール構成
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
- README.txt:本ドキュメント
- area_data_temp_valid.pickle:内部ファイル(気象台・観測所の一覧)
- make_area_data.py:area_data_temp_valid.pickleを生成・更新するコマンド
- weather_get.py:気温データを取得
2.3. インストール方法
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
上記モジュールを同一のディレクトリ配下に配置します。
3. 使用方法
 ̄ ̄ ̄ ̄ ̄ ̄
以下の流れで、気象データを取得します。
1. 気象台または観測所(以下、気象台)の一覧を生成する。
※気象台が追加・変更となることがあるため、数ヶ月に1回程度、更新
することが望ましい。
2. 最寄の気象台の気温データを取得する。
3.1. 気象台の一覧生成
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
インストールディレクトリに移動して、以下のコマンドを実行します。
# python make_area_data.py <out_dir>
out_dir:出力先ディレクトリを指定
出力ファイル名:area_data_temp_valid.pickle
指定した出力先ディレクトリにファイルが既に存在する場合は、上書きします。
任意のディレクトリから、コマンドのフルパスを指定して、実行することもできます。
3.2. 気温データの取得
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
インストールディレクトリに移動して、以下のコマンドを実行します。
# python weather_get.py <post_code> 4,2 <out_dir> <start_date> <end_date> 2
※1 ※2
post_code:郵便番号(数字7桁)を指定
out_dir:出力先ディレクトリを指定
start_date:気温データの取得期間の開始日(YYYYMMDD)を指定
end_date:気温データの取得期間の終了日(YYYYMMDD)を指定
※1:気温を表す列番号を指定。「4,2」で固定
2018年3月時点で、気象台の場合は4列目、その他観測所の場合は2列目。
気象庁側で仕様変更した場合にも対応できるように、引数として外だし。
※2:データ読み込み開始行番号を指定。「2」で固定
2018年3月時点で、2行目。※1と同様の理由で、引数として外だし。
指定した出力先ディレクトリに、同一気象台、同一期間についてのファイルが既に
存在する場合は、処理を終了します。(気象庁サーバのアクセス負荷軽減のため)
任意のディレクトリから、コマンドのフルパスを指定して、実行することもできます。
4. コマンドI/F仕様
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
4.1. make_area_data.py
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
4.1.1. 入力ファイルの条件
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
入力ファイルなし
4.1.2. 出力ファイルの形式
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
- 気象台の情報をpickle化したファイル
weather_get.pyで最寄の気象台を探索する際に使用する情報(緯度経度など)を含む
- ファイル名は「area_data_temp_valid.pickle」で生成
4.1.3. コマンド引数
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
3. 使用方法を参照
4.1.4. 復帰値
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
正常終了:0
異常終了:0以外
4.1.5. ログの管理
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
コマンド側ではログファイルは作成しない
4.1.6. メッセージの出力先
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
標準出力または、標準エラー出力に出力する
4.2. weather_get.py
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
4.2.1. 入力ファイルの条件
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
入力ファイルなし
4.2.2. 出力ファイルの形式
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
- カラム名とデータ部分のn行2列のCSV形式で出力
- インデックスは無し
- カラム名は「日時」と取得した気象データの列番号(4か2)
- 改行コードはLFで出力する
- ファイル名は「都道府県名_都市名_開始日_終了日.csv」で生成
出力例:
-----------------------
日時,4
2016-01-01 00:00:00,4.3
2016-01-01 01:00:00,4.0
2016-01-01 02:00:00,3.5
2016-01-01 03:00:00,3.3
…
-----------------------
4.2.3. コマンド引数
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
3. 使用方法を参照
4.2.4. 復帰値
 ̄ ̄ ̄ ̄ ̄ ̄
正常終了:0
異常終了:0以外
4.2.5. ログの管理
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
コマンド側ではログファイルは作成しない
4.2.6. メッセージの出力先
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
標準出力または、標準エラー出力に出力する
-------------------------------------------------------------------------
【参考】
- 郵便番号から、最寄の気象台の場所をまず知りたい場合は、本コマンドを以下の
様に、「check」オプションを付けて実行することで、確認できます。
# python weather_get.py <post_code> check <out_dir>
出力ファイルは、「郵便番号.csv」で都道府県名、都市名が記載されています。
- allオプションを使用することで、最寄りの気象台から取得可能な全ての項目
を取得することができます。
# python weather_get.py <post_code> all <out_dir> <start_date> <end_date> 2
-------------------------------------------------------------------------
-以上-
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published