2 簡易な屋内平面図を利用した3次元地理空間情報データベースの構築
2.2 地理情報データベースの構築概要
2.2.3 登録された地理情報データの配信機能( WebAPI 機能)
57
図 2-34 画像削除画面
図 2-35 画像表示画面
58
タを利用する外部サービス等から容易に使用可能にするために、WebAPI を介 して検索・配信を行う機能を追加することとした。
昨年度開発分では、登録された地理情報データを一括して提供する機能は実 現していた一方で、特定の時間帯に営業している店舗、指定地点から一定範囲 内の施設など、細かな検索条件の指定による選別には対応していなかった。そ
こで、WebAPI 形式でリクエストされた条件に応じたデータ配信の機能を追加
することとした。
(2) 検討と対応
地理情報データベースに格納されているデータを外部サイトやアプリケーションなど で二次利用できるように、各種データに対して条件付およびID指定によるデータ取得 が可能なAPIを開発した。セキュリティ面からも、今回は地理情報データの取得のみと し、APIによるデータ追加や更新は行わないこととした。
地理情報データのうち API による配信対象データは、地理情報データを網羅する 建物情報、施設情報、商品情報、イベント情報、画像情報、営業時間、喫煙時間、ユ ーザ情報、カテゴリ情報とした。
(3) 結論と成果物
地理情報データベースに格納されている地理情報データについて、表 2-9 に 示すとおり各種API を開発した。詳細情報や具体的な使用方法については、地 理情報データベースAPI プログラム設計書および操作マニュアルを参照のこと。
以下の表 2-8に例として、施設情報検索APIの使用例とレスポンス例を示す。
表 2-8 施設情報API 名称 施設情報検索 API
URL
/geoapi/tenants/search?building̲id={building̲id}&user̲id={user̲id}&lat={lat}&long
={long}&range={range}&alt̲top={alt̲top}&alt̲btm={alt̲btm}&
category={category}&floor̲map̲id={floor̲map̲id}&bt̲from={bt̲from}&bt̲to={bt̲to}
&query={query}&offset={offset}&count={count}&sort={sort}
概要 施設情報を検索し該当するイベント情報を複数返却する。
59
レスポンスは、以下のようなXMLで値が返される。
<?xml version="1。0" encoding="utf-8"?>
<response>
<tenants>
<tenant id="55">
<tenant̲uri>http://hoge</tenant̲uri>
<longitude>135.4</longitude>
<latitude>35.4</latitude>
<altitude></altitude>
<building̲id></building̲id>
<user̲id>21.1</user̲id>
<name>クイーンズイースト</name>
<kana>くいーんずいーすと</kana>
<postal̲code>220-8542</postal̲code>
<address>神奈川県 横浜市西区 みなとみらい 2丁目3番2号
</address>
<floor>2階</floor>
<description>クイーンズイースト</description>
<tel>xx-xxxxx-xxxx</tel>
<fax>xx-xxxxx-xxxx</fax>
<url>http://fuga</url>
<access>●電車でのアクセス JR 線・市営地下鉄「桜木町」駅から徒歩約 8 分 みなとみらい線「みなとみらい」駅から直結
●車でのアクセス(駐車場:1700 台収容)
首都高横羽線「みなとみらいランプ」から約 1 分 </access>
<business̲hour>00〜24:00</business̲hour>
<closing̲day>なし</closing̲day>
<payment̲methods>現金</payment̲methods>
<category>服・靴、スポーツウェア</category>
<open̲at>2009-11-22 00:00:00</open̲at>
<twitter̲flg>1</twitter̲flg>
<created̲at>2010-11-18 14:23:11</created̲at>
<updated̲at>2010-11-18 14:23:11</updated̲at>
<images count="1">
60 <image id="16">
<type̲flg>3</type̲flg>
<ref̲id>33</ref̲id>
<content̲type>jpeg</content̲type>
<longitude>139。6322</longitude>
あ <latitude>35。4</latitude>
<source>クイーンズイースト</source>
<copyright>(C)QUEEN'S EAST。co</copyright>
<created̲at>2010-11-18 14:23:11</created̲at>
<updated̲at>2010-11-18 14:23:11</updated̲at>
</image>
</images>
</tenant>
</tenants>
</response>
61
表 2-9 地理情報データベースAPI一覧
NO リソー
ス種別 リソース名 API名称 概要
1
建物
/geoapi / buildings / :id 建物情報取得API 建物情報を返却します。
2 /geoapi / buildings / :id / Events イベント情報取得API ある建物に紐付くすべてのイベントを返却し
ます。
3 /geoapi / buildings / :id / Images 画像情報取得API ある建物に紐付くすべての画像を返却します。
4 /geoapi / buildings / :id / Tenants 施設情報取得API ある建物に紐付くすべての施設を返却します。
5 /geoapi / buildings / :id / business_ti
mes 営業時間情報取得API ある建物に紐付くすべての営業日時を返却し ます。
6 /geoapi / buildings / Search 建物情報検索API 建物情報を検索し結果を返却します。
7 /geoapi / buildings / Events / Search イベント情報検索API 建物のイベント情報を検索し結果を返却しま
す。
8 /geoapi / buildings / Images / Search 画像情報検索API 建物の画像情報を検索し結果を返却します。
9 /geoapi / buildings / business_
times / Search 営業時間情報検索API 建物の営業時間情報を検索し結果を返却しま
す。
10
施設
/geoapi / tenants / :id 施設情報取得API 施設情報を返却します。
11 /geoapi / tenants / :id / Events イベント情報取得API ある施設に紐付くすべてのイベントを返却し
ます。
12 /geoapi / tenants / :id / Images 画像情報取得API ある施設に紐付くすべての画像を返却します。
13 /geoapi / tenants :id / menu_item
s 商品情報取得API ある施設に紐付くすべての画像を返却します。
62
NO リソー
ス種別 リソース名 API名称 概要
14 /geoapi / tenants / :id / business_ti
mes 営業時間情報取得API ある施設に紐付くすべての営業日時を返却し ます。
15 /geoapi / tenants / Search 施設情報検索API 施設情報を検索し結果を返却します。
16 /geoapi / tenants / Events / Search イベント情報検索API 施設のイベント情報を検索し結果を返却しま
す。
17 /geoapi / tenants / images / Search 画像情報検索API 施設の画像情報を検索し結果を返却します。
18 /geoapi / tenants / business_
times / Search 営業時間情報検索API 施設の営業時間を検索し結果を返却します。
19
商品
/geoapi / menu_items / :id 商品情報取得API 商品情報を返却します。
20 /geoapi / menu_items / :id / Images 画像情報取得API ある商品に紐付くすべての画像を返却します。
21 /geoapi / menu_items / Search 商品情報検索API 商品情報を検索し結果を返却します。
22 /geoapi / menu_items / Images / Search 画像情報検索API 商品の画像を検索し結果を返却します。
23
イベン ト
/geoapi / Events / :id イベント情報取得API イベント情報を返却します。
24 /geoapi / Events / :id / Images 画像情報取得API あるイベントに紐付くすべての画像を返却し
ます。
25 /geoapi / events / :id / business_ti
mes 営業時間情報取得API あるイベントに紐付くすべての営業日時を返 却します。
26 /geoapi / Events / Search イベント情報検索API イベントを検索し結果を返却します。
27 /geoapi / menu_items / Images / Search 画像情報検索API イベントの画像を検索し結果を返却します。
28 /geoapi / Events / business_
times / Search 営業時間情報取得API イベントの営業時間を検索し結果を返却しま
す。
63
NO リソー
ス種別 リソース名 API名称 概要
29
画像
/geoapi / Images / :id 画像情報取得API 画像情報を返却します。
30 /geoapi / Images / :id / Data 画像データ取得API 画像データを返却します。
31 /geoapi / Images / search 画像情報取得API 画像データを検索します。
32
カテゴ リ
/geoapi / buildings / category / :category 建物カテゴリ情報取得
API 建物のカテゴリを返却します。
33 /geoapi / tenants / category / :category 施設カテゴリ情報取得
API 施設のカテゴリを返却します。
34 /geoapi / menu_items / category / :category 商品カテゴリ情報取得
API 商品のカテゴリを返却します。
35 /geoapi / Events / category / :category イベントカテゴリ情報
取得API イベントのカテゴリを返却します。
36 営業時
間
/geoapi / business_tim
es / :id 営業時間情報取得API 営業時間情報を返却します。
37 /geoapi / business_tim
es / Search 営業時間情報検索API 営業時間情報を検索し結果を返却します。
38 ユーザ /geoapi / Users / :id 利用者情報取得API ユーザ情報を返却します。
64