More Related Content Similar to 次世代ジオロケーションサービスの開発手法 Similar to 次世代ジオロケーションサービスの開発手法 (15) More from Yahoo!デベロッパーネットワーク More from Yahoo!デベロッパーネットワーク (20) 次世代ジオロケーションサービスの開発手法1. 次世代ジオロケーション
サービスの開発手法
Development of N t G
D l t f Next Generation G l
ti Geolocation S i
ti Service
ヤフー株式会社
ヤフ 株式会社
佐藤 伸介
2011年2月18日(金)
1
2. 自己紹介 佐藤伸介
-2004 官公庁向けGISシステム開発
(119番緊急指令システム)
2004- ヤフ 株式会社入社
ヤフー株式会社入社
地図・路線・道路・ワイワイマップ・マイタウン
地域情報 電話帳 ク ポン エリア検索
地域情報・電話帳・クーポン・エリア検索
ローカルサーチ(ジオサーチ)プラットフォーム
オ プンロ カルプラットフォ ム
オープンローカルプラットフォーム
2007-2009 早稲田大学非常勤講師
現在下記プロダクトマネージャーとして推進
Yahoo! 地図サービス
Yahoo! 路線情報サービス
Yahoo! Open Local Platform
2
3. ジオロケーションサービスの変遷
AR
ソーシャルx • SmartPhone
位置
位置ゲー • SocialGraph
• Check’in
Check in • MultiPOST
• GPS
タウン情報
• 電話帳
• グルメ
場所案内 • UGC
• Review
R i
• 地図 • Photo
• ナビゲー
ション
3
4. 開発のデバイスの多様化
Device PC / Mac SmartPhone SmartPhone SmartPhone Slate PC Slate PC TV
iPhone Android WindowsPhone iPad Android
Web(HTML) 開発A 開発A + α 開発A + α 開発A + α 開発A + α 開発A + α 開発A + α
Application 開発B 開発C 開発D 開発E 開発C + α 開発D + α 開発F
4
5. 地域情報サービスの世界観
地域での生活や行動に役立つ
あらゆる情報を提供する
飲食店 宿泊施設 ニュ ス
ニュース
つぶやき
時刻表 公共施設 イベント
渋滞 鉄道運行
地図 不動産
気象
特売
電話帳 商業施設 災害
6. 詳細な基本情報の集約
<情報提供者の分類>
情報を網羅的に集める
情
報
量
『ヘッド』
『ヘッド 『ミドル』
『ミドル 『ロングテール』
『ロングテ ル
ヘッド情報で
カバーできない
情報の厚み
情報の信頼性
・行政機関 ・クチコミ
・地域レポーター
自治体
・自治体 ・レビュー
読者モデル
・読者モデル
・CP ・影響力の強いブロガー ・ブログ
・新聞社 など ・投稿スポット/イベント
タウン誌
・タウン誌 ・ログ(チェックイン/ルート)
・電話帳 など
など
6
7. 地域・地理情報データ
能動的ユー 受動的ユー
業界特化 汎用
ザ情報 ザ情報
レビュー、写
イベント 住所データ 検索ログ
真、コメント
グルメデー 電話帳デー
レコメンド GPSログ
タ タ
ニュース 地図データ チェックイン
イラストマッ
プ
統計データ
7
8. 地域情報の網羅性と質
90
80
70 インターネットに
インタ ネ トに
60
無い情報も収集する 駐車場
ホテル
richness
s
50
病院
40 不動産
30 飲食店
電話帳
20 ポストなど
10
0
50
100
150
200
250
300
350
400
450
500
550
600
650
700
750
2
2
3
3
4
4
5
5
6
6
7
7
coverage
9. 地域・地理情報の扱いの問題点
• 日本の店舗情報は約600万
• 国内の店舗は1年で約1/5入れ替る
– 情報の鮮度の維持が困難
– 情報の網羅性の担保が困難
– デジタル化されたリッチ情報が少ない
• 正確性が特に求められる
• データの標準化が進んでいない。
デ タの標準化が進んでいない。
– 住所はコード体系が存在する
9
• 地域・地理情報の扱いは専門性が必要
11. ローカル検索TOP10
Text View Map View
1. 飲食店 1. 飲食店
2. ホテル 2. ホテル
3. 居酒屋 3. 駐車場
4. 駐車場 4. 病院
5.
5 病院 5.
5 コンビニ
6. ラーメン 6. 温泉
7.
7 グルメ 7.
7 スーパストア
8. 内科 8. 銀行
9.
9 ビジネスホテル 9.
9 郵便局
11 10. ランチ 10. ビジネスホテル
13. Yahoo! Open Local Platformとは
Yahoo! Open Local Platform (略称 YOLP) は
(略称:YOLP) は、
地域・生活圏情報の流通
地域 生活圏情報の流通を目的とした
情報基盤です。
Yahoo! Open Local Platform
14. YOLPのパートナー向けコアバリュー
■ … YOLP独自
⇒デベロッパ
⇒デベロッパー
簡単に作れる
●地図・ローカルサーチAPI
●マルチデバイス対応API
●オープン地点データ利用
●自社地点デ タストレ ジ
●自社地点データストレージ
誘導が取れる 情報提供
儲かる
●Yahoo! JAPANからの誘導
バリュー
バリ
●ローカルマッチ広告
●外部サイトからの誘導
●情報提供量課金
⇒マネジメント、マーケティング
15. YOLPが目指すエコシステム
みんなで入れる みんなで使う
地域系サイト メディア・コンテンツサイト テールパブリッシャー 検索サイト
メディア(ニュース・記事)
ブログ・SNS 地域系サイト
エンターテイメント系
エンタ テイメント系
WIKI
メディア・コンテンツサイト
YOLP API
YOLP API
一般企業・官公庁
写真・動画
一般企業・官公庁
般企業 官公庁
( テールパブリッシャー
地地
図
&
地
点
地域情報マスター YOLP 表
示 メイン検索・ローカルサーチ
ストレージ
ストレ ジ ・
Y! 地域系
地域系 検
Small B
地域情報
索
地図 路線 ドライブ ) 地図
入入 スポット名 詳細情報 写真 動画
ポット名
稿 地域情報 グルメ
Business
地域系
トラベル ビューティー クーポン レビュー レピュテーション
ヘルスケア クーポン
APIを使って
s
求人 不動産 世の中の全ての緯度経度を
※ 2010年11月16日現在の予定企業で 持った情報を格納 サイトに表示
す。今後追加される可能性がございます
16. Webサービスとコンテンツ利用
Webオーナー
Webオ ナ
Webオーナー
地域系サイト運営者
地域系サイト運営者
コンテンツホルダ 開発者
コンテンツ購入者
官公庁・研究者
SIer SIer
17. パラダイムシフト
Webオーナー
Webオ ナ
Webオーナー
地域系サイト運営者
地域系サイト運営者
コンテンツホルダ 開発者
YOLP
コンテンツ購入者
官公庁・研究者
SIer SIer
みんなで入れる みんなで使う
18. YOLP格納データ
• 総拠点数 1100万レコード
– POIパートナー数28社
パ 数 社
– YOLP自身でも電話帳600万レコードを提供
YOLP自身でも電話帳600万レコ ドを提供
• 地図・航空写真も提供
18
19. YOLPと地域生活圏戦略について
店舗・地域サービスを
運営する企業様
誘導・送客
ヤフーの各サービ
2 ス
2
店舗向け 1
入稿・販促ツール
Yahoo!OpenLocalPlatform
YOLPを利用した ユーザー
地域情報を ヤフー以外のメディア
ヤフ 以外のメディア
保有する企業様
誘導・送客
1 情報基盤
情報基盤として(Yahoo! Open Local Platform)
(
地域・生活圏
情報の集積 × ジオメディア = 開発生産性の向上
2 メディアとして
地域・生活圏
域 × 店舗向け販促 = 地域情報流通量の増大
メディアの確立 ツールの提供
21. YDFとはYOLPの内部データ形式
POI情報
ポリゴン、ラ (GIS的)
イン情報
(GIS的)
SearchView
店舗詳細情
報、イベント
情報(リス
ティング的)
MapView
統一形式YDFによる PlaceView
Pl Vi
地図とリストの共存
21
22. 地域生活圏情報を簡単に取り扱える
リスティング 地図・地理空間
• 検索 • 地図表示
• ゆらぎ検索 • 多彩な地図
• 業種カテゴリー • 航空写真
• Boundingbox • 主題図
• 距離(radius)
• 統計情報表示
• JIS X 401,402コード
• 白地図表現
• ヒートマップ表現
• 名寄せ • 測地系変換
• WGS84 x T k 97
Tokyo97
• データ
• POI • ジオコーダー
• 電話帳 • 高性能高速
• パ トナ デ タ
パートナーデータ • リバースジオコーダ
バ ジオ ダ
• Y!保有POI • コンテンツジオコーダ
• 住所
• 日本全国
• 海外主要都市
YDFに
よる
MashUp
p
22
23. デバイスの多様化に対応した統合テクノロジー
Device PC / Mac iPhone Android FeaturePhone
Local Search API
Geocoder API
Search API
S h Reverse G
R Geocoder API
d
名寄せAPI
コンテンツジオコーダ
Javascritpt Map API
p p Javascritpt Map API
p p
Javascritpt Map API
Static Map API Static Map API
Static Map API Static Map API
Web Map API Silverlight Map API Heat Map API
Heat Map API
Heat Map API Drive Route API
Drive Route Map API
Drive Route Map API Drive Route Map API
Application Map API (TBD) iPhone Map SDK Android Map SDK (Obsolete)
測地系変換API
Geo Utility API 標高API iArea API
住所カテゴリAPI
23
25. YOLPカセットギャラリー
利用可能な多彩な拠点情報を紹介
利用可能な多彩な拠点情報 紹介
自分でもPOI情報をアップロード可能
現在52カセット(2011/2/10現在)
ローカルサーチAPIで利用可能
ロ カルサ チAPIで利用可能
http://gallery.olp.yahoo.co.jp/
25
26. geo
標準化 YDF KML
RSS
ショートURL API
(Reverse) 天気API 標高API 縮尺情報API
隣接市区町村API
Spatial ダイナミックQRコードAPI
Utility API Geocoder 横リンクAPI 最寄り駅API 測地系変換API
UtilityAPI
Extend Utility API
iエリアAPI CoreLocationAPI(GeoIP,GPS...)
Listing API Listing API iPhone SDK
Clientside Javascript Silverlight デバイス
(rev)Geocoder API (rev)Geocoder API Android SDK
Map API
p Map API
p Map API
p ( )
(lib)対応
図形描画 図形描画 Windows SDK
MapAPI 白地図
Serverside Static Tile
Mobile自動サイズ ColorPalletAPI
Map
M API Map
M API Map
M API
図形描画 HeatmapAPI
+KML, +geors +YQL Format
Map APIs
YDF (XM
Navigation API Roadway Route API Transit API 到達時間(駅)API
Serverside
ss,
ML/JSON)
Navi API
Information API 道路渋滞情報API 列車運行情報API 路線・駅カテゴリAPI 駅情報API
All POI Support(MDB)
pp ( ) Category API
g y
Geocoder Local
Serverside Reverse 住所検索(カテゴリ) 特徴語解析
API Search ACL Support
Search API Geocoder API 〒検索(カテゴリ) (評判)
住所検索 API
YOLPストレージ検索 業種(カテゴリ)
Tunnel
Restful I/F
Storage API Storage
ACL Support OAuth2対応予定
API API
POI/Image Ready
YOLPパートナー リアルタイムデータ リアルタイムデータ
Storage YOLPストレージ 電話帳POI Y!POI
POI CGP SMB
26
28. 地域検索の3つの軸
• ジオコーダ
– 住所
– ランドマーク・ビル・駅など目標物
• リバ スジオ
リバースジオコーダ
ダ
– 緯度経度 から住所へ変換
• ローカルサーチ
ロ カルサ チ
– 店舗情報検索
– 「目黒 グルメ」など
28
29. ジオコーダ処理
• 同義語
前処 •
•
異字体
表記ゆれ
理 • バーストワード
• ロ マ字体
ローマ字体
• クエリプランニング
ジオコーダ 検索 • 完全一致・形態素解
析 NGRAM
析・NGRAM
後処 • ログスコアリング
理
29
30. コンテンツジオコーダの概略
要素ごとに
XML,JSON
自然文入力 形態素解析 ジオコー
で提供
ディング
ノイズ除去用辞書や、前述のジオコーディング精度向上
ノイズ除去用辞書や 前述のジオコ ディング精度向上
テクノロジーを反映。
30
31. コンテンツジオコーダデモ
自然文を入力
http://cgi.1st.geocities.jp/yjmapstaff/yolp/contentsgeocoder/sample.php
31
33. POIに関する管理手法
ユニークID 名寄せID
POI収集
レジスト 付与
UID(UniqID) Name Address META1 … GroupID
Uid12056 ○○ラーメン 六本木… 写真… 口コミ… Gid582
Uid52098 ○○ラーメン 六本木… Gid582
Uid83209 ××ラーメン 六本木… Gid10002
33
34. 具体的な事例
Uid 2
Uid=2 六本木 元 Uid 2
Uid=2 六本木 元 Uid 2
Uid=2 鳥料理 元 Uid 2
Uid=2 鳥料理 元
鳥料理 元
六本木 元 六本木 元
Uid=8 六本木 元
本木 Uid=8 Uid=8 飾り言葉付
掲載停止 掲載再開
与
元ちゃん
Uid=15 元ちゃん Uid=15 Uid=15 元ちゃん Uid=15 元ちゃん
B指摘名寄せ
鳥料理 元
六本木 元
六本木 元 六本木 元 鳥料理 元
Gid=1 Gid=30 元ちゃん Gid=80 Gid=30
Uid 2,8
Uid=2,8 元ちゃん 元ちゃん
Uid=2,15
Uid=2,8,15
35. 「東京ミッドタウン」の名寄せ
• http://storage.olp.yahooapis.jp/OpenLocalPlatform/V1/getGid?appid=luckyxrea&name=%E6%9D%B1%E4%BA%AC%E
3%83%9F%E3%83%83%E3%83%89%E3%82%BF%E3%82%A6%E3%83%B3&lat=35.6657214&lon=139.7310058&ad
dress=%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%AF%E5%8C%BA%E8%B5%A4%E5%9D%82%EF%BC%
99%E4%B8%81%E7%9B%AE%EF%BC%97%EF%BC%8D%EF%BC%91
<?xml version="1.0" encoding="UTF-8" ?>
- <YDF firstResultPosition="1" totalResultsAvailable="10" totalResultsReturned="10" xmlns="http://olp.yahooapis.jp/ydf/1.0">
- <ResultInfo>
<Count>10</Count>
<Total>10</Total>
<Start>1</Start>
<Latency>0.908</Latency>
<Status>200</Status>
<Description>名寄せ候補結果(あいまい一致)</Description>
<Copyright>(C) Yahoo Japan Corporation.</Copyright>
</ResultInfo>
- <Feature>
<Id>1</Id>
<Gid>5ThTZvWk9Cc</Gid>
<Name>東京ミッドタウンデンタルクリニック</Name>
- <Property>
<MatchingScore>0.9</MatchingScore>
g g
<Address>東京都港区赤坂9丁目7−1</Address>
<Tel1>03-5413-7912</Tel1>
</Property>
- <Geometry>
<Type>point</Type>
<Coordinates>139.73123389,35.66620111</Coordinates>
</Geometry>
</Feature>
- <Feature>
<Id>2</Id>
<Gid>B5WhL9Wk9Cc</Gid>
35
37. 地図表示
• 詳細な地図
• 航空写真 衛星写真
航空写真・衛星写真
Map Data
• 白地図
• ヒートマップ
• Javascript Map API
Map Clientside • Silverlight Map API
Data and Technology Map • p
iPhone Map SDK
• Android Map SDK
Serverside • St ti Map API
Static M
Map
37
38. 多彩な地図種類 22種類の地図を利用可能
スタンダード ビビッド ボールド
シンプル モノトーン レッド
オレンジ ミッドナイト 鉄道路線
38 http://1st.geocities.jp/yjmapstaff/yolp/jsapi/service-stylemap.html
39. 表現の多様化
window.onload = function() {
var map = new Y.Map("map", {configure:{doubleClickZoom:true,doubleClickPan:true, scrollWheelZomm:true}});
map.addControl(new Y L
ddC t l( Y.LayerSetControl());
S tC t l())
map.addControl(new Y.SliderZoomControlVertical());
//地図を描画します。
map.drawMap(new Y.LatLng(35.66,139.73), 15 , Y.MAP_LAYERSET);
//YDF, geoRSS, KML に対応します。
var url="http://1st.geocities.jp/yjmapstaff/yolp/ydf/geoSearch.xml";
//GeoXmlのアイコンとヒートマップを切り替えられるプラグインを作成します
var geoxml = new Y.GeoXmlPlugin(url, { heat:true});
//プラグインをマップに追加します。
p g (g );
map.addPlugin(geoxml);
}
39
42. リスティングと地図の融合
<html><head>
<script type="text/javascript" charset="utf-8"
src="http://js.api.olp.yahooapis.jp/OpenLocalPlatform/V1/jsapi?appid=your-appid"></script>
</head>
</style></head>
<body>
<div id="list"style="width:20%;"></div>
<div id="map" style="width:80%;height:50%;"></div>
d d " " l " d h %h h % " /d
<script >
//リスティング初期化
var listing = new Y.Listing("list");
g g( )
//地図初期化
var map = new Y.Map("map", {configure:{doubleClickZoom:true, doubleClickPan:true, scrollWheelZoom:true}});
//レイヤをローカルサーチAPI(電話帳データ id d8 23 9 64 4 817227 b09858b 1330)から生成
//レイヤをロ カルサ チAPI(電話帳デ タ cid:d8a23e9e64a4c817227ab09858bc1330)から生成
var layer = new
Y.GeoXmlLayer("http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?
appid=your-appid&cid=d8a23e9e64a4c817227ab09858bc1330");
pp y u pp & 9 6 9 );
map.drawMap(new Y.LatLng(35.665627,139.730738), 6,Y.LayerSetId.NORMAL);
map.addLayer( layer ); //地図にレイヤを追加
listing.addLayer( l
li tin ddL ( layer ); //リスティングにレイヤを追加
layer.execute(); //レイヤ描画を実行
</script>
</body></html> ローカルサーチAPIのレスポンス形式(YDF形式)
これだけのCodeでlist&Map連携可能
42
43. Javascript Mapはプラッカブル仕様
<script> //プラグインの定義
<!
<!-- //地図上にアイコンを表示するHelloプラグインを作成し
var map; ます。
window.onload = function() { var HelloPlugin = Y.extend( Y.Plugin , function() {
//地図を初期化
var map = new Y.Map("map"); } );
map.addControl(new Y.LayerSetControl());
map.addControl(new Y.ZoomControl()); HelloPlugin.prototype.load = function( map ) {
map.drawMap(new this.marker = new Y.Marker( map.getCenter() );
Y.LatLng(35.665627,139.730738),
g( , ), map.addFeature( this.marker );
p ( )
18,Y.LayerSetId.NORMAL); this.marker.openInfoWindow( 'Hello!' );
}
//プラグインを追加
var plugin = new HelloPlugin(); HelloPlugin.prototype.unload = function() {
map.addPlugin( plugin ); map.removeFeature(this.marker);
} }
//-->
/scr pt
</script>
Githubにcommunity管理者募集中
43
44. Static Map API
マーカーを追加する ポリラインを追加する ポリゴンを追加する
円を追加する YDFを読み込んで表示する 地図のスタイルを変更する
ローカルサーチAPIのレスポンス形式(YDF形式)
地図スタイルは全部で24種類
地 全 種類
Javascriptの使えない端末用途向き
p
<img src=http://map.olp.yahooapis.jp/OpenLocalPlatform/V1/static?>
地図のスタイルを変更する
44
45. Android Map SDK / iPhone Map SDKの特徴
Yahoo!地図と同じ地図データを利用可能
地下街地図の表示
地図上のビル名や店舗名などの注記を直接タッチ可能な注記タッチ機能
地図スタイルを選択可能
注記など地図情報のオンオフ選択
iPhone Map SDK:http://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/iphonesdk/
45 Android Map SDK: http://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/androidsdk/
46. その他 Utility API
• 標高API
– 緯度経度 から高度を算出
• 測地系変換API
– 日本測地系と世界測地系の相互変換
今後も、新しい機能・新しいデータを追加予定です。
今後も 新しい機能 新しいデ タを追加予定です
46
48. ありがとうございました
あらゆる
業界団体/標準化団体と
あらゆる
画像 動画 メーカー/企業
メ カ /企業
ディベロッパーと
テキスト 音声
利用者
ゲーム
STB
パソコン モバイル
あらゆる
ゆ
コンテンツプロバイダと テレビ
カーナビ
Yahoo! JAPANは広く、オープン、利用者のために
48