オープンデータハッカソン & OSC2016 Nagoya　参加レポート (2016/5/28)


## 概要

2016/5/28（土）に名古屋の吹上ホールで開催された以下のハッカソンに参加してきました。

- [オープンデータで愛知をハックしようハッカソン！〜アーバンデータチャレンジ愛知プレイベント〜](https://code4nagoya.doorkeeper.jp/events/44174)

ハッカソンは初参加でしたので色々と不安でしたが、とても有意義な時間を過ごせました。
主催者の方々、準備から当日の運営まで、本当にありがとうございました。
情報共有のために参加レポートをアップロードいたします。

### 対象読者

- ハッカソンに興味はあるけど行ったことがない方
- オープンデータを用いた開発に興味がある方
- 位置情報に紐付いたデータの視覚化に興味がある方
- ハッカソン主催側の方で参加者の反応が気になる方

※　不適切な内容や誤り等ございましたら、編集リクエストを頂けますと幸いです。


## オープンデータハッカソン

### 主催者の方々

- Code for Naogya

Code for Japanという団体の傘下の団体の１つだそうです。
各自治体や市民と協力して、テクノロジーを活用してより良いサービスや社会をつくる、というコンセプトとしているそうです。
Code for xxx という団体は全国各地に30ちょいあるらしいので、お近くのお住まいにもあるかもしれません。

- https://code4.nagoya
- http://code4japan.org


### 概要


ざっくり言うと「官公庁などが無料で配布しているオープンなデータを元に、ツールを用いて視覚化して、市政に役立つシステムやアプリを作成したり、仕事や研究に結びつけよう」という内容でした。

オープンデータの例は、主催者の方々が以下にまとめてくれていました。

- https://github.com/code4nagoya/opendata/wiki/dataset


交通に関する情報や福祉施設の情報など様々ですね。
問題としては、フォーマットが統一されていないため、CSV, XLSはてはPDFまでデータ形式がバラバラだそうです。
そういう微妙なフォーマットのデータを、みんなが使いやすいように整形する活動も必要になってくるそうです。


### ハッカソンの流れ

大体以下の様な感じで、作業時間は約２時間でした。

- 10:00 : オープンデータに関する説明、視覚化ツール紹介、ハッカソン概要説明
- 11:00 : オープンデータを使用したアプリやサービスのアイデア出し、アイデアが似ているメンバーで再グルーピング、ハッカソン作業内容検討
- 12:00 : 昼食、OSC2016見学
- 13:30 : 各グループでの作業開始
- 15:30 : 各グループの成果物発表
- 16:00 : 閉会、片づけ
- 18:30 : OSC2016全体での懇親会（任意参加）

### グルーピング

まず各自アイデアを出してから、同様のアイデアを持つ方が集まりました。
結果として、以下の5グループにわかれました。

1. 医療チーム
1. 防犯チーム
2. 防災チーム
3. 視覚化ツールチーム
4. 交通チーム

だいたい各グループ3〜7名でした。
私は交通チームに入りました。

### 視覚化ツール

データの視覚化ツールとして、以下２つのツールを紹介して頂きました。
どちらも無料でとても興味深いです。ぜひ触ってみてください。

#### E2D3
 エクセル内でd3.jsというを動かすアドオンです。（"Excel to d3.js"の略）
 d3.jsは、イケてるグラフを描画できるJavaScriptの視覚化ライブラリです。
 
 WindowsならExcel 2013以上、MacならExcel 2016以上で無料で追加できるそうです。
 Excel Onlineでも使用できると思います。
 
 会社のパソコンで遊んでみましたが、「こりゃすげー」の一言でした。
 エクセル上のセルのデータを編集するとグラフや地図に反映されるので、数値や位置情報の確認に使えそうです。
 グラフはPNG, SVGとしても出力できるので、資料作成の際にも活躍しそうです。
 
 オープンソースなのでJavaScriptが書ければ開発にも貢献できるようですよ。
 インストール方法やその他詳細などは公式サイトをご覧ください。
 
 
 - [E2D3 公式ページ](http://e2d3.org/ja/)

#### CartoDB

位置情報に紐付いたデータを含んだCSVやエクセルファイルを、簡単に地図上にマッピングできる無料のサービスです。
データのアップロードはドラッグ＆ドロップで一撃でした。
ひえーめちゃ便利ーー。

作った地図は即座にURLが作成されて公開されるので共有に便利です。
作った地図を非公開にしたい場合や、大量のデータやレイヤーを扱いたい場合は、有料版を使用すれば解決できるようです。

時系列データ、ヒートマップ、バブルチャートなど、色々な表現が可能です。
SQLを使用することでより柔軟なデータの選択や抽出などが可能なようです。

内部的にはPostgreSQLのPostGISを使用しているらしく、ソースも公開されているそうです。
ローカルサーバにインストールすることで、なんと有料版の機能を実現できるらしいです。

「こんな便利なツールがなんで無料なのーーー？？？」といった感じです。
もう色々とついていけません。。。

 - [CartoDB 公式ページ](https://cartodb.com/)

### ハッカソンでの作業

さて本題のハッカソンです。
私は交通チームとなりました。
当初は、事故情報や渋滞情報と絡めて何かできると面白そ〜と考えていましたが、リアルタイムの情報を使うのは難しいよ、とメンバーからご指摘頂きました。
（確かにそうですね。。。）

私のチームは３名でしたが、結局アイデアはまとまらず「CartoDBを用いて、各自好きなデータを描画してみよう」という結論となりました。

これはこれで勉強になったのですが、せっかくのハッカソンでしたので、チームで協力して何か１つのものを作ればよかったかな、と後々思いました。
次回ハッカソンに参加する機会があればそうしたいと思います。

### 私の成果物

CartoDBを使って「地下鉄東山線の各駅の乗車人数」を地図にマッピングしてみました。
が、CartoDBの使い方を学んでいるうちにあっという間に終了してしまいました。

以下のURLを表示すると私が作成したCartoDBの地図が表示されます。
visible layersという部分で平成24, 25, 26年度の各レイヤーの表示・非表示ができると思います。
（年度が違ってもほとんど乗車人数の傾向は変わらないので、色が変わったように見えるだけですが。）

- https://dev-neko.cartodb.com/viz/1347afce-2498-11e6-a38d-0e5db1731f59/public_map


私の成果物はこれだけです。。。（ショボン）
CartoDBは多機能でまだまだ全貌を把握できていませんが、今後何か面白い地図を作ってみたいと考えています。

### 成果物発表

さてさていよいよ発表です。
各チーム持ち時間3分で成果物を発表しました。
きっちりメモをとっていたわけではないのでうろ覚えですが、各チームの成果物概要を記載します。

#### 医療チーム

コンセプト

- いざ救急病棟が必要な時に、どの病院がいつ受け入れているのかがわかりづらい点を解決したい。
- 救命病棟の位置を地図上にマッピングして、利用情報などを手軽に見れるようにしたい。
- 以上のことをスマホから行いたい。

以上のようなコンセプトのもとで、名古屋市近辺の救命病棟の位置をGoogle Map上にマッピングされていました。

#### 防犯チーム

コンセプト

- 人口に対して警察署の数が間に合っているかどうかを視覚化する（だったはず）

市町村の人口と警察署の位置情報をCartoDB上にマッピングされていました。
レイヤーがいくつもあってかっちょいい地図になっていました。

#### 防災チーム

コンセプト

- 現在位置周辺の避難所を地図上にマッピングする。
- 選んだ避難所までの距離と方角をスマホ上に表示する。

このチームは簡単なアプリまで作成されており、主催者の方も驚いていました。
最もハッカソンらしい瞬間だったように思います。

#### 視覚化ツールチーム

コンセプト

- 名古屋の繁華街の深夜のツイート情報を解析して、地図上にマッピングする。
- 感情解析も行い、色分けして表示する。

名古屋の繁華街における夜のツイート情報を解析して、どのあたりで誰がハッピーになっていて、誰がブルーになっているかを解析する、というユーモアのある内容でした。

「この辺はブルーな発言が多いからぼったくりバーでもあるのか？」
「錦の奥まったところの方がご機嫌な人が多そう」
などと結果を推測されていて、個人的には一番面白い発表でした。

感情解析までやっちゃうなんですごいですね。。。
どうやってやるんでしょうか？


#### 交通チーム

さて最後は我が交通チームです。
3人の中で一番成果の出た方にメインに発表して頂きました。

コンセプト

- ある街のバス停の位置情報と、バス便の時間情報をデータファイルに落とし込む。
- そのデータファイルを用いて、CartoDB上にバスが走っている様子をシュミレートする。

時系列データを動的に動かすCartoDBの機能を用いておられました。
動きが微妙とご本人は謙遜されていましたが、会場からは驚きの声があがっていました。

### その他

- 参加者は30名前後で、人数構成は学生2割、開発者7割、研究者+その他1割、という感じでした。
- 当日はSlackというチャットツールを用いて、サーバ情報やスライド内容などを共有しました。各チームのチャンネルも作れたので、スムーズに情報共有できました。
- 開発環境として、さくらサーバさんのサーバを各チーム１台使用させて頂きました。PostgreSQLやWebサーバなどが構成済みの状態で提供され、サーバ構成についてはSlackで共有して頂けました。
- 会場には常設の無線LANがなかったため、特設の無線LAN環境を用意して頂きました。が、みんながそこにアクセスするので非常に遅かったです。私は途中からメンバーの方のWifiルーターの回線を貸して頂きました。こういう時にWifiルーターは便利ですね。


## OSC2016 Nagoya

続きまして、OSC2016 Nagoyaのご報告を簡単に。
そもそもハッカソンはこのイベントの一部ということを知らずに参加して、当日このイベントをやっていて驚きました。

IBM, Elastic, サクラサーバなどの大御所から、名古屋のプログラムの有志の団体までいろんなブースがありました。
個人的には、Ruby東海の勉強会を知れたことと、Elasticなどのステッカーがたくさん貰えたのが嬉しかったです。
ハッカソンに参加していたのでお昼休みしかブースを回れませんでした。。。残念。

懇親会にも参加して来ました。
約100名の方がいらして、立食形式でワイワイガヤガヤな感じでした。
パーティーではあまり積極的に話せるタイプではないので、半分ぐらいは人間観察してました。
それでもハッカソンでお世話になったCode for Nagoyaの方と色々とお話できたので楽しかったです。

## 感想

さて、ようやくまとめです。
ハッカソンにおいては、開発準備時間は2時間だったにもかかわらず、どのチームも完成度の高く驚きました。
プレゼン用のスライドをその場で作成しているチームが3チームあり、みなさんのアウトプットの早さにはすごいの一言です。


社外の開発者の方々と話したり一緒に作業したりすることはとても勉強になり、とても良い刺激になりました。

### 個人的な今後の目標

これから可能な限り色んな勉強会に参加して、モチベーションを上げて、アウトトップする機会を増やそうと思いました。
Code for Nagoyaは月1の定例会と、たまにこういうイベントをやっているそうなので、これから定期的に参加していこうと思っています。
（明日6/2にありますね！）

というわけで、その他にも名古屋や東海地方で開催されるプログラムやIT関連の勉強会をご存知の方がいらっしゃいましたら、コメント頂けると幸いです！

井の中の蛙にならないよう、楽しみながら勉強していこうと思います。

重ねてになりますが、主催者の方々、よくして頂いたメンバーの方々、本当にありがとうございました。
最後までお読み頂きありがとうございました。m(_ _)m