この記事は、
技術評論社 Software Design 2013年5月号の転載です。
記事のPDFは
こちらからダウンロードできます。 技術評論社のご協力に感謝いたします。
Hack For Japan
エンジニアだからこそできる復興への一歩
“東日本大震災に対し、自分たちの開発スキルを役立てたい ”というエンジニアの声をもとに発足された「 Hack For Japan」。本コミュニティによるアイデアソンやハッカソンといった活動で集められた IT業界の有志たちによる知恵の数々を紹介します。
第17回
International Open Data Hackathon Tokyo報告
Hack For Japanスタッフ
鎌田 篤慎 KAMATA Shigenori
Twitter @4niruddha
東日本大震災に対してITからの復旧復興支援を目指したボランティア団体Hack For Japanでは、震災から2年が経ち、引き続き社会の課題解決や次なる震災に備えた活動を継続しています。今回は本連載でもたびたび紹介してきたオープンデータに関して、去る2013年2月23日に実施され、筆者も参加した「International Open Data Day」に連動したハッカソン東京会場の様子を交えて、これからのオープンデータとその意義についてご紹介したいと思います。
オープンデータとInternational Open Data Day
International Open Data Day注1とは、産官学一体となってオープンデータ政策を盛り上げ、普及させていくためのイベントです。政府、地方自治体、公共機関などが、それぞれが持つデータの公開を進めているなか、それにかかわる政策や活動の促進を、市民や企業の側から支えることを目的としています。今回のイベントは「2013年2月23日」という日付で、世界34ヵ国、100都市以上で開催され、日本では「Open Knowledge Foundation Japan(OKFJ)」が運営の中心となり、青森、会津若松、千葉、東京、横浜、名古屋、鯖江、福岡の8都市の会場で大いに盛り上がりました。
そもそも、なぜ今このような動き、そしてオープンデータが求められているのでしょうか。オープンデータは、インターネットの双方向性を活かし、行政が持つ情報の発信と行政への市民参加を目的としたオープンガバメントの流れを汲んでいます。政府や地方自治体、公共機関が持つ大量のデータをマシンリーダブルな状態でインターネット上で公開し、そのデータは自由に再利用や再配布をすることが許されているというもので、近年、アメリカをはじめとする世界各国で活動が盛んになっています。また、その対象となるデータの内容も多岐にわたり、政府が公開する人口統計や意識調査、経済指標、その他の白書、地方自治体などではその地域の交通事情や犯罪件数、生活情報などさまざまです。
このようなオープンデータは我々のような開発者がインターネット上のさまざまなプラットフォームとマッシュアップすることで、さらなる価値を生み出します。しかし震災当時を振り返ると、Hack For Japanに参加したエンジニアの多くは、政府から公開されるデータがことごとくPDFなどのマシンリーダブルではないフォーマットであることに頭を悩まされていました。
エンジニア達が被災地の復旧、復興の支援にかける想いがある中、自らの力が発揮しづらかった状況を少しでも改善したく、今Hack For Japanではオープンデータの活動を積極的に支援しています。
それではここからInternational Open Data Hackathon Tokyoの様子を紹介していきましょう。
ハッカソン東京会場の様子
VOYAGE GROUPの会議室を借りた東京会場では、主催のHack For Japanからオーガナイザーとして参加した関 治之さん(@hal_sk)からのInternational Open Data Dayの説明と共に、今回ハッカソンで利用可能なオープンデータのリスト注2の内容が紹介されました。また、東京会場を後援してくださり、都内の自治体としてはオープンデータに積極的な千代田区が公開するデータもその中にあります(後述)。
東京以外の会場ではエンジニア以外の参加者が多かったこともあり、オープンデータの啓蒙活動に近いところが多かったのですが、東京会場ではエンジニアが多数集まったことで、純粋に開発を行うハッカソンとなりました。それでもエンジニアのほかに、経済産業省や千代田区の公務員の方々、山と渓谷社やITmediaといったメディア系の参加者、日本財団やピースボートといった社会貢献系の参加者などバラエティに富んだ参加者構成になっていたことから、オープンデータに対する注目度の高さがうかがえました。
参加者の自己紹介の後、千代田区職員の印出井一美さんによる千代田区が公開するデータの紹介がありました。公開されているデータは千代田区民に関するデータ、千代田区の経済データ、千代田区に存在する企業、労働者に関するデータなど多様な統計データです。加えて、ランナーに人気のある皇居周辺の交通量や事故が起きている危険個所のデータなどもありました。ランナーと歩行者、自転車などとの接触事故が多発している都心の中でも、数少ない自然空間である皇居周辺がオーバーユースになってしまっている現状への対策案として、この公開データを元にした皇居周辺の空間デザインを今回のハッカソン東京会場のテーマの1つとして提案くださいました。
また、基本的に政府や地方自治体が公開している情報はPDFであることが一般的です。しかし昨今のオープンデータの流れから、印出井さんは少しでも扱いやすいデータとして公開しようと、Excelデータによる千代田区の情報公開を押し進められています。まだ手探りの段階で、将来的なビジョンまで含めたかたちでの公開には至っていないというお言葉でしたが、今回はこの公開されたExcelデータを中心としたハッカソンを行ったことから、より成果を生み出しやすいデータのあり方を検討できたと思います。
このほかのテーマについては、事前にFacebook上で実施されたアイデアソンで検討されたアイデアと、当日会場に持ち込まれたアイデアの発表を行い、それらのアイデアに賛同するメンバーを募ってチーム分けを実施しました。このチーム分けにより、参加者は4チームに分かれました。
エンジニア以外の人が参加しやすかったオープンデータ「アイデアソン」チーム、「LocalWiki&ランニングMAP」チーム、「災害発生後ダッシュボード」チーム。そしてもっとも賛同者が集まった「千代田区可視化」チームは、人数が多すぎることもあり、目的に合わせてデータを作る「Excelデータ位置情報化」チーム、データをGoogle Earth上にプロットする「Google Earth」チーム、データを可視化する「Data Rabbit」チームの3チームに分け、計6チームとなりました。
それぞれのチームの成果
さっそく各チームとも全員で協調して議論、開発に取りかかりました。各々の得意な領域の知識を活かしてオープンデータの利活用に取り組む姿勢は皆さん同じでした。会場にはお菓子や飲み物も用意され、お昼にはおにぎりも配られ、皆さん集中はしつつもリラックスした雰囲気で開発作業は進みました(写真1)。
それでは各チームの成果物をご紹介しましょう。
写真1 ハッカソンの様子
オープンデータアイデアソンチーム
このチームは開発者の方が少なかったこともあり、オープンデータに関する議論を行い、その成果をオープンデータアイデアボックス注3に提案することをゴールとしたチームでした。
オープンデータアイデアボックスとは、有識者や産業界、行政機関などからの意見だけではなく、国民からの声もオープンデータに反映させようとする試みです。このチームはそもそもオープンデータとは?というところからのメンバーが多かったため、オープンデータがどういうものか、今の課題は何なのかを有識者に共有してもらい、ゼロベースでオープンデータで何ができるか、何が求められているかを議論しました。
結論としては、(1)行政はマシンリーダブルなデータを公開する(2)開発者は開発したサービスの利便性を常に考える(3)市民は困っていることの発信を行い知ってもらう、といった三者の活動により、オープンデータで築くより良い社会を目指すところに落ち着き、無事にアイデアもオープンデータアイデアボックスに投稿されました注4。
LocalWiki&ランニングMAPチーム
このチームは記事と地図をリンクするWikipediaのようなサービスであるLocal Wikiを利用しています。エンジニアではないメンバーは、千代田区が公開するデータを元にLocal Wikiに千代田区地名由来のデータを入力。エンジニアメンバーはそのデータを用いてアプリを開発する、と作業を分担して行いました(写真2)。
Local WikiでGoogle Mapsと連携して皇居周辺の地図とデータのマッチングを行い、皇居周辺のランニングコースや危険個所のデータが取り出せるようになりました注5。
写真2 LocalWiki&ランニングMAPチームの様子
災害発生後ダッシュボードチーム
このチームは災害発生時に災害復旧担当者を支援する目的の、ダッシュボードを開発するチームです(図1)。火災の発生現場や避難所の受け入れ状況、備蓄食料・資材の在あ りか処などをソーシャルメディアに流れる情報などと連携し、GoogleスプレッドシートからWebサイトに公開するしくみの開発にあたりました。
首都圏直下型地震を想定したリアルな設定に備えたアプリケーションで、311で経験された内容が事前に想定されたものとなり、ソーシャルメディアを上手く活用し、被災状況の可視化を行う方法としても興味深いものがありました注6。
図1 災害状況確認ダッシュボードのイメージ図
千代田区可視化;Excelデータ位置情報化チーム
このチームはExcelデータで公開されている千代田区の情報の中から、位置情報に紐づくであろうデータ、たとえば保育園や小学校などの施設を見つけて抽出します。続いて施設名で検索して住所情報を見つけ、ジオコーディングにより緯度経度情報を付与することで地図上でプロットできるようにしました。これによって、他のチームでのプログラム利用に必要なデータを作成しました。
データ作成の中で、Excelデータもマシンリーダブルというにはほど遠い状況であるのと、プログラムで利用する際にあると便利な情報が欠落している点が見えてきました。そこで、オープンデータとしての利用を意識したXML形式でのデータ公開、プログラムでの利用を意識した情報の付与の提案も行いました注7。
図2 公開された千代田区の保育園・学童施設などのLOD※
※ LOD(Linked Open Data)とは、個々のデータを意味を持たせたリンクでつないでデータ全体を表現する、機械処理しやすい形式のこと。
千代田区可視化;Google Earthチーム
このチームは位置情報を3Dの棒グラフで表示できるようにすることを目指し、JSONからkmlを生成する変換プログラムを作成しました。ピンをある位置に表示し、長さを変えるという可視化を行いました。
上手くデータの可視化に成功し、またExcelデータ位置情報化チームにジオコーダーの提供などを行い、チーム間連携にも貢献してくれました注8。
図3 千代田区可視化;Google Earthチームの成果
千代田区可視化;Data Rabbitチーム
このチームはさまざまな種類の位置情報を重ねて表示することで、地域のさまざまな問題について横断的に見ることができるアプリを目指しました。ゼロからプロトタイプまでのアウトプットを目指すという開発に力を入れたエンジニア中心のチームで、HTML+JavaScript(Leaflet.jsとjQueryも利用)によって完全にゼロから作りました。
今回の開発でスキルの異なるメンバー間でペアプログラミングを実施し、スキルアップにもつながったことから、オープンデータを扱うハッカソンはプログラムの学習にも効果的であると発表してくれました注9。
図4 Data Rabbitチームのプロトタイプ
終わりに
今回のハッカソンを通じて、オープンデータの可能性を各会場の参加者にも大いに伝えることができました。しかし、発表の中にもあったとおり、オープンデータ自体には公開形式の問題や、数が少ない問題などまだまだ課題が山積みです。読者の皆さんにも今後のオープンデータに注目し活用いただくことで、解決の方向が見えてくるでしょうし、普及にさらにはずみがつくと思われます。ぜひ今後の展開にもご注目ください!