Upload
shingo-oikawa
View
452
Download
5
Embed Size (px)
DESCRIPTION
AM10用
Citation preview
YamaYama GPV超ピンポイント天気情報アプリ
YamaYama GPV とは• 超ピンポイントで任意の場所
の天気情報を表示するアプリ• コンセプトは任意の位置の天
気情報の取得• 地図とリンクしているので、
知りたい場所をクリック、またはタップすればその地点の今後の経過がわかる• 地図をクリック、またはタッ
プするだけのシンプルな操作• http://yama2gpv.cloudapp.net/
① 地図をクリック
② 経過が表示される
使い方• 使い方はシンプル 方法① 地図をクリック、 またはタップする 方法② メニューバー内にある、 [ 百名山 ] と [ 花の百名山 ] から 目的の山を選ぶ
• 深田久弥著『日本百名山』、田中澄江著『花の百名山』から作成 方法③ メニューバー内の [ 現在地取得 ] を選ぶ
• HTML5 のジオロケーション API を使用しているため、必ずしも期待通りの動作になるとは限らない。
• 端末の GPS 機能と連動する
① 地図をクリック
③ 現在地を取得② リストから選択
機能• 任意の地点の天気情報を見える化• 日本全国を 5Km 毎のエリアに分割している• Bing Maps により目的の場所にズームインして確認することがで
きる• 富士山では富士宮口 ( 南 ) と吉田口 ( 北 ) で異なる情報が表示され
る• 最大 39 時間後までの情報を 1 時間単位で表示• 雲量・降水量・気温・湿度・風速・風向を表示• グラフを使用して見やすく• グラフ上でマウスをオーバーさせるか、タップするかで詳細な値
を表示• タブレットなどのスマートデバイスにも対応• コンテンツはサイズによって変化、レスポンシブデザイン• スマートフォン・小型のタブレットの場合、地点情報は表示しない
きっかけ•山に行くときに、登山口や頂上の天気予報が知りた
かった• 雨が降るのか、曇りなのか、太陽が出るのか• それ以上に気温はとても重要• 装備は変わらないけれど
•一般的な予報は麓の市街地の天気予報であるため、どうしてもズレが生じる•同じ山でも西と東など、ルートにより天気が異なる•どうせなら雨や曇りの日よりも晴れの日に行きたい• カッパは蒸れて暑いし、眺望もないし
天気予報の伝達スキーム• 天気予報についてちょっと調べました ( 超簡略版 )
一般財団法人 気象業務支援センター
予報機関 研究機関報道機関 大学
アプリ
市民
独自のソース
予報機関は、気象庁のデータと独自のソースとを使用し、自らが独自の予報を作成する。 ウェザーニュースのソラテナなど
数値予報データ、観測・解析データ、天気図など (GPV:数値予報データを含
む )
この部分の GPVデータを使用
過去データhttp://www.data.jma.go.jp/gmd/risk/obsdl/
http://xml.kishou.go.jp/
オープンデータとして公開
この部分を開発
GPV とは•GPV = Grid Point Value(格子点値 )• 地球上を一定の距離で格子状に区切り、コンピュータで多岐
にわたるシミュレーションを行い、各地点の推移を予測し数値化したもの• 簡単にいうと、天気予報の RAW データ
•天気予報や警報・注意報などの作成に利用されている• 実際の天気予報は GPV データにアメダスの情報や人の知見
を入れて作成される• GPV は全てではない
• 5Km エリア、 2.5Km エリア情報では、従来の市町村レベル以上の局所的な天気予報を知ることができる•提供されているデータの一覧(GPV以外を含む)
GPV データの例• 5Km エリア・ 39 時間予報データの例•縦 505×横 481= 242,905 地点•各地点毎に 39 時間後までの予報データ• 0 時間後は 10種類のデータ• 1 時間後からは 11種類のデータ• 1回あたり 103,963,340件のデータ ( 地上面のみ )
• 一日 8回の配信 → 一日あたり 831,706,720件となる
• 5km エリア・ 39 時間予報以外にも下記のようなデータが提供されている。 ( 一例 )
2.5Km エリア・ 9 時間予報 (24回 / 日 )20Km エリア・ 264 時間予報 (4回 / 日 )25Km エリア・週間予報 (2回 / 日 ) etc…
アプリの開発•コンセプトは、任意の位置の天気情報の取得• 大局的な天気予報は一般的なサイトに任せる• あくまで情報 ( 気象庁の予報データ ) の表示・マッシュアップ• 独自の予報の作成は免許が必要なため行えない
•地図を使用して日本全国のどこにでも対応• ズームインすることが可能になり、自分の知りたい場所にア
クセスできる• 海上を含め、 5Kmごとに気象情報を表示
•グラフを使用して見やすく• GPV データは単純な数値情報の連続であるので人には難しい
•Web アプリとして開発• タブレット・スマートフォンを意識した作りに
GRIB2 デコーダー• GPV データは GRIB2 と呼ばれる国際規格に沿ってエン
コードされ、バイナリファイルで提供される• 今回は GRIB2 デコーダーを c# で開発
• 1回のデータ配信につき 103,963,340件のデータ• 量だけを見れば、ビッグデータっぽさも• デコードの演算 (CPU計算 ) はそれほど高負荷ではない• 大量のデータをどう保存していくか、がキーに
•答えは Microsoft Azure• Azure の Blob に元のバイナリファイルを保存• KVS のテーブルにエンティティグループトランザクションを実施• さらに KVS に複数のテーブルを用意し、並列処理を行う• テーブル構造のトライアルアンドエラーと組み合わせて、パフォー
マンス問題はクリア• データの書き込みは WorkerRole に任せて、 WebRole は UI に専念
アーキテクチャ•気象データ解析エンジン• Microsoft Azure(PaaS)• C#
•Web アプリケーション• HTML5 , CSS3• Bing Maps• jQuery• C#
•開発環境周辺• Visual Studio 2013• GitLab
リクエスト
データの 解析・保存
Worker Role
データの 読み込み
KVS
Web Role
BLOB
ユーザーブラウザ
MQ
データ処理を依頼
Microsoft Azure (PaaS)
インポート
JSON
気象庁データ( バイナリ形式 )
KVSKVS
Bing Maps
API
地図情報
制約と今後の To-do
•制約• データには雪という情報がないので、ロジックから導く必要
があるが現状は未実装。
•今後の To-do• 現在はミクロな表示となっているので、例えば降雨がどのよ
うに推移するかマクロな表示の実施• より短期間で詳細な 2.5Km エリア・ 9 時間情報への対応、よ
り長期的な情報の表示• モバイルアプリへの発展の検討