Contenu connexe Similaire à 【B-2】次世代ジオロケーションサービスの開発手法 Similaire à 【B-2】次世代ジオロケーションサービスの開発手法 (20) Plus de Developers Summit Plus de Developers Summit (20) 【B-2】次世代ジオロケーションサービスの開発手法1. 次世代ジオロケーション
サービスの開発手法
Development of Next Generation Geolocation Service
ヤフー株式会社
佐藤 伸介
2011/7/2(土)
1
2. 自己紹介 佐藤伸介
-2004 官公庁向けGISシステム開発
(119番緊急指令システム)
2004- ヤフー株式会社入社
地図・路線・道路・ワイワイマップ・マイタウン
地域情報・電話帳・クーポン・エリア検索
ローカルサーチ(ジオサーチ)プラットフォーム
オープンローカルプラットフォーム
2007-2009 早稲田大学非常勤講師
現在下記プロダクトマネージャーとして推進
Yahoo!ロコ 地図サービス
Yahoo!ロコ 路線情報サービス
Yahoo! Open Local Platform
2
3. ジオロケーションサービスの変遷
AR
ソーシャルx • SmartPhone
位置
位置ゲー • SocialGraph
• Check’in • MultiPOST
• GPS
タウン情報
• 電話帳
• グルメ
場所案内 • UGC
• Review
• 地図 • 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. Yahoo! Open Local Platformとは
Yahoo! Open Local Platform (略称:YOLP) は、
地域・生活圏情報の流通を目的とした
情報基盤です。
Yahoo! Open Local Platform
8. YOLPのパートナー向けコアバリュー
■ … YOLP独自
⇒デベロッパー
簡単に作れる
●地図・ローカルサーチAPI
●マルチデバイス対応API
●オープン地点データ利用
●自社地点データストレージ
誘導が取れる 情報提供
儲かる
●Yahoo! Japanからの誘導
バリュー
●ローカルマッチ広告
●外部サイトからの誘導
●情報提供量課金
⇒マネジメント、マーケティング
9. YOLPが目指すエコシステム
みんなで入れる みんなで使う
地域系サイト メディア・コンテンツサイト テールパブリッシャー 検索サイト
メディア(ニュース・記事)
ブログ・SNS 地域系サイト
エンターテイメント系 WIKI
メディア・コンテンツサイト
YOLP API
一般企業・官公庁
写真・動画
一般企業・官公庁
( テールパブリッシャー
地
図
&
地
地域情報マスター YOLP 点
表 メイン検索・ローカルサーチ
示
ストレージ ・
Y! 地域系 検 地域情報
Small Business
索
地図 路線 ドライブ ) 地図
地域情報 グルメ
スポット名 詳細情報 写真 動画
入 地域系
稿 トラベル ビューティー クーポン レビュー レピュテーション
ヘルスケア クーポン
求人 不動産
APIを使って
世の中の全ての緯度経度を
※ 2010年11月16日現在の予定企業で 持った情報を格納 サイトに表示
す。今後追加される可能性がございます
10. YOLPと地域生活圏戦略について
店舗・地域サービスを
運営する企業様
誘導・送客
ヤフーの各サービ
2 ス
2
店舗向け 1
入稿・販促ツール
Yahoo!OpenLocalPlatform
YOLPを利用した ユーザー
地域情報を ヤフー以外のメディア
保有する企業様
誘導・送客
1 情報基盤として(Yahoo! Open Local Platform)
地域・生活圏
情報の集積 × ジオメディア = 開発生産性の向上
2 メディアとして
地域・生活圏 × 店舗向け販促 = 地域情報流通量の増大
メディアの確立 ツールの提供
12. デバイスの多様化に対応した統合テクノロジー
Device PC / Mac iPhone Android FeaturePhone
Local Search API
Geocoder API
Search API Reverse Geocoder API
名寄せAPI
コンテンツジオコーダ
Javascritpt Map API Javascritpt Map API
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
12
13. 地域生活圏情報を簡単に取り扱える
リスティング 地図・地理空間
• 検索 • 地図表示
• ゆらぎ検索 • 多彩な地図
• 業種カテゴリー • 航空写真
• Boundingbox • 主題図
• 距離(radius)
• 統計情報表示
• JIS X 401,402コード
• 白地図表現
• ヒートマップ表現
• 名寄せ • 測地系変換
• WGS84 x Tokyo97
• データ
• POI • ジオコーダー
• 電話帳 • 高性能高速
• パートナーデータ • リバースジオコーダ
• Y!保有POI • コンテンツジオコーダ
• 住所
• 日本全国
• 海外主要都市
YDFに
よる
MashUp
13
14. YDFとはYOLPの内部データ形式
POI情報
ポリゴン、ラ (GIS的)
イン情報
(GIS的)
SearchView
店舗詳細情報、
イベント情報
(リスティン
グ的)
MapView
統一形式YDFによる PlaceView
地図とリストの共存
14
16. YOLPカセットギャラリー
利用可能な多彩な拠点情報を紹介
自分でもPOI情報をアップロード可能
現在73カセット(2011/6/28現在)
ローカルサーチAPIで利用可能
http://gallery.olp.yahoo.co.jp/
16
17. 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 Map API Map API (lib)対応
図形描画 図形描画 Windows SDK
MapAPI 白地図
Serverside Static Tile
Mobile自動サイズ ColorPalletAPI
Map API Map API Map API
図形描画 HeatmapAPI
+KML, +georss, +YQL Format
Map APIs
YDF (XML/JSON)
Navigation API Roadway Route API Transit API 到達時間(駅)API
Serverside
Navi API
Information API 道路渋滞情報API 列車運行情報API 路線・駅カテゴリAPI 駅情報API
All POI Support(MDB) Category API
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
17
24. 電波状況確認マップ 3/25
Yahoo!モバイル系全サービスのGPSログから電波状況を推定
24
25. ヒートマップ表示
window.onload = function() {
var map = new Y.Map("map", {configure:{doubleClickZoom:true,doubleClickPan:true, scrollWheelZomm:true}});
map.addControl(new Y.LayerSetControl());
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});
//プラグインをマップに追加します。
map.addPlugin(geoxml);
}
25
26. 被災地エリアガイド 3/28
「災害に遭われた方」向けのサービスとして「被災地エリアガイド」をリリース
被災地別に「避難情報」「給水情報」「燃料情報」「営業店舗」「病院・医療情報」
など
の口コミの投稿を受け付け、被災地の方はそれらの投稿をエリア別に閲覧可能
。
投稿のない情報については「ほしい」としてリクエストすることも可能。
大手コンビニエンスストアやスーパーマーケットなどの営業情報なども
企業から毎日データをいただき、最新の営業状況を表示。
26
29. OSSとYOLPで簡単地図データ追加
MAP
NAME "YOLP_WMS_Server"
EXTENT -180 -90 180 90
SIZE 400 300
UNITS METERS
proj/gdal/ogr
IMAGECOLOR 255 255 255
IMAGETYPE png_custom
SHAPEPATH "/home/y/share/yolp/wms/shape"
OUTPUTFORMAT
KML Shape NAME png_custom
TRANSPARENT ON
DRIVER "AGG/PNG"
EPSG:4326 EPSG:900913 MIMETYPE "image/png"
IMAGEMODE "RGBA"
※WGS84 ※SphericalMercator FORMATOPTION "QUANTIZE_FORCE=ON"
FORMATOPTION "QUANTIZE_DITHER=OFF"
FORMATOPTION "QUANTIZE_COLORS=256"
FORMATOPTION "INTERLACE=OFF"
EXTENSION "png"
END
WEB
TEMPLATE wms.html
IMAGEPATH "/home/y/share/yolp/wms/tmp/"
IMAGEURL "/home/y/share/htdocs/wms/image/"
METADATA
"wms_title" "HondaInternaviMap"
"wms_srs" "EPSG:4326 EPSG:900913"
"wms_onlineresource"
"http://wms.map.c.yimg.jp/wms/internavi?"
"wms_encoding" "UTF-8"
OpenGIS END
Web Map Service END
Interface Standard PROJECTION
(WMS) "init=epsg:900913"
mapserver END
29
31. デバイス多様化に対応した統合テクノロジ
Device PC / Mac iPhone Android FeaturePhone
Local Search API
Geocoder API
Search API Reverse Geocoder API
名寄せAPI
コンテンツジオコーダ
Javascritpt Map API Javascritpt Map API
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
31
33. 多彩な地図種類 22種類の地図を利用可能
スタンダード ビビッド ボールド
シンプル モノトーン レッド
オレンジ ミッドナイト 鉄道路線
33 http://1st.geocities.jp/yjmapstaff/yolp/jsapi/service-stylemap.html
34. リスティングと地図の融合
<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>
<script >
//リスティング初期化
var listing = new Y.Listing("list");
//地図初期化
var map = new Y.Map("map", {configure:{doubleClickZoom:true, doubleClickPan:true, scrollWheelZoom:true}});
//レイヤをローカルサーチAPI(電話帳データ cid:d8a23e9e64a4c817227ab09858bc1330)から生成
var layer = new
Y.GeoXmlLayer("http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?
appid=your-appid&cid=d8a23e9e64a4c817227ab09858bc1330");
map.drawMap(new Y.LatLng(35.665627,139.730738), 6,Y.LayerSetId.NORMAL);
map.addLayer( layer ); //地図にレイヤを追加
listing.addLayer( layer ); //リスティングにレイヤを追加
layer.execute(); //レイヤ描画を実行
</script>
</body></html> ローカルサーチAPIのレスポンス形式(YDF形式)
これだけのCodeでlist&Map連携可能
34
35. 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), map.addFeature( this.marker );
18,Y.LayerSetId.NORMAL); this.marker.openInfoWindow( 'Hello!' );
}
//プラグインを追加
var plugin = new HelloPlugin(); HelloPlugin.prototype.unload = function() {
map.addPlugin( plugin ); map.removeFeature(this.marker);
} }
//-->
</script>
Githubにcommunity管理者募集中
35
36. Static Map API
マーカーを追加する ポリラインを追加する ポリゴンを追加する
円を追加する YDFを読み込んで表示する 地図のスタイルを変更する
ローカルサーチAPIのレスポンス形式(YDF形式)
地図スタイルは全部で24種類
Javascriptの使えない端末用途向き
<img src=http://map.olp.yahooapis.jp/OpenLocalPlatform/V1/static?>
地図のスタイルを変更する
36
37. Android Map SDK / iPhone Map SDKの特徴
Yahoo! ロコ地図と同じ地図データを利用可能
地下街地図の表示
地図上のビル名や店舗名などの注記を直接タッチ可能な注記タッチ機能
地図スタイルを選択可能
注記など地図情報のオンオフ選択
iPhone Map SDK:http://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/iphonesdk/
37 Android Map SDK: http://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/androidsdk/
38. その他 Utility API
• 標高API
– 緯度経度 から高度を算出
• 測地系変換API
– 日本測地系と世界測地系の相互変換
今後も、新しい機能・新しいデータを追加予定です。
38