SlideShare a Scribd company logo
1 of 30
Download to read offline
オープンデータ 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

Similar to オープンデータ Web API

Web API を気軽に使える ツールやサービスのご紹介
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介CData Software Japan
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践Shumpei Shiraishi
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携CData Software Japan
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)Yuji Takayama
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスアシアル株式会社
 
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)
Azure 最新情報アップデート 2016年4月 (Build 2016での新機能)Naoki (Neo) SATO
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説kumo2010
 
Office365 api dev_20140624
Office365 api dev_20140624Office365 api dev_20140624
Office365 api dev_20140624Seiji Noro
 
Going Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersGoing Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersKeisuke Nishitani
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支えるFirebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える健一 辰濱
 
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
AWS Black Belt Tech シリーズ 2015 - Amazon API GatewayAWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
AWS Black Belt Tech シリーズ 2015 - Amazon API GatewayAmazon Web Services Japan
 
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャYugo Shimizu
 
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜Kensaku Komatsu
 
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラムDropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラムMasayuki Abe
 
API Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップAPI Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップCA Technologies
 
20170127cognitive services search
20170127cognitive services search20170127cognitive services search
20170127cognitive services searchzuhitoslide
 

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

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

More from Hironori Sakamoto

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

More from Hironori Sakamoto (8)

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

オープンデータ Web API