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.
geohexで作るロケーションヒートマップ
The only one application UX Analytics tool in the world
Case2: テスト環境で利用する
私は誰?
佐藤光国 aka @key3
Web App / iOS App Developer
趣味は自転車。GARMINログを
可視化するサービスとか作って
ます(最近停滞中)。
ツール
分析業務コンサルティング
 アウトソーシング
USERDIVEとは
USERDIVE for Apps 機能一覧
他には無い
動画分析 タップヒートマップ スクロールヒートマップ ルッキングヒートマップ
動線分析ページ内
アクションレポート
フィルター機能
1 2 3 4
5 6 7
7つの機能
Case4: bugの発見と再現
ロケーションヒートマップで
マップクーポンを見た場所を特定して
交通広告などのマーケティングに活かす
New
!
システム構成
Database
Userdive Server
Userdive iOS SDK
画面操作
滞在時間
遷移
位置
Location Data
Aggregator
ヒートマップの課題
•多次元データであり集約しづらい
•データ量が多い
•データにノイズが含まれる
→正規化する必要がある。
正規化するために
• 情報を大きく欠損しないこと
• 複数の位置情報を集約しやすいこと
• データベースから高速に取得できること
http://geohex.org
ご存知の方?
• 緯度経度情報を一次元データへ符号化
• 文字列の長さで精度を変更(長いほど高精度)
• Creative Commons License → MIT
https://twitter.com/sa2da/status/467251955924...
• 最新版はGeoHex v3.2
• オリジナルバージョンはJavaScript実装
• 様々な言語に移植されています
• Ruby, PHP, Objective-C, Java …
• Python実装が無かったので作りました
• htt...
GeoHexを
Google Mapsに投影すると…
GeoHex Level:8 XM48872231
GeoHex Level:9 XM488722313
どうやって集約するのか?
XM488582461042623
XM488582461044222
XM488582461067411
XM488582621108584
XM488582621175514
XM488582621452238
XM488582621455...
XM488582461042623
XM488582461044222
XM488582461067411
XM488582621108584
XM488582621175514
XM488582621452238
XM488582621455...
XM488582461042623
XM488582461044222
XM488582461067411
XM488582621108584
XM488582621175514
XM488582621452238
XM488582621455...
XM488582461042623
XM488582461044222
XM488582461067411
XM488582621108584
XM488582621175514
XM488582621452238
XM488582621455...
XM488582461042623
XM488582461044222
XM488582461067411
XM488582621108584
XM488582621175514
XM488582621452238
XM488582621455...
デモ
課題
• インデクスが効かず集計が遅い
• 関数インデクス使いたい
• 広域地図からズームするとヒートマップが薄くなる
• ズームレベルに応じて再集計したい
WE’RE HIRING!
エンジニア募集中。
以下の連絡先までご連絡を!
info@uncovertruth.jp
ご清聴ありがとうございました
Upcoming SlideShare
Loading in …5
×

geohexで作るロケーションヒートマップ

2,848 views

Published on

How to build location heatmap with GeoHex.

Geo Media Summit 2015の発表資料です。

Published in: Technology
  • Be the first to comment

geohexで作るロケーションヒートマップ

  1. 1. geohexで作るロケーションヒートマップ The only one application UX Analytics tool in the world
  2. 2. Case2: テスト環境で利用する 私は誰? 佐藤光国 aka @key3 Web App / iOS App Developer 趣味は自転車。GARMINログを 可視化するサービスとか作って ます(最近停滞中)。
  3. 3. ツール 分析業務コンサルティング  アウトソーシング USERDIVEとは
  4. 4. USERDIVE for Apps 機能一覧 他には無い 動画分析 タップヒートマップ スクロールヒートマップ ルッキングヒートマップ 動線分析ページ内 アクションレポート フィルター機能 1 2 3 4 5 6 7 7つの機能
  5. 5. Case4: bugの発見と再現 ロケーションヒートマップで マップクーポンを見た場所を特定して 交通広告などのマーケティングに活かす New !
  6. 6. システム構成 Database Userdive Server Userdive iOS SDK 画面操作 滞在時間 遷移 位置 Location Data Aggregator
  7. 7. ヒートマップの課題 •多次元データであり集約しづらい •データ量が多い •データにノイズが含まれる →正規化する必要がある。
  8. 8. 正規化するために • 情報を大きく欠損しないこと • 複数の位置情報を集約しやすいこと • データベースから高速に取得できること http://geohex.org
  9. 9. ご存知の方?
  10. 10. • 緯度経度情報を一次元データへ符号化 • 文字列の長さで精度を変更(長いほど高精度) • Creative Commons License → MIT https://twitter.com/sa2da/status/467251955924860928
  11. 11. • 最新版はGeoHex v3.2 • オリジナルバージョンはJavaScript実装 • 様々な言語に移植されています • Ruby, PHP, Objective-C, Java … • Python実装が無かったので作りました • https://github.com/uncovertruth/py-geohex3
  12. 12. GeoHexを Google Mapsに投影すると…
  13. 13. GeoHex Level:8 XM48872231
  14. 14. GeoHex Level:9 XM488722313
  15. 15. どうやって集約するのか?
  16. 16. XM488582461042623 XM488582461044222 XM488582461067411 XM488582621108584 XM488582621175514 XM488582621452238 XM488582621455062 XM488582621483053 XM488582621714132 XM488582621735126 どうやって集約するのか? GeoHex文字列
  17. 17. XM488582461042623 XM488582461044222 XM488582461067411 XM488582621108584 XM488582621175514 XM488582621452238 XM488582621455062 XM488582621483053 XM488582621714132 XM488582621735126 どうやって集約するのか? GeoHex文字列
  18. 18. XM488582461042623 XM488582461044222 XM488582461067411 XM488582621108584 XM488582621175514 XM488582621452238 XM488582621455062 XM488582621483053 XM488582621714132 XM488582621735126 どうやって集約するのか? 1.任意精度にトリム •SUBSTRING(GEOHEX, 0, N) GeoHex文字列
  19. 19. XM488582461042623 XM488582461044222 XM488582461067411 XM488582621108584 XM488582621175514 XM488582621452238 XM488582621455062 XM488582621483053 XM488582621714132 XM488582621735126 どうやって集約するのか? 1.任意精度にトリム •SUBSTRING(GEOHEX, 0, N) 2.トリム後の文字列で集約 •GROUP BY GEOHEX GeoHex文字列
  20. 20. XM488582461042623 XM488582461044222 XM488582461067411 XM488582621108584 XM488582621175514 XM488582621452238 XM488582621455062 XM488582621483053 XM488582621714132 XM488582621735126 どうやって集約するのか? 1.任意精度にトリム •SUBSTRING(GEOHEX, 0, N) 2.トリム後の文字列で集約 •GROUP BY GEOHEX 3.集約後のデータをCOUNT() GeoHex文字列
  21. 21. デモ
  22. 22. 課題 • インデクスが効かず集計が遅い • 関数インデクス使いたい • 広域地図からズームするとヒートマップが薄くなる • ズームレベルに応じて再集計したい
  23. 23. WE’RE HIRING! エンジニア募集中。 以下の連絡先までご連絡を! info@uncovertruth.jp
  24. 24. ご清聴ありがとうございました

×