(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023137264
(43)【公開日】2023-09-29
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
G09B 29/00 20060101AFI20230922BHJP
【FI】
G09B29/00 Z
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022043388
(22)【出願日】2022-03-18
(11)【特許番号】
(45)【特許公報発行日】2022-08-02
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】高木 悟
(72)【発明者】
【氏名】村松 茂樹
(72)【発明者】
【氏名】崎浦 裕
【テーマコード(参考)】
2C032
【Fターム(参考)】
2C032HC27
(57)【要約】
【課題】地理的空間を分割することによって生成された複数のタイルを用いて管理される情報を更新するために掛かる計算コストを削減できるようにする。
【解決手段】情報処理装置1は、地理的空間に対応する複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けて記憶するポイントデータ記憶部111と、複数のタイルの中から、追加ポイントデータの位置を含むタイルである対象タイルを特定する対象タイル特定部122と、ポイントデータの個数が上限数以下である場合に、対象タイルとポイントデータとを関連付けるようにポイントデータ記憶部を更新するポイントデータ更新部124と、ポイントデータの個数が上限数を超える場合に、対象タイルに対して分割操作を実行して新たな所定数の分割タイルを生成し、各分割タイルにポイントデータを割り当てるタイル生成部123と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けて記憶するポイントデータ記憶部と、
前記ポイントデータ記憶部に追加するポイントデータである追加ポイントデータを取得する取得部と、
前記複数のタイルの中から、前記追加ポイントデータの位置を含むタイルである対象タイルを特定する対象タイル特定部と、
前記対象タイルに関連付けられたポイントデータである対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数以下である場合に、前記対象タイルと、前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けるように前記ポイントデータ記憶部を更新するポイントデータ更新部と、
前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記対象タイルに対して前記分割操作を実行して新たな前記所定数の分割タイルを生成し、各分割タイルに前記対象ポイントデータ及び前記追加ポイントデータを割り当てるタイル生成部と、
を有し、
前記ポイントデータ更新部は、前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記所定数の分割タイルそれぞれと、各分割タイルに割り当てられた前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させる、
情報処理装置。
【請求項2】
前記取得部は、複数の前記追加ポイントデータを取得し、
複数の前記追加ポイントデータが1つの前記対象タイルに含まれる場合であって、前記対象ポイントデータ及び複数の前記追加ポイントデータを合わせた個数が前記上限数以下である場合に、前記ポイントデータ更新部は、当該1つの前記対象タイルと、前記対象ポイントデータ及び複数の前記追加ポイントデータと、を一度に関連付けるように前記ポイントデータ記憶部を更新する、
請求項1に記載の情報処理装置。
【請求項3】
複数の前記追加ポイントデータが1つの前記対象タイルに含まれる場合であって、前記対象ポイントデータ及び複数の前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記ポイントデータ更新部は、前記所定数の分割タイルそれぞれと、各分割タイルに割り当てられた前記対象ポイントデータ及び複数の前記追加ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させる、
請求項2に記載の情報処理装置。
【請求項4】
前記複数のタイルそれぞれを所定数の所定形状に分割することによって得られた複数のメッシュそれぞれと、各メッシュ内に位置するポイントデータから算出した統計値である統計データと、を関連付けて記憶する統計データ記憶部と、
前記対象タイル又は前記分割タイルを含む更新タイルを特定する更新タイル特定部と、
前記更新タイルに含まれる前記複数のメッシュそれぞれに位置するポイントデータに対して統計処理をすることにより、各メッシュの統計データである更新統計データを生成する統計処理部と、
前記更新タイルに含まれる前記複数のメッシュそれぞれと、各メッシュの前記更新統計データと、を関連付けるように前記統計データ記憶部を更新する統計データ更新部と、
をさらに有する、請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記統計処理部は、前記ポイントデータ記憶部からポイントデータを取得することなく、前記ポイントデータ更新部が前記対象タイル又は前記分割タイルを更新する際に利用したポイントデータに対して前記統計処理をすることにより、前記更新統計データを生成する、
請求項4に記載の情報処理装置。
【請求項6】
前記統計処理部は、前記更新タイルに含まれる前記複数のメッシュそれぞれの前記更新統計データと、前記更新タイルに隣接する隣接タイルに含まれる前記複数のメッシュそれぞれの前記統計データと、を統合することにより、前記更新タイル及び前記隣接タイルを合わせたタイルである上位タイルに含まれる前記複数のメッシュそれぞれの前記更新統計データを生成する、
請求項4又は5に記載の情報処理装置。
【請求項7】
前記更新タイル特定部は、複数の前記更新タイルを特定した場合であって、複数の前記更新タイルの中で重複する前記更新タイルがある場合に、重複を除去する、
請求項4から6のいずれか一項に記載の情報処理装置。
【請求項8】
プロセッサが実行する、
地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けて記憶するポイントデータ記憶部に追加するポイントデータである追加ポイントデータを取得するステップと、
前記複数のタイルの中から、前記追加ポイントデータの位置を含むタイルである対象タイルを特定するステップと、
前記対象タイルに関連付けられたポイントデータである対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数以下である場合に、前記対象タイルと、前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けるように前記ポイントデータ記憶部を更新するステップと、
前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記対象タイルに対して前記分割操作を実行して新たな前記所定数の分割タイルを生成し、各分割タイルに前記対象ポイントデータ及び前記追加ポイントデータを割り当てるステップと、
前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記所定数の分割タイルそれぞれと、各分割タイルに割り当てられた前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させるステップと、
を有する、情報処理方法。
【請求項9】
地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けて記憶するポイントデータ記憶部と、
前記ポイントデータ記憶部から削除するポイントデータである削除ポイントデータを取得する取得部と、
前記複数のタイルの中から、前記削除ポイントデータの位置を含むタイルである対象タイルを特定する特定部と、
前記削除ポイントデータを除く前記対象タイルに関連付けられた対象ポイントデータと、前記対象タイルに隣接する隣接タイルに関連付けられた隣接ポイントデータと、を合わせた個数が前記上限数を超える場合に、前記対象タイルと、前記削除ポイントデータを除く前記対象ポイントデータと、を関連付けるように前記ポイントデータ記憶部を更新するポイントデータ更新部と、
前記個数が前記上限数以下である場合に、前記対象タイル及び前記隣接タイルを合わせた統合タイルを生成するタイル生成部と、
を有し、
前記ポイントデータ更新部は、前記個数が前記上限数以下である場合に、前記統合タイルと、前記削除ポイントデータを除く前記対象ポイントデータ及び前記隣接ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させる、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地理的空間に関連付けられた情報を管理するための情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
地理的空間に関連付けられた情報(例えば、店舗や建物の情報)を、地理的空間を分割した領域ごとに管理する技術が知られている。特許文献1には、地理的空間を、各タイルの情報量が所定の閾値以下になるように再帰的に複数のタイルに分割する発明が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された発明において、既に生成された複数のタイルに対して情報の追加や削除等の更新を行う際に、全てのタイルを生成し直すと大きな計算コストが掛かっていた。
【0005】
そこで、本発明はこれらの点に鑑みてなされたものであり、地理的空間を分割することによって生成された複数のタイルを用いて管理される情報を更新するために掛かる計算コストを削減できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様の情報処理装置は、地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けて記憶するポイントデータ記憶部と、前記ポイントデータ記憶部に追加するポイントデータである追加ポイントデータを取得する取得部と、前記複数のタイルの中から、前記追加ポイントデータの位置を含むタイルである対象タイルを特定する対象タイル特定部と、前記対象タイルに関連付けられたポイントデータである対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数以下である場合に、前記対象タイルと、前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けるように前記ポイントデータ記憶部を更新するポイントデータ更新部と、前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記対象タイルに対して前記分割操作を実行して新たな前記所定数の分割タイルを生成し、各分割タイルに前記対象ポイントデータ及び前記追加ポイントデータを割り当てるタイル生成部と、を有し、前記ポイントデータ更新部は、前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記所定数の分割タイルそれぞれと、各分割タイルに割り当てられた前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させる。
【0007】
前記取得部は、複数の前記追加ポイントデータを取得し、複数の前記追加ポイントデータが1つの前記対象タイルに含まれる場合であって、前記対象ポイントデータ及び複数の前記追加ポイントデータを合わせた個数が前記上限数以下である場合に、前記ポイントデータ更新部は、当該1つの前記対象タイルと、前記対象ポイントデータ及び複数の前記追加ポイントデータと、を一度に関連付けるように前記ポイントデータ記憶部を更新してもよい。
【0008】
複数の前記追加ポイントデータが1つの前記対象タイルに含まれる場合であって、前記対象ポイントデータ及び複数の前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記ポイントデータ更新部は、前記所定数の分割タイルそれぞれと、各分割タイルに割り当てられた前記対象ポイントデータ及び複数の前記追加ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させてもよい。
【0009】
前記情報処理装置は、前記複数のタイルそれぞれを所定数の所定形状に分割することによって得られた複数のメッシュそれぞれと、各メッシュ内に位置するポイントデータから算出した統計値である統計データと、を関連付けて記憶する統計データ記憶部と、前記対象タイル又は前記分割タイルを含む更新タイルを特定する更新タイル特定部と、前記更新タイルに含まれる前記複数のメッシュそれぞれに位置するポイントデータに対して統計処理をすることにより、各メッシュの統計データである更新統計データを生成する統計処理部と、前記更新タイルに含まれる前記複数のメッシュそれぞれと、各メッシュの前記更新統計データと、を関連付けるように前記統計データ記憶部を更新する統計データ更新部と、をさらに有してもよい。
【0010】
前記統計処理部は、前記ポイントデータ記憶部からポイントデータを取得することなく、前記ポイントデータ更新部が前記対象タイル又は前記分割タイルを更新する際に利用したポイントデータに対して前記統計処理をすることにより、前記更新統計データを生成してもよい。
【0011】
前記統計処理部は、前記更新タイルに含まれる前記複数のメッシュそれぞれの前記更新統計データと、前記更新タイルに隣接する隣接タイルに含まれる前記複数のメッシュそれぞれの前記統計データと、を統合することにより、前記更新タイル及び前記隣接タイルを合わせたタイルである上位タイルに含まれる前記複数のメッシュそれぞれの前記更新統計データを生成してもよい。
【0012】
前記更新タイル特定部は、複数の前記更新タイルを特定した場合であって、複数の前記更新タイルの中で重複する前記更新タイルがある場合に、重複を除去してもよい。
【0013】
本発明の第2の態様の情報処理方法は、プロセッサが実行する、地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けて記憶するポイントデータ記憶部に追加するポイントデータである追加ポイントデータを取得するステップと、前記複数のタイルの中から、前記追加ポイントデータの位置を含むタイルである対象タイルを特定するステップと、前記対象タイルに関連付けられたポイントデータである対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数以下である場合に、前記対象タイルと、前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けるように前記ポイントデータ記憶部を更新するステップと、前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記対象タイルに対して前記分割操作を実行して新たな前記所定数の分割タイルを生成し、各分割タイルに前記対象ポイントデータ及び前記追加ポイントデータを割り当てるステップと、前記対象ポイントデータ及び前記追加ポイントデータを合わせた個数が前記上限数を超える場合に、前記所定数の分割タイルそれぞれと、各分割タイルに割り当てられた前記対象ポイントデータ及び前記追加ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させるステップと、を有する。
【0014】
本発明の第3の態様の情報処理装置は、地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けて記憶するポイントデータ記憶部と、前記ポイントデータ記憶部から削除するポイントデータである削除ポイントデータを取得する取得部と、前記複数のタイルの中から、前記削除ポイントデータの位置を含むタイルである対象タイルを特定する特定部と、前記削除ポイントデータを除く前記対象タイルに関連付けられた対象ポイントデータと、前記対象タイルに隣接する隣接タイルに関連付けられた隣接ポイントデータと、を合わせた個数が前記上限数を超える場合に、前記対象タイルと、前記削除ポイントデータを除く前記対象ポイントデータと、を関連付けるように前記ポイントデータ記憶部を更新するポイントデータ更新部と、前記個数が前記上限数以下である場合に、前記対象タイル及び前記隣接タイルを合わせた統合タイルを生成するタイル生成部と、を有し、前記ポイントデータ更新部は、前記個数が前記上限数以下である場合に、前記統合タイルと、前記削除ポイントデータを除く前記対象ポイントデータ及び前記隣接ポイントデータと、を関連付けて前記ポイントデータ記憶部に記憶させる。
【発明の効果】
【0015】
本発明によれば、地理的空間を分割することによって生成された複数のタイルを用いて管理される情報を更新するために掛かる計算コストを削減できるという効果を奏する。
【図面の簡単な説明】
【0016】
【
図1】実施形態に係る情報処理システムの概要を示す図である。
【
図2】実施形態に係る情報処理装置のブロック図である。
【
図3】タイルとポイントデータとの関係を説明するための模式図である。
【
図4】地理的空間における空間分割を説明するための模式図である。
【
図5】例示的なタイル情報及びメッシュ情報の模式図である。
【
図6】タイルと統計データとの関係を説明するための模式図である。
【
図7】ポイントデータを追加する処理を説明するための模式図である。
【
図8】更新タイルの重複を除去する処理を説明するための模式図である。
【
図9】更新統計データを生成する処理を説明するための模式図である。
【
図10】可視化データ生成処理を説明するための模式図である。
【
図11】実施形態に係る情報処理装置が実行する情報処理方法のフローチャートを示す図である。
【
図12】ポイントデータを削除する処理を説明するための模式図である。
【
図13】第1変形例に係る情報処理装置が実行する情報処理方法のフローチャートを示す図である。
【
図14】第2変形例に係る分割態様を説明するための模式図である。
【発明を実施するための形態】
【0017】
[情報処理システムの構成]
図1は、本実施形態に係る情報処理システムの概要を示す図である。情報処理システムは、情報処理装置1と、情報端末2と、を含む。情報処理システムは、その他のサーバ、端末等の機器を含んでもよい。
【0018】
情報処理装置1は、地理的空間を分割することによって生成された複数のタイルを用いてポイントデータを管理するコンピュータである。ポイントデータは、地理的空間における座標等の位置と、当該位置における所定種類の情報と、を関連付けたデータである。ポイントデータは、例えば、店舗又は建物の位置(住所等)と、当該店舗又は建物の属性(名称、業種等)と、を示す。また、ポイントデータは、例えば、人間の位置(住所、現在位置等)と、当該人間の属性(性別、年齢等)と、を示してもよい。ポイントデータは、ここに示した具体的な情報に限られず、地理的空間における位置と関連付けられたその他の情報を示してもよい。
【0019】
情報処理装置1は、地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルを用いて、ポイントデータを予め記憶している。また、情報処理装置1は、タイルを分割することによって得られた複数のメッシュを用いて、各メッシュ内に位置するポイントデータから算出した統計値である統計データを予め記憶している。タイルを用いてポイントデータを記憶する方法、及びメッシュを用いて統計データを記憶する方法については後述する。また、情報処理装置1は、記憶しているポイントデータ及び統計データを表示するための可視化データを生成し、情報端末2に送信する。
【0020】
情報端末2は、ユーザが利用するコンピュータであり、例えばスマートフォン、タブレット端末又はパーソナルコンピュータである。情報端末2は、液晶ディスプレイ等の表示部と、キーボードやタッチパネル等の操作部とを有する。情報端末2は、ユーザからポイントデータの追加、削除等を行うための操作を受け付け、ユーザによる操作に対応する情報を有線通信又は無線通信によって情報処理装置1に送信する。また、情報端末2は、情報処理装置1から有線通信又は無線通信によって可視化データを受信し、表示部上に表示する。
【0021】
図2は、本実施形態に係る情報処理装置1のブロック図である。
図2において、矢印は主なデータの流れを示しており、
図2に示したもの以外のデータの流れがあってもよい。
図2において、各ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図2に示すブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
【0022】
情報処理装置1は、記憶部11と、制御部12とを有する。情報処理装置1は、2つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されてもよい。また、情報処理装置1は、コンピュータ資源の集合であるクラウドによって構成されてもよい。
【0023】
記憶部11は、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクドライブ等を含む記憶媒体である。記憶部11は、制御部12が実行するプログラムを予め記憶している。記憶部11は、情報処理装置1の外部に設けられてもよく、その場合にネットワークを介して制御部12との間でデータの授受を行ってもよい。
【0024】
記憶部11は、ポイントデータ記憶部111と、統計データ記憶部112と、を有する。ポイントデータ記憶部111は、後述のタイル情報を予め記憶している。統計データ記憶部112は、後述のメッシュ情報を予め記憶している。ポイントデータ記憶部111及び統計データ記憶部112は、それぞれ記憶部11上の記憶領域であってもよく、又は記憶部11上で構成されたデータベースであってもよい。
【0025】
制御部12は、取得部121と、対象タイル特定部122と、タイル生成部123と、ポイントデータ更新部124と、更新タイル特定部125と、統計処理部126と、統計データ更新部127と、出力部128と、を有する。制御部12は、例えばCPU(Central Processing Unit)等のプロセッサであり、記憶部11に記憶されたプログラムを実行することにより、取得部121、対象タイル特定部122、タイル生成部123、ポイントデータ更新部124、更新タイル特定部125、統計処理部126、統計データ更新部127及び出力部128として機能する。制御部12の機能の少なくとも一部は電気回路によって実行されてもよい。また、制御部12の機能の少なくとも一部は、制御部12がネットワーク経由で実行されるプログラムを実行することによって実現されてもよい。以下、情報処理装置1が記憶するデータ及び情報処理装置1が実行する処理について詳細に説明する。
【0026】
[タイル情報の構造]
まず、ポイントデータ記憶部111が予め記憶しているタイル情報の構造を説明する。ポイントデータ記憶部111は、地理的空間を所定数の所定形状のタイルに分割する分割操作を、各タイルに対して再帰的に行う空間分割によって得られた複数のタイルそれぞれと、各タイルに含まれる上限数以下のポイントデータと、を関連付けたタイル情報を予め記憶している。
【0027】
図3は、タイルとポイントデータとの関係を説明するための模式図である。
図3は、地理的空間Gを、複数の矩形のタイルTに分割した状態を表している。地理的空間Gは、物体が配置される場所である。地理的空間Gは、例えば、地球上の所定範囲を2次元平面に投影した2次元空間であり、地図画像等によって表される。地理的空間G上の位置は、例えば、緯度及び経度等の座標を所定の規則に従って変換することによって算出された2次元平面上の座標によって表される。
【0028】
タイルTは、地理的空間Gを空間分割することによって生成された矩形形状の領域である。本実施形態において、タイルTは、正方形形状の地理的空間Gを、再帰的に4分割することによって生成された四分木タイルである。タイルTは、各タイルTが上限数である5個以下のポイントデータPを含むように必要な回数だけ分割されているため、分割された回数に応じてタイルTの大きさが異なっている。タイルTは、矩形形状に限られず、地理的空間Gを空間分割することによって生成可能なその他の形状であってもよい。また、タイルTは、4分割に限られず、地理的空間Gをその他の数に分割することによって生成されてもよい。
【0029】
地理的空間Gは、各タイルTが上限数である5個以下のポイントデータPを含むように分割されている。これにより、各タイルTに含まれている情報量を一定以下に抑え、タイルTごとの情報の密度が大きく異ならないようにすることができる。本実施形態において、1つのタイルに含まれるポイントデータの上限数は5個であるが、その他の値であってもよい。上限数は、記憶部11に予め設定され、又は情報端末2においてユーザによって設定される。
【0030】
図4は、地理的空間における空間分割を説明するための模式図である。まず、地理的空間G全体を1つのタイルTとみなし、地理的空間G全体の階層(すなわち、分割操作が行われていない階層)をレベル0とする。地理的空間G全体のタイルTに上限数(本実施形態では5個)を超過するポイントデータが含まれている場合に、地理的空間G全体のタイルTは4つに分割され、生成された4つのタイルTに対して左上から時計回りにA、B、C、Dのタイル番号が付与される。1回分割操作が行われた階層をレベル1とする。
【0031】
タイル番号A、B、C、Dの4つのタイルTのうち、上限数を超過するポイントデータが含まれていないタイルT(
図4の例ではA、C)はそれ以上分割されない。
【0032】
タイル番号A、B、C、Dの4つのタイルTのうち、上限数を超過するポイントデータが含まれているタイルT(
図4の例ではB、D)は、さらに4つに分割され、生成された4つのタイルTに対して左上から時計回りにA、B、C、Dのタイル番号がさらに付与される。例えば、タイル番号BのタイルTから生成された4つのタイルTのタイル番号は、BA、BB、BC、BDとなる。2回分割操作が行われた階層をレベル2とする。
【0033】
各タイルTに上限数を超過するポイントデータPが含まれなくなるまで、各タイルTに対して再帰的に分割操作が行われる。
図4の例では、3回分割操作が行われ、レベル3においてBDA、BDB、BDC、BDDのタイルTが生成されている。このように、地理的空間Gを所定数の所定形状のタイルに分割する分割操作を、各タイルTに含まれるポイントデータPが上限数以下になるまで再帰的に繰り返すことを、本実施形態における空間分割という。
【0034】
空間分割により生成される複数のタイルTは、それぞれ地理的空間G上の異なる位置に対応している。空間分割は、ここに説明した具体的な方法に限られず、その他の方法によって行われてもよい。例えば、タイル番号やレベルは、その他の規則に従って付与されてもよい。
【0035】
ポイントデータ記憶部111は、上述の空間分割によって生成された複数のタイルTそれぞれのタイル番号と、当該タイルTに含まれている一又は複数のポイントデータPと、を関連付けたタイル情報を記憶する。
【0036】
図5(a)は、ポイントデータ記憶部111が記憶する例示的なタイル情報の模式図である。
図5(a)の1行(1レコード)は、1つのタイルTのタイル情報に対応している。タイル情報は、例えば、タイル番号(
図5(a)中のKey)と、ポイントデータPと、を関連付けたデータベースとしてポイントデータ記憶部111に記憶されている。タイルT内の各ポイントデータPは、ポイント番号(
図5(a)中のPoint1~Point5)によって識別される。
【0037】
ポイントデータPは、例えば、地理的空間G上の位置(
図5(a)中のx及びy)と、属性値(
図5(a)中のvalue)と、を含む。属性値は、例えば、ポイントデータPに対応する店舗、建物、人間等の属性を表す値である。ポイントデータPは、位置のみを含み、属性値を含まなくてもよい。
【0038】
ポイントデータ記憶部111に対してタイル番号をキーとして検索することにより、タイル番号に対応するタイルTに含まれているポイントデータPが取得される。
【0039】
図5(a)では視認性のためにタイル情報が含む複数の項目それぞれの内容は文字列によって表されているが、バイナリ値等のその他の形式で表されてもよい。また、タイル情報は、その他の情報を含んでもよい。
【0040】
[メッシュ情報の構造]
次に、統計データ記憶部112が予め記憶しているメッシュ情報の構造を説明する。統計データ記憶部112は、複数のタイルTそれぞれを所定数の所定形状に分割することによって得られた複数のメッシュそれぞれと、各メッシュ内に位置するポイントデータPから算出した統計値である統計データと、を関連付けて予め記憶している。
【0041】
図6は、タイルと統計データとの関係を説明するための模式図である。
図6は、地理的空間G全体を1つのタイルT(
図6中のタイル番号0)とみなし、タイル番号0及びタイル番号BのタイルTを、それぞれ複数の矩形のメッシュMに分割した状態を表している。複数のメッシュMは、上述の空間分割によって生成された全てのタイルTそれぞれに対して定義される。
【0042】
メッシュMは、1つのタイルTを所定数の所定形状に分割することによって生成された領域である。本実施形態において、メッシュMは、正方形形状のタイルTを4×4に分割することによって生成された16個の正方形形状の領域である。メッシュMは、矩形形状に限られず、タイルTを分割することによって生成可能なその他の形状であってもよい。また、メッシュMは、16分割に限られず、タイルTをその他の数に分割することによって生成されてもよい。
【0043】
複数のタイルTそれぞれに対して、当該タイルTに含まれている複数のメッシュMそれぞれの中に位置するポイントデータPから算出された統計値である統計データが生成される。統計データは、例えば、メッシュM内に位置するポイントデータPの個数、又はメッシュM内に位置するポイントデータPの属性値から算出される統計量(平均値等)である。
図6の例では、中に位置するポイントデータPの個数が1以上であるメッシュMを網掛けにし、中に位置するポイントデータPの個数が0であるメッシュMを白抜きにしている。
【0044】
また、統計データは、例えば、メッシュM内に位置するポイントデータPのうち、属性値が所定の指標(属性値が大きい順に上位10個等)を満たす代表的な一又は複数のポイントデータPを抽出したものであってもよい。これにより、後述の可視化データにおいて、小縮尺表示時には代表的な一又は複数のポイントデータPだけを表示することにより、いわゆる「総描」を行うことができる。
【0045】
統計データ記憶部112は、複数のタイルTそれぞれのタイル番号と、当該タイルTに含まれている複数のメッシュMそれぞれの統計データと、を関連付けたメッシュ情報を記憶する。
【0046】
図5(b)は、統計データ記憶部112が記憶する例示的なメッシュ情報の模式図である。
図5(b)の1行(1レコード)は、1つのタイルに含まれる複数のメッシュMのメッシュ情報に対応している。メッシュ情報は、例えば、タイル番号(
図5(b)中のKey)と、統計データと、を関連付けたデータベースとして統計データ記憶部112に記憶されている。統計データは、メッシュ番号(
図5(b)中のX0,Y0~X3,Y3)によって識別される。
【0047】
なお、統計データ記憶部112は、ポイントデータ記憶部111に記憶されていないタイル(
図5(b)中のタイル番号B)を存在するものとみなして、当該タイルのメッシュ情報を記憶する。また、統計データ記憶部112は、地理的空間G全体を1つのタイル(
図5(b)中のタイル番号0)とみなして、地理的空間G全体のメッシュ情報を記憶する。
【0048】
図5(b)の例では、統計データは、メッシュM内に位置するポイントデータPの個数を表している。統計データは、これに限られず、メッシュM内に位置するポイントデータPの属性値から算出された統計量(平均値等)であってもよい。
【0049】
統計データ記憶部112に対してタイル番号をキーとして検索することにより、タイル番号に対応するタイルTに含まれている複数のメッシュMそれぞれの統計データが取得される。
【0050】
図5(b)では視認性のためにメッシュ情報が含む複数の項目それぞれの内容は文字列によって表されているが、バイナリ値等のその他の形式で表されてもよい。また、メッシュ情報は、その他の情報を含んでもよい。
【0051】
[ポイントデータ追加処理]
次に、ポイントデータ記憶部111が予め記憶しているタイル情報に対して新たなポイントデータPを追加するポイントデータ追加処理を説明する。取得部121は、ポイントデータ記憶部111に追加するポイントデータPである追加ポイントデータPaを取得する。取得部121は、ポイントデータ記憶部111に一度に追加する複数の追加ポイントデータPaを取得してもよい。
【0052】
取得部121は、例えば、情報端末2において追加ポイントデータPaの指定を受け付け、指定された追加ポイントデータPaを取得する。また、取得部121は、情報端末2とは異なる装置から追加ポイントデータPaを取得してもよい。
【0053】
対象タイル特定部122は、ポイントデータ記憶部111に予め記憶された複数のタイル情報が示す複数のタイルTの中から、追加ポイントデータPaの位置(地理的空間G上の位置)を含むタイルTである対象タイルTtを特定する。対象タイル特定部122は、例えば、最上位レベル(レベル0)から下位レベル(レベル1、2、3等)に向けて追加ポイントデータPaの位置に対応するタイル番号(A、AB、ABC等)を順に生成し、生成したタイル番号を含むタイル情報がポイントデータ記憶部111に記憶されている場合に、生成したタイル番号に対応するタイルTを対象タイルTtとして特定する。
【0054】
対象タイル特定部122は、ポイントデータ記憶部111から、特定した対象タイルTtのタイル情報を取得する。対象タイル特定部122は、対象タイルTtに追加ポイントデータPaを追加した場合に、対象タイルTtに上限数を超過するポイントデータPが含まれるか否かを判定する。
【0055】
タイル生成部123及びポイントデータ更新部124は、対象タイルTtに上限数を超過するポイントデータPが含まれるか否かの判定結果に応じて、異なる方法でポイントデータ記憶部111を更新する。
【0056】
図7(a)、
図7(b)は、ポイントデータPを追加する処理を説明するための模式図である。
図7(a)、
図7(b)は、対象タイルTtに関連付けられたポイントデータPである対象ポイントデータPtに追加ポイントデータPaを追加する状況を表している。
図7(a)は、対象タイルTtに上限数を超過するポイントデータPが含まれないと判定された場合の処理を表しており、
図7(b)は、対象タイルTtに上限数を超過するポイントデータPが含まれると判定された場合の処理を表している。
【0057】
図7(a)のように、対象タイルTtに追加ポイントデータPaを追加した場合に対象タイルTtに上限数を超過するポイントデータPが含まれないと判定された場合、すなわち対象タイルTtに関連付けられた対象ポイントデータPtと追加ポイントデータPaとを合わせた個数が上限数以下である場合に、タイル生成部123が対象タイルTtに対する分割操作を行うことなく、ポイントデータ更新部124は、対象タイルTtと、対象ポイントデータPt及び追加ポイントデータPaと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる。ポイントデータ更新部124は、追加ポイントデータPaを追加する前のタイル情報を新たなタイル情報で上書きしてもよく、追加ポイントデータPaを追加する前のタイル情報に追加ポイントデータPaを追加してもよい。
【0058】
情報処理装置1は、追加ポイントデータPaが指定された際に、1つの追加ポイントデータPaをポイントデータ記憶部111に逐次追加してもよく、所定数の追加ポイントデータPaをまとめてポイントデータ記憶部111に追加してもよい。このとき、複数の追加ポイントデータPaが1つの対象タイルTtに含まれる場合であって、対象ポイントデータPt及び追加ポイントデータPaを合わせた個数が上限数以下である場合に、ポイントデータ更新部124は、当該1つの対象タイルTtと、対象ポイントデータPt及び複数の追加ポイントデータPaと、を関連付けたタイル情報をポイントデータ記憶部111に一度に追加してもよい。これにより、ポイントデータ更新部124は、複数の追加ポイントデータPaをまとめてポイントデータ記憶部111に追加し、効率的にポイントデータ記憶部111を更新できる。
【0059】
図7(b)のように、対象タイルTtに追加ポイントデータPaを追加した場合に対象タイルTtに上限数を超過するポイントデータPが含まれると判定された場合、すなわち対象タイルTtに関連付けられた対象ポイントデータPtと追加ポイントデータPaとを合わせた個数が上限数を超える場合に、タイル生成部123は、対象タイルTtに対して上述の分割操作を実行して新たな所定数のタイルである分割タイルTdを生成し、各分割タイルTdに対象ポイントデータPt及び追加ポイントデータPaを割り当てる。
【0060】
タイル生成部123は、例えば、対象タイルTtを4つに分割し、生成された4つの分割タイルTdに対して左上から時計回りにA、B、C、Dのタイル番号をさらに付与する。
図7(b)の例では、タイル生成部123は、タイル番号BAの対象タイルTtから、タイル番号BAA、BAB、BAC、BADの分割タイルTdを生成している。分割タイルTdに上限数を超過するポイントデータPが含まれる場合に、分割タイルTdに対して分割操作を繰り返してもよい。
【0061】
タイル生成部123は、対象ポイントデータPt及び追加ポイントデータPaそれぞれが複数の分割タイルTdのいずれに位置するかを特定し、特定した分割タイルTdに当該対象ポイントデータPt及び追加ポイントデータPaを割り当てる。
【0062】
ポイントデータ更新部124は、複数の分割タイルTdそれぞれと、各分割タイルTdに割り当てられた対象ポイントデータPt及び追加ポイントデータPaと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる。ここでポイントデータ更新部124は、分割前の対象タイルTtのタイル情報をポイントデータ記憶部111から削除する。
【0063】
複数の追加ポイントデータPaが1つの対象タイルTtに含まれる場合であって、対象ポイントデータPt及び追加ポイントデータPaを合わせた個数が上限数を超える場合に、ポイントデータ更新部124は、複数の分割タイルTdそれぞれと、各分割タイルTdに割り当てられた対象ポイントデータPt及び複数の追加ポイントデータPaと、を関連付けたタイル情報を、ポイントデータ記憶部111に一度に記憶させてもよい。これにより、ポイントデータ更新部124は、複数の追加ポイントデータPaをまとめてポイントデータ記憶部111に追加し、効率的にポイントデータ記憶部111を更新できる。
【0064】
このように、情報処理装置1は、追加ポイントデータPaを追加する際に、全てのタイルを生成し直すことなく、ポイントデータ記憶部111において追加ポイントデータPaが位置する対象タイルTt又は対象タイルTtから生成された分割タイルTdに係るタイル情報を更新するため、計算コストを削減できるとともに、ポイントデータ記憶部111へのアクセス回数を削減できる。
【0065】
[統計データ更新処理]
次に、新たなポイントデータPの追加に応じて統計データ記憶部112が予め記憶しているメッシュ情報の統計データを更新する統計データ更新処理を説明する。更新タイル特定部125は、上述のポイントデータ追加処理に応じて統計データの更新対象となるタイルTである更新タイルTuを特定する。
【0066】
更新タイル特定部125は、例えば、追加ポイントデータPaの追加によって更新された対象タイルTt又は分割タイルTdを含むタイルT(すなわち、対象タイルTt又は分割タイルTdの分割元であるタイルT)を最上位レベル(レベル0)に向けて遡って抽出し、抽出した複数のタイルTを更新タイルTuとして特定し、特定した複数の更新タイルTuのリスト(以下、更新リスト)を取得する。例えば追加ポイントデータPaの追加によってタイル番号ACDAのタイルTが更新された場合に、更新リストは[ACD,AC,A,0]となる。なお、タイル番号0の更新タイルTuは地理的空間G全体に対応している。
【0067】
更新タイル特定部125は、複数の追加ポイントデータPaがポイントデータ記憶部111にまとめて追加された際に、複数の更新タイルTuを特定した場合であって、複数の更新タイルTuの中で重複する更新タイルTuがある場合に、重複を除去してもよい。
【0068】
図8は、更新タイルTuの重複を除去する処理を説明するための模式図である。
図8の例は、複数の追加ポイントデータPaの追加によってタイル番号ACDA、ACDB、ABCの3つのタイルTが更新された状況を表している。この場合に、更新タイル特定部125は、[ACD,AC,A,0]、[ACD,AC,A,0]、[AB,A,0]の3つの更新リストを取得する。
【0069】
更新タイル特定部125は、複数の更新リストを、タイル番号の重複を除去した上で結合し、タイル番号が長い順にソートする。
図8の例では、更新タイル特定部125は、[ACD,AC,AB,A,0]の1つの更新リストを取得する。これにより、更新タイル特定部125は、後述の統計処理部126が同じタイルTに対して何度も統計処理を行わないようにすることができるため、計算コストを削減できる。
【0070】
統計処理部126は、更新タイル特定部125が特定した更新タイルTuに含まれる複数のメッシュMそれぞれに位置するポイントデータPに対して統計処理をすることにより、各メッシュMの統計データである更新統計データを生成する。
【0071】
図9は、更新統計データを生成する処理を説明するための模式図である。統計処理部126は、更新タイル特定部125が取得した更新リストが示す更新タイルTuのタイル番号の先頭(最下位レベル)から順に以下の処理を行う。統計処理部126は、統計データ記憶部112から、更新タイルTuのタイル番号に関連付けられたメッシュ情報を取得する。統計データ記憶部112に、更新タイルTuのタイル番号に関連付けられたメッシュ情報が記憶されていない場合に、統計処理部126は、新たなメッシュ情報を作成する。
【0072】
統計処理部126は、更新タイルTuに下位に存在する4つのタイルTのうち、追加ポイントデータPaの追加によって更新された対象タイルTt又は分割タイルTdのタイル情報を取得する。ここで統計処理部126は、ポイントデータ追加処理においてタイル生成部123が対象タイルTtに対して分割操作を行わなかった場合には対象タイルTtのタイル情報を取得し、ポイントデータ追加処理においてタイル生成部123が対象タイルTtに対して分割操作を行った場合には複数の分割タイルTdのタイル情報を取得する。
【0073】
統計処理部126は、ポイントデータ記憶部111からタイル情報を取得することなく、ポイントデータ更新部124が対象タイルTt又は分割タイルTdを更新する際に利用したポイントデータPを含むタイル情報を取得することが望ましい。これにより、統計処理部126は、ポイントデータ記憶部111へのアクセス回数を削減し、効率的に統計データを更新できる。
【0074】
統計処理部126は、対象タイルTt又は分割タイルTdのタイル情報が含むポイントデータPに対して所定の統計処理(例えば、ポイントデータPの個数の集計、又は属性値からの統計量の算出)をすることにより、更新タイルTuの中で対象タイルTt又は分割タイルTdの内側にある各メッシュMの統計データを更新統計データとして生成する。また、統計処理部126は、更新タイルTuの中で対象タイルTt又は分割タイルTdの外側にある各メッシュMについては、統計データ記憶部112に既に記憶されていたメッシュ情報が示す統計データを更新統計データとして用いる。
【0075】
そして統計処理部126は、更新リストにおいて最下位レベルのタイル番号から最上位レベル(レベル0)のタイル番号に向けて、再帰的に更新統計データの生成を繰り返す。統計処理部126は、統計データ記憶部112から、更新タイルTuに隣接するタイルTである隣接タイルTn(兄弟タイルともいう)のタイル番号に関連付けられたメッシュ情報を取得する。更新タイルTu及び隣接タイルTnは、1つ上のレベルにおいて同じタイルT(以下、上位タイル)から分割された関係にある。
図9の例では、タイル番号ABの更新タイルTuに対して、タイル番号AA、AC、ADのタイルTが隣接タイルTnである。
【0076】
統計処理部126は、更新タイルTuに含まれる複数のメッシュMそれぞれの更新統計データと、隣接タイルTnに含まれる複数のメッシュMそれぞれの統計データと、を統合することにより、更新タイルTu及び隣接タイルTnを合わせたタイルTである上位タイル(すなわち、次のレベルの更新タイルTu)に含まれる複数のメッシュMそれぞれの更新統計データを生成する。
【0077】
統計処理部126は、例えば、更新タイルTu及び隣接タイルTnそれぞれに含まれている複数のメッシュMの統計データを、4つのメッシュMごとに統合することによって、上位タイルのメッシュMの更新統計データを生成する。
図9の例では、タイル番号ABの更新タイルTuのメッシュにおけるX0,Y0、X1,Y0、X0,Y1、X1,Y1の4つのメッシュMが統合されて、上位タイルにおいて1つのメッシュMとなる。
【0078】
統計データがメッシュM内に位置するポイントデータPの個数である場合に、統計処理部126は、統合対象の複数のメッシュMのポイントデータPの個数を合計することによって統合対象の複数のメッシュMの統計データを統合する。統計データがメッシュM内に位置するポイントデータPの属性値から算出された統計量である場合に、統計処理部126は、統合対象の複数のメッシュMの統計量に対して、メッシュMのポイントデータPの個数を考慮して再度統計処理を行うことによって、統合対象の複数のメッシュMの統計データを統合してもよい。
【0079】
統計処理部126は、更新リストにおいて最上位レベル(レベル0)のタイル番号に対応する更新タイルTuの更新統計データが生成されるまで、更新統計データの生成を繰り返す。
【0080】
統計データ更新部127は、更新タイルTuに含まれる複数のメッシュMそれぞれと、各メッシュMの更新統計データと、を関連付けたメッシュ情報を、統計データ記憶部112に記憶させる。統計データ更新部127は、追加ポイントデータPaを追加する前のメッシュ情報を削除した上で新たなメッシュ情報で追加してもよく、追加ポイントデータPaを追加する前のメッシュ情報の中で更新統計データを上書きしてもよい。
【0081】
このように、情報処理装置1は、追加ポイントデータPaの追加によって更新された対象タイルTt又は分割タイルTdに関する統計データのみを新たに生成して記憶するため、統計処理を行うための計算コストを削減できるとともに、統計データ記憶部112へのアクセス回数を削減できる。
【0082】
[可視化データ生成処理]
最後に、ポイントデータP及び統計データを表示するための可視化データを生成する可視化データ生成処理を説明する。出力部128は、ポイントデータ記憶部111に記憶されたタイル情報及び統計データ記憶部112に記憶されたメッシュ情報に基づいて、可視化データを生成する。
【0083】
図10は、可視化データ生成処理を説明するための模式図である。出力部128は、情報端末2において指定された地理的空間Gの表示倍率(例えば、地図画像の縮尺)に応じて表示対象のレベルを決定し、決定したレベルにおいて領域ごとにタイル情報が示すポイントデータP又はメッシュ情報が示すメッシュMごとの統計データのどちらかを表示するための可視化データを生成する。
【0084】
出力部128は、例えば、ポイントデータ記憶部111において表示対象のレベルのタイルTのタイル情報が記憶されている領域に対しては、タイル情報が示すポイントデータPを表示する。一方、出力部128は、例えば、ポイントデータ記憶部111において表示対象のレベルのタイルTのタイル情報が記憶されていない領域に対しては、メッシュ情報が示すメッシュMごとの統計データを表示する。
【0085】
図10の例において、レベル0では全ての領域において統計データを表示し、レベル1及びレベル2では領域ごとにポイントデータP又は統計データを表示し、レベル3では全ての領域においてポイントデータPを表示している。
【0086】
ポイントデータPを表示する領域において、出力部128は、例えば、ポイントデータPの位置に所定形状のマークを表示する。また、出力部128は、ポイントデータPの位置に、ポイントデータPが示す属性値に対応する態様(色、形、模様等)のマークを表示してもよい。
【0087】
メッシュMごとの統計データを表示する領域において、出力部128は、例えば、ポイントデータPの個数が1以上であるメッシュMを網掛けにし、中に位置するポイントデータPの個数が0であるメッシュMを白抜きにした2値画像を含む可視化データを生成する。また、出力部128は、ポイントデータPの個数に応じて色を変えたヒートマップを含む可視化データを生成してもよい。
【0088】
このように、情報処理装置1は、地理的空間Gの表示倍率を高くすることに応じて、情報の密度が高い部分を段階的に詳細化して可視化することができ、地理的空間Gに関連付けられた複数の情報をユーザにとって見やすくすることができる。
【0089】
[情報処理方法のフローチャート]
図11は、本実施形態に係る情報処理装置1が実行する情報処理方法のフローチャートを示す図である。取得部121は、ポイントデータ記憶部111に追加するポイントデータPである追加ポイントデータPaを取得する(S11)。
【0090】
対象タイル特定部122は、ポイントデータ記憶部111に予め記憶された複数のタイル情報が示す複数のタイルTの中から、追加ポイントデータPaの位置を含むタイルTである対象タイルTtを特定する(S12)。対象タイル特定部122は、ポイントデータ記憶部111から、特定した対象タイルTtのタイル情報を取得する。対象タイル特定部122は、対象タイルTtに追加ポイントデータPaを追加した場合に、対象タイルTtに上限数を超過するポイントデータPが含まれるか否かを判定する(S13)。
【0091】
ステップS13において、対象タイルTtに追加ポイントデータPaを追加した場合に対象タイルTtに上限数を超過するポイントデータPが含まれないと判定された場合に(S14のNO)、タイル生成部123が対象タイルTtに対する分割操作を行うことなく、ポイントデータ更新部124は、対象タイルTtと、対象ポイントデータPt及び追加ポイントデータPaと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる(S15)。
【0092】
ステップS13において、対象タイルTtに追加ポイントデータPaを追加した場合に対象タイルTtに上限数を超過するポイントデータPが含まれると判定された場合に(S14のYES)、タイル生成部123は、対象タイルTtに対して分割操作を実行して新たな所定数のタイルである分割タイルTdを生成し、各分割タイルTdに対象ポイントデータPt及び追加ポイントデータPaを割り当てる(S16)。ポイントデータ更新部124は、複数の分割タイルTdそれぞれと、各分割タイルTdに割り当てられた対象ポイントデータPt及び追加ポイントデータPaと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる(S17)。
【0093】
更新タイル特定部125は、上述のポイントデータ追加処理に応じて統計データの更新対象となるタイルTである更新タイルTuを特定し、特定した複数の更新タイルTuの更新リストを取得する(S18)。統計処理部126は、更新タイル特定部125が特定した更新タイルTuに含まれる複数のメッシュMそれぞれに位置するポイントデータPに対して統計処理をすることにより、各メッシュMの統計データである更新統計データを生成する(S19)。
【0094】
統計データ更新部127は、更新タイルTuに含まれる複数のメッシュMそれぞれと、各メッシュMの更新統計データと、を関連付けたメッシュ情報を、統計データ記憶部112に記憶させる(S20)。情報処理装置1は、更新リストにおいて最下位レベルのタイル番号から最上位レベル(レベル0)のタイル番号に向けて、再帰的に更新統計データの生成及び記憶を繰り返す。
【0095】
最上位レベルの更新統計データの生成及び記憶が終了していない場合に(S21のNO)、情報処理装置1は、1つ上のレベルに対してステップS19~S20を行う。最上位レベルの更新統計データの生成及び記憶が終了した場合に(S21のYES)。情報処理装置1は処理を終了する。
【0096】
[実施形態の効果]
本実施形態に係る情報処理装置1は、追加ポイントデータPaを追加する際に、全てのタイルを生成し直すことなく、ポイントデータ記憶部111において追加ポイントデータPaが位置する対象タイルTt又は対象タイルTtから生成された分割タイルTdに係るタイル情報のみを、ポイントデータ記憶部111において更新する。これにより、情報処理装置1は、地理的空間Gを分割することによって生成された複数のタイルTを用いて管理される情報を更新するために掛かる計算コストを削減できるとともに、ポイントデータ記憶部111へのアクセス回数を削減できる。
【0097】
また、情報処理装置1は、追加ポイントデータPaの追加によって更新された対象タイルTt又は分割タイルTdに関する統計データのみを、統計データ記憶部112において更新する。これにより、情報処理装置1は、統計処理を行うための計算コストを削減できるとともに、統計データ記憶部112へのアクセス回数を削減できる。
【0098】
[第1変形例]
上述の実施形態では、情報処理装置1は新たなポイントデータPを追加することによりポイントデータ記憶部111を更新していたが、本変形例では、既に記憶されているポイントデータPを削除することによりポイントデータ記憶部111を更新する。以下、上述の実施形態とは異なる部分を主に説明する。
【0099】
取得部121は、ポイントデータ記憶部111に既に記憶されたポイントデータPの中から、削除対象とするポイントデータPである削除ポイントデータPdを取得する。取得部121は、ポイントデータ記憶部111から一度に削除する複数の削除ポイントデータPdを取得してもよい。
【0100】
取得部121は、例えば、情報端末2において削除ポイントデータPdの指定を受け付け、指定された削除ポイントデータPdを取得する。また、取得部121は、情報端末2とは異なる装置から削除ポイントデータPdを取得してもよい。
【0101】
対象タイル特定部122は、ポイントデータ記憶部111に予め記憶された複数のタイル情報が示す複数のタイルTの中から、削除ポイントデータPdの位置(地理的空間G上の位置)を含むタイルTである対象タイルTtを特定する。
【0102】
対象タイル特定部122は、ポイントデータ記憶部111から、特定した対象タイルTtのタイル情報と、対象タイルTtに隣接するタイルTである隣接タイルTn(兄弟タイル)のタイル情報と、を取得する。対象タイルTt及び隣接タイルTnは、1つ上のレベルにおいて同じタイルT(上位タイル)から分割された関係にある。
【0103】
対象タイル特定部122は、対象タイルTtから削除ポイントデータPdを削除した場合に、対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれるか否かを判定する。タイル生成部123及びポイントデータ更新部124は、対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれるか否かの判定結果に応じて、異なる方法でポイントデータ記憶部111を更新する。
【0104】
図12(a)、
図12(b)は、ポイントデータPを削除する処理を説明するための模式図である。
図12(a)、
図12(b)は、対象タイルTtに関連付けられたポイントデータPである対象ポイントデータPtから削除ポイントデータPdを削除する状況を表している。隣接タイルTnに関連付けられたポイントデータPを隣接ポイントデータPnという。
図12(a)は、対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれると判定された場合の処理を表しており、
図12(b)は、対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれないと判定された場合の処理を表している。
【0105】
図12(a)のように、対象タイルTtから削除ポイントデータPdを削除した場合に対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれると判定された場合、すなわち削除ポイントデータPdを除く対象ポイントデータPtと、隣接ポイントデータPnと、を合わせた個数が上限数を超える場合に、タイル生成部123が対象タイルTt及び隣接タイルTnを統合することなく、ポイントデータ更新部124は、対象タイルTtと、削除ポイントデータPdを除く対象ポイントデータPtと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる。なお、隣接タイルTnのタイル情報は更新されない。
【0106】
ポイントデータ更新部124は、削除ポイントデータPdを削除する前のタイル情報を新たなタイル情報で上書きしてもよく、削除ポイントデータPdを削除する前のタイル情報から削除ポイントデータPdを削除してもよい。
【0107】
図12(b)のように、対象タイルTtから削除ポイントデータPdを削除した場合に対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれないと判定された場合、すなわち削除ポイントデータPdを除く対象ポイントデータPtと、隣接ポイントデータPnと、を合わせた個数が上限数以下である場合に、タイル生成部123は、対象タイルTt及び隣接タイルTnを合わせた統合タイルTiを生成し、削除ポイントデータPdを除く対象ポイントデータPtと、隣接ポイントデータPnと、を統合タイルTiに割り当てる。
【0108】
図12(b)の例では、タイル生成部123は、タイル番号DBの対象タイルTtと、タイル番号DA、DC、DDの隣接タイルTnと、を統合することにより、タイル番号Dの統合タイルTiを生成している。タイル生成部123は、統合タイルTi及び統合タイルTiに隣接する隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれない場合に、統合タイルTi及び統合タイルTiに隣接する隣接タイルTnの統合を繰り返してもよい。
【0109】
ポイントデータ更新部124は、統合タイルTiと、削除ポイントデータPdを除く対象ポイントデータPt及び隣接ポイントデータPnと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる。ここでポイントデータ更新部124は、統合前の対象タイルTt及び隣接タイルTnのタイル情報をポイントデータ記憶部111から削除する。
【0110】
情報処理装置1は、削除ポイントデータPdが指定された際に、1つの削除ポイントデータPdをポイントデータ記憶部111から逐次削除してもよく、所定数の削除ポイントデータPdをまとめてポイントデータ記憶部111から削除してもよい。
【0111】
削除ポイントデータPdの削除に応じたポイントデータ記憶部111の更新が完了した後に、情報処理装置1は、上述の実施形態と同様に統計データ記憶部112が予め記憶しているメッシュ情報において統計データを更新する統計データ更新処理を行う。
【0112】
図13は、本変形例に係る情報処理装置1が実行する情報処理方法のフローチャートを示す図である。取得部121は、ポイントデータ記憶部111に既に記憶されたポイントデータPの中から、削除対象とするポイントデータPである削除ポイントデータPdを取得する(S31)。
【0113】
対象タイル特定部122は、ポイントデータ記憶部111に予め記憶された複数のタイル情報が示す複数のタイルTの中から、削除ポイントデータPdの位置を含むタイルTである対象タイルTtを特定する(S32)。対象タイル特定部122は、ポイントデータ記憶部111から、特定した対象タイルTtのタイル情報と、対象タイルTtに隣接するタイルTである隣接タイルTnのタイル情報と、を取得する。対象タイル特定部122は、対象タイルTtから削除ポイントデータPdを削除した場合に、対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれるか否かを判定する(S33)。
【0114】
ステップS33において、対象タイルTtから削除ポイントデータPdを削除した場合に対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれると判定された場合に(S34のYES)、タイル生成部123が対象タイルTt及び隣接タイルTnを統合することなく、ポイントデータ更新部124は、対象タイルTtと、削除ポイントデータPdを除く対象ポイントデータPtと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる(S35)。
【0115】
ステップS33において、対象タイルTtから削除ポイントデータPdを削除した場合に対象タイルTt及び隣接タイルTnを合わせた領域に上限数を超過するポイントデータPが含まれないと判定された場合に(S34のNO)、タイル生成部123は、対象タイルTt及び隣接タイルTnを合わせた統合タイルTiを生成し、削除ポイントデータPdを除く対象ポイントデータPtと、隣接ポイントデータPnと、を統合タイルTiに割り当てる(S36)。ポイントデータ更新部124は、統合タイルTiと、削除ポイントデータPdを除く対象ポイントデータPt及び隣接ポイントデータPnと、を関連付けたタイル情報を、ポイントデータ記憶部111に記憶させる(S37)。
【0116】
更新タイル特定部125は、上述のポイントデータ削除処理に応じて統計データの更新対象となるタイルTである更新タイルTuを特定し、特定した複数の更新タイルTuの更新リストを取得する(S38)。統計処理部126は、更新タイル特定部125が特定した更新タイルTuに含まれる複数のメッシュMそれぞれに位置するポイントデータPに対して統計処理をすることにより、各メッシュMの統計データである更新統計データを生成する(S39)。
【0117】
統計データ更新部127は、更新タイルTuに含まれる複数のメッシュMそれぞれと、各メッシュMの更新統計データと、を関連付けたメッシュ情報を、統計データ記憶部112に記憶させる(S40)。情報処理装置1は、更新リストにおいて最下位レベルのタイル番号から最上位レベル(レベル0)のタイル番号に向けて、再帰的に更新統計データの生成及び記憶を繰り返す。
【0118】
最上位レベルの更新統計データの生成及び記憶が終了していない場合に(S41のNO)、情報処理装置1は、1つ上のレベルに対してステップS39~S40を行う。最上位レベルの更新統計データの生成及び記憶が終了した場合に(S41のYES)。情報処理装置1は処理を終了する。
【0119】
このように、情報処理装置1は、削除ポイントデータPdを削除する際に、全てのタイルを生成し直すことなく、ポイントデータ記憶部111において削除ポイントデータPdが位置する対象タイルTt、又は対象タイルTt及び隣接タイルTnから生成された統合タイルTiに係るタイル情報を更新するため、計算コストを削減できるとともに、ポイントデータ記憶部111へのアクセス回数を削減できる。
【0120】
[第2変形例]
上述の実施形態では、地理的空間Gが再帰的に4分割することによって矩形形状のタイルTが生成されているが、地理的空間Gはその他の分割態様で再帰的に分割されてもよい。地理的空間Gを分割することによって生成されるタイルTは、例えば、地理的空間Gを隙間なく敷き詰めることができる突多角形形状を有すればよい。
【0121】
図14(a)~
図14(c)は、本変形例に係る分割態様を説明するための模式図である。
図14(a)は、正方形形状の地理的空間Gを再帰的に9分割することによって矩形形状のタイルTを生成する例を表している。この場合に、複数のタイルTは互いに相似の正方形形状になっている。
図14(b)は、正方形形状の地理的空間Gを再帰的に2分割することによって矩形形状のタイルTを生成する例を表している。この場合に、タイルTは、分割の回数に応じて、長方形形状と、正方形形状と、のどちらかになっている。
【0122】
図14(c)は、正三角形形状の地理的空間Gを再帰的に4分割することによって三角形形状のタイルTを生成する例を表している。この場合に、複数のタイルTは互いに相似の正三角形形状になっている。
【0123】
地理的空間Gは、ここに示した具体的な分割態様に限られず、その他の分割態様で再帰的に分割されてもよい。このように、上述の実施形態に係る発明は、地理的空間Gを再帰的に4分割する態様に限られず、地理的空間Gの様々な分割態様に適用できる。
【0124】
なお、本発明により、国連が主導する持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」に貢献することが可能となる。
【0125】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【0126】
情報処理装置1のプロセッサは、
図11、
図13に示す情報処理方法に含まれる各ステップ(工程)の主体となる。すなわち、情報処理装置1のプロセッサは、
図11、
図13に示す情報処理方法を実行するためのプログラムを記憶部11から読み出し、該プログラムを実行することによって、
図11、
図13に示す情報処理方法を実行する。
図11、
図13に示す情報処理方法に含まれるステップは一部省略されてもよく、ステップ間の順番が変更されてもよく、複数のステップが並行して行われてもよい。
【符号の説明】
【0127】
1 情報処理装置
11 記憶部
111 ポイントデータ記憶部
112 統計データ記憶部
12 制御部
121 取得部
122 対象タイル特定部
123 タイル生成部
124 ポイントデータ更新部
125 更新タイル特定部
126 統計処理部
127 統計データ更新部
128 出力部
2 情報端末