Bing Spatial Data Services が先週にアップデートされたのですが、新しく追加された Data Source Management API と Query API が良さそうって話。まだ試してません。全然違ったらごめんなさい。
Bing Spatial Data Services のうち以前から提供されていた Geocode Data Flow API は、ジオコーディング・逆ジオコーディングをバッチ処理するものでした。多数の地理情報をまとめて得るのに使えます。
今回の Data Source Management API は、位置情報を含む独自のデータをアップロードして Query API と併せてリレーショナルデータベース(Data Source)のように使えます。ただし、Insert や Update はできず、まとまったデータをアップロードして参照だけできるという感じです。データの Update は総入れ替えを意味します。
ひとつのデータ(Entity Data)には必ず ID となる文字列と、経度・緯度情報を含む必要があります。それ以外のプロパティは自由に定義できます。定義できるプロパティの型と最大個数は以下の通りです。
- String 型(256文字まで)が50個
- Int64 型 が20個
- Boolean 型が40個
- Double 型が20個
- DateTime 型が5個
ひとつの Data Source の総容量は 300MB まで使用できます。24時間で50回まで Data Source の作成・更新のリクエストが可能です。
Data Srouce の各 Entity Data の取得は、Query API を使います。特長はなんといっても、距離で選択できるところです。各 Entity Data には経緯度情報が含まれているので、ある地点(経緯度)から 1km 以内の Entity Data を選択といったことができます。位置情報を使用しない、プロパティの値から絞り込みも可能です。このあたりは OData 形式となっているようです。
用途としては頻繁に更新しない情報、たとえばコンビニの Data Source を作成して、現在地から 500m にあるコンビニを取得して地図上に表示といったことに使えますね! SQL Server 2008 を使用すれば同様の検索が可能ですが、SQL Compact などではできないので、うまく何かアプリケーションに活用してみたいですね。