12
YamaYama GPV 超超超超超超超超超超超超超超

YamaYama GPV

Embed Size (px)

DESCRIPTION

AM10用

Citation preview

Page 1: YamaYama GPV

YamaYama GPV超ピンポイント天気情報アプリ

Page 2: YamaYama GPV

YamaYama GPV とは• 超ピンポイントで任意の場所

の天気情報を表示するアプリ• コンセプトは任意の位置の天

気情報の取得• 地図とリンクしているので、

知りたい場所をクリック、またはタップすればその地点の今後の経過がわかる• 地図をクリック、またはタッ

プするだけのシンプルな操作• http://yama2gpv.cloudapp.net/

① 地図をクリック

② 経過が表示される

Page 3: YamaYama GPV

使い方• 使い方はシンプル 方法①  地図をクリック、  またはタップする 方法②  メニューバー内にある、 [ 百名山 ] と [ 花の百名山 ] から  目的の山を選ぶ

• 深田久弥著『日本百名山』、田中澄江著『花の百名山』から作成 方法③  メニューバー内の [ 現在地取得 ] を選ぶ

• HTML5 のジオロケーション API を使用しているため、必ずしも期待通りの動作になるとは限らない。

• 端末の GPS 機能と連動する

① 地図をクリック

③ 現在地を取得② リストから選択

Page 4: YamaYama GPV

機能• 任意の地点の天気情報を見える化• 日本全国を 5Km 毎のエリアに分割している• Bing Maps により目的の場所にズームインして確認することがで

きる• 富士山では富士宮口 ( 南 ) と吉田口 ( 北 ) で異なる情報が表示され

る• 最大 39 時間後までの情報を 1 時間単位で表示• 雲量・降水量・気温・湿度・風速・風向を表示• グラフを使用して見やすく• グラフ上でマウスをオーバーさせるか、タップするかで詳細な値

を表示• タブレットなどのスマートデバイスにも対応• コンテンツはサイズによって変化、レスポンシブデザイン• スマートフォン・小型のタブレットの場合、地点情報は表示しない

Page 5: YamaYama GPV

きっかけ•山に行くときに、登山口や頂上の天気予報が知りた

かった• 雨が降るのか、曇りなのか、太陽が出るのか• それ以上に気温はとても重要• 装備は変わらないけれど

•一般的な予報は麓の市街地の天気予報であるため、どうしてもズレが生じる•同じ山でも西と東など、ルートにより天気が異なる•どうせなら雨や曇りの日よりも晴れの日に行きたい• カッパは蒸れて暑いし、眺望もないし

Page 6: YamaYama GPV

天気予報の伝達スキーム• 天気予報についてちょっと調べました ( 超簡略版 )

一般財団法人 気象業務支援センター

予報機関 研究機関報道機関 大学

アプリ

市民

独自のソース

予報機関は、気象庁のデータと独自のソースとを使用し、自らが独自の予報を作成する。 ウェザーニュースのソラテナなど

数値予報データ、観測・解析データ、天気図など (GPV:数値予報データを含

む )

この部分の GPVデータを使用

過去データhttp://www.data.jma.go.jp/gmd/risk/obsdl/

http://xml.kishou.go.jp/

オープンデータとして公開

この部分を開発

Page 7: YamaYama GPV

GPV とは•GPV = Grid Point Value(格子点値 )• 地球上を一定の距離で格子状に区切り、コンピュータで多岐

にわたるシミュレーションを行い、各地点の推移を予測し数値化したもの• 簡単にいうと、天気予報の RAW データ

•天気予報や警報・注意報などの作成に利用されている• 実際の天気予報は GPV データにアメダスの情報や人の知見

を入れて作成される• GPV は全てではない

• 5Km エリア、 2.5Km エリア情報では、従来の市町村レベル以上の局所的な天気予報を知ることができる•提供されているデータの一覧(GPV以外を含む)

Page 8: YamaYama 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…

Page 9: YamaYama GPV

アプリの開発•コンセプトは、任意の位置の天気情報の取得• 大局的な天気予報は一般的なサイトに任せる• あくまで情報 ( 気象庁の予報データ ) の表示・マッシュアップ• 独自の予報の作成は免許が必要なため行えない

•地図を使用して日本全国のどこにでも対応• ズームインすることが可能になり、自分の知りたい場所にア

クセスできる• 海上を含め、 5Kmごとに気象情報を表示

•グラフを使用して見やすく• GPV データは単純な数値情報の連続であるので人には難しい

•Web アプリとして開発• タブレット・スマートフォンを意識した作りに

Page 10: YamaYama GPV

GRIB2 デコーダー• GPV データは GRIB2 と呼ばれる国際規格に沿ってエン

コードされ、バイナリファイルで提供される• 今回は GRIB2 デコーダーを c# で開発

• 1回のデータ配信につき 103,963,340件のデータ• 量だけを見れば、ビッグデータっぽさも• デコードの演算 (CPU計算 ) はそれほど高負荷ではない• 大量のデータをどう保存していくか、がキーに

•答えは Microsoft Azure• Azure の Blob に元のバイナリファイルを保存• KVS のテーブルにエンティティグループトランザクションを実施• さらに KVS に複数のテーブルを用意し、並列処理を行う• テーブル構造のトライアルアンドエラーと組み合わせて、パフォー

マンス問題はクリア• データの書き込みは WorkerRole に任せて、 WebRole は UI に専念

Page 11: YamaYama GPV

アーキテクチャ•気象データ解析エンジン• 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

地図情報

Page 12: YamaYama GPV

制約と今後の To-do

•制約• データには雪という情報がないので、ロジックから導く必要

があるが現状は未実装。

•今後の To-do• 現在はミクロな表示となっているので、例えば降雨がどのよ

うに推移するかマクロな表示の実施• より短期間で詳細な 2.5Km エリア・ 9 時間情報への対応、よ

り長期的な情報の表示• モバイルアプリへの発展の検討