Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

オープンデータ Web API

396 views

Published on

2018.06.21 に京都コンピュータ学院 (KCG) 「Re: 京都オープンデータハッカソン」で説明した資料 +α の公開版です。

Published in: Software
  • Be the first to comment

オープンデータ Web API

  1. 1. オープンデータ Web API 坂本 啓法 (Keiho Sakapon)
  2. 2. もくじ • Web API – 使いやすい Web API とは • オープンデータ – 京都府・京都市のオープンデータ • ハッカソンの成果のイメージ
  3. 3. Web API
  4. 4. 問い • 公開されているサービスを利用して アプリを開発したことがありますか? • 他の開発者に使ってもらうサービスを 開発したことがありますか? アプリ サービス 利用
  5. 5. API (Application Programming Interface) API Web API (オフライン API) Win32 API Cocoa Google API Microsoft Cognitive Services
  6. 6. Web API Google Geocoding API の例
  7. 7. 使いやすい Web API とは • 各種プラットフォームからアクセス可能 – Web アプリ、モバイル アプリ など • オンライン – オフライン (事前ダウンロード) だけでなく – リアルタイム データも含む • データベース的 – クエリ可能 • ヘルプページ – API の説明、テストページ
  8. 8. その他の注意点 • データ形式 – 現在は JSON が主流 • 文字エンコーディング – UTF-8 • URL エンコーディング (パーセント エンコーディング) – データに記号を用いる場合は注意 • CORS – ドメインをまたぐ、ブラウザーからのアクセス http://abc.xyz/messages?s=Hello%2C+World%21
  9. 9. (参考) 標準規格 OData (Open Data Protocol) ※オープンデータとは直接関係ない言葉 OpenAPI (Swagger) • REST API の標準 • ヘルプページも • データベースへのクエリを URI で表現 • 各言語用のライブラリが用意されているため、 実際にはクエリを自分で書くわけではない
  10. 10. Web API 構成例 (静的) 自動入力フォーム ケーススタディ:郵便番号 API https://github.com/madefor/postal-code-api JSON ファイル Web アプリ デスクトップ アプリ モバイル アプリ など サーバーは既成のファイルを返す
  11. 11. Web API 構成例 (動的) ケーススタディ:郵便番号-住所検索API http://zipaddress.net/ Web API サーバーはデータベースの検索結果を返す データベース 自動入力フォーム Web アプリ デスクトップ アプリ モバイル アプリ など
  12. 12. (開発のデモ) .NET のデスクトップ アプリから JSON Web API を呼び出してみる
  13. 13. オープンデータ
  14. 14. オープンデータとは オープンデータとは (総務省) http://www.soumu.go.jp/menu_seisaku/ictseisaku/ictriyou/opendata/opendata01.html オープンデータを理解するための10のポイント http://www.glocom.ac.jp/chijo_lib/119/125-134_hayashi.pdf 自由に使えて再利用もでき、 かつ誰でも再配布できるようなデータ ※一般的には、政府や地方公共団体のデータとは限らない
  15. 15. データ形式 • CSV – テーブル形式 – 自治体の職員が作業することを考慮すると現実的な方法かも – ただし、意識しなければ Shift_JIS • XML – 階層型。サイズが大きくなる傾向あり • JSON – 階層型。型 (文字列、数値、論理値) を表現できる • RDF, LOD – メタデータ、他のデータへのリンク
  16. 16. オープンデータの例 • 京都府オープンデータポータルサイト 「KYOTO DATASTORE」 https://www.datastore.pref.kyoto.lg.jp/ • 京都市オープンデータポータルサイト https://data.city.kyoto.lg.jp/ • DATA GO JP http://www.data.go.jp/ • Data.gov (US) https://www.data.gov/
  17. 17. 各自治体のオープンデータ 京都府オープンデータポータルサイト「KYOTO DATASTORE」 https://www.datastore.pref.kyoto.lg.jp/ 京都市オープンデータポータルサイト https://data.city.kyoto.lg.jp/ 京都府・京都市は、全国的には進んでいるほう
  18. 18. 少し調査してみた データに変更がなくても、定期的にファイルを登録しているっぽい データベース化すれば職員の手間も減るだろう
  19. 19. 少し調査してみた 調査してみると、 いろいろ見つかることもある
  20. 20. ハッカソンの成果のイメージ
  21. 21. 成果の例 • オープンデータを利用したアプリ • 既存のオープンデータを Web API 化 • データ形式変換ツール • まったく斬新なオープンデータ • オープンデータのポータルサイトの改善
  22. 22. オープンデータを使う • 時刻表アプリ、観光アプリを作る – 使いたいオープンデータが存在しない場合、 仮定でもよい • Microsoft PowerApps などの 高速開発ツールから API を利用する • Excel で視覚化
  23. 23. 既存のオープンデータを改良する • JSON, CSV, XML 化 • データベース API 化 – 検索機能
  24. 24. ツールを作る • スクレイピングツール • OCR ツール – 画像の文字からデータ化
  25. 25. オープンデータを作る • まだオープンデータになっていないが 有用なデータ – センサーで取得できる情報 • まだ見たことのない画期的な オープンデータの設計 (神) – リアルタイム データの基盤
  26. 26. その他 • オープンデータのポータルサイトのデザイン – 閲覧性 • 自治体職員の業務プロセス – 手作業を減らす – PDF ではなく、API + ビューアーを提供したほうが楽 • RDF についての調査
  27. 27. (付録) 過去に作ったもの Train Timeline (2011) 電車の出発時刻をタイムライン形式で表示するアプリ HTML からスクレイピングでデータベース化
  28. 28. (付録) 過去に作ったもの Random Data Web API (2014) https://github.com/sakapon-net/Random-Data-Web-API ランダムなデータを生成するための JSON Web API
  29. 29. (付録) 今回作ったもの Postal Codes JP Web API (2018) https://github.com/kcg-edu-future-lab/Postal-Codes-JP 郵便番号から町域名を検索するだけでなく、町域名から郵便番号を検索できる
  30. 30. (付録) 今回作ったもの 手書き文字認識 入力できない字、読めない字

×