Suche senden
Hochladen
iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
•
8 gefällt mir
•
4,690 views
Atsushi Tadokoro
Folgen
Melden
Teilen
Melden
Teilen
1 von 36
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
Atsushi Tadokoro
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
iTamabi 13 第5回:ARTSAT API 導入
iTamabi 13 第5回:ARTSAT API 導入
Atsushi Tadokoro
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
Atsushi Tadokoro
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Atsushi Tadokoro
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
Atsushi Tadokoro
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
Atsushi Tadokoro
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
Empfohlen
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
Atsushi Tadokoro
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
iTamabi 13 第5回:ARTSAT API 導入
iTamabi 13 第5回:ARTSAT API 導入
Atsushi Tadokoro
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
Atsushi Tadokoro
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Atsushi Tadokoro
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
Atsushi Tadokoro
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
Atsushi Tadokoro
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
Atsushi Tadokoro
衛星芸術Pbl 2011 10_18
衛星芸術Pbl 2011 10_18
Koichiro Mori
衛星芸術Pbl 2011 10_11
衛星芸術Pbl 2011 10_11
Koichiro Mori
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
Atsushi Tadokoro
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Atsushi Tadokoro
AVRマイコン入門
AVRマイコン入門
amusementcreators
20210514 sports IoTLT vol7 kitazaki v1
20210514 sports IoTLT vol7 kitazaki v1
Ayachika Kitazaki
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSI
Junichi Akita
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
Atsushi Tadokoro
async/await のしくみ
async/await のしくみ
信之 岩永
Slide
Slide
Takefumi MIYOSHI
Common LispでGPGPU
Common LispでGPGPU
gos-k
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Takefumi MIYOSHI
iTamabi iPhoneアプリ実践開発講座2 - 時計アプリをつくる
iTamabi iPhoneアプリ実践開発講座2 - 時計アプリをつくる
Atsushi Tadokoro
Log解析の超入門
Log解析の超入門
菊池 佑太
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
Akinari Tsugo
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
Yuji Kubota
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2
久司 中村
Stream processing and Norikra
Stream processing and Norikra
SATOSHI TAGOMORI
Weitere ähnliche Inhalte
Was ist angesagt?
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
Atsushi Tadokoro
衛星芸術Pbl 2011 10_18
衛星芸術Pbl 2011 10_18
Koichiro Mori
衛星芸術Pbl 2011 10_11
衛星芸術Pbl 2011 10_11
Koichiro Mori
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
Atsushi Tadokoro
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Atsushi Tadokoro
AVRマイコン入門
AVRマイコン入門
amusementcreators
20210514 sports IoTLT vol7 kitazaki v1
20210514 sports IoTLT vol7 kitazaki v1
Ayachika Kitazaki
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSI
Junichi Akita
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
Atsushi Tadokoro
async/await のしくみ
async/await のしくみ
信之 岩永
Slide
Slide
Takefumi MIYOSHI
Common LispでGPGPU
Common LispでGPGPU
gos-k
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Takefumi MIYOSHI
iTamabi iPhoneアプリ実践開発講座2 - 時計アプリをつくる
iTamabi iPhoneアプリ実践開発講座2 - 時計アプリをつくる
Atsushi Tadokoro
Log解析の超入門
Log解析の超入門
菊池 佑太
Was ist angesagt?
(16)
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
衛星芸術Pbl 2011 10_18
衛星芸術Pbl 2011 10_18
衛星芸術Pbl 2011 10_11
衛星芸術Pbl 2011 10_11
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
AVRマイコン入門
AVRマイコン入門
20210514 sports IoTLT vol7 kitazaki v1
20210514 sports IoTLT vol7 kitazaki v1
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSI
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
async/await のしくみ
async/await のしくみ
Slide
Slide
Common LispでGPGPU
Common LispでGPGPU
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
iTamabi iPhoneアプリ実践開発講座2 - 時計アプリをつくる
iTamabi iPhoneアプリ実践開発講座2 - 時計アプリをつくる
Log解析の超入門
Log解析の超入門
Ähnlich wie iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
Akinari Tsugo
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
Yuji Kubota
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2
久司 中村
Stream processing and Norikra
Stream processing and Norikra
SATOSHI TAGOMORI
WordPressと外部APIとの連携
WordPressと外部APIとの連携
Hidekazu Ishikawa
Facebook Parseの世界
Facebook Parseの世界
maruyama097
SparqlEPCUが提供するlod開発プラットフォーム
SparqlEPCUが提供するlod開発プラットフォーム
Chubu University
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
Juniper Networks (日本)
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
Yuji Takayama
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
Yatabe Terumasa
MacPort japanese_ver.1.0
MacPort japanese_ver.1.0
Satoshi Kume
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -
Yuji Takayama
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
Yuji Takayama
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
akira6592
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
akira6592
Parse触ってみた
Parse触ってみた
Naoya Harasawa
Ähnlich wie iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
(20)
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2
Stream processing and Norikra
Stream processing and Norikra
WordPressと外部APIとの連携
WordPressと外部APIとの連携
Facebook Parseの世界
Facebook Parseの世界
SparqlEPCUが提供するlod開発プラットフォーム
SparqlEPCUが提供するlod開発プラットフォーム
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
MacPort japanese_ver.1.0
MacPort japanese_ver.1.0
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
Parse触ってみた
Parse触ってみた
Mehr von Atsushi Tadokoro
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
Atsushi Tadokoro
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
Atsushi Tadokoro
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
Atsushi Tadokoro
coma Creators session vol.2
coma Creators session vol.2
Atsushi Tadokoro
Interactive Music II Processing基本
Interactive Music II Processing基本
Atsushi Tadokoro
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Atsushi Tadokoro
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Atsushi Tadokoro
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Atsushi Tadokoro
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
Atsushi Tadokoro
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
Atsushi Tadokoro
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Atsushi Tadokoro
Tamabi media131118
Tamabi media131118
Atsushi Tadokoro
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Atsushi Tadokoro
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Atsushi Tadokoro
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
Atsushi Tadokoro
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
Atsushi Tadokoro
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Atsushi Tadokoro
Geidai music131107
Geidai music131107
Atsushi Tadokoro
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
Atsushi Tadokoro
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Atsushi Tadokoro
Mehr von Atsushi Tadokoro
(20)
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
coma Creators session vol.2
coma Creators session vol.2
Interactive Music II Processing基本
Interactive Music II Processing基本
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Tamabi media131118
Tamabi media131118
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Geidai music131107
Geidai music131107
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
1.
iTamabi 13 第6回:ARTSAT API
実践 1 Web APIから情報を取得する 2013年10月21日 多摩美術大学 PBL科目 担当:田所 淳
2.
今日の内容 ‣ ARTSAT Web
API を利用して、各種センサーの情報を取得 ‣ 取得するのは、ARTSAT Projectの第一弾衛星、INVADERのシ ミュレーションデータ
3.
ARTSAT WebAPI
4.
ARTSAT WebAPI ‣ ARTSAT
WebAPI - Web経由でARTSATの情報を取得可能 ‣ http://api.artsat.jp/web/
5.
ARTSAT WebAPI ‣ INVADERのセンサー情報は、下記のURLから取得できる ‣
http://api.artsat.jp/web/v2/invader/sensor_data.json ‣ JSON形式で、ブラウザにデータが表示される { "results": [{ "interpolated": true, "requested_time_unix": 1382216472, "requested_time_iso_string": "2013-10-20T06:01:12.000+09:00", "closest_available_time_unix": 1382216200, "closest_available_time_iso_string": "2013-10-20T05:56:40.000+09:00", "sensors": { "lat": { "type": "float", "unit": "degrees", "value": -59.82505 }, "lon": { "type": "float", "unit": "degrees", "value": 60.40049 }, "alt": { "type": "float", "unit": "degrees", "value": 463.5504 }, "ax": { "type": "float",
6.
ARTSAT WebAPI ‣ データの内容 { "results":
[{ "interpolated": true, "requested_time_unix": 1382216472, ← リクエスト "requested_time_iso_string": "2013-10-20T06:01:12.000+09:00", "closest_available_time_unix": 1382216200, した時間 "closest_available_time_iso_string": "2013-10-20T05:56:40.000+09:00", "sensors": { "lat": { "type": "float", "unit": "degrees", "value": -59.82505 }, "lon": { "type": "float", "unit": "degrees", "value": 60.40049 }, "alt": { "type": "float", "unit": "degrees", "value": 463.5504 }, "ax": { "type": "float", "unit": "rad/s", "value": -0.0011949767 }, "ay": { "type": "float",
7.
ARTSAT WebAPI ‣ データの内容 { "results":
[{ "interpolated": true, "requested_time_unix": 1382216472, "requested_time_iso_string": "2013-10-20T06:01:12.000+09:00", "closest_available_time_unix": 1382216200, "closest_available_time_iso_string": "2013-10-20T05:56:40.000+09:00", "sensors": { "lat": { ↑ "type": "float", "unit": "degrees", リクエストした時間から一番近い "value": -59.82505 }, 取得可能な時間 "lon": { "type": "float", "unit": "degrees", "value": 60.40049 }, "alt": { "type": "float", "unit": "degrees", "value": 463.5504 }, "ax": { "type": "float", "unit": "rad/s", "value": -0.0011949767 }, "ay": { "type": "float",
8.
ARTSAT WebAPI ‣ データの内容 { "results":
[{ "interpolated": true, "requested_time_unix": 1382216472, "requested_time_iso_string": "2013-10-20T06:01:12.000+09:00", "closest_available_time_unix": 1382216200, "closest_available_time_iso_string": "2013-10-20T05:56:40.000+09:00", "sensors": { "lat": { "type": "float", "unit": "degrees", ← 取得したセンサーの値 "value": -59.82505 }, "lon": { "type": "float", "unit": "degrees", "value": 60.40049 }, "alt": { "type": "float", "unit": "degrees", "value": 463.5504 }, "ax": { "type": "float", "unit": "rad/s", "value": -0.0011949767 }, "ay": { "type": "float",
9.
WebAPI の値をopenFrameworksに読み込む
10.
ofxJSONをインストール
11.
ofxJSONをインストール ‣ Webブラウザで、INVADERのセンサーの値を表示できた ‣ この結果を、openFrameworksから利用したい ‣
JSONデータにアクセスして、その結果をパース(解析)するため の機能が必要 ‣ ofxJSON というアドオン(拡張機能)を利用する
12.
ofxJSONをインストール ‣ iOSでも利用可能に修正したofxJSONを下記に用意 ‣ Zip形式でダウンロードする ‣
https://github.com/tado/ofxJSON
13.
ofxJSONをインストール ‣ ofxJSON-masterのZipファイルを解凍し、addons/ 以下に
14.
新規プロジェクトの作成
15.
WebAPI の値をopenFrameworksに読み込む ‣ 新規プロジェクトを作成 ‣
apps/myApps/emptyExample をフォルダごとコピー
16.
WebAPI の値をopenFrameworksに読み込む ‣ 作成したプロジェクトをXcodeで開く ‣
「addons」を右クリック → 「Add files...」を選択
17.
WebAPI の値をopenFrameworksに読み込む ‣ addons/ofxJSON
を選択
18.
WebAPI の値をopenFrameworksに読み込む ‣ 「src
」と「lib」フォルダ以外は削除 ‣ 下記のような、ファイル構成に
19.
JSONファイルを読み込んでみる
20.
JSONファイルを読み込んでみる ‣ 作成したプロジェクトに、INVADERのJSONデータを読み込ん でみる ‣ とても簡単!!
21.
JSONファイルを読み込んでみる ‣ testApp.h #pragma once #include #include #include #include "ofMain.h" "ofxiOS.h" "ofxiOSExtras.h" "ofxJSONElement.h" ←
追加 class testApp : public ofxiOSApp{ public: void void void void setup(); update(); draw(); exit(); ...(中略)... }; ofxJSONElement response; ← 追加
22.
JSONファイルを読み込んでみる ‣ testApp.mm #include "testApp.h" //-------------------------------------------------------------void
testApp::setup(){ ofBackground(224); ofSetFrameRate(30); // ARTSAT WebAPIにアクセスしてJSONデータを取得 bool result = response.open("http://api.artsat.jp/web/v2/invader/ sensor_data.json"); // 取得結果をコンソールに出力 if (!result) { // もし取得できなかったら、エラーを出力 cout << "faild to get JSON data!" << endl; } else { // 取得に成功したら、JSONデータを出力 } ... } cout << response.getRawString() << endl;
23.
JSONファイルを読み込んでみる ‣ ビルドして実行 ‣ Xcodeのコンソール(画面下)に、JSONデータが表示される
24.
JSONデータを画面に表示
25.
JSONデータを画面に表示 ‣ JSONデータをopenFrameworksのプログラムに読み込むこと ができた ‣ 次に画面にデータを表示したい ‣
まず手始めに、取得したJSONの文字列をそのまま画面に表示 してみる ‣ ofDrawBitmapString() を使用する
26.
JSONデータを画面に表示 ‣ testApp.mm ‣ testApp::draw()
に下記のプログラムを追加 #include "testApp.h" ...(中略)... //-------------------------------------------------------------void testApp::draw(){ ofSetColor(63); ofDrawBitmapString(response.getRawString(), 10, 12); }
27.
JSONデータを画面に表示 ‣ iPhoneの画面にJSONデータが表示 される(はず)!
28.
JSONデータをパース(解析)する
29.
JSONデータをパース(解析)する ‣ 取得したJSONデータから、センサーの値をとり出すには? ‣ JSONデータをパース(解析)する必要がある ‣
ofxJSONでは、簡単に分解してデータをとり出せる! ‣ それぞれのデータの値は、以下のようにして取得可能 // “lat”の値をFloat型で取得 response["results"][0]["sensors"]["lat"]["value"].asFloat(); // “lon”の値をFloat型で取得 response["results"][0]["sensors"]["lon"]["value"].asFloat(); // “alt”の値をFloat型で取得 response["results"][0]["sensors"]["alt"]["value"].asFloat(); ...
30.
JSONデータをパース(解析)する ‣ testApp.mm ‣ testApp::draw()
に下記のプログラムを追加 void testApp::draw(){ ofSetColor(63); int lineHeigt = 15; // JSONデータをパースして、画面に表示 string available_time = response["results"][0] ["closest_available_time_iso_string"].asString(); ofDrawBitmapString(available_time, 10, lineHeigt*1); float lat = response["results"][0]["sensors"]["lat"] ["value"].asFloat(); ofDrawBitmapString("lat = " + ofToString(lat,12), 10, lineHeigt*2); float lon = response["results"][0]["sensors"]["lon"] ["value"].asFloat(); ofDrawBitmapString("lon = " + ofToString(lon,12), 10, lineHeigt*3); float alt = response["results"][0]["sensors"]["alt"] ["value"].asFloat(); ofDrawBitmapString("alt = " + ofToString(alt,12), 10, lineHeigt*4); float ax = response["results"][0]["sensors"]["ax"]["value"].asFloat(); ofDrawBitmapString("ax = " + ofToString(ax,12), 10, lineHeigt*5); float ay = response["results"][0]["sensors"]["ay"]["value"].asFloat(); ofDrawBitmapString("ay = " + ofToString(ay,12), 10, lineHeigt*6); float az = response["results"][0]["sensors"]["az"]["value"].asFloat(); ofDrawBitmapString("az = " + ofToString(az,12), 10, lineHeigt*7); }
31.
JSONデータをパース(解析)する ‣ それぞれのセンサーの値を、独立し て取り出すことが出来た! ‣ あとは、この値をどのように視覚化 するか ‣
続きは次週に!!
32.
参考: センサーの値を全て出力
33.
参考: センサーの値を全て出力 ‣ センサーの値を全て出力するプログラム ‣
JSONのパースに、少し工夫が必要
34.
JSONデータをパース(解析)する ‣ testApp.mm #include "testApp.h" ...(中略)... void
testApp::draw(){ ofSetColor(63); int lineHeigt = 15; // 取得した時間を表示 string available_time = response["results"][0] ["closest_available_time_iso_string"].asString(); ofDrawBitmapString(available_time, 10, lineHeigt*1); // センサーの全てのメンバー名を取得 ofxJSONElement::Members mem = response["results"][0]["sensors"].getMemberNames(); // メンバーごとにセンサーの値をとりだして、画面に表示 for (int i = 0; i < mem.size(); i++) { string lavel = mem[i]; float value = response["results"][0]["sensors"][mem[i]]["value"].asFloat(); ofDrawBitmapString(lavel + " = " + ofToString(value), 10, lineHeigt * (i + 3)); } }
35.
JSONデータを画面に表示 ‣ 完成!!
36.
今日はここまで 続きは、来週に!
Jetzt herunterladen