ワークショップ「d3.js」入門

Post on 25-May-2015

2.205 Views

Category:

Design

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

2014年5月14日に、東京大学CSIS寄付部門 定例会議ワークショップ「D3.js」入門と題して開催したワークショップで使用したスライドです。位置情報(地図)の事例に重きを置いた内容となっています。

TRANSCRIPT

矢崎 裕一

東京大学CSIS寄付部門 定例会議ワークショップ「D3.js」入門

あるEメール…

D3.js

Mike Bostock

Show Reel

D3.jsの主な特徴や機能

選択、アニメーション、タイマー、補間、配列操作、ランダム、外部リソースの読み込み、テキスト/CSV整形、カラーユーティリティ、スケール、タイマー、レイアウト(Layout)、地理(Geography)、地図投影法(Map Projection)、幾何(Geometry)

• 統計学上必要な計算を賄ってくれる • 地図投影法が多数用意されている • 細かいスタイリングがすべて指定できる • ウェブ標準に則っている

地図投影法(プラグインで増加できる分を含む)

https://github.com/mbostock/d3/wiki/Geo-Projections

地図投影法(プラグインで増加できる分)

地図投影法(プラグインで増加できる分)

地図投影法(プラグインで増加できる分)

地図投影法(プラグインで増加できる分)

地図投影法(プラグインで増加できる分)

Jason Davies

http://www.jasondavies.com/maps/

地図の描画メソッド別 事例紹介

•Dot Distribution Maps!•Graduated Symbol Maps!•Choropleth Maps!• Isopleth maps!•Flow map!•Dorling Cartograms Map!•Contiguous Cartogram Map!•multi-projections!•Others

Dot Distribution Maps地図上に一定の大きさのエレメントをプロット

Locals and Tourists by Eric Fischerhttps://www.flickr.com/photos/walkingsf/sets/72157624209158632/

Dot distribution maps 地図上に一定の大きさのエレメントをプロット

Locals and Tourists by Eric Fischerhttps://www.mapbox.com/labs/twitter-gnip/locals/

Dot distribution maps 地図上に一定の大きさのエレメントをプロット

Dencity by Ben Fry

http://fathom.info/dencity

Dot distribution maps 地図上に一定の大きさのエレメントをプロット

Graduated Symbol Maps地形エリアには依存せずに、属性を大きさや色などで表現

The incredible rise of migrants' remittanceshttp://visualizing.org/full-screen/54850

Graduated Symbol Maps 地図上に置くエレメントの大きさに変数をプロットする

Choropleth Maps地形の色で値を表現する

http://en.wikipedia.org/wiki/Choropleth_map

unemployment rates from 2008 by Mike Bostock

http://bl.ocks.org/mbostock/4060606

Chropleth Maps 地形の色で値を表現する

Isopleth Maps地図上に数値を変化を示す/天気図などでおなじみ/ 正確に描画するための大量のデータを必要とする

http://en.wikipedia.org/wiki/Contour_line

Isometric and isopleth maps ダミーテキストダミーテキストダミーテキスト

Density map of homicides in Monterreyhttp://bl.ocks.org/diegovalle/5166482

Flow map地図とフローチャートのミックスで物の移動を表す

Flow map 地図とフローチャートのミックスで物の移動を表す

Die Wanderungsbewegungen zwischen den Kantonen im Jahr 2011http://www.nzz.ch/aktuell/inland-sommerserie-schweizer-karten-interaktiv/binnenwanderung-in-der-schweiz-1.18128893

Dorling Cartograms Mapマップ上の領域をできるだけシンプルに表現しようとした結果、地形そのものは消失

by Danny Dorling

Results - London 2012 Olympics by The New York Times

http://london2012.nytimes.com/results

Dorling Cartograms マップ上の領域をできるだけシンプルに表現しようとした結果、地形そのものは消失

Contiguous Cartogram Map陸地の大きさや距離に値をプロット

Cartograms with d3 & TopoJSONhttp://prag.ma/code/d3-cartogram/

Contiguous Cartogram 陸地の大きさや距離に値をプロット

multi-projections複数の投影法を活用

Earth Wind Maphttp://visualizingurbanfutures.com/2013/12/21/world-wind-map/

multi-projections 複数の投影法を活用

othersその他まだ名前のついていないもの

world airports voronoi diagramhttp://visualizing.org/visualizations/world-airports-voronoi-diagram

Others その他まだ名前のついていないもの

Walmart locations all hexed uphttp://indiemaps.github.io/hexbin-js/tests/walmart.html

Others その他まだ名前のついていないもの

自分をセンシングすることにより 描き出される地図

ウェアラブルデバイスで取得する自分のアクティビティ・データは 実は意外とオープンデータではない

アクティビティ・データ・サービスにおけるTwitter

Moves

https://apps.moves-app.com/

https://apps.moves-app.com/apps/MMapper/rckP_G3ULscJ9Xg0LNti8870Tj83aXVF/info?platform=all

地形データ

Shape file → GeoJSON → TopoJSONウェブ上では 使えない

ウェブ上で 使える

ウェブ上で 使えるし、より軽量

地理情報システム(GIS)間でのデータの相互運用におけるオープン標準として用いられるファイル形式

Shapefile

JSONを用いて空間データをエンコードし非空間属性を関連付けるファイル形式 他のGIS標準とは違い、ウェブ上のワーキンググループによりメンテナンスされている

GeoJSON

Feature一単位これがFeatureCollection型のGeoJsonだということを示す

個々のジオメトリー

ジオメトリー以外のデータ

※緯度と経度の順で保存されている(慣習な順序とは逆)

GeoJsonに比べてファイルサイズをかなり削減(典型的なファイルであれば80%程度)できるMike B.による独自フォーマット

TopoJSON

https://github.com/mbostock/topojson/wiki/JP-Specification

このファイルが描くものの位置と拡縮サイズ

個々のジオメトリーの相対位置

これがTopoJsonだということを示す

個々のジオメトリー

JSONを用いて空間データをエンコードし非空間属性を関連付けるファイル形式 他のGIS標準とは違い、ウェブ上のワーキンググループによりメンテナンスされている

Shapefile→GeoJSON→TopoJSON

GDALhttp://www.gdal.org/

TopoJSONhttps://www.npmjs.org/package/topojson

Shapefile→GeoJSON

GeoJSON→TopoJSON

QGIShttp://www.qgis.org/ja/site/

便利ツール

シンプル/軽量化ツール

http://bost.ocks.org/mike/simplify/http://www.mapshaper.org/

緯度経度の確認ツール

http://teczno.com/squares/

データ可視化実践入門

http://gihyo.jp/book/2014/978-4-7741-6326-0

インタラクティブ・ データビジュアライゼーション

http://www.oreilly.co.jp/books/9784873116464/

実習

https://github.com/n1n9-jp/CSIS_map_140514

サンプル ソースコード

Webサーバを立てる(Macの場合)簡易に起動できるので、Pythonのサーバを利用する

cd /Users/Shared/Dropbox python -m SimpleHTTPServer 3000

cd ウェブサイトのルートにしたいディレクトリ python -m SimpleHTTPServer ポート番号

日本地図…japan.json(TopoJSON)

地形とデータを繋ぐ

“nam” (英語での都道府県名) “nam_ja”(日本語での都道府県名) どちらか

地形ファイル データファイル

objects.countries.id

地形ファイル world-50m.json

データファイル

世界地図…world-50m.json(TopoJSON)

top related