Skyhook試してみました。

Skyhookって?
Google翻訳によると、
「スカイフックの場所の位置、コンテキストと知能の世界的リーダーです。スカイフックは、今日のWi - Fi測位システムの先駆けと場所を提供します。モバイルデバイスとアプリケーションの数千万します。」
だそうです。ふ~ん。
Android標準のLocationManagerと似たような機能を持つシステム、ということが言えるかと思います。

◇特徴は?
XPSと呼ばれる位置測位の仕組みが特徴です。
XPSはA-GPSとWPSを組み合わせた精度の高い位置測位を提供します。
A-GPSは屋外での精度の高い位置測位に有利です。
WPSはGPSが利用できない屋内・地下でWi-Fi APまたはCell towerの電波により位置測位を可能にします。
詳しくはコチラ
また、Tilingという仕組みを利用することによりあらかじめ一定の範囲のWi-Fi APデータベース情報を端末内にダウンロードしておくことで、Skyhookサーバと通信できない状況でも位置測位可能にすることができます。

◇利用可能なエリアは?
ヨーロッパ、アメリカ合衆国、韓国、日本などで利用可能です。
日本では、東京、大阪、名古屋とそれらを結ぶ東海道新幹線に沿った地域で利用可能です。
また、「Submit a Wi-Fi Access Point」することにより、対応可能地域を増やしてやることが可能です。
GoogleのNetwork Providerによる位置測位の対応エリアがどの程度なのかはよくわかりません。

◇どうやって使うの?
いろいろなプラットフォームをサポートしていますが、ここではAndroid版についてのみ説明します。
1.まず、Skyhook SDKをダウンロードします。
2.SDKには、ライブラリ、ドキュメント、サンプルが含まれます。
3.自前のプロジェクトにライブラリ(wpsapi.jar)を含めることで利用可能になります。
4.詳しくはサンプル、ドキュメントを参照のこと。

◇Android標準のLocationManagerとの違いは?
LocationManagerもGPS_PROVIDERとNETWORK_PROVIDERを利用することで、XPSと全く同じようなことができます。
それじゃ、Skyhook使う意味ないじゃん、という気がします。
機能的差分としてSkyhookにしか存在しない機能としては、
・Tilingによるオフライン位置計測が可能
・Web画面経由でAPの位置情報を登録することが可能
精度的差分としては、
・正直わかりません。。。
 地下鉄ホームを中心にチマチマと比較計測しているのですが、どっちもどっちという気がします。
 ただ、みなとみらい線、大江戸線など比較的新しい(?)駅のホームでは、どちらの方法もまともに位置が取れないような感じです(サンプル駅数が10駅程度なので信頼度低いです)。丸ノ内線、銀座線の山手線内側ではGoogle、Skyhookどちらも高精度で位置が取れました。

◇対応エリアを自らの力で広げたい
「今地下鉄何駅?」というアプリをマーケットに公開してみました。Skyhookによる位置測位とWi-Fi APのMacアドレスをサーチして、外部に送信することができます。あとは頑張って「Submit a Wi-Fi Access Point」すればいいわけです。

◇「Submit a Wi-Fi Access Point」がメンドクサイ
Submit a Wi-Fi Access Point」は、APIによる登録ができません。
Web画面経由でCAPTCHAを超えなければいけないので、自動登録が難しいです。
これって超メンドクサイですよね?そんなときは、Bulkデータをまとめて送信する方法があるらしいです。
Bulkデータについては「support@skyhookwireless.com」に問い合わせろとのことだったので、実際に問い合わせてみましたが、問い合わせ後3日経った時点で返事はありません。

◇んで、結局?
・自前で対応エリアを広げてやることができるので、ド田舎の山奥のトンネルの中とかでも頑張ればSkyhookが利用できるようになるかも。ただ、そこにWi-Fi APが電波を発して存在していることが必要なわけですが。
・一見、Tilingもよさげに思ったのですが、通信ができなくてWi-Fi APが電波を発して存在している状況ってそうそう無いのでは。一般人が立ち入れるほとんどの場所で3Gが蔓延ってますからね。
・うーん、、、正直、微妙っすね。

コメント

  1. awwaさん質問です。
    getPeriodicLocationとかを使うとき、GPSのピコピコが起動するんですけど、WiFiとセルタワーだけを見ているわけではないのでしょうか。
    ドキュメントには、
    Requests periodic geographic location based on observed wifi access points and cell towers.
    とあるので、GPSは起動しないと思ってました。

    返信削除
  2. XPSを使ってる限り勝手に起動するっぽいですね。
    GPSで位置取れたらそっちの結果を返す、とかしてるのかもしれません。このあたり詳細なロジックは不明です。

    返信削除

コメントを投稿

このブログの人気の投稿

Joinノードを使う(その1)

Execノードを使う

Joinノードを使う(その4)