(57)【要約】【課題】時空間データを高速に検索する。【解決手段】時空間領域に対応付けられる時系列データを管理する時空間データ管理システムであって、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する記憶装置とを備え、前記プロセッサは、前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成し、前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当て、前記割り当てられた識別子が近い時空間分割領域のデータが前記記憶装置上で近くに配置されるように、前記時系列データの配置を決定することを特徴とする。【選択図】図１
2014002519.tif 000002
【特許請求の範囲】
【請求項１】
時空間領域に対応付けられる時系列データを管理する時空間データ管理システムであって、
プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する記憶装置とを備え、
前記プロセッサは、
前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成し、
前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当て、
前記割り当てられた識別子が近い時空間分割領域のデータが前記記憶装置上で近くに配置されるように、前記時系列データの配置を決定することを特徴とする時空間データ管理システム。
【請求項２】
請求項１に記載の時空間データ管理システムであって、
前記プロセッサは、同じ時間帯で空間距離が近い順に識別子を割り当てることを特徴とする時空間データ管理システム。
【請求項３】
請求項１又は２に記載の時空間データ管理システムであって、
前記プロセッサは、前記各時空間分割領域の境界の時系列データを、前記各時空間分割領域に対応付けることを特徴とする時空間データ管理システム。
【請求項４】
請求項３に記載の時空間データ管理システムであって、
前記プロセッサは、前記各時空間分割領域の境界の時系列データを線形補間によって生成することを特徴とする時空間データ管理システム。
【請求項５】
請求項１又は２に記載の時空間データ管理システムであって、
前記時系列データは、前記時空間分割領域に少なくとも一つのデータを含むグリッド時系列データと、前記時空間分割領域に少なくとも一つの空間座標を含むポイント時系列データとを含み、
前記プロセッサは、前記グリッド時系列データと前記ポイント時系列データとに、共通する又は関連付けられた識別子を割り当て、
前記プロセッサは、前記共通する又は関連付けられた識別子を特定することによって、前記グリッド時系列データと前記ポイント時系列データとを関連付けて検索することを特徴とする時空間データ管理システム。
【請求項６】
請求項１又は２に記載の時空間データ管理システムであって、
前記プロセッサは、前記時空間データを、第１の判定ステップ及び第２の判定ステップによって検索し、
前記第１の判定ステップでは、前記プロセッサは、時間及び空間の検索条件に該当する時空間分割領域の識別子を算出し、前記算出された識別子に合致する時空間分割領域を結果候補として抽出し、
前記第２の判定ステップでは、前記プロセッサは、前記結果候補として抽出された時空間分割領域に対応付けられた時系列データと検索条件とを照合することによって、検索結果を生成することを特徴とする時空間データ管理システム。
【請求項７】
請求項６に記載の時空間データ管理システムであって、
前記時空間分割領域のデータは、当該時空間分割領域内の時系列データの最大値及び最小値を含み、
前記第１の判定ステップでは、前記プロセッサは、
前記時系列データの検索条件と、前記時系列データの最大値及び最小値との少なくとも一方とを比較し、
前記算出された識別子に合致し、かつ、前記時系列データの検索条件に合致する時空間分割領域を結果候補として抽出することを特徴とする時空間データ管理システム。
【請求項８】
時空間領域に対応付けられる時系列データを管理する計算機システムによって実行される時空間データ管理方法であって、
前記計算機システムは、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する記憶装置とを有し、
前記方法は、
前記プロセッサが、前記時空間領域を時間及び空間で分割し、複数の時空間分割領域を生成するステップと、
前記プロセッサが、前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当てるステップと、
前記割り当てられた識別子が近い時空間分割領域のデータが前記記憶装置上で近くに配置されるように、前記時系列データの配置を決定するステップとを含む時空間データ管理方法。
【請求項９】
請求項８に記載の時空間データ管理方法であって、
前記識別子を割り当てるステップでは、前記プロセッサは、同じ時間帯で空間距離が近い順に識別子を割り当てることを特徴とする時空間データ管理システム。
【請求項１０】
請求項８又は９に記載の時空間データ管理方法であって、
前記プロセッサが、前記各時空間分割領域の境界の時系列データを、前記各時空間分割領域に対応付けるステップを含むことを特徴とする時空間データ管理方法。
【請求項１１】
請求項１０に記載の時空間データ管理方法であって、
前記プロセッサが、前記各時空間分割領域の境界の時系列データを線形補間によって生成するステップを含むことを特徴とする時空間データ管理方法。
【請求項１２】
請求項８又は９に記載の時空間データ管理方法であって、
前記時系列データは、前記時空間分割領域に少なくとも一つのデータを含むグリッド時系列データと、前記時空間分割領域に少なくとも一つの空間座標を含むポイント時系列データとを含み、
前記方法は、
前記プロセッサが、前記グリッド時系列データと前記ポイント時系列データとに、共通する又は関連付けられた識別子を割り当てるステップと、
前記プロセッサが、前記共通する又は関連付けられた識別子を特定することによって、前記グリッド時系列データと前記ポイント時系列データとを関連付けて検索するステップを含むことを特徴とする時空間データ管理方法。
【請求項１３】
請求項８又は９に記載の時空間データ管理方法であって、
前記プロセッサは、前記時空間データを、第１の判定ステップ及び第２の判定ステップによって検索し、
前記第１の判定ステップでは、前記プロセッサは、時間及び空間の検索条件に該当する時空間分割領域の識別子を算出し、前記算出された識別子に合致する時空間分割領域を結果候補として抽出し、
前記第２の判定ステップでは、前記プロセッサは、前記結果候補として抽出された時空間分割領域に対応付けられた時系列データと検索条件とを照合することによって、検索結果を生成することを特徴とする時空間データ管理方法。
【請求項１４】
請求項１３に記載の時空間データ管理方法であって、
前記時空間分割領域のデータは、当該時空間分割領域内の時系列データの最大値及び最小値を含み、
前記第１の判定ステップでは、前記プロセッサは、
前記時系列データの検索条件と、前記時系列データの最大値及び最小値との少なくとも一方とを比較し、
前記算出された識別子に合致し、かつ、前記時系列データの検索条件に合致する時空間分割領域を結果候補として抽出することを特徴とする時空間データ管理方法。
【請求項１５】
時空間領域に対応付けられる時系列データを管理する計算機システムを下記の手段として機能させるための時空間データ管理プログラムであって、
前記計算機システムは、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する記憶装置とを有し、
前記プログラムは、
前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成する手段と、
前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当てる手段と、
前記割り当てられた識別子が近い時空間分割領域のデータが前記記憶装置上で近くに配置されるように、前記時系列データの配置を決定する手段とを含む時空間データ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間と空間とに対応付けられる時空間におけるデータを管理する時空間データ管理システムに関し、特に、時間及び空間を条件とする検索処理を高速化するための技術に関する。
【背景技術】
【０００２】
時間及び空間によって変化するデータの中で、連続的に時間変化するデータには、下記のようなデータがある。
（１）グリッド時系列データ
グリッド時系列データは、四辺形（平面又は立体）グリッドで表現され、各グリッドに属性値が付与されるデータであり、グリッドに付与された属性値が時間によって変化する、例えば、気温、津波、洪水、ＣＯ２などの環境の分布の変化である。
（２）ポイント時系列データ
ポイント時系列データは、時刻及び座標値を含む時系列データで表現されるデータであり、座標値が時間によって変化する、例えば、人流、交通流、物流などの移動体の位置変化である。
【０００３】
グリッド時系列データ及びポイント時系列データは、シミュレータやセンサから得られるデータであり、件数が非常に多い大量データとなる。このような大量の時空間データについて、時間及び空間を条件に高速に検索する場合、時空間領域を分割して時空間分割領域を生成し、時空間分割領域と時空間データを関連付ける方法が提案されている。
【０００４】
例えば、特許文献１は、検索対象データに、二次元（又は三次元）の領域情報及び時刻情報（又は期間情報）からなる時空間立体情報を付加又は関連付けておき、検索キーである位置及び時刻情報を時空間において包含している時空間立体情報を有するデータを、検索結果として出力する技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−６２４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述したような連続的に時間変化する大量の時空間データを対象として、特許文献１に記載された技術を適用する場合、時間と空間を条件とする時空間検索処理の時間が長くなる。特に、以下の点が課題となる。
【０００７】
まず、時空間分割領域を表現する空間領域情報及び時間領域情報のデータサイズが大きいので、時空間データ検索処理で、実体データの取得に時間を必要とする。また、時空間データを高速に検索するための索引データのサイズが大きいので、時空間データ検索処理で、索引データの探索に時間が必要となる。
【０００８】
第２に、時間の近傍性及び空間の近傍性を考慮せずに、時空間データが物理的に格納されているので、時空間データ検索処理で、実体データの取得に時間が必要となる。
【０００９】
第３に、時空間データが連続的に時間変化することを考慮していないので、連続的な時間変化に対応するためには、検索時に補間処理を行う必要があり、補間処理に時間が必要となる。
【００１０】
第４に、時間と空間の条件に加え、属性で条件を指定することが考慮されていないので、属性条件を加えて検索すると、検索処理に時間が必要となる。
【００１１】
第５に、複数の時空間データの関係性（交差判定）を考慮していない。
【００１２】
本発明は、高速に検索を実行することができる時空間データ管理システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、時空間領域に対応付けられる時系列データを管理する時空間データ管理システムであって、プログラムを実行するプロセッサと、前記プログラムを格納するメモリと、前記時系列データを格納する記憶装置とを備え、前記プロセッサは、前記時空間領域を時間及び空間で分割して、複数の時空間分割領域を生成し、前記時空間分割領域の時間及び空間の近傍性を考慮して、前記複数の時空間分割領域の各々を一意に識別するための、一次元の整数値で表現される識別子を割り当て、前記割り当てられた識別子が近い時空間分割領域のデータが前記記憶装置上で近くに配置されるように、前記時系列データの配置を決定することを特徴とする。
【発明の効果】
【００１４】
本発明の代表的な実施の形態によれば、時空間データを高速に検索することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。
【図２】本発明の第１の実施例の時空間データの登録処理の概要を説明する図である。
【図３】本発明の第１の実施例の時空間データの登録処理のフローチャートである。
【図４】本発明の第１の実施例の登録用データ生成処理のフローチャートである。
【図５】本発明の第１の実施例の時空間ＩＤ計算処理のフローチャートである。
【図６Ａ】本発明の第１の実施例の登録前の時空間データ（グリッド時系列データ）の例を説明する図である。
【図６Ｂ】本発明の第１の実施例の登録前の時空間データ（グリッド時系列データ）の例を説明する図である。
【図６Ｃ】本発明の第１の実施例の登録前の時空間データ（グリッド時系列データ）の例を説明する図である。
【図６Ｄ】本発明の第１の実施例の登録前の時空間データ（グリッド時系列データ）の例を説明する図である。
【図７】本発明の第１の実施例の時空間管理データの例を説明する図である。
【図８Ａ】本発明の第１の実施例の時空間分割領域に付与された時空間ＩＤの例を説明する図である。
【図８Ｂ】本発明の第１の実施例の時空間分割領域に付与された時空間ＩＤの例を説明する図である。
【図８Ｃ】本発明の第１の実施例の時空間分割領域に付与された時空間ＩＤの例を説明する図である。
【図９】本発明の第１の実施例のグリッド時系列データが登録された時空間データの構成例を説明する図である。
【図１０】本発明の第１の実施例のグリッド時系列データの物理的な配置を説明する図である。
【図１１】本発明の第１の実施例のグリッド時系列データの検索の概要を説明する図である。
【図１２】本発明の第１の実施例の時空間データ検索処理のフローチャートである。
【図１３】本発明の第１の実施例のクエリ文作成処理のフローチャートである。
【図１４】本発明の第１の実施例において、時間条件に「時刻」を指定した場合の、グリッド時系列データの時空間範囲検索の例を説明する図である。
【図１５】本発明の第１の実施例において、時間条件に「期間」を指定した場合の、グリッド時系列データの時空間範囲検索の例を説明する図である。
【図１６】本発明の第１の実施例において、属性条件を指定した場合の、グリッド時系列データの時空間範囲検索の例を説明する図である。
【図１７Ａ】本発明の第２の実施例の時空間管理システムに登録される前の時空間データ（ポイント時系列データ）の例を説明する図である。
【図１７Ｂ】本発明の第２の実施例の時空間管理システムに登録される前の時空間データ（ポイント時系列データ）の例を説明する図である。
【図１８】本発明の第２の実施例の時空間データの登録処理の概要を説明する図である。
【図１９】本発明の第２の実施例の時空間管理データの例を説明する図である。
【図２０】本発明の第２の実施例のポイント時系列データが登録された時空間データの構成例を説明する図である。
【図２１】本発明の第２の実施例のポイント時系列データの物理的な配置を説明する図である。
【図２２】本発明の第２の実施例のポイント時系列データの検索の概要を説明する図である。
【図２３】本発明の第２の実施例において、時間条件に「時刻」を指定した場合の、ポイント時系列データの時空間範囲検索の例を説明する図である。
【図２４】本発明の第２の実施例において、時間条件に「期間」を指定した場合の、グリッド時系列データの時空間範囲検索の例を説明する図である。
【図２５Ａ】本発明の第３の実施例の異なる種類の時空間データの交差判定の概要を説明する図である。
【図２５Ｂ】本発明の第３の実施例の異なる種類の時空間データの交差判定の概要を説明する図である。
【図２６Ａ】本発明の第３の実施例において、異なる種類の時空間データの時空間領域の分割粒度が同じ場合の、交差判定の例を説明する図である。
【図２６Ｂ】本発明の第３の実施例において、異なる種類の時空間データの時空間領域の分割粒度が同じ場合の、交差判定の例を説明する図である。
【図２７Ａ】本発明の第３の実施例の時空間管理データの例を説明する図である。
【図２７Ｂ】本発明の第３の実施例の本発明の第３の実施例の時空間分割領域に付与された時空間ＩＤの例を説明する図である。
【図２７Ｃ】本発明の第３の実施例のポイント時系列データが登録された時空間データの構成例を説明する図である。
【図２８Ａ】本発明の第３の実施例において、異なる種類の時空間データの時空間領域の分割粒度が異なる場合の、交差判定の例を説明する図である。
【図２８Ｂ】本発明の第３の実施例において、異なる種類の時空間データの時空間領域の分割粒度が異なる場合の、交差判定の例を説明する図である。
【発明を実施するための形態】
【００１６】
＜実施例１＞
図１は、本発明の第１の実施例の時空間データ管理システムのハードウェア構成を示すブロック図である。
【００１７】
本実施例の時空間データ管理システムは、中央処理装置１００、二次記憶装置１１０、主記憶装置１２０、入力装置１３０及び出力装置１４０を有し、中央処理装置１００、二次記憶装置１１０、主記憶装置１２０、入力装置１３０及び出力装置１４０がバス１５０で接続された計算機である。
【００１８】
中央処理装置１００は、主記憶装置１２０に格納されたプログラムを実行するプロセッサである。
【００１９】
二次記憶装置１１０は、例えば、磁気記憶装置、フラッシュメモリ等の大容量かつ不揮発性の記憶装置であり、プログラム実行時に中央処理装置１００によって使用されるデータを格納する。具体的には、二次記憶装置１１０は、時空間管理データ１１１、時空間データ１１２及び時空間索引データ１１３を格納する。
【００２０】
時空間管理データ１１１は、時空間データ１１２を管理するためのデータであって、その詳細は図７に示す。
【００２１】
時空間データ１１２は、図９に示すように、時空間ＩＤ及び時系列データを含み、例えば、表形式の時空間テーブルによって構成される。時空間テーブルは、必要に応じて属性値の最小値及び属性値の最大値を含んでもよい。時空間データ１１２は、時空間データのスキーマも含む。時空間データのスキーマは、図３に示すように、列名及びデータ型を含む。
【００２２】
時空間索引データ１１３は、時空間ＩＤをキーとして時空間データ（レコード番号やレコードの格納アドレス）を検索するための索引で、例えば、Ｂ−Ｔｒｅｅインデックスを用いることができる。
【００２３】
主記憶装置１２０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶装置であり、オペレーティングシステム（ＯＳ）及びアプリケーションプログラムを格納する。中央処理装置１００が、オペレーティングシステムを実行することによって、計算機の基本機能が実現され、アプリケーションプログラムを実行することによって、計算機が提供する機能が実現される。
【００２４】
具体的には、主記憶装置１２０は、時空間データ管理部１２１、時空間管理データ作成部１２２、時空間データ登録部１２３、時空間データ検索部１２４、時空間索引データ作成部１２５及び時空間索引データ検索部１２６を実装するためのプログラムを格納する。
【００２５】
時空間データ管理部１２１は、時空間データ１１２を管理する（例えば、データベースマネジメントシステムである）。時空間管理データ作成部１２２は、入力された時空間管理データから時空間管理データ１１１を作成する。時空間データ登録部１２３は、入力された時空間データから時空間データ１１２を作成する。
【００２６】
時空間データ検索部１２４は、時空間データ１１２を参照して、検索処理（概略判定、詳細判定）を実行する。時空間索引データ作成部１２５は、登録用の時空間データから索引データを生成し、時空間索引データ１１３に登録する。時空間索引データ検索部１２６は、時空間索引データ１１３を参照して、検索処理（概略判定）を実行する。
【００２７】
なお、二次記憶装置１１０が、中央処理装置１００によって実行されるプログラムを格納してもよい。この場合、プログラムは、二次記憶装置１１０から読み出され、主記憶装置１２０にロードされて、中央処理装置１００によって実行される。
【００２８】
入力装置１３０は、キーボード、マウスなどのユーザインターフェースである。出力装置１４０は、ディスプレイ装置、プリンタなどのユーザインターフェースである。
【００２９】
なお、時空間データ管理システムが、ネットワークに接続し、他の装置との通信を制御する通信インターフェースを有してもよい。この場合、時空間データ管理システムが通信インターフェースを介して端末と接続されており、該端末が入力装置１３０及び出力装置１４０を有し、時空間データ管理システムは、端末からの要求に従って時空間データを処理し、処理結果を端末に出力する。
【００３０】
時空間データ管理システムは、物理的に一つの計算機上に構築されても、物理的には一つ又は複数の計算機上に構成された論理区画上に構築されてもよい。
【００３１】
なお、中央処理装置１００によって実行されるプログラムは、不揮発性の記憶媒体又はネットワークを介して計算機に提供される。このため、計算機は、記憶媒体（ＣＤ−ＲＯＭ、フラッシュメモリ等）を読み込むインターフェースを備えるとよい。
【００３２】
＜グリッド時系列データの登録処理＞
図２は、本発明の第１の実施例の時空間データの登録処理の概要を説明する図である。
【００３３】
本実施例の時空間データは、空間的にグリッドで分割され、各時空間分割領域に時系列データが含まれるグリッド時系列データである。
【００３４】
まず、図２（ａ）に示すように、時空間データの登録前に、ユーザが入力した時空間管理データ１１１に従って時空間領域が分割され、時空間分割領域が定まる。各時空間分割領域が時系列データと対応付けられる。なお、図２（ｂ）に示すように、グリッド時系列データは、一つの時空間分割領域に複数の属性値（ａ１〜ａ４）を含んでもよい。この複数の属性値は、一つの時空間分割領域に含まれる複数の属性値や、時空間分割領域の境界上にデータがない場合、近隣のデータを用いた補間によって、時空間分割領域の境界に登録されたデータである。
【００３５】
その後、各時空間データの時空間ＩＤを計算し、図２（ｃ）に示すように、時空間分割領域（時系列データ）を時空間ＩＤと対応付ける。時空間ＩＤは、時空間分割領域を一意に識別するための識別子である。時空間ＩＤを一次元の整数値で表現し、各時空間分割領域を時空間ＩＤと対応付けることによって、各時空間分割領域を一意の整数値で表現することができる。さらに、時空間ＩＤと対応付けられた時空間分割領域の索引（時空間索引データ）１１３を生成する。
【００３６】
一つの時空間分割領域の時空間データは、図２（ｄ）に示すように、時空間ＩＤ、時系列データ（時刻、属性値）、属性値の最小値及び属性値の最大値を含む。時系列データはバイナリで表現することによって、時系列データに必要な容量を削減することができる。また、グリッド時系列データの時刻と属性値を相対値で表現することによって、時系列データを少ないバイト数で表現することもできる。さらに、時系列データで同じ属性値が連続して続けば、その間のデータを間引く同値圧縮によって、データサイズを削減してもよい。  その後、時空間で関連が高いデータを物理的近くに配置する。例えば、古い時間帯から順に配置し、同じ時間帯であれば、空間をＺオーダで辿る順番で配置する。なお、Ｚオーダは、空間平面を空間的に距離の近い順に辿る空間充填曲線の一手法であり、ヒルベルト曲線など他の空間充填曲線を利用してもよい。その結果、図２（ｅ）に示すように、時間帯がｔ１であるｘｙ面上の各時空間分割領域の時空間ＩＤが付与される。
【００３７】
空間が３次元の場合、空間の表現方法に応じて、配置方法を選択する必要がある。例えば、建物のような屋内空間を対象とする場合、各フロアごとに２次元空間とする２．５次元で管理する場合が考えられる。この場合は、古い時間帯から順に配置し、同じ時間帯であれば、高さのレベルの順に配置し、同じレベルの高さであれば、該当する空間平面をＺオーダで辿った順に配置する方法が有用である。一方で、大気中の物質移動などを対象とする場合、空間を３次元で扱うことが求められる。この場合は、古い時間帯から順に配置し、３次元空間をＺオーダで辿った順に配置する方法が有用である。
【００３８】
図３は、本発明の第１の実施例の時空間データの登録処理のフローチャートである。
【００３９】
まず、時空間データ登録部１２３は、時空間スキーマを参照し、時空間データ（時空間テーブル）１１２を作成する（Ｓ１０１）。なお、ステップＳ１０１で生成される時空間テーブルはデータが未だ登録されていない。
【００４０】
また、時空間管理データ作成部１２２は、入力された時空間管理データを用いて、時空間管理データ（時空間管理テーブル）１１１を作成する（Ｓ１０２）。時空間管理データの作成に用いられる時空間管理データは、所定の形式（例えば、ＣＳＶ形式）のファイルとして入力される。
【００４１】
さらに、時空間データ登録部１２３は、入力された時空間データを読み込み（Ｓ１０３）、登録前データとする（Ｓ１０３）。その後、時空間データ登録部１２３は、登録前データを用いて、登録用データを生成する（Ｓ１０４）。具体的には、登録されるデータの時空間ＩＤを計算し、データを圧縮し、必要な（例えば、時空間分割領域の境界の）データを補間し、計算された時空間ＩＤに従ってデータを並び替える。この登録用データ生成処理は、図４を用いて詳細に説明する。
【００４２】
その後、時空間データ登録部１２３は、生成された登録用データを時空間データ１１２に登録する。また、時空間索引データ作成部１２５は、生成された登録用データから時空間索引データ１１３を作成する。  図４は、本発明の第１の実施例の登録用データ生成処理（Ｓ１０４）のフローチャートであり、図３のステップＳ１０４の処理を示す。
【００４３】
本実施例の時空間データは、空間的にグリッドで分割され、各時空間分割領域に時系列データが含まれるグリッド時系列データである。
【００４４】
まず、時空間データ登録部１２３は、読み込んだ登録前データの中に、未処理データが含まれるかを判定する（Ｓ１１１）。
【００４５】
その結果、未処理データが含まれていなければ、全てのデータが処理済みなので、ステップＳ１１５に進む。一方、未処理データが含まれていれば、未処理データを一つ取得し（Ｓ１１２）、時空間ＩＤを計算し（Ｓ１１３）、計算された時空間ＩＤをデータに関連付ける（Ｓ１１４）。時空間ＩＤ計算処理は、図５を用いて詳細に説明する。このように、各時空間データの時空間ＩＤを計算し、各時空間分割領域（時空間データ）を時空間ＩＤと対応付けることによって、各時空間分割領域を一意の整数値で表現することができる。
【００４６】
ステップＳ１１５では、処理済みのデータを時空間ＩＤごとにまとめ、時系列データを生成する。そして、必要に応じて、時系列データの時空間ＩＤに対応する時空間分割領域の境界線上に補間データを挿入する（Ｓ１１６）。また、時系列データで同じ属性値が連続して続けば、その間のデータを間引く同値圧縮によって、データサイズを削減するとよい。
【００４７】
その後、時系列データをバイナリ化し（Ｓ１１７）、時空間ＩＤの昇順に時系列データをソートする（Ｓ１１８）。このとき、時空間で関連が高いデータを物理的近くに配置するようにソートする。ここでは、古い時間帯から順に配置し、同じ時間帯であれば、空間をＺオーダで辿る順番で配置する。つまり、（１）時間帯が古い時空間分割領域には小さな値の時空間ＩＤを割り当て、（２）同じ時間帯では、空間距離が近い時空間分割領域には近い値の時空間ＩＤを割り当て、時空間ＩＤの順にデータを登録する。
【００４８】
Ｚオーダの特性として、空間の各軸に平行な二次元の四角形領域を指定すると、その領域の左下（ｘ座標とｙ座標が最小）のＺ値は右上（ｘ座標とｙ座標が最大）のＺ値より必ず大きくなる。このため、空間領域を一次元の整数値の範囲に容易に変換できる。また、Ｚ値は、２進数と１０進数との間の変換及びビットの並び替えによって計算可能で、Ｚ値を容易に計算することができる。
【００４９】
図５は、本発明の第１の実施例の時空間ＩＤ計算処理（Ｓ１１３）のフローチャートであり、図４のステップＳ１１４の処理を示す。
【００５０】
まず、時空間データ登録部１２３は、登録前データに含まれる時刻ｔ、座標（ｘ，ｙ）を取得する（Ｓ１２１）。その後、この登録前データの時間軸の分割番号ｔｉｄを計算する（Ｓ１２２）。分割番号ｔｉｄは、この登録前データが時間軸方向で原点（開始時刻）から何番目の時空間分割領域に含まれるかを示す。
【００５１】
さらに、この登録前データのｘ軸の分割番号ｘｉｄを計算する（Ｓ１２３）。分割番号ｘｉｄは、この登録前データがｘ軸方向で原点（ｘ軸上の最小値）から何番目の時空間分割領域に含まれるかを示す。さらに、この登録前データのｙ軸の分割番号ｙｉｄを計算する（Ｓ１２４）。分割番号ｙｉｄは、この登録前データがｙ軸方向で原点（ｙ軸上の最小値）から何番目の時空間分割領域に含まれるかを示す。
【００５２】
ステップＳ１２１〜Ｓ１２３において、ＴＭＩＮは時間軸上の開始時刻であり、ｔｗは時間軸上の分割幅である。また、ＸＭＩＮはｘ軸上の最小値であり、ｘｗはｘ軸上の分割幅である。また、ＹＭＩＮはｙ軸上の最小値であり、ｙｗはｙ軸上の分割幅である。
【００５３】
次に、ｔｉｄを指定ビット数Ｎｂｔで、２進数［ｔｉｄ］2で表現し（Ｓ１２５）、ｘｉｄを指定ビット数Ｎｂｘで、２進数［ｘｉｄ］2で表現し（Ｓ１２６）、ｙｉｄを指定ビット数Ｎｂｙで、２進数［ｙｉｄ］2で表現する（Ｓ１２７）。なお、［  ］nはｎ進数で表示された整数値を表す。
【００５４】
その後、Ｎｂビットの時空間ＩＤを、上位Ｎｂｔビットと、下位（Ｎｂ−Ｎｂｔ）ビットとに分け、上位ビットには［ｔｉｄ］2を、下位ビットには［ｙｉｄ］2と［ｘｉｄ］2を上位ビットから順に並べた［ｓｔｉｄ］2を生成する（Ｓ１２８）。
【００５５】
最後に、［ｓｔｉｄ］2を１０進数に変換して、ｓｔｉｄを算出する（Ｓ１２９）。
【００５６】
図６Ａから図６Ｄは、本発明の第１の実施例の登録前の時空間データ（グリッド時系列データ）の例を説明する図である。
【００５７】
図６Ａから図６Ｄは、二次元空間のグリッド時系列データを例示する。空間範囲は左下座標（０，０）から右上座標（１００，１００）の範囲とした。また、グリッド時系列データの開始時刻はｔ＝０とし、時間間隔が１５０で、ｔ＝１５０、ｔ＝３００の場合を例示した。また、説明を簡単にするため、時刻及び座標値を簡単な整数値で表現する。実際には、例えば、時刻は年月日時分秒又はＵＮＩＸ時刻（ＵＮＩＸは登録商標、以下同じ）などで表現され、座標値は緯度経度座標又は平面直交座標系などで表現される。
【００５８】
時空間データ（グリッド時系列データ）は、図６Ａに示すように、時刻、空間（座標値）及び属性値を含む。図６Ａに示すテーブルの「空間」列は、時空間分割領域の空間範囲を示し、その空間範囲の左下座標、右上座標が記載される。
【００５９】
図６Ｂ、図６Ｃ、図６Ｄは、各々、時刻がｔ＝０、ｔ＝１５０、ｔ＝３００の場合のｘｙ面上の各時空間分割領域の属性値を示す。なお、図６Ａから図６Ｄに示す例では、一つの時空間分割領域に一つの属性値が含まれる。
【００６０】
図示した例では、グリッド時系列データは、１辺２５の正方形に属性値が関連付けられており、左下四つの時空間分割領域に対する属性値を具体的に図示し、それ以外の時空間分割領域の属性値の記載は省略した。
【００６１】
図７は、本発明の第１の実施例の時空間管理データ１１１の例を説明する図である。
【００６２】
グリッド時系列データの時空間管理データ１１１は、データ名、管理パラメータ及び値を含む。
【００６３】
データ名は、時空間管理データ１１１に登録された管理パラメータが対象とするデータの種別を表し、例えば、「グリッド時系列データ」、「ポイント時系列データ」（図１９参照）がある。
【００６４】
管理パラメータのうち、「時空間ＩＤビット数」は、何ビットの整数値で時空間ＩＤを表現するかを定義する。また、「空間次元」は、二次元のｘｙ平面であれば「２」、三次元のｘｙｚ空間であれば「３」である。
【００６５】
時空間管理データ１１１から、時空間ＩＤの空間ビット数（空間の各軸の分割数を表すために必要な最小のビット数）及び時間ビット数を求めることができる。
【００６６】
図７に示す時空間管理データ１１１の例では、ｘ軸方向に４分割なのでｘ軸で２ビット、ｙ軸方向に４分割なのでｙ軸で２ビット、空間ビット数は合計４ビットである。時間ビット数は、時空間ＩＤビット数から空間ビット数を減じた値で、図７に示す時空間管理データ１１１の例では、４ビットである。
【００６７】
図８Ａから図８Ｃは、本発明の第１の実施例の時空間分割領域に付与された時空間ＩＤの例を説明する図であり、図７に示す時空間管理データ１１１を適用した時空間分割領域の時空間ＩＤを示す。
【００６８】
図８Ａに示すように、時刻ｔ＝０から１００の時空間分割領域には０から１５までの時空間ＩＤが付与される。時空間ＩＤは、前述したように、Ｚオーダを用いて付与される。同様に、時刻ｔ＝１００から２００の時空間分割領域には１６から３１までの時空間ＩＤが付与され（図８Ｂ参照）、時刻ｔ＝２００から３００の時空間分割領域には３２から４７までの時空間ＩＤが付与される（図８Ｃ参照）。
【００６９】
図９は、本発明の第１の実施例のグリッド時系列データが登録された時空間データ１１２の構成例を説明する図である。
【００７０】
図９に示す時空間データ１１２は、図６Ａに示す時空間データ（グリッド時系列データ）に、図７に示す時空間管理データ１１１の定義を適用することによって生成される。
【００７１】
図９に示すように、時空間ＩＤ及び時系列データ（時刻、属性値）を含み、例えば、表形式の時空間テーブルによって構成される。
【００７２】
時空間テーブルは、必要に応じて属性値の最小値及び最大値を含んでもよい。「属性値ＭＩＮ」は、該当レコードの時系列データの属性値の最小値であり、「属性値ＭＡＸ」は、該当レコードの時系列データの属性値の最大値である。「属性値ＭＩＮ」及び「属性値ＭＡＸ」は、属性値の条件を含む時空間検索で利用する。
【００７３】
本実施例では、時空間検索時に利用するため、時空間分割領域の境界にデータを登録する。本例では、時間単位分割幅が１００なので、時刻ｔ＝１００及びｔ＝２００の属性値を、実データから補間して登録する。この補間には、線形補間を利用することができる。
【００７４】
図１０は、本発明の第１の実施例のグリッド時系列データの物理的な配置を説明する図である。
【００７５】
図１０において、四角内の数値は時空間ＩＤを示し、各四角は時系列データ、属性値ＭＩＮ及び属性値ＭＡＸを含む時空間データのレコードである。時空間データは、時空間ＩＤの順に二次記憶装置上に配置される。
【００７６】
前述したように、同じ時間帯なら空間距離が近い順（時空間ＩＤの順）にディスク上にデータを配置し、さらに、時間帯順にデータを配置している。
【００７７】
本実施例の時空間データ管理システムでは、ある時間及び空間の幅を持った場を条件として検索することが多いので、空間距離が近いデータは一緒にアクセスされることが多い。このため、このような空間距離が近いデータをディスク上で近くに配置することによって、検索時のＩ／Ｏ処理を減らし、高速に検索することができる。
【００７８】
＜グリッド時系列データの検索処理＞
次に、グリッド時系列データの検索処理について説明する。
【００７９】
図１１は、本発明の第１の実施例のグリッド時系列データの検索の概要を説明する図である。
【００８０】
第１の実施例のグリッド時系列データの検索は、（１）概略判定と、（２）詳細判定との２段階で検索を実行する。
【００８１】
概略判定では、時空間ＩＤを用いて、検索条件に合致する時空間分割領域を抽出する。また、属性値の条件が指定されていれば、属性値ＭＩＮ及び属性値ＭＡＸを用いて、検索条件に合致する時空間分割領域を絞り込む。その後、詳細判定では、概略判定で抽出された時空間分割領域の時系列データを参照して、検索条件と一致する時系列データを抽出する。なお、詳細判定では、時系列データを補間して、検索条件（時間条件、空間条件、属性条件）と一致するかを判定する。
【００８２】
図１２は、本発明の第１の実施例の時空間データ検索処理のフローチャートである。
【００８３】
まず、時空間データ検索条件が入力されると、時空間データ検索部１２４は、検索のためのクエリ文を作成する（Ｓ２０１）。クエリ文作成処理では、時空間管理テーブル１１１が参照され、検索条件と一致する時空間分割領域の時空間ＩＤが特定され、特定された時空間ＩＤを含むクエリ文が作成される。クエリ文作成処理は、図１３を用いて詳細に説明する。
【００８４】
時空間データ検索条件は、時間条件（時刻又は期間）及び空間条件（ポリゴン）を含む。空間範囲は一般にポリゴンで指定されるが、以下の説明では簡単化のため、矩形の場合で説明する。なお、空間条件が矩形以外のポリゴンの場合は、例えば、ポリゴンを内包する外接矩形で検索を行い、その結果がポリゴンに含まれるか否か判定し、検索結果を求めればよい。この方法は、後述するポイント時系列データを対象とする場合でも同じである。時空間データ検索条件は、属性値の条件を含んでもよい。属性値の条件は、数値データ（判定閾値）と条件（等号、不等号など）との組み合わせを含む。
【００８５】
次に、時空間索引データ検索部１２６は、概略判定を実行する（Ｓ２０２）。具体的には、時空間索引データ１１３を参照して、クエリ文に含まれる時空間ＩＤの条件と一致する時空間ＩＤのデータを特定する。その後、時空間データ検索部１２４は、時空間索引データ検索部１２６が特定した時空間ＩＤのデータを時空間データ１１２から取得する。なお、時空間データ検索条件が属性値の条件を含む場合、時空間データの属性値ＭＩＮ及び属性値ＭＡＸを参照し、時空間データが属性値の条件を満たすかが判定される。そして、概略判定（Ｓ２０２）によって、結果候補が決定される。
【００８６】
次に、時空間データ検索部１２４は、概略判定の結果を用いて、詳細判定を実行する（Ｓ２０３）。具体的には、結果候補の時空間分割領域のデータを参照して、各時空間分割領域の時系列データが時間条件、空間条件及び属性条件を満たすかを判定する。なお、検索条件に該当する時系列データがない場合、当該時空間分割領域内の時系列データを用いた補間によって、検索条件（時間及び空間）に該当する属性値を生成する。そして、詳細判定（Ｓ２０３）によって、検索条件に一致する結果を抽出する。
【００８７】
図１３は、本発明の第１の実施例のクエリ文作成処理のフローチャートである。
【００８８】
まず、時空間データ検索部１２４は、時間条件の時刻において、空間条件の矩形の左下座標の時空間ＩＤ（ｓｔｉｄ１）を算出し（Ｓ２１１）、空間条件の矩形の右上座標の時空間ＩＤ（ｓｔｉｄ２）を算出する（Ｓ２１２）。ステップＳ２１１及びステップＳ２１２における時空間ＩＤの算出には、前述した時空間ＩＤ計算処理（図５）を用いることができる。なお、時間条件として期間が指定されている場合、ステップＳ２１１では、指定された期間内の最小時刻における時空間ＩＤ（ｓｔｉｄ１）を算出し、ステップＳ２１２では、指定された期間内の最大時刻における時空間ＩＤ（ｓｔｉｄ２）を算出する。
【００８９】
次に、時空間データ検索部１２４は、時空間ＩＤがｓｔｉｄ１以上かつｓｔｉｄ２以下である時空間分割領域が、時間条件及び空間条件を満たすかを判定し、時間条件及び空間条件を満たさない整数値を除外し、これらの条件を満たす整数値のみを残す（Ｓ２１３）。
【００９０】
さらに、時空間データ検索部１２４は、残った整数値の中で連続した区間は範囲として表現し（Ｓ２１４）、生成された１以上の範囲によってクエリ文の一次元の検索範囲を表現する（Ｓ２１５）。
【００９１】
図１４は、時間条件に「時刻」を指定した場合の、グリッド時系列データの時空間範囲検索の例を説明する図である。
【００９２】
図１４に示す例において、検索条件は、時間条件がｔ＝５０であり、空間条件が（ｘ，ｙ）＝（０，０）から（５０，５０）である。また、検索結果は、グリッド空間範囲及び時系列データの組によって構成される。
【００９３】
まず、概略判定では、検索条件を時空間ＩＤの検索範囲に変換する。この変換は、検索条件となる時刻及び空間範囲を用いて、時空間管理データ（図７）を参照することによって計算することができる（図５で説明した方法を用いる）。本図に示す例では、概略判定によって、破線で示す時空間分割領域が結果候補となり、０≦時空間ＩＤ≦３のレコードを結果候補として時空間データ１１２から取得する。
【００９４】
次に、詳細判定では、各時空間分割領域の時系列データを参照して、概略判定によって抽出された結果候補が検索条件を満たすかを判定する。本図に示す例では、概略判定で抽出された全てのレコードが条件を満たすため、全ての結果候補が最終結果に残る。
【００９５】
本図に示す例では、時刻ｔ＝５０のときの属性値を求めるが、時刻ｔ＝５０のデータが「時系列データ」に含まれないため、補間を行う。つまり、時刻ｔ＝５０の前後の属性値から線形補間を行う。例えば、時空間ＩＤが０のレコードであれば、（０，０）の時系列データと（１００，２）の時系列データとを用いて線形補間を行い、時系列データ（５０，１）を計算する。
【００９６】
検索結果のグリッド空間範囲は、グリッドの空間範囲の左下座標と右上座標であり、時系列データは、時刻及び属性値を要素とするリスト形式である。本図に示す例では、時間条件が時刻であるため、各時空間分割領域の時系列データは、一つの要素のみを含む。
【００９７】
図１５は、時間条件に「期間」を指定した場合の、グリッド時系列データの時空間範囲検索の例を説明する図である。
【００９８】
図１５に示す例において、検索条件は、時間条件がｔ＝５０から１５０であり、空間条件が（ｘ，ｙ）＝（０，０）から（５０，５０）である。また、検索結果は、グリッド空間範囲及び時系列データの組によって構成される。
【００９９】
まず、概略判定では、検索条件を時空間ＩＤの検索範囲に変換する。この変換は、検索条件となる期間（開始時刻及び終了時刻）及び空間範囲を用いて、時空間管理データ（図７）を参照することによって計算することができる（図５で説明した方法を用いる）。本図に示す例では、概略判定によって、０≦時空間ＩＤ≦３又は１６≦時空間ＩＤ≦１９の時空間分割領域が結果候補となり、時空間データ１１２から結果候補のレコードを取得する。
【０１００】
次に、詳細判定では、各時空間分割領域の時系列データを参照して、概略判定によって抽出された結果候補が検索条件を満たすかを判定する。本図に示す例では、概略判定で抽出された全てのレコードが条件を満たすため、全ての結果候補が最終結果に残る。
【０１０１】
本図に示す例では、時刻ｔ＝５０及びｔ＝１５０のときの属性値を求めるが、時刻ｔ＝５０のデータが「時系列データ」に含まれないため、補間を行う。つまり、時刻ｔ＝５０の前後の属性値から線形補間を行う。例えば、時空間ＩＤが０のレコードであれば、（０，０）の時系列データと（１００，２）の時系列データとを用いて線形補間を行い、時系列データ（５０，１）を計算する。
【０１０２】
検索結果のグリッド空間範囲は、グリッドの空間範囲の左下座標と右上座標であり、時系列データは、時刻及び属性値を要素とするリスト形式である。本図に示す例では、時間条件が期間であるため、各時空間分割領域の時系列データは、開始時刻及び終了時刻に該当する属性値と、概略判定で取得したレコードの時系列データ（開始時刻から終了時刻の間の時刻ｔ＝１００の属性値）を含む。
【０１０３】
図１６は、属性条件を指定した場合の、グリッド時系列データの時空間範囲検索の例を説明する図である。
【０１０４】
図１６に示す例において、検索条件は、時間条件がｔ＝５０であり、空間条件が（ｘ，ｙ）＝（０，０）から（５０，５０）であり、属性条件が属性値≦１である。また、検索結果は、グリッド空間範囲及び時系列データの組によって構成される。
【０１０５】
まず、概略判定では、検索条件を時空間ＩＤの検索範囲に変換する。この変換は、検索条件となる時刻及び空間範囲を用いて、時空間管理データ１１１（図７）を参照することによって計算することができる（図５で説明した方法を用いる）。本図に示す例では、概略判定によって、０≦時空間ＩＤ≦３かつ属性値ＭＡＸ≦１の時空間分割領域が結果候補となり、時空間データ１１２から結果候補のレコードを取得する。なお、概略判定で、属性値ＭＡＸ≦１のレコードを選択するのは、属性値の最大値が１以下であれば、その時空間分割領域に含まれる時空間データの属性値が１以下である可能性があるからである。
【０１０６】
次に、詳細判定では、各時空間分割領域の時系列データを参照して、概略判定によって抽出された結果候補が検索条件を満たすかを判定する。本図に示す例では、概略判定で抽出された全てのレコードが条件を満たすため、全ての結果候補が最終結果に残る。
【０１０７】
本図に示す例では、時刻ｔ＝５０のときの属性値を求めるが、時刻ｔ＝５０のデータが「時系列データ」に含まれないため、補間を行う。つまり、時刻ｔ＝５０の前後の属性値から線形補間を行う。例えば、時空間ＩＤが０のレコードであれば、（０，０）の時系列データと（１００，２）の時系列データとを用いて線形補間を行い、時系列データ（５０，１）を計算する。
【０１０８】
検索結果のグリッド空間範囲は、グリッドの空間範囲の左下座標と右上座標であり、時系列データは、時刻及び属性値を要素とするリスト形式である。本図に示す例では、時間条件が時刻であるため、各時空間分割領域の時系列データは、一つの要素のみを含む。
【０１０９】
＜実施例２＞
次に、本発明の第２の実施例について説明する。本発明の第２の実施例では、ポイント時系列データを取り扱うことができる時空間データ管理システムについて説明する。
【０１１０】
図１７Ａ及び図１７Ｂは、本発明の第２の実施例の時空間管理システムに登録される前の時空間データ（ポイント時系列データ）の例を説明する図である。
【０１１１】
図１７Ａ及び図１７Ｂは、二次元空間のグリッド時系列データを例示する。空間範囲は左下座標（０，０）から右上座標（１００，１００）の範囲とした。また、グリッド時系列データの開始時刻はｔ＝０とし、期間が１５０の間隔で、ｔ＝１５０、ｔ＝３００の場合を例示した。また、説明を簡単にするため、時刻及び座標値を簡単な整数値で表現する。実際には、例えば、時刻は年月日時分秒又はＵＮＩＸ時刻などで表現され、座標値は緯度経度座標又は平面直角座標系などで表現される。
【０１１２】
時空間データ（ポイント時系列データ）は、図１７Ａに示すように、時刻、空間（座標値）及びオブジェクトＩＤを含む。図１７Ａに示すテーブルの「空間」列は、オブジェクトが存在した位置の座標値が記載される。オブジェクトＩＤは、オブジェクトを一意に識別するための識別子である。
【０１１３】
図１７Ｂは、時刻がｔ＝０、ｔ＝１５０、ｔ＝３００における、オブジェクトＩＤが１及び２である移動体の位置（座標）をｘｙ面（時空間分割領域）上に示す。
【０１１４】
図１８は、本発明の第２の実施例の時空間データの登録処理の概要を説明する図である。
【０１１５】
本実施例の時空間データは、空間的にグリッドで区分され、各区分内に時系列データ（時刻、座標、属性値）が含まれるポイント時系列データである。
【０１１６】
まず、図１８（ａ）に示すように、時空間データの登録前に、ユーザが入力した時空間管理データ１１１に従って時空間が分割され、時空間分割領域が定まる。各時空間分割領域は時系列データと対応付けられる。なお、図１８（ｂ）に示すように、ポイント時系列データは、一つの時空間分割領域に複数の時系列データを含んでもよい。この複数の属性値は、一つの時空間分割領域に含まれる複数の軌跡上の位置や、時空間分割領域の境界上にデータがない場合、近隣のデータを用いた補間によって、時空間分割領域の境界に登録されたデータである。
【０１１７】
その後、各時空間データの時空間ＩＤを計算し、図１８（ｃ）に示すように、時空間分割領域（オブジェクトＩＤ及び時系列データ）を時空間ＩＤに対応付ける。時空間ＩＤを一次元の整数値で表現し、各時空間分割領域を時空間ＩＤと対応付けることによって、各時空間分割領域を一意の整数値で表現することができる。さらに、時空間ＩＤと対応付けられた時空間分割領域の索引（時空間索引データ）１１３を生成する。
【０１１８】
一つの時空間分割領域の時空間データは、図１８（ｄ）に示すように、時空間ＩＤ、オブジェクトＩＤ、時系列データ（時刻、座標値、属性値）、属性値の最小値及び属性値の最大値を含む。ポイント時系列データの時系列データの時刻、座標値及び属性値を相対値で表現することによって、時系列データを少ないバイト数で表現することもできる。また、時系列データで同じ座標値と属性値が連続して続けば、その間のデータを間引く同値圧縮によって、データサイズを削減するとよい。
【０１１９】
その後、関連が高いデータを物理的近くに配置するようにソートする。例えば、古い時間帯から順に配置し、同じ時間帯であれば、空間をＺオーダで辿る順番で配置する。その結果、図１８（ｅ）に示すように、時間帯がｔ１であるｘｙ面上の各時空間分割領域の時空間ＩＤが付与される。
【０１２０】
図１９は、本発明の第２の実施例の時空間管理データ１１１の例を説明する図である。
【０１２１】
ポイント時系列データの時空間管理データ１１１は、データ名、管理パラメータ及び値を含む。第２の実施例の時空間管理データ１１１は、前述した第１の実施例の時空間管理データ１１１（図７）と、データ名が「ポイント時系列データ」である点が異なり、他の点は前述した第１の実施例の時空間管理データ１１１と同じである。このため、その詳細な説明は省略する。
【０１２２】
図２０は、本発明の第２の実施例のポイント時系列データが登録された時空間データ１１２の構成例を説明する図である。
【０１２３】
図２０に示す時空間データ１１２は、図１７Ａに示す時空間データ（ポイント時系列データ）に、図１９に示す時空間管理データ１１１の定義を適用することによって生成される。
【０１２４】
図２０に示すように、時空間データ（ポイント時系列データ）１１２は、時空間ＩＤ、オブジェクトＩＤ及び時系列データ（時刻、座標）を含み、例えば、表形式の時空間テーブルによって構成される。なお、時系列データは、時刻、座標の他に、属性値を含んでもよい。この場合、時空間テーブルは、属性値の最小値及び最大値（属性値ＭＩＮ及び属性値ＭＡＸ）を含んでもよい。属性値ＭＩＮ及び属性値ＭＡＸは、前述した第１の実施例の時空間データ１１２（図９）における定義と同じである。
【０１２５】
本実施例では、時空間検索時に利用するため、時空間分割領域の境界にデータを登録する。本例では、時間単位分割幅が１００なので、時刻ｔ＝１００及びｔ＝２００の属性値を、実データから補間して登録する。例えば、時空間ＩＤが０で、オブジェクトＩＤが１のレコードにおいて、時系列データ（０，１０，１０）と（１５０，１０，４０）を用いた補間によって、ｙ＝２５の線上のデータ（７５，１０，２５）を生成することができる。また、時空間ＩＤが２で、オブジェクトＩＤが１のレコードにおいて、時系列データ（０，１０，１０）と（１５０，１０，４０）を用いた補間によって、ｔ＝１００の線上のデータ（１００，１０，３０）を生成することができる。
【０１２６】
図２１は、本発明の第２の実施例のポイント時系列データの物理的な配置を説明する図である。
【０１２７】
図２１において、四角内の数値は左から順に時空間ＩＤ及びオブジェクトＩＤを示し、各四角は時系列データ（必要に応じて、属性値ＭＩＮ及び属性値ＭＡＸ）を含む時空間データのレコードである。時空間データは、時空間ＩＤの順に二次記憶装置上に配置される。
【０１２８】
前述したように、同じ時間帯なら空間距離が近い順（時空間ＩＤの順）にディスク上にデータを配置し、さらに、時間帯順にデータを配置している。
【０１２９】
本実施例の時空間データ管理システムでは、ある時間及び空間の幅を持った場を条件として検索することが多いので、空間距離が近いデータは一緒にアクセスされることが多い。このため、このような空間距離が近いデータをディスク上で近くに配置することによって、検索時のＩ／Ｏ処理を減らし、高速に検索することができる。
【０１３０】
＜ポイント時系列データの検索処理＞
次に、第２の実施例のポイント時系列データの検索処理について説明する。第２の実施例の時系列データの検索処理は、前述した第１の実施例のグリッド時系列データの検索処理（図１２、図１３）と同じであるため、フローチャートの説明は省略する。
【０１３１】
図２２は、本発明の第２の実施例のポイント時系列データの検索の概要を説明する図である。
【０１３２】
第２の実施例のポイント時系列データの検索は、（１）概略判定と、（２）詳細判定との２段階で検索を実行する。
【０１３３】
概略判定及び詳細判定の内容は、前述した第１の実施例の各判定の内容と同じである。なお、第２の実施例の詳細判定でも、前述した第１実施例と同様に、時系列データを補間して、検索条件（時間条件、空間条件、属性条件）と一致するかを判定する。
【０１３４】
図２３は、時間条件に「時刻」を指定した場合の、ポイント時系列データの時空間範囲検索の例を説明する図である。
【０１３５】
図２３に示す例において、検索条件は、時間条件がｔ＝５０であり、空間条件が（ｘ，ｙ）＝（０，０）から（５０，５０）である。また、検索結果は、オブジェクトＩＤ及び時系列データの組によって構成される。
【０１３６】
まず、概略判定では、検索条件を時空間ＩＤの検索範囲に変換する。この変換は、検索条件となる時刻及び空間範囲を用いて、時空間管理データ１１１（図１９）を参照することによって計算することができる（図５で説明した方法を用いる）。本図に示す例では、概略判定によって、破線で示す時空間分割領域が結果候補となり、０≦時空間ＩＤ≦３のレコードを結果候補として時空間データ１１２から取得する。
【０１３７】
次に、詳細判定では、各時空間分割領域の時系列データを参照して、概略判定によって抽出された結果候補が検索条件を満たすかを判定する。本図に示す例では、概略判定で抽出されたレコードのうち、時空間ＩＤが２、オブジェクトＩＤが１のレコードは、時刻ｔ＝７５〜１００の時空間データであり、時間条件を満たさないため、結果から除外する。なお、本図に示す例では、時空間ＩＤが０、オブジェクトＩＤが２のレコードと、時空間ＩＤが１、オブジェクトＩＤが２のレコードの両方で時刻５０の座標値を求めることが可能だが、最終結果は重複を排除した結果とする。
【０１３８】
本図に示す例では、時刻ｔ＝５０のときの属性値を求めるが、時刻ｔ＝５０のデータが「時系列データ」に含まれない場合は、補間を行う。つまり、時刻ｔ＝５０の前後の属性値から線形補間を行う。例えば、オブジェクトＩＤが１の時空間データについて、（０，１０，１０）の時系列データと（７５，１０，２５）の時系列データとを用いて線形補間を行い、時系列データ（５０，１０，２０）を計算する。
【０１３９】
検索結果の時系列データは、時刻とポイントの座標を要素とするリスト形式である。本図に示す例では、時間条件が時刻であるため、各オブジェクトＩＤの時系列データは、一つの要素のみを含む。
【０１４０】
図２４は、時間条件に「期間」を指定した場合の、ポイント時系列データの時空間範囲検索の例を説明する図である。
【０１４１】
図２４に示す例において、検索条件は、時間条件がｔ＝５０から１５０であり、空間条件が（ｘ，ｙ）＝（０，０）から（５０，５０）の矩形である。また、検索結果は、オブジェクトＩＤ及び時系列データの組によって構成される。
【０１４２】
まず、概略判定では、検索条件を時空間ＩＤの検索範囲に変換する。この変換は、検索条件となる期間（開始時刻及び終了時刻）及び空間範囲を用いて、時空間管理データ（図１９）を参照することによって計算することができる（図５で説明した方法を用いる）。本図に示す例では、概略判定によって、０≦時空間ＩＤ≦３又は１６≦時空間ＩＤ≦１９の時空間分割領域が結果候補となり、時空間データ１１２から結果候補のレコードを取得する。
【０１４３】
次に、詳細判定では、各時空間分割領域の時系列データを参照して、概略判定によって抽出された結果候補が検索条件を満たすかを判定する。本図に示す例では、概略判定で抽出された全てのレコードが条件を満たすため、全ての結果候補が最終結果に残る。
【０１４４】
本図に示す例では、時刻ｔ＝５０及びｔ＝１５０のときの属性値を求めるが、時刻ｔ＝５０のデータが「時系列データ」に含まれないため、補間を行う。つまり、時刻ｔ＝５０の前後の属性値から線形補間を行う。例えば、オブジェクトＩＤが１の時空間データについて、（０，１０，１０）の時系列データと（７５，１０，２５）の時系列データとを用いて線形補間を行い、時系列データ（５０，１０，２０）を計算する。
【０１４５】
検索結果の時系列データは、時刻及びポイントの座標を要素とするリスト形式で、オブジェクトＩＤ毎にまとめられる。本図に示す例では、時間条件が期間であるため、各オブジェクトＩＤの時系列データは、開始時刻及び終了時刻に対応する属性値と、入力された時系列データ（ｔ＝７５の属性値）と、概略判定で取得したレコードの時系列データ（開始時刻から終了時刻の間の時刻ｔ＝１００の属性値）を含む。
【０１４６】
＜実施例３＞
次に、本発明の第３の実施例について説明する。本発明の第３の実施例では、グリッド時系列データとポイント時系列データとの両方を取り扱うことができ、両データを対応付ける交差判定処理を行う。
【０１４７】
図２５Ａ及び図２５Ｂは、本発明の第３の実施例の異なる種類の時空間データの交差判定の概要を説明する図である。
【０１４８】
時空間データの交差判定は、グリッド時系列データとポイント時系列データとを関連付けて、検索条件（時間条件、空間条件、属性条件）を満たすかを判定する。
【０１４９】
具体的には、概略判定時には、図２５Ａに示すように、時空間ＩＤ（属性値の条件が指定されていれば、属性値ＭＩＮ及び属性値ＭＡＸ）を用いて、検索条件に合致するグリッド時系列データの時空間分割領域を抽出する。そして、抽出されたグリッド時系列データの時空間分割領域とポイント時系列データの時空間分割領域とを対応付ける。
【０１５０】
そして、詳細判定時には、図２５Ｂに示すように、各テーブルの時系列データを参照して、時系列データが検索条件を満たすかを判定する。
【０１５１】
例えば、グリッド時系列データが水位シミュレーションデータであり、ポイント時系列データが移動体（例えば、人）のシミュレーションデータである場合、特定の時刻（又は期間）及び特定の空間範囲において、属性条件が水深１メートル以上を満たす場合、水位シミュレーションデータの時空間分割領域に含まれる移動体（すなわち、水害にあった人）のデータを取得するという検索がある。
【０１５２】
具体的には、以下のステップで判定を実行する。
（１）概略判定において、時間条件ｔ、空間条件ｇ、属性条件ａを満たす時空間ＩＤの集合ｓｔを取得する。
（２）概略判定において、時空間ＩＤの集合ｓｔに対応するポイント時系列データの取得する。
（３）詳細判定において、時間条件ｔ、空間条件ｇを満たすポイント時系列データを取得する。
【０１５３】
図２６Ａ及び図２６Ｂは、異なる種類の時空間データの時空間領域の分割粒度が同じ場合の、交差判定の例を説明する図であり、図９に示すグリッド時系列データと図２０に示すポイント時系列データの交差判定の例を示す。
【０１５４】
図２６Ａ及び図２６Ｂに示す例において、検索条件は、時間条件がｔ＝５０であり、空間条件が（ｘ，ｙ）＝（０，０）から（５０，５０）の矩形であり、属性条件がグリッド時系列データの属性値≧１である。また、検索結果は、オブジェクトＩＤ及びポイント時系列データの組によって構成される。
【０１５５】
まず、概略判定では、図２６Ａに示すように、検索条件を時空間ＩＤの検索範囲に変換する。この変換は、検索条件となる時刻及び空間範囲を用いて、時空間管理データ（図７）を参照することによって計算することができる（図５で説明した方法を用いる）。本図に示す例では、概略判定によって、０≦グリッド時系列データの時空間ＩＤ≦３、かつ、グリッド時系列データの時空間ＩＤとポイント時系列データの時空間ＩＤとが等しく、かつ、グリッド時系列データの属性値ＭＩＮ≧１のレコードを結果候補として時空間データ１１２から取得する。
【０１５６】
次に、詳細判定では、図２６Ｂに示すように、グリッド時系列データを参照して、時刻ｔ＝５０のときの属性値を線形補間で計算する。そして、概略判定によって抽出された全てのレコードで計算されたｔ＝５０の属性値が属性条件を満たすため、全ての結果候補が最終結果に残る。
【０１５７】
その後、同じオブジェクトＩＤで、同じ時系列データを削除する重複排除処理を実行し、検索結果を生成する。
【０１５８】
検索結果の時系列データは、時刻とポイントの座標を要素とするリスト形式である。本図に示す例では、時間条件が時刻であるため、各オブジェクトＩＤのポイント時系列データは、一つの要素のみを含む。
【０１５９】
次に、グリッド時系列データとポイント時系列データの時空間領域の分割粒度が異なる場合について説明する。
【０１６０】
まず、交差判定の例を説明する前に、この交差判定に用いるデータについて説明する。
【０１６１】
図２７Ａは、本発明の第３の実施例の時空間管理データ１１１の例を説明する図である。第３の実施例のポイント時系列データの時空間管理データ１１１は、データ名、管理パラメータ及び値を含む。第３の実施例の時空間管理データ１１１は、前述した第２の実施例の時空間管理データ１１１（図１９）と、ｘ軸単位分割幅及びｙ軸単位分割幅が５０である点が異なり、他の点は前述した第２の実施例の時空間管理データ１１１と同じである。このため、その詳細な説明は省略する。
【０１６２】
図２７Ｂは、本発明の第３の実施例の時空間分割領域に付与された時空間ＩＤの例を説明する図であり、図２７Ａに示す時空間管理データ１１１を適用した時空間分割領域の時空間ＩＤを示す。
【０１６３】
図示するように、時刻ｔが０から１００の時空間分割領域には０から３までの時空間ＩＤが付与される。時空間ＩＤは、前述したように、Ｚオーダを用いて付与される。同様に、時刻ｔが１００から２００の時空間分割領域には４から７までの時空間ＩＤが付与され、時刻ｔが２００から３００の時空間分割領域には８から１１までの時空間ＩＤが付与される。
【０１６４】
図２７Ｃは、本発明の第３の実施例のポイント時系列データが登録された時空間データ１１２の構成例を説明する図である。
【０１６５】
図２７Ｃに示す時空間データ１１２は、図１７Ａに示すポイント時系列データに、図２７Ａに示す時空間管理データ１１１の定義を適用することによって生成される。
【０１６６】
図２７Ｃに示すように、時空間データ（ポイント時系列データ）１１２は、時空間ＩＤ、オブジェクトＩＤ及び時系列データ（時刻、座標）を含み、例えば、表形式の時空間テーブルによって構成される。なお、時系列データは、時刻、座標の他に、属性値を含んでもよい。この場合、時空間テーブルは、属性値の最小値及び最大値（属性値ＭＩＮ及び属性値ＭＡＸ）を含んでもよい。属性値ＭＩＮ及び属性値ＭＡＸは、前述した第１の実施例の時空間データ１１２（図９）における定義と同じである。
【０１６７】
図２８Ａ及び図２８Ｂを用いて、異なる種類の時空間データの時空間領域の分割粒度が異なる場合の交差判定について説明する。図２８Ａ及び図２８Ｂは、図９に示すグリッド時系列データと図２７Ｃに示すポイント時系列データとの交差判定の例を示す。
【０１６８】
図２８Ａ及び図２８Ｂに示す例において、検索条件は、時間条件がｔ＝５０であり、空間条件が（ｘ，ｙ）＝（０，０）から（５０，５０）の矩形であり、属性条件がグリッド時系列データの属性値≧１である。また、検索結果は、オブジェクトＩＤ及びポイント時系列データの組によって構成される。
【０１６９】
まず、概略判定では、図２８Ａに示すように、検索条件を時空間ＩＤの検索範囲に変換する。この変換は、検索条件となる時刻及び空間範囲を用いて、時空間管理データ（図７）を参照することによって計算することができる（図５で説明した方法を用いる）。本図に示す例では、概略判定によって、０≦グリッド時系列データの時空間ＩＤ≦３、かつ、（グリッド時系列データの時空間ＩＤ＆［００００１１１１］2）／４と（ポイント時系列データの時空間ＩＤ＆［００００１１１１］2）とが等しく、かつ、グリッド時系列データの属性値ＭＩＮ≧１のレコードを結果候補として時空間データ１１２から取得する。
【０１７０】
概略判定で、（グリッド時系列データの時空間ＩＤ＆［００００１１１１］2）／４と（ポイント時系列データの時空間ＩＤ＆［００００１１１１］2）とが等しいという条件によって、グリッド時系列データの時空間ＩＤとポイント時系列データの時空間ＩＤとを関連付ける。ここでは「＆」はビット積を意味し、時空間ＩＤのうち時間に割り当てられたビットをマスクして、空間ＩＤを算出している。また、グリッド時系列の時空間領域の分割粒度が、ポイント時系列の時空間領域の分割粒度に比べて、４倍細かいため、グリッド時系列データの時空間ＩＤ（空間ＩＤ部分）を４で除算している。
【０１７１】
本例のように、ポイント時系列データの分割線とグリッド時系列データの分割線とが重なり、各軸の分割幅が２ｎ倍の関係であれば、２の２ｎ乗の除算をすることによって、グリッド時系列データの時空間ＩＤとポイント時系列データの時空間ＩＤとを関連付けることができる。
【０１７２】
次に、詳細判定では、図２８Ｂに示すように、グリッド時系列データを参照して、時刻ｔ＝５０のときの属性値を線形補間で計算する。そして、概略判定によって抽出された全てのレコードで計算されたｔ＝５０の属性値が属性条件を満たすため、全ての結果候補が最終結果に残る。
【０１７３】
その後、同じオブジェクトＩＤで、同じ時系列データを削除する重複排除処理を実行し、検索結果を生成する。
【０１７４】
検索結果の時系列データは、時刻とポイントの座標を要素とするリスト形式である。本図に示す例では、時間条件が時刻であるため、各オブジェクトＩＤのポイント時系列データは、一つの要素のみを含む。
【０１７５】
以上に説明したように、本発明の実施例によると、時空間分割領域単位で時空間のデータをまとめることによって、実体データのデータ量を削減することができる。また、時空間分割領域に一次元の整数値である時空間ＩＤを割り当てるので、索引データのデータ量を削減することができる。
【０１７６】
また、時空間分割領域の時間及び空間の近傍性を考慮して時空間ＩＤを割り当て、時空間ＩＤの順に時空間データを格納するので、時空間データ検索処理において、実体データを迅速に取得して、検索を高速化することができる。さらに、同じ時間帯で空間距離が近い順、すなわち、検索頻度が高い空間の近傍性を重視して時空間ＩＤを割り当てるので、検索をより高速化できる。
【０１７７】
また、一つの時空間分割領域に時空間データを分割領域の境界面上に登録するので、時空間データが連続的に時間変化することを考慮したデータ構成とすることができ、時空間分割領域内のデータの範囲を知ることによって、高速に検索処理を行うことができる。  また、時空間分割領域ごとにデータの最大値及び最小値を属性として持たせるので、検索条件を属性で指定した場合でも、高速に検索処理を行うことができる。
【０１７８】
また、検索処理時に時間条件及び空間条件から時空間ＩＤを算出し、属性条件と属性値ＭＩＮ及び属性値ＭＡＸの少なくとも一方を比較することによって結果候補を抽出する概略判定と、結果候補の時系列データと検索条件とを照合することによって、検索結果を抽出する詳細判定とを行うので、時空間データを読み出すレコード数を減らすことができ、高速に検索処理を行うことができる。
【０１７９】
また、複数の時空間データを時空間分割領域を単位として対応付けるので、複数の時空間データの関係させた交差判定をすることができる。
【０１８０】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０１８１】
１００  中央処理装置
１１０  二次記憶装置
１１１  時空間管理データ
１１２  時空間データ
１１３  時空間索引データ
１２０  主記憶装置
１２１  時空間データ管理部
１２２  時空間管理データ作成部
１２３  時空間データ登録部
１２４  時空間データ検索部
１２５  時空間索引データ作成部
１２６  時空間索引データ検索部
１３０  入力装置
１４０  出力装置
１５０  バス
【図１】
2014002519.tif 000003
【図３】
2014002519.tif 000004
【図４】
2014002519.tif 000005
【図５】
2014002519.tif 000006
【図６Ａ】
2014002519.tif 000007
【図６Ｂ】
2014002519.tif 000008
【図６Ｃ】
2014002519.tif 000009
【図６Ｄ】
2014002519.tif 000010
【図７】
2014002519.tif 000011
【図８Ａ】
2014002519.tif 000012
【図８Ｂ】
2014002519.tif 000013
【図８Ｃ】
2014002519.tif 000014
【図９】
2014002519.tif 000015
【図１０】
2014002519.tif 000016
【図１２】
2014002519.tif 000017
【図１３】
2014002519.tif 000018
【図１４】
2014002519.tif 000019
【図１５】
2014002519.tif 000020
【図１７Ａ】
2014002519.tif 000021
【図１７Ｂ】
2014002519.tif 000022
【図１９】
2014002519.tif 000023
【図２０】
2014002519.tif 000024
【図２１】
2014002519.tif 000025
【図２３】
2014002519.tif 000026
【図２４】
2014002519.tif 000027
【図２】
2014002519.tif 000028
【図１１】
2014002519.tif 000029
【図１６】
2014002519.tif 000030
【図１８】
2014002519.tif 000031
【図２２】
2014002519.tif 000032
【図２５Ａ】
2014002519.tif 000033
【図２５Ｂ】
2014002519.tif 000034
【図２６Ａ】
2014002519.tif 000035
【図２６Ｂ】
2014002519.tif 000036
【図２７Ａ】
2014002519.tif 000037
【図２７Ｂ】
2014002519.tif 000038
【図２７Ｃ】
2014002519.tif 000039
【図２８Ａ】
2014002519.tif 000040
【図２８Ｂ】
2014002519.tif 000041