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

More Related Content

PPTX
Cognitive serviceのすゝめ
PPTX
PowerShellでFunction Appしよう!
PDF
無料で始めるアプリのバックエンド開発
PPTX
Custom Vision
PPTX
Bot framework概要
KEY
スマートフォンアプリケーション開発の最新動向
PDF
Api設計
PPTX
WebIntentsにより拓かれる次のWeb
Cognitive serviceのすゝめ
PowerShellでFunction Appしよう!
無料で始めるアプリのバックエンド開発
Custom Vision
Bot framework概要
スマートフォンアプリケーション開発の最新動向
Api設計
WebIntentsにより拓かれる次のWeb

Similar to オープンデータ Web API (20)

PPTX
Web API を気軽に使える ツールやサービスのご紹介
PPTX
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
PPTX
20170705 apiをつくろう
PPTX
オフラインファーストの思想と実践
PPTX
ADO.NETでつながるクラウドデータ連携
PDF
Data API + AWS = (CMS どうでしょう 札幌編)
PPTX
HTML5ハイブリッドアプリ開発のベストプラクティス
PDF
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
PDF
次期Office製品群の新しい開発モデルの解説
PPTX
Office365 api dev_20140624
PDF
Going Serverless, Building Applications with No Servers
PDF
Sharoid Service Menu
PDF
Firebase & BigQuery で Android アプリの成⻑を支える
PDF
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
PPTX
技術者として抑えておきたい Power BI アーキテクチャ
PPTX
9th nov2012 kof2012
PPTX
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
PPTX
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
PPTX
API Academy:マイクロサービス化へのファーストステップ
PPTX
20170127cognitive services search
Web API を気軽に使える ツールやサービスのご紹介
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
20170705 apiをつくろう
オフラインファーストの思想と実践
ADO.NETでつながるクラウドデータ連携
Data API + AWS = (CMS どうでしょう 札幌編)
HTML5ハイブリッドアプリ開発のベストプラクティス
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
次期Office製品群の新しい開発モデルの解説
Office365 api dev_20140624
Going Serverless, Building Applications with No Servers
Sharoid Service Menu
Firebase & BigQuery で Android アプリの成⻑を支える
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
技術者として抑えておきたい Power BI アーキテクチャ
9th nov2012 kof2012
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
API Academy:マイクロサービス化へのファーストステップ
20170127cognitive services search
Ad

More from Hironori Sakamoto (8)

PDF
アプリケーション開発における暗号化
PDF
企業のオープンソース戦略 (2014)
PDF
モーションセンサーを活用した NUI
PDF
アート的視点による創作
PDF
研究・開発の紹介 (2016)
PDF
創造的事業における開発プロセス
PDF
RTC と NUI と ALM
POTX
PowerPoint Template (Windows Phone Dark Theme)
アプリケーション開発における暗号化
企業のオープンソース戦略 (2014)
モーションセンサーを活用した NUI
アート的視点による創作
研究・開発の紹介 (2016)
創造的事業における開発プロセス
RTC と NUI と ALM
PowerPoint Template (Windows Phone Dark Theme)
Ad

オープンデータ Web API