Slide 1

Slide 1 text

Civic Hack に Jupyter を (事例紹介) 川井 浩陽

Slide 2

Slide 2 text

Civic hack ● 「オープンデータ」で行政データが使える – http://data.go.jp – http://data.kobe.lg.jp ● 市民活動 – Code for Kobe ● America, Japan, Tokyo, Osaka, etc., – 自分の生活で使えるデータ

Slide 3

Slide 3 text

VizChallenge 2016 ● 神戸市の事業 ● Data visualization(Open data 活用事例) ● バルセロナと神戸でワークショップ – http://kobe-barcelona.net/ – バルセロナの自治も勉強(スマートシティ) ● 作品提出

Slide 4

Slide 4 text

私の「作品」 ● 神戸市内の世代の地域差を可視化 ● 待機児童の地域差を可視化 ● http://hkwi.github.io/kobe-barcelona/

Slide 5

Slide 5 text

使ったデータ ● 住民基本台帳 町丁目別・1歳階級別人口 ● e-Stat 国勢調査 小地域 境界データ ● 幼稚園・保育園・こども園 一覧(住所) ● (支給認定)2・3号申し込み状況

Slide 6

Slide 6 text

作品化 ● Web Site / Web App 化 – せっかくのオープンデータ – 全部オープンソース化したかった ● 手順と結果を保存したかった – Jupyter notebook – Github pages でコードとページを同時にホスト – ページ側で nbpreview (JavaScript render) する

Slide 7

Slide 7 text

反省点 ● コンセプト上 – 「絵」で終わることが多い – 華やかにするのが難しい… – コードのココロを伝えるのは難しい… ● 技術上 – 埋め込まれた画像を他から参照したいとき… – 動画を埋め込みたいけど埋め込めないとき…

Slide 8

Slide 8 text

Inside

Slide 9

Slide 9 text

geopandas > import geopandas as gpd > shp = gpd.read_file(“h12ka28101.shp”) > shp.columns Index(['AREA', 'AREA_MAX_F', 'CITY', 'CSS_NAME', 'CSUM', 'DIR', 'DUMMY1', 'DUMMY2', 'DUMMY3', 'DUMMY4', 'GST_NAME', 'H12KA28_', 'H12KA28_ID', 'HCODE', 'HIGHT', 'JIKAKU', 'JINKO', 'KCODE1', 'KEN', 'KEN_NAME', 'KEYCODE1', 'KEYCODE2', 'KEY_CODE', 'KIGO_D', 'KIGO_E', 'KIGO_I', 'KIHON1', 'KIHON2', 'KSUM', 'MOJI', 'NMOJI', 'N_C1', 'N_CITY', 'N_KEN', 'PERIMETER', 'SEQ_NO2', 'SETAI', 'SITYO_NAME', 'TATE', 'X_CODE', 'Y_CODE', 'geometry'], dtype='object') > shp.plot() geometryという予約語のカラムに形状データが入っている e-Statからダウンロードしてくる matplotlibで地図が描画される

Slide 10

Slide 10 text

Geopandas 特徴 ● 測地系こわくない – 緯度経度 ⇔ 基準点からの距離 – 変換は .crs() で一発 ● 図形計算 – 面積の計算(Polyline) – 曲線は近似させる – 和・差・積など

Slide 11

Slide 11 text

地図可視化の落とし穴 ● 面積で代表されてしまう – 元のデータが歪められて見えてしまう ● えてして – 面積大=人口少ない – 人口が多いところに興味がある – 過密地域の面積は非常に小さい ● 目立たない、よく見えない

Slide 12

Slide 12 text

Jupyter Issue ● 自動ビルドにどう組み込む? ● どこからモジュール化するか? ● 泥臭い処理をどう「逃がす」か?