SlideShare a Scribd company logo
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2014年7月17日
先端IT活用推進コンソーシアム
クラウド・テクノロジー活用部会
D3.jsを使った
データビジュアライズ勉強会
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
タイムスケジュール
• 19:30~20:10
– オープンデータから表示用ファイルを準備
• 20:10~21:30
– D3.jsで可視化しよう
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
本日の目標
• D3.jsを使ってデータを可視化してみる
– 数値を眺めているだけでは見えなかったものが、
可視化によって何かが見えてきたらステキ
• 本日の内容を別の方法でも実現できるけど
– Google Maps API
• https://developers.google.com/maps/?hl=ja
– Microsoft Excel の Power View
• http://office.microsoft.com/ja-jp/excel-help/HA102899553.aspx
• D3.jsで実装することで
– 思い通りの表現・拡張ができる
• SVG(Scalable Vector Graphics)のスキルも自然に身に付く
– 地図以外にも活用できる
– ほとんどローカルで出来るので
• 業務データなどでも安心してトライする事ができる
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ちょっとだけ
先端IT活用推進コンソーシアム
AITC
ご紹介
Windows
コンソーシアム
日本経営協会
XMLフェスタ
Java
コンソーシアム
XML部会
2000/07 設立宣言 2001/06~2010/03実活動 2010/03~2010/09 2010/09/08設立
先端IT活用推進コンソーシアム
Advanced IT Consortium
to Evaluate, Apply and Drive
企業における先端ITの活用および
先端ITエキスパート技術者の育成を目的とし、
もって、社会に貢献することを目指す非営利団体
設 立: 2010年9月8日(会期: ~2016年8月31日)
会 長 : 鶴保 征城 (IPA顧問、HAL校長)
会 員 : 法人会員&個人事業主、個人会員、学術会員
特別会員 (産業技術総合研究所、気象庁、
消防研究センター、防災科学技術研究所)
顧 問 : 稲見 昌彦 (慶応義塾大学大学院 教授)
和泉 憲明 (産業技術総合研究所 上級主任研究員)
萩野 達也 (慶応義塾大学 教授)
橋田 浩一 (東京大学大学院 情報理工学系研究科 教授)
丸山 不二夫(早稲田大学大学院 客員教授)
山本 修一郎(名古屋大学大学院 教授)
BizAR顧問:三淵 啓自 (デジタルハリウッド大学大学院 教授)
川田 十夢 (AR三兄弟 長男)
AITCとは:
第4期活動対象分野
realvirtual
コンテキスト
人
メタ データ
モノ コト
コンテキスト コンピューティング
クラウド コンピューティング
AR
ナチュラルユーザー
インターフェース
ユーザーエクスペリエンス
ソーシャル
部会部会
プロジェクト
発表会・シンポジウム
セミナー・勉強会
部会
部会へ
フィードバック
部会の
ノウハウを展開
部会・プロジェクトの成果を発信
部会横断・外部との連携
部会のシーズ
月1回程度の開催
スキルと知見の伝播
AITC
オープンラボ
活動の種類と関係性
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
オープンデータから
表示用ファイルを準備
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
横浜市のオープンデータ
• 横浜オープンデータポータル
– http://data.yokohamaopendata.jp/
• ヨコハマ・アート・LOD
– http://fp.yafjp.org/yokohama_art_lod
• よこはまオープンデータカタログ(試行版)
– http://www.city.yokohama.lg.jp/seisaku/seisaku/opendata/
catalog.html
• 2014年7月14日オープン
オープンデータじゃないけど
• 横浜市統計情報ポータルサイト
– http://www.city.yokohama.lg.jp/ex/stat/
SPARQLによるクエリが可能
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
その他のオープンデータ
• Open DATA METI
– http://datameti.go.jp/data/ja/dataset
• データカタログサイト(試行版)
– http://www.data.go.jp/
• オープンデータプラットフォーム
– http://odp.jig.jp/
• 気象庁XML公開サイト
– http://api.aitc.jp/
• 鯖江市
– http://www.city.sabae.fukui.jp/pageview.html?id=12768
SPARQLによるクエリが可能SPARQLによるクエリが可能
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
SPARQLによるクエリ例
• オープンデータプラットフォーム http://odp.jig.jp/
– SPARQLで横浜市に関する登録を検索
• http://sparql.odp.jig.jp/sparql.html
• 神奈川県横浜市:http://odp.jig.jp/jp/jig/opendatacity/13
• 神奈川県横浜市金沢区:http://odp.jig.jp/jp/jig/opendatacity/5
select * where {
?id ?t <http://odp.jig.jp/odp/1.0#OpenDataCity> .
?id ?p ?o .
filter(regex(?o, "横浜市"))
} limit 10
敷居はかなり高いけど、慣れたら「RDBを公開してくれている」感覚
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
データを準備する上での注意-1
• 文字コード
– CSVはShift-JISで公開されているものが多い
– JavaScriptで読み込む場合
• とりあえず「UTF-8」に変換すれば、トラブルは起こりにくい
• ライセンス
– データを公開しているサイトの利用規約を参照
• http://data.yokohamaopendata.jp/dataset/kanazawa_kz-
opendata_2013_35-child-care-event
→リソース→ライセンスを参照
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
データを準備する上での注意-2
• 他サイト上のデータを直接参照したい
– 常に最新データを表示できる
• 今日やるようなデータ加工をJavaScriptで実装
– CORS(Cross-Origin Resource Sharing)
• データの公開サイトが、他サイトから直接参照を許可しているか?
• 確認方法
– HTTPヘッダに「 Access-Control-Allow-Origin: *」があればOK
• 開発時に、全部ローカルでやる場合は
– Chromeは起動オプション「--allow-file-access-from-files」
– Firefox, Safariは、特に何もしなくてもOK
– IEはうまく動作しない
• ファイルアクセス部分にjQueryを使う事で回避可能
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
使用するデータを選択
• 使用するデータの選択条件
– 住所もしくは緯度経度と、数値があるもの
– 時間とともに変化すると、さらに面白い
• 今回使用するデータ
– 横浜市総務局 防災関連データ
• http://www.city.yokohama.lg.jp/somu/org/kikikanri/data/
→「地域防災拠点」 ※注:XMLファイル
クリエイティブコモンズ「表示」(CC BY)
– 二次著作物を作成する場合は、利用するデータの出典(データのタイトルと著作
権者名など)の表示をお願いします。
• 使用するツール
– Excel で編集を行います
– ExcelとJavaScriptに自信があれば、他データに挑戦してもOK
– Excelを持っていない人は
• Sample ディレクトリ以下からコピーしてください
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
データ準備-1
• XML→CSVに変換する
– Excel で対象URLを開く
• 「XMLテーブルとして開く」を選択
• 1回目はちょっと時間がかかります
– 「名前を付けて保存」でCSVを選択
• ファイル名は「shelter.csv」
• CSVを加工
– Excelを再起動し、「shelter.csv」を開きなおす
– フルの住所のカラムをCとDの間に追加
• タイトルは「住所」
• =“神奈川県横浜市” & B2 & C2
– 他のデータを使う場合も
• CSVとして正しい形式で、住所が入っていれば、だいたいOK
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.
データ準備-2
• 住所を緯度経度に変換する
– http://newspat.csis.u-tokyo.ac.jp/geocode/
– 「今すぐサービスを利用する」をクリック
– 各パラメータを設定
• 住所を含むカラム番号:4
• 変換したいファイル名: shelter.csv
– 「送信」を押すと、変換結果のCSVが落ちてくる
• ダウンロード後、Excelで開いて内容を確認
• 取得した緯度経度をGoogleMapsで確認
– 「fY fX」の順で検索
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
データ準備-3
• 文字コード変換
• テキストエディタで開き、文字コードを「UTF-8」に変更し保存
• ファイル名は、「shelter_utf8.csv」を指定
Windowsのメモ帳
「ファイル」→「名前を付けて保存」
Macのテキストエディット
「テキストエディット」→「環境設定」
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
データ準備-4(余裕のある人だけ)
• 他のデータに対しても、同様の手順を行う
– 「住所を含むカラム番号」に注意
• 改行が正しく表示されない場合
– 住所→緯度経度変換時に、UNIX改行に変わった
– 心配なら、別のエディタでCR+LFに変換
• 変換しなくても、特に問題はない
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
D3.jsで可視化しよう
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
D3.js とは
• データをドキュメント化して、関係も保持
– SVGを効率良く生成するためのライブラリです
D3.js(またはD3:Data-Driven Documents、旧:Protovis[1])は、 2011年に開
発が始まった[2]ウェブブラウザで動的コンテンツを描画するJavaScriptライブ
ラリである。 World Wide Web Consortium準拠のデータ可視化ツールとして、
Scalable Vector Graphics(SVG)、JavaScript、HTML5、Cascading Style
Sheetsを最大限に活用している。 その他多くのライブラリとは対照的に、最
終的に出力された結果に視覚的な調整ができる。[3]
ウィキペデアより
データ
JSON, CSV, e.t.c.
ドキュメント
SVG
function
IE8以前や
SVGに対応していな
いブラウザは
特別な対応が必要
SVG化
イベント処理
イベントが起こっ
たデータを識別
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
D3.jsを使ってビジュアライズ
• 今回は地図を軸に可視化してみる
– D3.js は、地図描画の機能が充実
• 注意:地図は楽だけど、グラフを描くのは意外に面倒
– 必要な部品がそろっているだけ
– D3.js Examples → 各グラフを描くためのソースを参照
• https://github.com/mbostock/d3/wiki/Gallery
– 参考URL http://postd.cc/what-d3js-is-not/
• 参考書籍
エンジニアのための データ可視化[実践]入門
~D3.jsによるWebの可視化
• http://www.amazon.co.jp/dp/4774163260
• D3.js はほとんど出てこないけど、「可視化」の理解が深まります
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
緯度・経度を扱う上での注意
0 , 0
136.09, 36.77
900 , 600
140.18, 34.36
スクリーン
経度・緯度
画面内に描画するため
・スクリーンの原点と、緯
度・経度の原点が違う
・表示スケールの調整
900 , 0
140.18, 36.77
0 , 600
136.09, 34.36
0, 0
136.09, 34.36
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
開発環境の準備
• D3.js をダウンロード
– http://d3js.org/
• d3.zip をダウンロードし、d3.min.js を取り出す
• js ディレクトリを作成し、格納
• 今回は、すでに入っています
• テキストエディタ
– お気に入りのエディタでOK
• ブラウザ
– [F-12]を押せば、開発ツールが起動する
– Chrome:「ツール」→「デベロッパーツール」
• ローカルのデータファイルを参照するためには、起動オプションを追加
「--allow-file-access-from-files」
– Firefox+firebug:「ツール」→「Web開発」→「Firebug」→「Firebugを開く」
– Safari:「環境設定」→「詳細」→「メニューバーに”開発”メニューを表示」
– IE(9以降):「F12 開発者ツール」
• ローカルだとうまく動作しない
– データにアクセスしている部分をjQueryにすれば、動くらしい
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
地図データの準備
• 地図データ
– D3.js の geo パッケージで読める形式が必要
• GeoJSON:地理情報用に規格されたJSONデータ形式
• TopoJSON:GeoJSONの拡張形式。D3.jsではプラグインが必要
– 冗長性を排するので、データサイズが20%程度になる
– Shape形式の地図を入手し、GeoJSON形式に変換
• 入手元:国土交通省、国土数値情報
– http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html
– 神奈川県:N03-130401_14_GML.zip
• このサイトで10%に圧縮+GeoJSONに変換
– http://www.mapshaper.org/
– 10%というのはShapefileでの比(1,191KB→131KB)
– Shapefile→GeoJSONに変換すると大きくなる(131KB→514KB)
– 変換結果(GeoJSON形式、514KB)
• http://cloud.aitc.jp/20140717_D3js/gis/kanagawa.json
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
D3.jsの超概要 http://ja.d3js.node.ws/
• セレクタ(W3C Selectorsを参照)
– d3.select(“#hoge”) → <xxx id=“hoge”> を対象
– d3.select(“.hoge”) → <xxx class=“hoge”>を対象
– d3.select(“hoge”) → <hoge>を対象
• セレクション
– selectAll(), enter(), exit()
– 繰り返し処理が楽に書ける
• d3.select("#TEXT1").selectAll("p").style("color", “#000000");
• 動的プロパティ
• svg.selectAll(".node").data(signal).text(function(d) { return d.title; } );
• svg.selectAll(".node").data(signal).text(function(d, i) { return i; } );
• データの結合
– 更新:svg.selectAll(".node").data(signal).text(“hogehoge”);
– 追加:svg.selectAll(".node").data(signal).enter().append(“text").text(“piyopiyo”);
– 削除:svg.selectAll(".node").data(signal).exit().remove();
• アニメーション
• d3.select("#TEXT4").transition().style("background-color", "black");
signal = [
{ “cx”: 100, “cy”: 100, “color”: “#0000ff”, “title”:”青”,},
{ “cx”: 200, “cy”: 100, “color”: “#ffff00”, “title”:”黄”,},
{ “cx”: 300, “cy”: 100, “color”: “#ff0000”, “title”:”赤”,},
];
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
その他の今回使用するメソッド
• ファイルの読み込み
– d3.json(), d3.text(), d3.csv()
• 地図描画
– d3.geo.mercator()
– d3.geo.path().projection(projection);
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
SVG(Scalable Vector Graphics)について
• Wikipedia
– http://ja.wikipedia.org/wiki/Scalable_Vector_Graphics
• SVG仕様
– http://www.hcn.zaq.ne.jp/___/SVG11-2nd/
• 使用上の注意
– 順番通りに上に重ねて描画
– 対応していないブラウザだと、何も表示されない
– ブラウザによっては、微妙に見え方が違う
Scalable Vector Graphics(スケーラブル・ベクター・グラフィックス、SVG)
は、XMLをベースとした、2次元ベクターイメージ用の画像形式の1つである。
アニメーションやユーザインタラクションもサポートしている。SVGの仕様は
W3Cによって開発され、オープン標準として勧告されている。
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
SVG(Scalable Vector Graphics)について
• 代表的な図形
– パス
<path d=“M 100 100 L 300 100 L 200 300 z” fill=“red”
stroke=“blue” stroke-width="3" />
– 円
<circle cx=“600” cy=“200” r=“100” fill=“red” stroke=“blue”
stroke-width="10" />
– 線
<line x1=“100” y1=“300” x2=“300” y2=“100” stroke=“green”
stroke-width="5" />
– テキスト
<text x=“250” y=“150” font-family=“Verdana” font-size=“55”
fill="blue" >
Hello, out there
</text>
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
以降は、サンプルコードを見ながら解説
• http://cloud.aitc.jp/20140717_D3js/
• D3.jsでデータとSVGが連動するサンプル
– step1_1.html + js, step1_2.html + js
• D3.jsで地図を描画する
– step2.html + js
• D3.jsでデータを取得する
– step3.html + js
• 取得したデータをsvgで可視化する
– step4.html + js
• 十分な量のデータがあれば、地図無しでもいけるかも
• 地図に重ねてデータを描画する
– step5.html + js 金沢区内公園を描画する
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
step5.js を改造し、「地域防災拠点」に対応
ファイル名を「./shelter_utf8.csv」にし、
csvファイルを同ディレクトリにコピー
csvのタイトルに合わせる
とりあえず固定で「white」を返す
csvのタイトルに合わせるcsvのタイトルに合わせる
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
余裕のある人用の、機能追加案
• Nameによって、色を変える
– 小学校、中学校、その他
• 他の情報も合わせて表示
– 津波非難施設、応急給水拠点、帰宅困難者一時滞在施設
• アニメーション
– D3.js の更新+アニメーション機能
.transition(). duration(ミリ秒).変化後のスタイル()
– JavaScriptのsetInterval()
• 静岡県雨量を使った例
– http://cloud.aitc.jp/20140627_D3js/sample6.html
• 自分の現在位置を表示
– HTML5のGeolocation API
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
今後の拡張の方向
• 付加情報を表示
– clickかmouseoverで、詳細情報を表示
• 地名・住所・関連情報など
– 文字をもっと見易くする(白抜き文字、など)
• http://www.slideshare.net/kadoppe/inline-svg/53
• 他のデータも合わせて表示
– 他のオープンデータ
– 社内の業務データなど
• アニメーション
– 「もう1つ軸を足したい」時など
• 拡大/縮小
– 特定の区を詳細に見たい
– 倍率に合わせて、円の大きさや文字サイズを調整
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Q&A
• 時間があれば、紹介
• 「地域防災拠点」を使った実装例
• step5example. js
• 横浜市統計情報ポータルサイトのデータを使った例
• http://www.city.yokohama.lg.jp/ex/stat/index2.html#24
• 「テレビ放送受信契約数」平成18年から24年の推移
• ライセンス
http://www.city.yokohama.lg.jp/front/aboutweb.html
> 私的使用のための複製や引用など著作権法上認められた場
合を除き、無断で複製・転用をすることはできません。
横浜市に勉強会での使用について問い合わせた結果
> 「横浜市統計書」からの出典を明らかにしていただければ、
> 著作権法上認められた場合に該当すると判断します。

More Related Content

PDF
Hadoop Operations #cwt2013
PPTX
データ活用を効率化するHadoop WebUIと権限管理改善事例
PPTX
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
PDF
Strata + Hadoop World 2014 レポート #cwt2014
PDF
Gmo media.inc 第9回西日本ossの普及を考える会
PDF
Cloudera Manager 5 (hadoop運用) #cwt2013
PDF
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
PDF
CDH4.1オーバービュー
Hadoop Operations #cwt2013
データ活用を効率化するHadoop WebUIと権限管理改善事例
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
Strata + Hadoop World 2014 レポート #cwt2014
Gmo media.inc 第9回西日本ossの普及を考える会
Cloudera Manager 5 (hadoop運用) #cwt2013
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
CDH4.1オーバービュー

What's hot (20)

PPTX
20120822_dstn技術交流会_仮想化について
PDF
HDFS HA セミナー #hadoop
PPT
20120822_dstn技術交流会_DataSpider接続先技術動向
PDF
Azure Stack HCI - パフォーマンス履歴 と Azure Monitor
PDF
サイバーエージェントにおけるデータの品質管理について #cwt2016
PDF
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
PDF
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
PPTX
2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』
PDF
Cloudera HBase training and certification
PDF
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
PDF
G tech2016 Azureを使った災害復旧の基礎
PDF
[BPStudy#80] パブリック クラウド プラットフォーム「Microsoft Azure」 最新アップデート #bpstudy
PDF
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
PPTX
Cloudera大阪セミナー 20130219
PDF
使ってみた!ioMemoryで実現する噂のAtomic write!
 
PDF
Kuduを調べてみた #dogenzakalt
PDF
わんくま東京勉強会#46 Azureセッション資料
PDF
20121205 nosql(okuyama fs)セミナー資料
PPTX
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
PPTX
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
20120822_dstn技術交流会_仮想化について
HDFS HA セミナー #hadoop
20120822_dstn技術交流会_DataSpider接続先技術動向
Azure Stack HCI - パフォーマンス履歴 と Azure Monitor
サイバーエージェントにおけるデータの品質管理について #cwt2016
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』
Cloudera HBase training and certification
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
G tech2016 Azureを使った災害復旧の基礎
[BPStudy#80] パブリック クラウド プラットフォーム「Microsoft Azure」 最新アップデート #bpstudy
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
Cloudera大阪セミナー 20130219
使ってみた!ioMemoryで実現する噂のAtomic write!
 
Kuduを調べてみた #dogenzakalt
わんくま東京勉強会#46 Azureセッション資料
20121205 nosql(okuyama fs)セミナー資料
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Ad

Viewers also liked (10)

PDF
SVG と D3.js でちょっとリッチなデータ可視化
PDF
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
PDF
ワークショップ「D3.js」入門
PDF
d3jsではじめるデータビジュアライゼーション入門
PDF
実践! D3.jsで可視化入門
PDF
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
PDF
RとJavaScript Visualizationを俯瞰しよう
PDF
rChartsによるインタラクティブな可視化表現
PDF
d3jsハンズオン @E2D3ハッカソン
PDF
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
SVG と D3.js でちょっとリッチなデータ可視化
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
ワークショップ「D3.js」入門
d3jsではじめるデータビジュアライゼーション入門
実践! D3.jsで可視化入門
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
RとJavaScript Visualizationを俯瞰しよう
rChartsによるインタラクティブな可視化表現
d3jsハンズオン @E2D3ハッカソン
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
Ad

Similar to D3.jsを使ったデータビジュアライズ勉強会 (20)

PDF
データビジュアライゼーションもくもく会
PDF
2015年7月期AITC女子会「D3.js/Highchartsによるデータの可視化」
PDF
D3.jsと学ぶVisualization(可視化)の世界
PDF
03 pepper io_t_web
PPTX
Hadoop scr第7回 hw2011フィードバック
PDF
AWS Black Belt Online Seminar 2018 AWS上の位置情報
PDF
AWSでのビッグデータ分析
PPT
Big data解析ビジネス
PDF
D3.js で LOD を Visualization
PDF
AWS初心者向けWebinar AWSでBig Data活用
PDF
Data Visualization meetup 2017
PDF
ソーシャルデザインパターン -評判と情報収集-
PDF
データビジュアライゼーションの作り方
PDF
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
PDF
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
PPTX
ビッグデータ&データマネジメント展
PDF
KOBE IT FESTIVAL 2012
PDF
GeoFuse ライトニングトーク
PDF
【IISAテクニカルカンファレンス2014】 オープンデータ×オープンソース ~WEB上でのインタラクティブ可視化手法について~
データビジュアライゼーションもくもく会
2015年7月期AITC女子会「D3.js/Highchartsによるデータの可視化」
D3.jsと学ぶVisualization(可視化)の世界
03 pepper io_t_web
Hadoop scr第7回 hw2011フィードバック
AWS Black Belt Online Seminar 2018 AWS上の位置情報
AWSでのビッグデータ分析
Big data解析ビジネス
D3.js で LOD を Visualization
AWS初心者向けWebinar AWSでBig Data活用
Data Visualization meetup 2017
ソーシャルデザインパターン -評判と情報収集-
データビジュアライゼーションの作り方
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
ビッグデータ&データマネジメント展
KOBE IT FESTIVAL 2012
GeoFuse ライトニングトーク
【IISAテクニカルカンファレンス2014】 オープンデータ×オープンソース ~WEB上でのインタラクティブ可視化手法について~

More from aitc_jp (20)

PPTX
ITフォーラム2025 先端IT活用推進コミュニティ セッション1:AITCの活動紹介
PPTX
ITフォーラム2025 先端IT活用推進コミュニティ セッション1:AITCの活動紹介
PDF
ITフォーラム2025 先端IT活用推進コミュニティ セッション4:コンテキストコンピューティング研究グループの取り組み
PDF
ITフォーラム2025 先端IT活用推進コミュニティ セッション6:「下り坂の雲」の行き先を灯す、これからのITの使い方
PDF
ITフォーラム2025 先端IT活用推進コミュニティ セッション5:ビジネスXRの転回
PDF
ITフォーラム2025 先端IT活用推進コミュニティ セッション3:空気を読む家スタジオの取り組み
PDF
ITフォーラム2025 先端IT活用推進コミュニティ セッション2:オープンラボの取り組み
PDF
ITフォーラム2025 先端IT活用推進コミュニティ セッション:オープニング・タイムテーブル
PDF
ITフォーラム2024 AITCセッション(5)
PDF
ITフォーラム2024 AITCセッション(4)
PDF
ITフォーラム2024 AITCセッション(3)
PDF
ITフォーラム2024 AITCセッション(2)
PDF
ITフォーラム2024 AITCセッション
PDF
2)AIを活用したウェルビーイングを測定
PDF
TForum2023_AITC_2.pdf
PDF
2)AIを活用したウェルビーイングを測定
PDF
5)パネルディスカッション:『空気を読む家』×ウェルビーイング/メタバース・Web3
PDF
4)技術視点でウェルビーイングを考える
PDF
3-2)『空気を読む家』とメタバース駆動開発構想
PDF
3-1)『空気を読む家』とメタバース駆動開発構想 空間OS モノと社会をつなげる
ITフォーラム2025 先端IT活用推進コミュニティ セッション1:AITCの活動紹介
ITフォーラム2025 先端IT活用推進コミュニティ セッション1:AITCの活動紹介
ITフォーラム2025 先端IT活用推進コミュニティ セッション4:コンテキストコンピューティング研究グループの取り組み
ITフォーラム2025 先端IT活用推進コミュニティ セッション6:「下り坂の雲」の行き先を灯す、これからのITの使い方
ITフォーラム2025 先端IT活用推進コミュニティ セッション5:ビジネスXRの転回
ITフォーラム2025 先端IT活用推進コミュニティ セッション3:空気を読む家スタジオの取り組み
ITフォーラム2025 先端IT活用推進コミュニティ セッション2:オープンラボの取り組み
ITフォーラム2025 先端IT活用推進コミュニティ セッション:オープニング・タイムテーブル
ITフォーラム2024 AITCセッション(5)
ITフォーラム2024 AITCセッション(4)
ITフォーラム2024 AITCセッション(3)
ITフォーラム2024 AITCセッション(2)
ITフォーラム2024 AITCセッション
2)AIを活用したウェルビーイングを測定
TForum2023_AITC_2.pdf
2)AIを活用したウェルビーイングを測定
5)パネルディスカッション:『空気を読む家』×ウェルビーイング/メタバース・Web3
4)技術視点でウェルビーイングを考える
3-2)『空気を読む家』とメタバース駆動開発構想
3-1)『空気を読む家』とメタバース駆動開発構想 空間OS モノと社会をつなげる

D3.jsを使ったデータビジュアライズ勉強会

  • 1. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2014年7月17日 先端IT活用推進コンソーシアム クラウド・テクノロジー活用部会 D3.jsを使った データビジュアライズ勉強会
  • 2. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. タイムスケジュール • 19:30~20:10 – オープンデータから表示用ファイルを準備 • 20:10~21:30 – D3.jsで可視化しよう
  • 3. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 本日の目標 • D3.jsを使ってデータを可視化してみる – 数値を眺めているだけでは見えなかったものが、 可視化によって何かが見えてきたらステキ • 本日の内容を別の方法でも実現できるけど – Google Maps API • https://developers.google.com/maps/?hl=ja – Microsoft Excel の Power View • http://office.microsoft.com/ja-jp/excel-help/HA102899553.aspx • D3.jsで実装することで – 思い通りの表現・拡張ができる • SVG(Scalable Vector Graphics)のスキルも自然に身に付く – 地図以外にも活用できる – ほとんどローカルで出来るので • 業務データなどでも安心してトライする事ができる
  • 4. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ちょっとだけ 先端IT活用推進コンソーシアム AITC ご紹介
  • 5. Windows コンソーシアム 日本経営協会 XMLフェスタ Java コンソーシアム XML部会 2000/07 設立宣言 2001/06~2010/03実活動 2010/03~2010/09 2010/09/08設立 先端IT活用推進コンソーシアム Advanced IT Consortium to Evaluate, Apply and Drive
  • 6. 企業における先端ITの活用および 先端ITエキスパート技術者の育成を目的とし、 もって、社会に貢献することを目指す非営利団体 設 立: 2010年9月8日(会期: ~2016年8月31日) 会 長 : 鶴保 征城 (IPA顧問、HAL校長) 会 員 : 法人会員&個人事業主、個人会員、学術会員 特別会員 (産業技術総合研究所、気象庁、 消防研究センター、防災科学技術研究所) 顧 問 : 稲見 昌彦 (慶応義塾大学大学院 教授) 和泉 憲明 (産業技術総合研究所 上級主任研究員) 萩野 達也 (慶応義塾大学 教授) 橋田 浩一 (東京大学大学院 情報理工学系研究科 教授) 丸山 不二夫(早稲田大学大学院 客員教授) 山本 修一郎(名古屋大学大学院 教授) BizAR顧問:三淵 啓自 (デジタルハリウッド大学大学院 教授) 川田 十夢 (AR三兄弟 長男) AITCとは:
  • 7. 第4期活動対象分野 realvirtual コンテキスト 人 メタ データ モノ コト コンテキスト コンピューティング クラウド コンピューティング AR ナチュラルユーザー インターフェース ユーザーエクスペリエンス ソーシャル
  • 9. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. オープンデータから 表示用ファイルを準備
  • 10. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 横浜市のオープンデータ • 横浜オープンデータポータル – http://data.yokohamaopendata.jp/ • ヨコハマ・アート・LOD – http://fp.yafjp.org/yokohama_art_lod • よこはまオープンデータカタログ(試行版) – http://www.city.yokohama.lg.jp/seisaku/seisaku/opendata/ catalog.html • 2014年7月14日オープン オープンデータじゃないけど • 横浜市統計情報ポータルサイト – http://www.city.yokohama.lg.jp/ex/stat/ SPARQLによるクエリが可能
  • 11. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. その他のオープンデータ • Open DATA METI – http://datameti.go.jp/data/ja/dataset • データカタログサイト(試行版) – http://www.data.go.jp/ • オープンデータプラットフォーム – http://odp.jig.jp/ • 気象庁XML公開サイト – http://api.aitc.jp/ • 鯖江市 – http://www.city.sabae.fukui.jp/pageview.html?id=12768 SPARQLによるクエリが可能SPARQLによるクエリが可能
  • 12. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. SPARQLによるクエリ例 • オープンデータプラットフォーム http://odp.jig.jp/ – SPARQLで横浜市に関する登録を検索 • http://sparql.odp.jig.jp/sparql.html • 神奈川県横浜市:http://odp.jig.jp/jp/jig/opendatacity/13 • 神奈川県横浜市金沢区:http://odp.jig.jp/jp/jig/opendatacity/5 select * where { ?id ?t <http://odp.jig.jp/odp/1.0#OpenDataCity> . ?id ?p ?o . filter(regex(?o, "横浜市")) } limit 10 敷居はかなり高いけど、慣れたら「RDBを公開してくれている」感覚
  • 13. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. データを準備する上での注意-1 • 文字コード – CSVはShift-JISで公開されているものが多い – JavaScriptで読み込む場合 • とりあえず「UTF-8」に変換すれば、トラブルは起こりにくい • ライセンス – データを公開しているサイトの利用規約を参照 • http://data.yokohamaopendata.jp/dataset/kanazawa_kz- opendata_2013_35-child-care-event →リソース→ライセンスを参照
  • 14. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. データを準備する上での注意-2 • 他サイト上のデータを直接参照したい – 常に最新データを表示できる • 今日やるようなデータ加工をJavaScriptで実装 – CORS(Cross-Origin Resource Sharing) • データの公開サイトが、他サイトから直接参照を許可しているか? • 確認方法 – HTTPヘッダに「 Access-Control-Allow-Origin: *」があればOK • 開発時に、全部ローカルでやる場合は – Chromeは起動オプション「--allow-file-access-from-files」 – Firefox, Safariは、特に何もしなくてもOK – IEはうまく動作しない • ファイルアクセス部分にjQueryを使う事で回避可能
  • 15. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 使用するデータを選択 • 使用するデータの選択条件 – 住所もしくは緯度経度と、数値があるもの – 時間とともに変化すると、さらに面白い • 今回使用するデータ – 横浜市総務局 防災関連データ • http://www.city.yokohama.lg.jp/somu/org/kikikanri/data/ →「地域防災拠点」 ※注:XMLファイル クリエイティブコモンズ「表示」(CC BY) – 二次著作物を作成する場合は、利用するデータの出典(データのタイトルと著作 権者名など)の表示をお願いします。 • 使用するツール – Excel で編集を行います – ExcelとJavaScriptに自信があれば、他データに挑戦してもOK – Excelを持っていない人は • Sample ディレクトリ以下からコピーしてください
  • 16. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. データ準備-1 • XML→CSVに変換する – Excel で対象URLを開く • 「XMLテーブルとして開く」を選択 • 1回目はちょっと時間がかかります – 「名前を付けて保存」でCSVを選択 • ファイル名は「shelter.csv」 • CSVを加工 – Excelを再起動し、「shelter.csv」を開きなおす – フルの住所のカラムをCとDの間に追加 • タイトルは「住所」 • =“神奈川県横浜市” & B2 & C2 – 他のデータを使う場合も • CSVとして正しい形式で、住所が入っていれば、だいたいOK
  • 17. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. データ準備-1-最終形
  • 18. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. データ準備-2 • 住所を緯度経度に変換する – http://newspat.csis.u-tokyo.ac.jp/geocode/ – 「今すぐサービスを利用する」をクリック – 各パラメータを設定 • 住所を含むカラム番号:4 • 変換したいファイル名: shelter.csv – 「送信」を押すと、変換結果のCSVが落ちてくる • ダウンロード後、Excelで開いて内容を確認 • 取得した緯度経度をGoogleMapsで確認 – 「fY fX」の順で検索
  • 19. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. データ準備-3 • 文字コード変換 • テキストエディタで開き、文字コードを「UTF-8」に変更し保存 • ファイル名は、「shelter_utf8.csv」を指定 Windowsのメモ帳 「ファイル」→「名前を付けて保存」 Macのテキストエディット 「テキストエディット」→「環境設定」
  • 20. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. データ準備-4(余裕のある人だけ) • 他のデータに対しても、同様の手順を行う – 「住所を含むカラム番号」に注意 • 改行が正しく表示されない場合 – 住所→緯度経度変換時に、UNIX改行に変わった – 心配なら、別のエディタでCR+LFに変換 • 変換しなくても、特に問題はない
  • 21. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. D3.jsで可視化しよう
  • 22. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. D3.js とは • データをドキュメント化して、関係も保持 – SVGを効率良く生成するためのライブラリです D3.js(またはD3:Data-Driven Documents、旧:Protovis[1])は、 2011年に開 発が始まった[2]ウェブブラウザで動的コンテンツを描画するJavaScriptライブ ラリである。 World Wide Web Consortium準拠のデータ可視化ツールとして、 Scalable Vector Graphics(SVG)、JavaScript、HTML5、Cascading Style Sheetsを最大限に活用している。 その他多くのライブラリとは対照的に、最 終的に出力された結果に視覚的な調整ができる。[3] ウィキペデアより データ JSON, CSV, e.t.c. ドキュメント SVG function IE8以前や SVGに対応していな いブラウザは 特別な対応が必要 SVG化 イベント処理 イベントが起こっ たデータを識別
  • 23. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. D3.jsを使ってビジュアライズ • 今回は地図を軸に可視化してみる – D3.js は、地図描画の機能が充実 • 注意:地図は楽だけど、グラフを描くのは意外に面倒 – 必要な部品がそろっているだけ – D3.js Examples → 各グラフを描くためのソースを参照 • https://github.com/mbostock/d3/wiki/Gallery – 参考URL http://postd.cc/what-d3js-is-not/ • 参考書籍 エンジニアのための データ可視化[実践]入門 ~D3.jsによるWebの可視化 • http://www.amazon.co.jp/dp/4774163260 • D3.js はほとんど出てこないけど、「可視化」の理解が深まります
  • 24. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 緯度・経度を扱う上での注意 0 , 0 136.09, 36.77 900 , 600 140.18, 34.36 スクリーン 経度・緯度 画面内に描画するため ・スクリーンの原点と、緯 度・経度の原点が違う ・表示スケールの調整 900 , 0 140.18, 36.77 0 , 600 136.09, 34.36 0, 0 136.09, 34.36
  • 25. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 開発環境の準備 • D3.js をダウンロード – http://d3js.org/ • d3.zip をダウンロードし、d3.min.js を取り出す • js ディレクトリを作成し、格納 • 今回は、すでに入っています • テキストエディタ – お気に入りのエディタでOK • ブラウザ – [F-12]を押せば、開発ツールが起動する – Chrome:「ツール」→「デベロッパーツール」 • ローカルのデータファイルを参照するためには、起動オプションを追加 「--allow-file-access-from-files」 – Firefox+firebug:「ツール」→「Web開発」→「Firebug」→「Firebugを開く」 – Safari:「環境設定」→「詳細」→「メニューバーに”開発”メニューを表示」 – IE(9以降):「F12 開発者ツール」 • ローカルだとうまく動作しない – データにアクセスしている部分をjQueryにすれば、動くらしい
  • 26. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 地図データの準備 • 地図データ – D3.js の geo パッケージで読める形式が必要 • GeoJSON:地理情報用に規格されたJSONデータ形式 • TopoJSON:GeoJSONの拡張形式。D3.jsではプラグインが必要 – 冗長性を排するので、データサイズが20%程度になる – Shape形式の地図を入手し、GeoJSON形式に変換 • 入手元:国土交通省、国土数値情報 – http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html – 神奈川県:N03-130401_14_GML.zip • このサイトで10%に圧縮+GeoJSONに変換 – http://www.mapshaper.org/ – 10%というのはShapefileでの比(1,191KB→131KB) – Shapefile→GeoJSONに変換すると大きくなる(131KB→514KB) – 変換結果(GeoJSON形式、514KB) • http://cloud.aitc.jp/20140717_D3js/gis/kanagawa.json
  • 27. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. D3.jsの超概要 http://ja.d3js.node.ws/ • セレクタ(W3C Selectorsを参照) – d3.select(“#hoge”) → <xxx id=“hoge”> を対象 – d3.select(“.hoge”) → <xxx class=“hoge”>を対象 – d3.select(“hoge”) → <hoge>を対象 • セレクション – selectAll(), enter(), exit() – 繰り返し処理が楽に書ける • d3.select("#TEXT1").selectAll("p").style("color", “#000000"); • 動的プロパティ • svg.selectAll(".node").data(signal).text(function(d) { return d.title; } ); • svg.selectAll(".node").data(signal).text(function(d, i) { return i; } ); • データの結合 – 更新:svg.selectAll(".node").data(signal).text(“hogehoge”); – 追加:svg.selectAll(".node").data(signal).enter().append(“text").text(“piyopiyo”); – 削除:svg.selectAll(".node").data(signal).exit().remove(); • アニメーション • d3.select("#TEXT4").transition().style("background-color", "black"); signal = [ { “cx”: 100, “cy”: 100, “color”: “#0000ff”, “title”:”青”,}, { “cx”: 200, “cy”: 100, “color”: “#ffff00”, “title”:”黄”,}, { “cx”: 300, “cy”: 100, “color”: “#ff0000”, “title”:”赤”,}, ];
  • 28. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. その他の今回使用するメソッド • ファイルの読み込み – d3.json(), d3.text(), d3.csv() • 地図描画 – d3.geo.mercator() – d3.geo.path().projection(projection);
  • 29. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. SVG(Scalable Vector Graphics)について • Wikipedia – http://ja.wikipedia.org/wiki/Scalable_Vector_Graphics • SVG仕様 – http://www.hcn.zaq.ne.jp/___/SVG11-2nd/ • 使用上の注意 – 順番通りに上に重ねて描画 – 対応していないブラウザだと、何も表示されない – ブラウザによっては、微妙に見え方が違う Scalable Vector Graphics(スケーラブル・ベクター・グラフィックス、SVG) は、XMLをベースとした、2次元ベクターイメージ用の画像形式の1つである。 アニメーションやユーザインタラクションもサポートしている。SVGの仕様は W3Cによって開発され、オープン標準として勧告されている。
  • 30. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. SVG(Scalable Vector Graphics)について • 代表的な図形 – パス <path d=“M 100 100 L 300 100 L 200 300 z” fill=“red” stroke=“blue” stroke-width="3" /> – 円 <circle cx=“600” cy=“200” r=“100” fill=“red” stroke=“blue” stroke-width="10" /> – 線 <line x1=“100” y1=“300” x2=“300” y2=“100” stroke=“green” stroke-width="5" /> – テキスト <text x=“250” y=“150” font-family=“Verdana” font-size=“55” fill="blue" > Hello, out there </text>
  • 31. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 以降は、サンプルコードを見ながら解説 • http://cloud.aitc.jp/20140717_D3js/ • D3.jsでデータとSVGが連動するサンプル – step1_1.html + js, step1_2.html + js • D3.jsで地図を描画する – step2.html + js • D3.jsでデータを取得する – step3.html + js • 取得したデータをsvgで可視化する – step4.html + js • 十分な量のデータがあれば、地図無しでもいけるかも • 地図に重ねてデータを描画する – step5.html + js 金沢区内公園を描画する
  • 32. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. step5.js を改造し、「地域防災拠点」に対応 ファイル名を「./shelter_utf8.csv」にし、 csvファイルを同ディレクトリにコピー csvのタイトルに合わせる とりあえず固定で「white」を返す csvのタイトルに合わせるcsvのタイトルに合わせる
  • 33. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 余裕のある人用の、機能追加案 • Nameによって、色を変える – 小学校、中学校、その他 • 他の情報も合わせて表示 – 津波非難施設、応急給水拠点、帰宅困難者一時滞在施設 • アニメーション – D3.js の更新+アニメーション機能 .transition(). duration(ミリ秒).変化後のスタイル() – JavaScriptのsetInterval() • 静岡県雨量を使った例 – http://cloud.aitc.jp/20140627_D3js/sample6.html • 自分の現在位置を表示 – HTML5のGeolocation API
  • 34. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 今後の拡張の方向 • 付加情報を表示 – clickかmouseoverで、詳細情報を表示 • 地名・住所・関連情報など – 文字をもっと見易くする(白抜き文字、など) • http://www.slideshare.net/kadoppe/inline-svg/53 • 他のデータも合わせて表示 – 他のオープンデータ – 社内の業務データなど • アニメーション – 「もう1つ軸を足したい」時など • 拡大/縮小 – 特定の区を詳細に見たい – 倍率に合わせて、円の大きさや文字サイズを調整
  • 35. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Q&A • 時間があれば、紹介 • 「地域防災拠点」を使った実装例 • step5example. js • 横浜市統計情報ポータルサイトのデータを使った例 • http://www.city.yokohama.lg.jp/ex/stat/index2.html#24 • 「テレビ放送受信契約数」平成18年から24年の推移 • ライセンス http://www.city.yokohama.lg.jp/front/aboutweb.html > 私的使用のための複製や引用など著作権法上認められた場 合を除き、無断で複製・転用をすることはできません。 横浜市に勉強会での使用について問い合わせた結果 > 「横浜市統計書」からの出典を明らかにしていただければ、 > 著作権法上認められた場合に該当すると判断します。