SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
~AITCクラウドテクノロジー活用部会~
気象庁XMLのSPARQL APIを
利用してデータを俯瞰しよう
- SPARQLとRによる可視化 -
2014/04/22
菅井康之
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 気象庁XMLのデータをAPIで公開しているけ
ど、ただ公開するだけじゃなくて、もう少し
特色を出して行きたいと思う今日この頃
• せっかくSPARQLのエンドポイントも公開し
ているので、通常のAPIでは簡単に出来な
い、統計情報や俯瞰したデータを可視化
し、公開してはどうだろう?
というわけで、今回はSPARQLの
クエリ発行から可視化までを
行ってみます
3Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
3
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
-大体の流れ-
•月毎に気象庁XMLの情報を集計する
SPARQLクエリを発行
•SPARQLの結果をRで読み込み、若干の補正
•種類が多いので、可視化部分はrChartsを
利用してインタラクティブに
※rChartsについては下記スライドを参照ください
http://www.slideshare.net/yasuyukisugai/r-charts
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• SPARQLクエリはこんな感じにしました
※日付として処理したいので、末尾を1日固定にしています
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX atom: <http://www.w3.org/2005/Atom#>
PREFIX jma: <http://cloud.projectla.jp/jma/>
PREFIX area: <http://cloud.projectla.jp/jma/area#>
PREFIX link2: <http://cloud.projectla.jp/jma/link2/>
SELECT ?title ?mon (COUNT(?id) as ?c)
WHERE {
?id atom:title ?title .
?id atom:updated ?updated
} GROUP BY ?title
(CONCAT(STR(YEAR(xsd:dateTime(?updated))), '/',
STR(MONTH(xsd:dateTime(?updated))), '/01') AS ?mon)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• SPARQLクエリの発行、結果取得をRで行
うには?→RのSPARQLライブラリを利用しま
す
• Rで以下のコマンドを実行し、ライブラリを
インストール&ロードします
> install.packages("SPARQL")
> library(SPARQL)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• RでSPARQLクエリを発行し、結果を取得
します
• デフォルトのXML形式だと日本語が文字
化けするので、CSV形式で取得しています
• →Fusekiと相性が悪い??
• →XMLにUTF-8が付いてないのが原因
> endpoint="http://api.aitc.jp/ds/sparql"
> query="前のスライドのクエリを見てね!"
> result<-SPARQL(url=endpoint, query=query,
extra=list(output="csv"), format="csv")
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• 取得結果はこんな感じ
> View(result$result)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• データをソートしたり、不要なデータを除去
したり・・・
※2012/12のデータは、気象庁XMLの公開が
開始された月のため、1ヶ月に満たない
データしか存在しません
 そのため、今回の対象データからは除去
 しています
> result2<-result$result
> result2<-transform(result2, date=as.Date(mon))
> result2<-result2[order(result2$title, result2$date),]
> result2<-result2[as.Date("2013/01/01")<=result2$date,]
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• 可視化部分はrChartsを利用します
• Rで以下のコマンドを実行し、ライブラリを
インストール&ロードします
> install.packages("devtools")
> library(devtools)
> install_github("rCharts", "ramnathv")
> library(rCharts)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• 今回はあまり凝った事をしないので、
HighChartsで単純に可視化します
※rChartsは日付処理がややめんどい
> result2 = transform(result2 ,
date2 = as.numeric(as.POSIXct(date))*1000)
> p2<-hPlot(c date2, data=result2, group="title")
> p2$xAxis(type = 'datetime', labels = list(
format = '{value:%Y-%m}'
))
> p2$set(width=1200, height=800)
> p2
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• こんな感じで可視化出来ました
• これをフィルタリングしていくと・・・
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• 気象警報・注意報は夏場に多かったり
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ1 季節や月によるデータの傾向を見たい
• 竜巻注意情報も夏場に多い事が分かっ
たりします
15Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
15
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ2 気象台や情報毎の細かいデータの傾
向を見たい
-大体の流れ-
•SPARQLクエリがちょっと違うくらいで、やって
る事は同じ
ちなみに、再現性が大事と教わったので、この
スライドは細かく書くようにしています
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• SPARQLクエリはこんな感じで
※authorとname(リテラル)を追加しただけです・・・はい・・・
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX atom: <http://www.w3.org/2005/Atom#>
PREFIX jma: <http://cloud.projectla.jp/jma/>
PREFIX area: <http://cloud.projectla.jp/jma/area#>
PREFIX link2: <http://cloud.projectla.jp/jma/link2/>
SELECT ?title ?name ?mon (COUNT(?id) as ?c) WHERE {
?id atom:title ?title .
?id atom:updated ?updated .
?id atom:author ?author .
?author link2:name ?name
} GROUP BY ?title ?name
(CONCAT(STR(YEAR(xsd:dateTime(?updated))), '/',
STR(MONTH(xsd:dateTime(?updated))), '/01') AS ?mon)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 前回同様に、RでSPARQLクエリを発行
し、結果を取得します
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
> endpoint="http://api.aitc.jp/ds/sparql"
> query="前のスライドのクエリを見てね!"
> result<-SPARQL(url=endpoint, query=query,
extra=list(output="csv"), format="csv")
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 取得結果はこんな感じ
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
> View(result$result)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• データをソートしたり、不要なデータを除去
したり・・・
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
> result2_2<-result$result
> result2_2<-transform(result2_2, date=as.Date(mon))
> result2_2<-result2_2[order(result2_2$name,
result2_2$title, result2_2$date),]
> result2_2<-result2_2[as.Date("2013/01/01")<=result2_2$date,]
> result2_2 = transform(result2_2 ,
date2 = as.numeric(as.POSIXct(date))*1000)
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 試しに山口県の気象台の気象情報を可
視化してみます
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
> result2_2_yamaguchi<- result2_2[result2_2$name=="下関地方気象台", ]
> p2<-hPlot(c date2, data=result2_2_yamaguchi, group="title")
> p2$xAxis(type = 'datetime', labels = list(
format = '{value:%Y-%m}'
))
> p2$set(width=1200, height=800)
> p2
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
• 高温注意情報が出たり、4月にも気象警
報・注意報が夏並みに出てたりなど。。
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 高温注意情報の頻度を気象台毎に見て
みます
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
> result2_2_kouon<-result2_2[result2_2$title=="府県高温注意情報", ]
> p2<-hPlot(c date2, data=result2_2_kouon,
group="name", type = "scatter")
> p2$xAxis(type = 'datetime', labels = list(
format = '{value:%Y-%m-%d}'
))
> p2$set(width=1200, height=600)
> p2
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
• やはり沖縄が一番多く、また石垣島では
5月から発令されているなど。。
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 記録的短時間大雨情報の頻度を気象
台毎に見てみます
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
> result2_2_kiroku<- result2_2[result2_2$title=="記録的短時間大雨情報", ]
> p2<-hPlot(c date2, data=result2_2_kiroku,
group="name", type = "scatter")
> p2$xAxis(type = 'datetime', labels = list(
format = '{value:%Y-%m-%d}'
))
> p2$set(width=1200, height=600)
> p2
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
テーマ2 気象台や情報毎の細かいデータの
傾向を見たい
• 9月の岐阜が最も多く、福島では4月に
一度発令されているなど。。。
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
•Let’s have Fun!! :)

Contenu connexe

Tendances

Hivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetupHivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetup
Makoto Yui
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 

Tendances (20)

Treasure Data × Wave Analytics EC Demo
Treasure Data × Wave Analytics EC DemoTreasure Data × Wave Analytics EC Demo
Treasure Data × Wave Analytics EC Demo
 
HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
 
Sparkを用いたビッグデータ解析 〜 前編 〜
Sparkを用いたビッグデータ解析 〜 前編 〜Sparkを用いたビッグデータ解析 〜 前編 〜
Sparkを用いたビッグデータ解析 〜 前編 〜
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
 
Hivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetupHivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetup
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析経済学のための実践的データ分析 5.特許データの分析
経済学のための実践的データ分析 5.特許データの分析
 
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門
 
DeltaCubeにおけるユニークユーザー集計高速化(理論編)
DeltaCubeにおけるユニークユーザー集計高速化(理論編)DeltaCubeにおけるユニークユーザー集計高速化(理論編)
DeltaCubeにおけるユニークユーザー集計高速化(理論編)
 
Pysparkで始めるデータ分析
Pysparkで始めるデータ分析Pysparkで始めるデータ分析
Pysparkで始めるデータ分析
 
16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...
16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...
16.02.08_Hadoop Conferece Japan 2016_データサイエンスにおける一次可視化からのSpark on Elasticsear...
 
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
 
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
#経済学のための実践的データ分析 6. データを実際に分析するまでのとてもとても遠く険しく細く長い道
 
RedisのBitCountとHyperLogLogを使用した超高速Unique User数集計
RedisのBitCountとHyperLogLogを使用した超高速Unique User数集計RedisのBitCountとHyperLogLogを使用した超高速Unique User数集計
RedisのBitCountとHyperLogLogを使用した超高速Unique User数集計
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎
 
FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介
 
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference ...
 

Similaire à 気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-

トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方
Takahiro Inoue
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
Takahiro Iwase
 
Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!
Takahiro Inoue
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
Insight Technology, Inc.
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会
Takahiro Iwase
 

Similaire à 気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化- (20)

トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
 
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
 
Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!
 
Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~Rで触れる日本経済~RでVAR編~
Rで触れる日本経済~RでVAR編~
 
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編
 
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
 
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressDevelop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会
 

Plus de Yasuyuki Sugai

Plus de Yasuyuki Sugai (17)

業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -
 
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
 
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
 
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
 
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
 
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
 
IoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみるIoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみる
 
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
 
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」
 
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
 
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
 
AITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからAITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれから
 
Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
 
Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2
 
Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編
 
RとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようRとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しよう
 

Dernier

Dernier (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-

  • 2. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 気象庁XMLのデータをAPIで公開しているけ ど、ただ公開するだけじゃなくて、もう少し 特色を出して行きたいと思う今日この頃 • せっかくSPARQLのエンドポイントも公開し ているので、通常のAPIでは簡単に出来な い、統計情報や俯瞰したデータを可視化 し、公開してはどうだろう? というわけで、今回はSPARQLの クエリ発行から可視化までを 行ってみます
  • 3. 3Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい 3
  • 4. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい -大体の流れ- •月毎に気象庁XMLの情報を集計する SPARQLクエリを発行 •SPARQLの結果をRで読み込み、若干の補正 •種類が多いので、可視化部分はrChartsを 利用してインタラクティブに ※rChartsについては下記スライドを参照ください http://www.slideshare.net/yasuyukisugai/r-charts
  • 5. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • SPARQLクエリはこんな感じにしました ※日付として処理したいので、末尾を1日固定にしています PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX atom: <http://www.w3.org/2005/Atom#> PREFIX jma: <http://cloud.projectla.jp/jma/> PREFIX area: <http://cloud.projectla.jp/jma/area#> PREFIX link2: <http://cloud.projectla.jp/jma/link2/> SELECT ?title ?mon (COUNT(?id) as ?c) WHERE { ?id atom:title ?title . ?id atom:updated ?updated } GROUP BY ?title (CONCAT(STR(YEAR(xsd:dateTime(?updated))), '/', STR(MONTH(xsd:dateTime(?updated))), '/01') AS ?mon)
  • 6. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • SPARQLクエリの発行、結果取得をRで行 うには?→RのSPARQLライブラリを利用しま す • Rで以下のコマンドを実行し、ライブラリを インストール&ロードします > install.packages("SPARQL") > library(SPARQL)
  • 7. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • RでSPARQLクエリを発行し、結果を取得 します • デフォルトのXML形式だと日本語が文字 化けするので、CSV形式で取得しています • →Fusekiと相性が悪い?? • →XMLにUTF-8が付いてないのが原因 > endpoint="http://api.aitc.jp/ds/sparql" > query="前のスライドのクエリを見てね!" > result<-SPARQL(url=endpoint, query=query, extra=list(output="csv"), format="csv")
  • 8. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • 取得結果はこんな感じ > View(result$result)
  • 9. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • データをソートしたり、不要なデータを除去 したり・・・ ※2012/12のデータは、気象庁XMLの公開が 開始された月のため、1ヶ月に満たない データしか存在しません  そのため、今回の対象データからは除去  しています > result2<-result$result > result2<-transform(result2, date=as.Date(mon)) > result2<-result2[order(result2$title, result2$date),] > result2<-result2[as.Date("2013/01/01")<=result2$date,]
  • 10. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • 可視化部分はrChartsを利用します • Rで以下のコマンドを実行し、ライブラリを インストール&ロードします > install.packages("devtools") > library(devtools) > install_github("rCharts", "ramnathv") > library(rCharts)
  • 11. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • 今回はあまり凝った事をしないので、 HighChartsで単純に可視化します ※rChartsは日付処理がややめんどい > result2 = transform(result2 , date2 = as.numeric(as.POSIXct(date))*1000) > p2<-hPlot(c date2, data=result2, group="title") > p2$xAxis(type = 'datetime', labels = list( format = '{value:%Y-%m}' )) > p2$set(width=1200, height=800) > p2
  • 12. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • こんな感じで可視化出来ました • これをフィルタリングしていくと・・・
  • 13. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • 気象警報・注意報は夏場に多かったり
  • 14. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ1 季節や月によるデータの傾向を見たい • 竜巻注意情報も夏場に多い事が分かっ たりします
  • 15. 15Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ2 気象台や情報毎の細かいデータの 傾向を見たい 15
  • 16. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ2 気象台や情報毎の細かいデータの傾 向を見たい -大体の流れ- •SPARQLクエリがちょっと違うくらいで、やって る事は同じ ちなみに、再現性が大事と教わったので、この スライドは細かく書くようにしています
  • 17. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • SPARQLクエリはこんな感じで ※authorとname(リテラル)を追加しただけです・・・はい・・・ テーマ2 気象台や情報毎の細かいデータの 傾向を見たい PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX atom: <http://www.w3.org/2005/Atom#> PREFIX jma: <http://cloud.projectla.jp/jma/> PREFIX area: <http://cloud.projectla.jp/jma/area#> PREFIX link2: <http://cloud.projectla.jp/jma/link2/> SELECT ?title ?name ?mon (COUNT(?id) as ?c) WHERE { ?id atom:title ?title . ?id atom:updated ?updated . ?id atom:author ?author . ?author link2:name ?name } GROUP BY ?title ?name (CONCAT(STR(YEAR(xsd:dateTime(?updated))), '/', STR(MONTH(xsd:dateTime(?updated))), '/01') AS ?mon)
  • 18. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 前回同様に、RでSPARQLクエリを発行 し、結果を取得します テーマ2 気象台や情報毎の細かいデータの 傾向を見たい > endpoint="http://api.aitc.jp/ds/sparql" > query="前のスライドのクエリを見てね!" > result<-SPARQL(url=endpoint, query=query, extra=list(output="csv"), format="csv")
  • 19. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 取得結果はこんな感じ テーマ2 気象台や情報毎の細かいデータの 傾向を見たい > View(result$result)
  • 20. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • データをソートしたり、不要なデータを除去 したり・・・ テーマ2 気象台や情報毎の細かいデータの 傾向を見たい > result2_2<-result$result > result2_2<-transform(result2_2, date=as.Date(mon)) > result2_2<-result2_2[order(result2_2$name, result2_2$title, result2_2$date),] > result2_2<-result2_2[as.Date("2013/01/01")<=result2_2$date,] > result2_2 = transform(result2_2 , date2 = as.numeric(as.POSIXct(date))*1000)
  • 21. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 試しに山口県の気象台の気象情報を可 視化してみます テーマ2 気象台や情報毎の細かいデータの 傾向を見たい > result2_2_yamaguchi<- result2_2[result2_2$name=="下関地方気象台", ] > p2<-hPlot(c date2, data=result2_2_yamaguchi, group="title") > p2$xAxis(type = 'datetime', labels = list( format = '{value:%Y-%m}' )) > p2$set(width=1200, height=800) > p2
  • 22. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ2 気象台や情報毎の細かいデータの 傾向を見たい • 高温注意情報が出たり、4月にも気象警 報・注意報が夏並みに出てたりなど。。
  • 23. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 高温注意情報の頻度を気象台毎に見て みます テーマ2 気象台や情報毎の細かいデータの 傾向を見たい > result2_2_kouon<-result2_2[result2_2$title=="府県高温注意情報", ] > p2<-hPlot(c date2, data=result2_2_kouon, group="name", type = "scatter") > p2$xAxis(type = 'datetime', labels = list( format = '{value:%Y-%m-%d}' )) > p2$set(width=1200, height=600) > p2
  • 24. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ2 気象台や情報毎の細かいデータの 傾向を見たい • やはり沖縄が一番多く、また石垣島では 5月から発令されているなど。。
  • 25. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 記録的短時間大雨情報の頻度を気象 台毎に見てみます テーマ2 気象台や情報毎の細かいデータの 傾向を見たい > result2_2_kiroku<- result2_2[result2_2$title=="記録的短時間大雨情報", ] > p2<-hPlot(c date2, data=result2_2_kiroku, group="name", type = "scatter") > p2$xAxis(type = 'datetime', labels = list( format = '{value:%Y-%m-%d}' )) > p2$set(width=1200, height=600) > p2
  • 26. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. テーマ2 気象台や情報毎の細かいデータの 傾向を見たい • 9月の岐阜が最も多く、福島では4月に 一度発令されているなど。。。
  • 27. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. •Let’s have Fun!! :)