日本全国市区町村すべてに、オープンデータをリーダーを!
オープンデータリーダ研修事業、千葉県にて講演&サポートに行ってきました。

研修のインプットタイム、アイデアソンでも登場した、ごみに関するオープンデータ。 odpでは、横展開可能な5つ星オープンデータにて、鯖江市、三島市、品川区のデータが標準API、SPARQLで使えます。

ふと気になった、分別の違い。早速作ってみたのがこちら。

ごみ分別オープンデータ(鯖江市&三島市)
絞り込みフィルタを使って、かんたん検索!鯖江市では「CD」は資源ごみ!?
まだ使えるものは「オタマート」への出品もどうぞ!

ごみ名が一致するものを上位に表示しています。完全一致するものが13件。「食用油」、三島市では「燃えるごみ」、鯖江市では「資源物」と違います。 みなさんの自治体ではいかがでしょう? 「燃えるごみ」と「燃やすごみ」、「粗大ごみ」と「大型ごみ」、「危険不燃物」と「有害物」などの用語や定義の違いもありますね。

インプットタイム、地域事例紹介「オープンデータの活かし方、創ろう、世界最先端国家


オープンデータとは何か?難しく考えなくて大丈夫です。自由に無料で使えちゃうweb上のデータ、それがオープンデータ。 「機械判読に適したもの」と説明されることがありますが、気にしなくてOK!


根拠はこちら、政府CIOポータル / オープンデータからリンクされている「二次利用の促進のための府省のデータ公開に関する基本的考え方(ガイドライン) 平成25年6月25日」内に記載があります。

なお、上記情報のデータ形式が機械判読に適したデータ形式でなく、データ形式の変換に多くのコストを要する場合には、当面、従来のデータ形式で公開すればよいこととする。
つまり、機械判読に適していなくてもOK!画像でもPDFでもWordでもExcelでも安心して、RAW DATA NOW! しちゃいましょう。
Tim Berners-Lee: The next web | TED Talk

ただし、イノベーションにつなげるには、LINK DATA NOW! 5つ星オープンデータ化が必須です。ひとまず、完全無料の避難所データ(odp)でお試しください。 下記はごみ分別アプリの肝となる、SPARQL APIへの問い合わせです。

select * { graph ?g { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/jrrk#Rubbish>. ?s <http://www.w3.org/2000/01/rdf-schema#label> ?name. ?s <http://odp.jig.jp/odp/1.0#classified> ?cls. optional { ?s <http://www.w3.org/2000/01/rdf-schema#comment> ?comment. } filter(lang(?name) = "ja") } } limit 1000

5つ星オープデータのまとまりから、typeがRubbish(ごみ)から、日本語表記の名前、分別、もしあればコメントを、最大1000件取得しています。 どの自治体がどういうデータを提供しているかは、5つ星オープンデータ対応一覧表で一目瞭然。


2012年、早期オープンデータ開始、3都市のひとつ、流山市のオープンデータ担当の方!(他、会津若松市、鯖江市)


アイデアソンのテーマ「ここまでできる!?究極のオープンデータ活用法」


3-4人のチーム、ブレインライティングにより質より量!いろいろなアイデアがでていました。
アイデアに名前をつけるとテンション上がるのでおすすめです。


千葉県庁から千葉駅まではモノレール!宙を走る感じがおもしろい。


県庁前が終着でした。

600万円、これは世界一高い参議院選挙立候補に必要な供託金(市議選は30万円)。
第25回参議院選挙の投票日は7/21。 前回投票日の2016年7月10日の投票所と人の流れをTellusで見てみました。


Tellus ver 1.1 によって追加された、位置情報データ「Profile Passport」を使って、投票日7/10の10時時点(日本時間はUTC+9時間)を品川区の5つ星オープンデータ、投票所と組み合わせて表示した図。 もう一歩分解能がほしいところですが、投票所への人の流れがわかるかも?通常の日曜日との比較なども可能です。


鯖江市の選挙ポスター掲示場、オープンデータと宇宙データ、だいち(ALOS)のセンサーAVRIR-2による植物活性度を重ねたもの。鯖江市の東側、自然豊かな場所にあることが一目瞭然。


Tellusを使った分析は、Jupyter Notebookや、後継サービスJupyter Lab上のPythonで行います。
5つ星オープンデータを集約する opendata.cc のAPI、SPARQLを呼び出し、GeoJSONにしてpostするとTellus上の「取り込みマップ」として表示できます。

API_TOKEN = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # Tellus マイページ、APIアクセス設定で生成したトークン import json, requests, urllib.parse URL = "https://api.tellusxdp.com/v1/geojson-files" def get(id = ""): return requests.get(URL + "/" + id , headers = { "Authorization": "Bearer " + API_TOKEN }).json() def post(data): headers = { "Authorization": "Bearer " + API_TOKEN, "Content-Type": "application/json" } return requests.post(URL, headers = headers, json = data).json() def delete(id): return requests.delete(URL + "/" + id, headers = { "Authorization": "Bearer " + API_TOKEN }).json() SPARQL_ENDPOINT = "https://sparql.opendata.cc/data/sparql?output=json&query=" def sparql(query): url = SPARQL_ENDPOINT + urllib.parse.quote(query) return requests.get(url).json() def toGeoJSON(res): fs = [] for d in res["results"]["bindings"]: f = { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ d["lng"]["value"], d["lat"]["value"] ] } } if "name" in d: f["properties"] = { "name": d["name"]["value"] } fs.append(f) return { "type": "FeatureCollection", "features": fs } def addLayer(rdftype, layername): gj = toGeoJSON(sparql(""" select ?uri ?name ?lat ?lng { ?uri <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <""" + rdftype + """>. optional { ?uri <http://www.w3.org/2000/01/rdf-schema#label> ?name. } ?uri <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat. ?uri <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?lng. } """)) #print(gj) post({ "originalName": layername, "transparency": 1, "windowNumber": 1, "data": gj }) addLayer("http://odp.jig.jp/odp/1.0#Polls", "odp 投票所") addLayer("http://odp.jig.jp/odp/1.0#PosterPlace", "odp 選挙ポスター掲示場") print("ok")

rdftypeに設定するデータ種別と対応地区は「5つ星オープンデータ対応一覧表」をご参照ください。


Tellus x オープンデータ、いろいろ遊んでみましょう!

目指せG空間ハッカー!
インプット、アイデアソン、チーム分け、ハンズオンアプリづくり体験まで行った初日に続き、2日目はハッカソン!
ステキなG空間アプリ9作品、参加者による投票によって、東京での発表会へと出場する2チームが決定しました。

高校、高専生、大学生から社会人、山口県、石川県、東京都などの参加もあって大いに盛り上がったG空間ハッカソン。
メガネポーズで記念撮影!


今日の会場は、サンドーム福井、小ホール。こちらも天井高くて気持ちいい。

成果発表会、持ち時間は5分。9チームから、デモ付きプレゼンテーション!


チームB. お店も観光客も時間有効活用サービス
店の空き時間と、出先でちょっと作業したい人のマッチング。
店舗の人向けデータ登録と、検索、地図へのマッピングまで動いてた。
オープンデータを元に入力支援したり、電源やWiFiは備考でなく正規化して、5つ星オープンデータにしたい。

細かいニーズ同士のマッチングはITならでは!


チームE. 危機一髪回避サービス
出先でスマホが使えないは、ほぼ災害!


コンセントをAR表示して、最寄りの電源コンセントが利用可能なスポットまで案内するアプリ


お店の外観、内装、商品のセット、どんなお店にもほしいですね。
写真、大事!オープンデータとして集めたい!
コンセントの空き状況や、使用量をリアルタイムにオープンデータ化するIoTコンセントとかも便利かも?


チームI. みんなどこに通った?マップ
初めての土地、特に地方は人通りがないのでどこにいったらいいか分からない。足跡を可視化しよう!


鯖江駅からサンドーム福井までの道筋。発表社自らがしっかり迷ったとのこと。


みんなどこ通ったマップがあれば、熱いスポットが一目瞭然!
年代別、性別、時間帯別、曜日別、さまざまな角度で分析して、楽しいスポット紹介だけでなく、新規出店用データとして、安全性向上データにも!
データベースを構築し、Go言語でサーバーアプリケーションまで準備と、高専生エンジニアっぽい作品!


チームH. AR市長が観光名所を案内
Hana道場に通う、柔道部の高校生チームによる、ARで市長が登場し、観光名所を案内してくれるという作品。


Unityを使って、ARマーカーにスマホをかざすと、空間に登場する市長に大げさに驚く寸劇付き。さすが、受け身がうまい。
街中にマーカーを置きまくる作戦、ぜひやろう!


チームG. バスの確認サービス
利用者が多すぎてバスに乗れない、バスの遅延で待ち時間が無駄、リアルタイムオープンデータで解消しよう。
日本版GTFSによって、続々と日本国内のバスオープンデータが広まってます。
福井市 京福バスのAPIは残念ながら運用停止中でした。
鯖江市 つつじバスAPI」「つつじバス乗客数」で実現しましょう!
身近な課題の解決、自分で作って自分で使う!


チームC. おやさい 逆アマゾンダッシュボタン!
農家さんが作った食べきれない野菜、近所の人は同じものを作っているのであげられない。


あげたい野菜の数だけボタンを押すだけ逆ダッシュボタン!


IchigoSoda(IchigoJam x sakura.io)を使ったプロトタイプ!


ほしいを登録しておくとプッシュ通知され、地図上の野菜アイコンからタップで農家さんの写真が見え、農業への親近感アップ。
感謝の気持ちは、地域通貨の投げ銭スタイルがおもしろい。


東京進出!
副賞に大阪のフルタ製菓x鯖江市役所「サバエイト


チームD. 高齢者自動送迎サービス「病院へGO!」
風邪かと思ったら誤嚥性肺炎という例が増えていると、医大生。
交通弱者である高齢者、痛い場所と顔写真をシンプルに送って、病院からの自動運転送迎を使おうというサービス。


人の体の絵をタップ、ARアプリによる撮影、呼び出し完了までとってもシンプル!病院側も呼び出しを受けた患者さん情報が事前によく分かるという、プロトタイプ。
わかりやすいUIと写真による119、良いかも!?


チームF. 有料パーキングの簡単支払い
駐車場にまつわる課題、空いている駐車場を探すのが面倒、止めている間の料金が心配、精算が面倒を全部解決!
場所、台数、料金、営業時間など、駐車場に関する細かなオープンデータを語彙化して、IoTによって空き状況をリアルタイムオープンデータ化して、賢く案内!
QRコード決済、LINEペイを使って、すばやく支払いまでできたら便利ですね!駐車後も安心できるよう、止めた場所、料金確認などあるのがいい感じ。
PayPayなど、個人間送金もできるお手軽決済サービス、空き地を気軽に時間貸し���きても便利そう!


東京進出!メガネ型のサバエイト、みなさんで分けていただきました!


チームA. 近くに何がある!?(公共の施設を探そう!!)
もともと兵庫県出身「近くに何があるか知りたい」を地図上でアプリ化!
学校、病院、警察、駅など、SPARQLをそれぞれ呼び分けて、地図上に表示。この日のためにノートPCを買って参戦とのこと!
SPARQL、ぜひいろいろ遊んでくださいー

初日、インプット

主催者、総務省 情報流通行政局 地域通信振興課長 吉田正彦さんより激励!


「G空間データの潜在能力」
事業構想大学院大学 小塩篤史さん、早期警報、都市マッピング、スポーツ、スマホログ解析、室内測位、おもてなし、ヘルスケア、ドローン、農業など、G空間とつながる、さまざまな分野のご紹介。


奈良先端科学技術大学院大学、オープンデータ伝道師、新井イスマイルさんは動画で登場!


宇宙や衛星にも広がる「地理空間情報とプログラミングと現在とこれから」
日本情報経済社会推進協会 電子情報利活用研究部 主任部員、オープンストリートマップ・ファウンデーション・ジャパン副理事長、飯田哲さん(@nyampire)
飯田さん記事「行政サイトでウェブ地図を使う際の注意点などまとめ - Qiita」は参考になります。 ここでも紹介されている国営で自由な地理院地図のデザインの問題を egmapjs は改善!

アイデアソン&チーム分け風景

1分半で3つのアイデアを考えて、次の人回す。これを6ターン!まずは質より量!たくさんのアイデアを机上に。


こちら7テーブルでのグルーピングされたアイデア「アイデアオープンデータ(PDF)」にしました!


みんなで見て回り、自分のアイデアをまとめて、絵にする時間。


テーブル内で自分のアイデアを紹介。良いアイデアに星印をつけましょう。


テーブルごとのアイデアのトップ2をみんなに発表。
やってみたいアイデアに集まって、チームができました!
その後、開催「かんたんマップアプリづくりハンズオン」は別記事参照。

ハッカソン風景

IoTを駆使するチーム。IchigoSodaによるIoTを紹介しました。
kintone x sakura.io x IchigoJam 親子イベント」「こどもIoTハッカソン」でおなじみ、BASIC言語による簡単IoTをご紹介。
IchigoSoda、IoTコマンド搭載で、より便利になった IchigoJam ver 1.3 でぜひ遊んでください!


経路探索を使うチーム。


経路探索サンプル - egmapjs チュートリアル
ただし、この経路探索APIはテスト用、実運用する場合は別途商用のサービスへの申込みが必要です。(Api usage policy · Project-OSRM/osrm-backend Wiki


SPARQLでWiFiマップ - egmapjs チュートリアル

select ?uri ?name ?lat ?lng { ?uri rdf:type <http://purl.org/jrrk#PublicWIFI>. ?uri rdfs:label ?name. ?uri geo:lat ?lat. ?uri geo:long ?lng. } limit 100


SPARQLでWiFiマップに条件をつけて、電源マップ - egmapjs チュートリアル

select ?uri ?name ?lat ?lng ?plugs { ?uri rdf:type <http://purl.org/jrrk#PublicWIFI>. ?uri rdfs:label ?name. ?uri geo:lat ?lat. ?uri geo:long ?lng. ?uri jrrk:hasPlugs ?plugs. filter(contains(str(?plugs),'有')) } limit 100


ARアプリを使うチーム。内側カメラを使ったARアプリフレームワーク「egarjs」サンプルとしてインカメラを追加しました。


助っ人コーディングが落ち着いたので、TELLOを使った室内巡回自動運転プログラムの実験。
締切5分前のギリギリの時に、お騒がせしてすみませんでした。

告知タイム!
2日間、一緒にハッカソンに参加した仲間、せっかくなので、イベント紹介で広がる交流の輪。


学生団体withによる「もしも最先端システムでビジネスゲームをできるとしたら。「体験型ビジネスゲーム」 | Peatix
ビジネスが学べる「ERP GAME」2.23、再び開催!


こちらは東京、同日2.23-24開催「NICT SpaceHack 2019」宇宙や衛星オープンデータ活用ハッカソン!
Tellus」の正式版公開も近い!?

全体講評
大事なのは楽しむこと。
2日間、長時間に渡るイベント、参加者の人が終始楽しそうにしていたのが印象的でした。

楽しく作った、楽しいアプリは使うし、使うと改善点が見えてきて、楽しく改善、どんどんよくなる。
楽しいと誰かに教えたくなるし、広がる。
データがつながる、5つ星オープンデータで、使える地域が隣の市、隣の県、日本中、世界中へと広がり、イノベーション!

もう一つ大事なのは、アプリの名前。
せっかく作った楽しいサービスはまさに我が子、みんなでステキな名前をつけてあげましょう。
伝えやすい、探しやすいがいい名前のコツ!

年齢や、住んでいるところ、専門分野もみんなバラバラ、みんなでつくった、9つの作品。
視点が違う人が集まるともっと楽しい、データが増えるともっと楽しい。使えるテクニックが増えるともっと楽しい!

ちょっとずついいものを作って広めていきましょう。
まずは、気楽な「G空間ごはん会」からはじめます!

links
- 総務省|「Geospatial Hackers Program」の開催《地理空間情報を活用可能な人材の裾野拡大に向けたハッカソン等の開催》
- 消火栓へゴー!? かんたんマップアプリづくりハンズオン(egmapjs 地理院地図編)スライド公開 - G空間ハッカーはじめのいっぽ(1日目、ハンズオン)
- GEOSPATIAL Hackers Program in福井まとめ
- G空間ハッカソンに参加しました | 鯖江から世界へ! 学生団体with

G空間ハッカーはじめのいっぽ「Geospatial Hackers Program | Peatix
福井会場の1日目は、サンドーム福井のものづくりキャンパス


40名もの参加者、みんなでつくろう地図アプリ!


Chromeじゃないと動かなかったり、コピペの貼り付け場所が分からなかったり、いろいろありましたが、それぞれの地図アプリできました!
Forks · code4fukui/egmapjs


かんたんマップアプリづくりハンズオン(egmapjs 地理院地図編)スライド (PDF)
分かりづらかった点など、ブラッシュアップしました。
地図アプリのページ、下にQRコードを出したので、すぐにスマホで確認できますよ!
誰かに教えるのも簡単、自分だけの地図アプリ、自慢しちゃいましょう。


SPARQLを使ったサンプル位置ゲーム「消火栓へゴー」とすぐにお試し「チュートリアル
こちらを元にあれこれ改造するのもいいですね!

文書を編集するHTML、プログラムをつくるJavaScript、デザイン変更CSS、データを取得するためのSPARQL。
用途に合わせて登場する、4種類のコンピューター言語、興味があるものから、ひとつずつ遊んでみると良いですよ!

links
- egmapjs

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS