(57)【要約】【課題】多数の小さな要素からなる科学データの三次元表示を効率的に行う。【解決手段】本発明の一実施形態に係るデータ可視化システムは、プロセッサと、空間上の各座標に対応付けられた属性データを記憶する記憶装置と、複数の前記属性データを画像として表示するための表示部と、を有する。プロセッサは空間上の座標のうち、可視化したい平面についての情報をユーザから受け付けて、記憶装置から可視化したい平面上の座標に対応付けられた前記属性データを取得し、取得した属性データに基づいて、可視化したい平面の画像を生成し、生成された画像を表示部に表示させる。【選択図】  図２３
2018032135.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、空間上の各座標に対応付けられた属性データを記憶する記憶装置と、複数の前記属性データを画像として表示するための表示部と、を有し、
前記プロセッサは、前記空間上の座標のうち、可視化したい平面についての情報をユーザから受け付けて、前記記憶装置から、前記可視化したい平面上の座標に対応付けられた前記属性データを取得し、
前記取得した前記属性データに基づいて、前記可視化したい平面の画像を生成し、前記生成された画像を表示部に表示させる、
ことを特徴とする、データ可視化システム。
【請求項２】
前記データ可視化システムは、前記プロセッサと前記記憶装置を有するデータベースサーバと、１以上のクライアントコンピュータを有し、
１以上の前記クライアントコンピュータの各々が、前記表示部を有する、
ことを特徴とする、請求項１に記載のデータ可視化システム。
【請求項３】
前記空間上の座標は、互いに直交するｘ軸、ｙ軸、ｚ軸から成る直交座標系上の座標であって、
前記プロセッサは前記属性データの索引情報として、x座標の値、y座標の値、そしてz座標の値をキーとする索引を管理しており、
前記プロセッサは、前記可視化したい平面が前記ｘ軸、ｙ軸、ｚ軸のいずれかの軸に垂直な平面である場合、前記索引を用いて前記可視化したい平面上の座標に対応付けられた前記属性データを取得する、
ことを特徴とする、請求項１に記載のデータ可視化システム。
【請求項４】
前記プロセッサは、前記空間を所定サイズの空間で分割して生成された複数の時空間分割領域に対して、時空間コードを付与して管理しており、
前記プロセッサはまた、前記座標に対応付けられた前記属性データのそれぞれに対して、前記座標が属する前記時空間分割領域に付与されている前記時空間コードを付与して管理しており、
前記プロセッサは、前記可視化したい平面の含まれる前記時空間分割領域に付与された前記時空間コードを求め、前記時空間コードを検索キーとして、前記記憶装置から前記属性データを取得する、
ことを特徴とする、請求項１に記載のデータ可視化システム。
【請求項５】
前記プロセッサは、前記可視化したい平面の外接直方体の座標を求め、
前記外接直方体を含む前記時空間分割領域を、前記可視化したい平面の含まれる前記時空間分割領域とする、
ことを特徴とする、請求項４に記載のデータ可視化システム。
【請求項６】
前記プロセッサは、同一の前記時空間コードが付与されている前記属性データを、前記記憶装置上の連続領域に格納する、
ことを特徴とする、請求項４に記載のデータ可視化システム。
【請求項７】
前記属性データは、時間の経過に伴い値が変化し得るデータであり、
前記時空間コードは、時間帯を表す情報を含む識別子であり、
前記記憶装置には、前記座標に加えて時刻情報が対応付けられた前記属性データが格納されており、
前記プロセッサは、前記属性データのそれぞれに対して、前記時間帯を表す情報を含む前記時空間コードを付与して管理する、
ことを特徴とする、請求項４に記載のデータ可視化システム。
【請求項８】
前記プロセッサは、前記可視化したい平面の情報と、可視化対象の時間帯の情報を受け付けて、
前記可視化したい平面上の座標の、前記可視化対象の時間帯の属性データの値から画像を生成する、
ことを特徴とする、請求項７に記載のデータ可視化システム。
【請求項９】
空間上の各座標に対応付けられた属性データを記憶する記憶装置と、複数の前記属性データを画像として表示するための表示部とを有するコンピュータのプロセッサに、
前記空間上の座標のうち、可視化したい平面についての情報をユーザから受け付ける工程と、
前記記憶装置から、前記可視化したい平面上の座標に対応付けられた前記属性データを取得する工程と、
前記取得した前記属性データに基づいて、前記可視化したい平面の画像を生成し、前記生成された画像を表示部に表示させる工程と、
を実行させるプログラムを記録した、コンピュータ読み取り可能な記憶媒体。
【請求項１０】
前記空間上の座標は、互いに直交するｘ軸、ｙ軸、ｚ軸から成る直交座標系上の座標であって、
前記プロセッサに、
前記属性データの索引情報として、x座標の値、y座標の値、そしてz座標の値をキーとする索引を管理させ、
前記可視化したい平面が前記ｘ軸、ｙ軸、ｚ軸のいずれかの軸に垂直な平面である場合、前記索引を用いて前記可視化したい平面上の座標に対応付けられた前記属性データを取得させる、
プログラムを記録した、請求項９に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１１】
前記プロセッサに、
前記空間を所定サイズの空間で分割して生成された複数の時空間分割領域に対して、時空間コードを付与して管理させ、
前記座標に対応付けられた前記属性データのそれぞれに対して、前記座標が属する前記時空間分割領域に付与されている前記時空間コードを付与して管理させ、
前記可視化したい平面についての情報をユーザから受け付けた時、前記可視化したい平面の含まれる前記時空間分割領域に付与された前記時空間コードを求め、前記時空間コードを検索キーとして、前記記憶装置から前記属性データを取得させる、
プログラムを記録した、請求項９に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１２】
前記プロセッサに、
前記可視化したい平面の外接直方体の座標を求めさせ、
前記外接直方体を含む前記時空間分割領域を、前記可視化したい平面の含まれる前記時空間分割領域と決定させる、
プログラムを記録した、請求項１１に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１３】
前記プロセッサに、
同一の前記時空間コードが付与されている前記属性データを、前記記憶装置上の連続領域に格納させる、
プログラムを記録した、請求項１２に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１４】
前記属性データは、時間の経過に伴い値が変化し得るデータであり、
前記時空間コードは、時間帯を表す情報を含む識別子であり、
前記記憶装置には、前記座標に加えて時刻情報が対応付けられた前記属性データが格納されており、
前記プロセッサに、
前記属性データのそれぞれに対して、前記時間帯を表す情報を含む前記時空間コードを付与して管理させ、
前記可視化したい平面の情報と、可視化対象の時間帯の情報を受け付けると、前記可視化したい平面上の座標の、前記可視化対象の時間帯の属性データの値から画像を生成させる、
プログラムを記録した、請求項１２に記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータを可視化するシステムに関する。
【背景技術】
【０００２】
物理実験や数値シミュレーションによって計算された結果などの科学データは、通常、空間（または時空間）上の座標とその座標に対応付けられた物理量等の属性値の組が複数含まれた数字の列であって、一見して科学データの意味を理解することが困難である。そのため、科学データをユーザに対して分かりやすく表示するための技術が考えられてきている。
【０００３】
たとえば以下に示す特許文献１には、図形の断面上の座標に与えられた物理量（たとえば応力など）をユーザに分かりやすく表示するために、座標に与えられた物理量に応じて色付けを行って表示する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2006-154965号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されているような技術により、空間上の座標に対応付けられた属性を、判りやすく表示させることができるようになる。ただし一般に、一回の実験や計算などで求められる科学データの量は非常に多く、各座標について描画処理を行うと、ユーザに表示されるまでに要する時間が大きくなるという問題がある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態に係るデータ可視化システムは、プロセッサと、空間上の各座標に対応付けられた属性データを記憶する記憶装置と、複数の前記属性データを画像として表示するための表示部と、を有する。プロセッサは空間上の座標のうち、可視化したい平面についての情報をユーザから受け付けて、記憶装置から可視化したい平面上の座標に対応付けられた前記属性データを取得し、取得した属性データに基づいて、可視化したい平面の画像を生成し、生成された画像を表示部に表示させる。
【発明の効果】
【０００７】
多数の要素からなる科学データであっても、利用者に負担をかけることなく、内容確認と三次元表示を同時、かつスムーズに行えるようになる。
【図面の簡単な説明】
【０００８】
【図１】科学データ分析システムの機能構成図である。
【図２】科学データ分析システムのハードウェア構成例である。
【図３】実施例1に係る科学データ分析システムの表示画面の例である。
【図４】実施例1の画面更新処理のフローである。
【図５】実施例1の表示条件送受信部のフローである。
【図６】実施例1の表示条件データと画像生成条件データの構成例である。
【図７】実施例1の検索条件生成処理のフローである。
【図８】実施例1の時空間検索処理のフローである。
【図９】実施例1の物理量データの構成例である。
【図１０】実施例1の物理量データ配置の概念図である。
【図１１】実施例1の物理量データ検索結果の構成例である。
【図１２】実施例1の画像生成処理のフローである。
【図１３】実施例1の表示更新処理のフローである。
【図１４】実施例1の表示用画像データの構成例である。
【図１５】実施例２に係る科学データ分析システムにおける、切断面入力中の表示画面の例である。
【図１６】実施例２の表示条件データと画像生成条件データの構成例である。
【図１７】実施例２の時空間検索処理のフローである。
【図１８】実施例２の物理量データの構成例である。
【図１９】実施例２に係る科学データ分析システムにおける、斜め切断面が通過する時空間分割領域を特定する手順の概念図である。
【図２０】実施例２に係る科学データ分析システムにおける、斜め切断面の分割の概念図である。
【図２１】実施例２に係る科学データ分析システムにおける、画像生成の概念図である。
【図２２】実施例２の表示用画像データの構成例である。
【図２３】実施例２の表示画面の例である。
【図２４】実施例３の表示画面の例である。
【図２５】実施例３の表示条件データと画像生成条件データの構成例である。
【図２６】実施例３の物理量データの構成例である。
【図２７】実施例３の表示用画像データの構成例である。
【発明を実施するための形態】
【実施例１】
【０００９】
図１に、実施例１に係る科学データ分析システムの機能構成例を示す。科学データ分析システムには、実験や数値計算のデータを管理するためのデータベースサーバ(101)と、それを可視化するためのクライアントコンピュータ(111)が含まれており、両者はネットワーク(110)によって接続されている。なお、クライアントコンピュータ(111)は、単数でも複数あってもよく、複数あれば複数人で同一のデータの分析をそれぞれ同時並行的に行えるという利点がある。
【００１０】
データベースサーバ(101)は、画像を生成するための画像生成部(102)と、クライアントコンピュータとの通信を行う表示情報送受信部(103)、科学データを検索するための時空間検索部(104)、科学データを格納する時空間DB(105)、時空間DB(105)に科学データを登録する登録部(106)を有する。時空間DB(105)は、時空間検索部(104)から検索要求を受け付けて、検索要求に指定されている検索条件に該当するデータを記憶装置（図２の記憶装置(207)）から読み出して時空間検索部(104)に返却する。なお、時空間DB(105)は、複数の装置から構成されるシステムであってもよいし、あるいはネットワーク越しに外部のシステムへデータを保存するように構成されていてもよい。
【００１１】
クライアントコンピュータ(111)は、ネットワーク(110)を介して情報を閲覧するためのユーザインタフェースを提供するWebブラウザ(112)をもっており、当該Webブラウザ(112)は、3D表示を行うための3D表示部(113)や、表示条件設定部(114)を有する。
【００１２】
図２に実施例１に係る科学データ分析システムのハードウェア構成例を示す。データベースサーバ(101)、クライアントコンピュータ(111)はそれぞれ、演算機能を持ったプロセッサ(205)、高速に読み書きが可能な揮発性一時記憶領域であるＤＲＡＭ(208)、ＨＤＤやフラッシュメモリなどを利用した永続的な記憶領域である記憶装置(207)、通信を行うためのネットワークインタフェースカードであるＮＩＣ(206)、情報を表示するためのディスプレイデバイスであるモニタ(209)、コンピュータの操作を行うためのマウスやキーボード等の入力装置(210)を備えている。
【００１３】
データベースサーバ(101)の記憶装置(207)には、時空間DB(105)によって管理される科学データが格納されるほか、データベースサーバ(101)のプロセッサ(205)で実行されるプログラム（以下では「サーバプログラム」と呼ぶ）、クライアントコンピュータ(111)で実行されるプログラム（以下ではこれを「クライアントプログラム」と呼ぶ）が格納されている。データベースサーバ(101)のプロセッサ(205)は、記憶装置(207)からDRAM(208)にサーバプログラムを読み出して実行することで、データベースサーバ(101)を、画像生成部(102)、表示情報送受信部(103)、時空間検索部(104)、時空間DB(105)、登録部(106)等の各機能ブロックを有する装置として動作させる。
【００１４】
なお、以下では、データベースサーバ(101)で実行される各種処理の内容を説明する際、時空間検索部(104)等の機能ブロックを処理の主体として説明することがある。先に述べたとおり、時空間検索部(104)等は、サーバプログラムがデータベースサーバ(101)のプロセッサ(205)で実行されることによって実現された機能ブロックである。そのため以下の説明において、機能ブロックを主語にして記述されている処理は、実際にはデータベースサーバ(101)のプロセッサ(205)がその処理を行うことを意味する。ただし説明が冗長になることを避けるため、本実施例では、時空間検索部(104)等の機能ブロックを処理の主体として、各種処理の内容を説明する。
【００１５】
一方クライアントコンピュータ(111)の記憶装置(207)には、クライアントコンピュータ(111)で実行されるプログラム（以下では「ブラウザプログラム」と呼ぶ）が格納され、クライアントコンピュータ(111)のプロセッサ(205)は、記憶装置(207)からブラウザプログラムを読み出して実行することで、Webブラウザ(112)を備えた装置としてクライアントコンピュータ(111)を動作させる。また、3D表示部(113)と表示条件設定部(114)は、クライアントプログラムによって実現される機能ブロックである。具体的には、Webブラウザ(112)は、クライアントプログラムをデータベースサーバ(101)からダウンロードし、クライアントコンピュータ(111)のプロセッサ(205)に実行させることで、Webブラウザ(112)は、3D表示部(113)と表示条件設定部(114)を備えたブラウザとして機能することになる。
【００１６】
なお、以下では、クライアントコンピュータ(111)で実行される各種処理の内容を説明する際、表示条件設定部(114)等の機能ブロックを処理の主体として説明することがある。先に述べたとおり、表示条件設定部(114)等は、クライアントコンピュータ(111)のプロセッサ(205)でクライアントプログラム等が実行されることによって実現された機能ブロックである。そのため以下の説明において、機能ブロックを主語にして記述されている処理は、実際にはクライアントコンピュータ(111)のプロセッサ(205)がその処理を行うことを意味する。
【００１７】
図３にクライアントコンピュータ(111)のWebブラウザ(112)が、クライアントコンピュータ(111)のモニタ(209)に表示する表示画面(300)の例を示す。この画面の中央には、表示対象データ群(301)が三次元表示されている。ユーザが、クライアントコンピュータ(111)の入力装置(210)として接続されたマウス等の装置を操作することにより、画面上のカーソル(302)を動かし、例えば画面上をドラッグすると図形が回転する等、様々な視点からの可視化が容易に行える。視点については、(303)の視点変更ウインドウにも視点の方向についての数値が表示されており、カーソル(302)を用いた変更結果についてもこれに反映されるとともに、(303)に直接設定することで視点を移動することもできてもよい。
【００１８】
また、ユーザは、表示条件を設定するコントロールウインドウ(304)を用いて、表示対象のデータを指定することができる。データベースサーバ(101)には事前に多数のデータが格納されており、ユーザはどのデータを表示対象とするかをドロップダウンボックス(305)によって設定できる。表示対象のデータは、互いに直交するx軸、y軸、z軸によって定まる、三次元空間の直交座標系上の微細な格子状のデータであるため、表面にないデータは他の要素に隠れて表示されない。
【００１９】
そこで、実施例１に係る科学データ分析システムでは、ユーザは表示範囲としてx軸、y軸、z軸のそれぞれの範囲を指定可能とし、指定された範囲で特定される平面によって構成される断面上の、各座標の属性値（後述する物理量）を可視化することが容易に可能な機能を持つようになっている。この設定は(306)のスライドバーを操作することによって行える。たとえばx軸の範囲として、１２から１２０の範囲が指定された場合、x=12の平面とx=120の平面による断面が表示画面(300)に表示される。なお、x軸、y軸、z軸の範囲の上限と下限に指定可能な値（ユーザがスライドバー(306)を用いて設定可能な値）は、三次元空間上の格子点の座標値と等しいものとする。
【００２０】
またx軸、y軸、またはz軸の範囲が指定されなかった場合には、あらかじめ定められた最小値と最大値で特定される平面によって構成される断面が、表示画面(300)に表示される。本明細書では、あらかじめ定められているx軸の最小値、x軸の最大値、y軸の最小値、y軸の最大値、z軸の最小値、z軸の最大値をそれぞれ、Xmin, Xmax, Ymin, Ymax, Zmin, Zmaxと表記する。
【００２１】
また、この表示画面(300)には、表示対象のデータ種（たとえば温度、エネルギー、密度、磁化や、波動関数の値や流体の流速、電場などの物理量である）を指定できるインタフェースであるドロップダウンボックス(307)も設けられている。ユーザがドロップダウンボックス(307)を操作することで指定された種類のデータが、表示画面(300)上の平面（断面）上に表示される。データを表示する際、データは色情報（画素値）に変換され、変換された色を持つ点として、平面（断面）上に表示される。たとえばある座標値のデータの値が大きいほど、その座標は明るい色を持つ点として表示され、逆にデータの値が小さいほどその座標は暗い色を持つ点として表示されるとよい。
【００２２】
コントロールウインドウ(304)を用いて指定された各種条件の設定内容は、ユーザが画面上に配置された更新ボタン(308)を押下することによって確定し、設定内容に基づいて表示画面(300)に表示される内容が更新される。
【００２３】
なお、もし科学データ分析システムが十分な性能を有している場合、更新ボタン(308)を押すまでもなく、ユーザが(306)や(307)を操作した直後に、自動的に表示画面(300)上に表示される断面の設定を行って、表示内容の更新を行うようにしても良い。また、例えばユーザが表示画面(300)上に表示されている断面などをカーソル(302)を用いてクリックした時に、クリックされた座標の物理量を表示するためのウインドウ(309)を用意するなど、様々な観点から科学データを可視化、集計等を行うことができる機能を備えてもよい。
【００２４】
ここで、ユーザが更新ボタン(308)を押下したときの、科学データ分析システムの処理手順について、図４を用いて説明する。更新ボタン(308)が押下されると、表示条件送受信処理(401)が実行され、クライアントコンピュータ(111)からデータベースサーバ(101)に対して更新の要求が行われる。それをうけて、データベースサーバ(101)では、検索条件生成処理(402)および画像生成処理(404)が実行され、その結果は表示更新処理(405)においてクライアントコンピュータ(111)に転送され、画面に反映される。
【００２５】
図５に表示条件送受信処理(401)の処理フローを示す。まず、表示条件設定部(114)は、画面上のコントロールウインドウ(304)上で設定されている表示対象範囲を取得する(501)。次に表示条件設定部(114)は、その値をもとに表示条件データ(601)を作成し、データベースサーバ(101)の表示情報送受信部(103)へと送付する(502)。表示情報送受信部(103)は、この表示条件データ(601)を受け取る(503)と、それをもとに画像生成条件データ(602)を生成し、画像生成部(102)に送付する(504)。
【００２６】
図６に表示条件データ(601)およびこれから生成される画像生成条件データ(602)のデータの構成例を示す。表示条件データ(601)は、クライアントコンピュータ(111)の画面上のコントロールウインドウ(304)上で設定されている値から生成されるデータである。
【００２７】
表示条件ID(603)は、クライアントコンピュータ(111)が結果の返送を受け取った際に対応関係を見失わないように付与される識別子であり、クライアントコンピュータ(111)内で適時自動的に生成される。例えばクライアントコンピュータ(111)は、操作時刻とクライアントコンピュータ(111)のネットワークアドレスの対などを、表示条件ID(603)として用いることができる。
【００２８】
対象データID(604)は、コントロールウインドウ(304)上の対象データを指定するドロップダウンボックス(305)で指定されたものである。なお、科学データ分析システムが、ドロップダウンボックス(305)に表示される一覧を生成するために、別途、クライアントコンピュータ(111)とデータベースサーバ(101)とで通信を行うことで、その一覧情報を送受信するなどの機能を有しているとよい。科学データ分析システムがこのような機能を有することで、データの追加が容易になるという利点がある。
【００２９】
X表示範囲(605)、Y表示範囲(606)、Z表示範囲(607)の３つは、座標の表示範囲を意味する情報であり、例えば1≦x≦178、50≦y≦199、60≦z≦80などのように各座標の上限と下限が設定される。X表示範囲(605)、Y表示範囲(606)、Z表示範囲(607)に設定される情報は、クライアントコンピュータ(111)の画面上の座標コントロール用スライドバー(306)によって設定された値（範囲）である。
【００３０】
最後に、表示対象属性(608)には、クライアントコンピュータ(111)の画面上の表示対象物理量のドロップダウンボックス(307)に指定された属性（たとえば物理量の種類である）が、描画（色分け）に用いる情報として格納される。なお、これについても、事前にクライアントコンピュータ(111)とデータベースサーバ(101)とで通信を行い、表示対象属性(608)に表示される属性情報の一覧を送受信するなどの機能が設けられていると、データ構成の変更が容易になるという利点がある。
【００３１】
画像生成条件データ(602)は、この表示条件データ(601)をもとに、表示情報送受信部(103)によって生成されるデータである。表示条件データ(601)は表示画面(300)上でユーザによって設定された要求であるが、実際に画面に表示するのは図３に示されるような直方体であり、直方体の各面に貼り付ける画像が必要とされる。
【００３２】
そこで、表示情報送受信部(103)は、表示条件データ(601)を個々の画像（本例では６枚の画像）の生成要求へと細分化する。画像生成条件データ(602)は細分化された画像の生成要求一つ一つを意味する。したがって、画像生成部(102)に送付する処理(504)において、画像生成条件データ(602)は複数（実施例１では６つ）送付される。ただし処理効率を考慮して、表示情報送受信部(103)は複数の画像生成条件データ(602)の組をまとめて１回で送付してもよいし、あるいはソフトウェア実装の理由（機能の単純化など）により単数の画像生成条件データ(602)の送付を複数回行ってもよい。
【００３３】
次に画像生成条件データ(602)に含まれる要素それぞれの内容を説明する。画像生成条件ID(609)は、結果を受け取った際の対応関係を維持するための識別子であり、データベースサーバ(101)内で適時自動的に生成される。例えばデータベースサーバ(101)は、表示条件ID(603)の末尾に連番を付与したものを、画像生成条件ID(609)としてもよい。
【００３４】
表示条件ID(610)には、画像生成条件データ(602)の元となった表示条件データ(601)の表示条件ID(603)がそのまま格納される。これにより、画像生成条件データ(602)と表示条件データ(601)の対応関係が失われないようになっている。
【００３５】
表示対象属性名(614)についても同様に、表示対象属性(608)に格納されていた情報がそのまま引き継がれる。対象断面(611)は、当該画像生成条件データ(602)に基づいて生成される画像がどの面に貼り付けられるべきものであるかを指定するための情報である。実施例１では、画面に表示される断面はx軸、y軸、z軸のいずれかの軸に垂直な平面（つまりx=一定、y=一定、z=一定のいずれかの条件で特定される面）であるため、実施例１では対象断面(611)にはx=一定、y=一定、z=一定のいずれかが格納される。ただし、実施形態によっては様々な断面を表示させることがありうる（例えば、球面や円筒など）。その場合は各々に適した情報が格納される。指定位置(612)には、対象断面(611)で特定された面の値が格納される。一方表示範囲(613)には、対象断面で特定されなかった軸の表示範囲が格納される。
【００３６】
実施例１においては、対象断面(611)、指定位置(612)及び表示範囲(613)に格納される情報は、表示条件データ(601)のX表示範囲(605)、Y表示範囲(606)、そしてZ表示範囲(607)の値から生成される。例えばこれらに50≦X≦150および5≦Y≦15が設定されているときは、xの条件による断面はx=50の面とx=150の面、yの条件による断面はy=5およびy=15の面、zは条件がないため最大・最小値を条件と指定したこととなる。
【００３７】
したがってこの表示条件データ(601)からは、対象断面(611)がx=一定、指定位置(612)がx=50、表示範囲(613)が5≦y≦15の画像生成条件データ(602)と、対象断面(611)がx=一定、指定位置(612)がx=150、表示範囲(613)が5≦y≦15の画像生成条件データ(602)が、また対象断面(611)がy=一定、指定位置(612)がｙ=5、表示範囲(613)が50≦X≦150の画像生成条件データ(602)と、対象断面(611)がy=一定、指定位置(612)がｙ=15、表示範囲(613)が50≦x≦150の画像生成条件データ(602)が生成される。
【００３８】
zの条件については特に指定されていないため、対象断面(611)がz=一定、表示範囲(613)が50≦x≦150および5≦y≦15の画像生成条件データ(602)が２つ生成される（具体的には、指定位置(612)がz=Zmin(z軸の最小値)、z= Zmax(z軸の最大値)である、二つの画像生成条件データ(602)が生成される）。すべてあわせると、６つの画像生成条件データ(602)が生成されることとなる。
【００３９】
図７に検索条件生成処理(402)の手順を示す。検索条件生成処理(402)では、画像生成部(102)が表示情報送受信部(103)から受け取った画像生成条件データ(602)をもとに、検索条件文を生成する(701)。一般的に、データベースシステムにおける検索要求はＳＱＬ等の特定言語で記述されるが、この処理では検索条件文として、画像生成条件データ(602)で指定されている条件に該当するデータ（後述する物理量データ(901)）を検索するためのＳＱＬ文等が生成される。ここで生成された検索条件文は時空間検索部(104)に送付される(702)。
【００４０】
図８に時空間検索処理(403)の手順を示す。時空間検索処理(403)は複雑な条件文を処理する場合に検索条件文を加工するための処理であるが、実施例１では単純に、時空間検索部(104)は検索条件文を時空間ＤＢ(105)に送付し(801)、その結果を受け取る(802)だけでよい。あるいは時空間検索部(104)は、処理を高速化するための最適化を行ってもよい。
【００４１】
図９に時空間ＤＢ(105)に格納されている物理量データ(901)の構成を示す。物理量データ(901)は本システムが扱う対象となるデータの本体であり、科学計算や実験の結果が格納されている。
【００４２】
科学データID(902)はある一連のデータに振られた一意の識別子である。例えば、時空間DB(105)に物理量データ(901)が登録される際に、実験の試行や、数値計算の開始から終了までの一連の動作など、科学データを区切る単位ごとに一意の値が付与される。言葉を変えると、同一の科学データID(902)をもつデータを集めることにより、元の科学データが復元できる。なお、この科学データID(902)は対象データID(604)と対応づいており、対象データID(604)を指定することは科学データID(902)を指定することと等価である（より具体的には、対象データID(604)として科学データID(902)そのものが用いられてもよい）。
【００４３】
物理量(906)は科学データの実体となる単数ないし複数の物理量であり、たとえば温度、エネルギー、密度、磁化や、波動関数の値や流体の流速、電場など様々なものが格納されうる。X(903),Y(904),Z(905)には、物理量(906)が計測された（または算出された）位置の座標値が格納されている。１つの物理量データ(901)の中には、複数種類の物理量が格納されてもよい。複数種類の物理量が格納されている場合、画像生成時には表示対象属性名(614)で指定されている種類の物理量が選択され、選択された物理量が画像として表示される。本明細書では、この選択された物理量のことを「属性値」と呼ぶことがある。
【００４４】
時空間ＤＢ(105)はこのデータに対し、検索条件文で指定されている検索を行い、その結果を時空間検索部(104)に返すように構成されている。図１０にこの検索についての模式図（簡単のため2次元化した）を示す。図中の破線(1001)が格子を意味しており、時空間DB(105)には破線(1001)同士の交点に該当する座標と、その座標において、実験により測定された（または数値計算などで算出された）物理量(906)が格納されている。
【００４５】
実施例１では、このデータに対し、太線(1002),(1003),(1004),(1005)で示されたx、y、zに関する条件で検索が行われる。例えば(1002),(1003)はz=一定の条件を意味することとなるが、実際に検索により抽出されるべき座標は、太線(1002),(1003)上の格子のうち、yの範囲（太線(1004)と(1005)）で挟まれた線分(1006)の上に位置する格子の座標となる。
【００４６】
なお、本図は簡単のため2次元で記載したが、実際には３次元のためxの条件でも挟まれるため、y軸の範囲とx軸の範囲によって囲まれた面上に位置する格子の座標が検索対象データになる。この検索は、多数のデータに対する検索となるため、一般的に長い処理時間を要することになる。そこで、登録部(106)は、時空間DB(105)に物理量データ(901)を登録する際に、x座標の値、y座標の値、そしてz座標の値をキーとする索引をそれぞれ構築する。これにより時空間DB(105)は、たとえばz=ａ(ａは定数)のが指定された場合、索引を参照することにより、z=ａの物理量データ(901)の物理格納位置（記憶装置(207)上のアドレス等）を直接特定できる。つまり時空間DB(105)は、記憶装置(207)上の全データを読み出すことなく、z=ａの物理量データ(901)だけを読み出すことができる。
【００４７】
検索結果は図１１(1101)に示すように、物理量データ(901)と同様の構成で、ただしデータが表示対象になりうるもののみ限定されたものが得られることになる。
【００４８】
画像生成部(102)は、この検索結果を受け取り、検索条件生成処理(402)で受け取った画像生成条件データ(602)と対応付けて、画像生成処理(404)を実行する。この手順を図１２に示す。
【００４９】
画像生成部(102)は検索結果(1101)の物理量(1102)の中から、表示対象属性名(614)に合致するものを選定し、所定のルールに基づいて色情報に変換し（値の異なるものは他の色を用いる、値の大きさに応じて濃さを変える、など）、画像データを生成する(1201)。ここで生成される画像データのフォーマットは、たとえばBMPフォーマットなどの公知のフォーマットでよい。生成された画像データは、表示情報送受信部(103)に受け渡される(1202)。
【００５０】
図１３に表示更新処理(405)を示す。この処理では、まず表示情報送受信部(103)が前記の画像生成処理(404)で生成された画像データを受け取り(1301)、3D表示部(113)に送信する処理を行う。
【００５１】
表示情報送受信部(103)が3D表示部(113)に画像データを送信する際に用いる表示用画像データ(1401)の構成を図１４に示す。前記の通り、データベースサーバ(101)はクライアントコンピュータ(111)から受け取った表示条件データ(601)から複数の画像生成条件データ(602)を生成し、各画像生成条件データ(602)に対応する画像を生成する。これらの画像はそれぞれ複数の画像生成条件データ(602)のいずれかに対応しているため、結果的には表示条件データ(601)一つに対して複数の画像が対応づくこともありえる。表示用画像データ(1401)はこの画像一つ一つに相当するデータである。したがって、表示条件データ(601)に対する応答は複数の表示用画像データ(1401)からなることがある。
【００５２】
表示用画像データ(1401)には、表示条件ID(1402)が付与されており、それぞれの表示用画像データ(1401)がどの表示条件データ(601)に対応するかが表示条件ID(603または610)との比較によって判別できる。
【００５３】
対象断面(1403)、指定位置(1404)についてはその画像の生成時の元となった画像生成条件データ(602)の情報が格納されており、それぞれ(611)、(612)が引き継がれている。(1201)で生成された画像データは画像(1405)に格納される。なお、表示画面の属性表示ウインドウ(309)への属性値の表示が行われる場合には、画像の画素夫々に対応する属性値(1406)も、表示用画像データ(1401)に付与される。
【００５４】
複数の表示用画像データ(1401)のうち、一連のもの（表示条件ID(1402)が共通のもの）を束ねたものがクライアントコンピュータ(111)の３Ｄ表示部(113)に送信される(1302)。３Ｄ表示部(113)はそれを受け取り(1304)、画面に反映する(1305)。画面への反映にあたっては、受け取った画像を単一直方体の対応する面に貼り付ける公知のテクスチャマッピングの方法を適用することで、非力なクライアントコンピュータ(111)であっても、軽快な動作が可能となる。
【００５５】
実施例１に係る科学データ分析システムは、以上の処理を行うので、画面に表示されるデータのみが記憶装置(207)から読み出され、また画面表示に必要なデータだけがデータベースサーバ(101)からクライアントコンピュータ(111)へと送信される。つまり実施例１に係る科学データ分析システムは科学データ全体を送受信する必要がないため、データベースサーバ(101)とクライアントコンピュータ(111)の間の通信量を削減でき、また、クライアントコンピュータ(111)上での動作を軽快にすることができる。また、このような軽快さを実現するにあたっては、通常、表示範囲等を変更することをできないようにすることで高速化が図られることが多いが、実施例１では表示する断面を変更するなどの処理を画面上で簡単、高速に行える利点がある。
【実施例２】
【００５６】
続いて実施例２に係る科学データ分析システムについて説明する。実施例２に係る科学データ分析システムのハードウェア構成は、実施例１に係る科学データ分析システムと同じであるため、図示は略す。
【００５７】
図１５に実施例２に係る科学データ分析システムにおける、Webブラウザ(112)の表示画面(300’)の例を示す。実施例１に係るWebブラウザ(112)では、x軸、y軸、z軸のいずれかに対して垂直な切断面を可視化可能であった。一方実施例２に係るWebブラウザ(112)では、切断面が斜めであってもよい点が、実施例１に係る科学データ分析システムと異なる。
【００５８】
ユーザが切断面を指定する時、表示画面(300’)上でカーソル(302)を用いて切断面をドラッグすることで、切断面の向きを調整可能である。入力された切断面は画面上に面(1501)として表示され、それをドラッグするとその位置や傾斜を変更することができる。ユーザが切断面を指定し、更新ボタン(1502)を押下することによって、その結果が画面に反映される点は、実施例１と同様である。
【００５９】
なお、切断面の指定方法には、上で述べた方法以外のものが用いられてもよい。たとえば平面は以下に述べる（式１）のような数式で表現可能である。そのためWebブラウザ(112)（の表示条件設定部(114)）は、ユーザが切断面を表す数式を入力可能なインタフェースを提供できるように構成されていてもよい。
【００６０】
また、実施例２に係る科学データ分析システムでは、実施例１で説明したような断面（x軸、y軸、z軸のいずれかに対して垂直な切断面）も可視化可能である。しかし以下では説明が複雑になることを避けるため、x軸、y軸、z軸のいずれかに対して垂直な切断面はユーザからは指定されず、ユーザは（式１）で表現される平面を１つだけ切断面として指定する場合の例を説明する。この場合Webブラウザ(112)の表示画面(300’)には、x=Xmin、x= Xmax、y= Ymin、y= Ymax、z= Zmin、z= Zmaxの式で特定される平面（実施例１で説明した、x軸、y軸、z軸の何れかに垂直な面）と、（式１）で表現される平面が、切断面として表示される。また、以下の説明では、（式１）で表現される平面による断面を、「斜めの断面」または「斜め切断面」と呼ぶ。
【００６１】
更新ボタン(1502)押下後は、実施例１の手順(400)と同様の処理が実行される。ただし実施例２では、表示条件送受信処理(401)によってクライアントコンピュータ(111)とデータベースサーバ(101)の間で送受信される表示条件データの内容が、実施例１で説明したものとは異なる。図１６に実施例２の表示条件データ(1601)を示す。表示条件データ(1601)は、実施例１と同様の表示条件ID(1603)、表示対象属性(1605)を含むが、断面式(1604)を含む点が異なる。実施例１では、x軸、y軸、z軸のいずれかに直交する平面のみが断面として指定可能であったため、それに適した切断面の形式が記録されていたが、実施例２では斜め方向も記述できるように、数式の情報が断面式(1604)に格納される。具体的には
ax+by+cz=1 (式1)
(ただし係数a,b,cのうち少なくとも2つの係数は、ゼロでない値である)
によって平面が同定できることから、断面式(1604)には、（式１）の３つの係数a,b,cの値が格納される。
【００６２】
また、この表示条件データ(1601)から生成される画像生成条件データ(1602)も実施例１の画像生成条件データ(602)とは異なる。画像生成条件ID(1606)、表示条件ID(1607)は実施例１と同様であるが、対象断面式(1608)には表示条件データ(1601)の断面式(1604)の情報が格納される。実施例１では、表示条件データ(601)一つに対して６つの画像生成条件データ(602)が生成されていたが、実施例２では必ずしも６つとは限らない。たとえば、実施例１で説明したように、表示範囲としてx軸、y軸、z軸のそれぞれの範囲を指定され、さらに上に述べた（式１）で表現される平面が１つ、切断面として指定される場合、６つないし７つの画像生成条件データ(1602)が生成される。ただしユーザが、切断面として（式１）で表現される平面を複数設定できる場合には、それに応じてより多くの画像生成条件データ(1602)が生成される。
【００６３】
画像生成条件データ(1602)を受け取った画像生成部(102)は、実施例１と同様に検索条件文を構築し、時空間検索部(104)に引き渡す。すると、検索条件文を受け取った時空間検索部(104)は、時空間検索処理(403)を実行する。なお、x軸、y軸、z軸の何れかに垂直な面への画像表示手順は、実施例１で説明したものと同じであるため、以下では主に、斜め切断面への画像表示手順を説明し、x軸、y軸、z軸の何れかに垂直な面への画像表示方法の説明は略す。
【００６４】
実施例２における時空間検索処理(403)を図１７に示す。実施例２に係る時空間検索部(104)は、斜めの断面上の座標に定義されている物理量の検索を行う必要があるが、斜めの断面上の座標の物理量データが必ずしも時空間DB(105)に格納されている保証はない。そのため時空間検索部(104)は、斜め切断面上の座標の近傍に位置する座標の物理量データを検索する必要があるが、これは単純なＢ−Ｔｒｅｅ等では処理時間がかかるという問題がある。
【００６５】
そのため、実施例２に係る科学データ分析システムでは、時空間DB(105)に格納する物理量データに時空間コードと呼ばれる区画番号を付与して格納する。そして時空間検索処理(403)では、時空間コードを用いた検索を行う。この時空間コードは、空間を一定の幅の区画に区切ることにより生成される領域に割り振ったコード値である。空間を一定の幅の区画に区切ることにより生成される領域のことを、「時空間分割領域」と呼ぶ。
【００６６】
図１８に実施例２における時空間DB(105)が格納する物理量データ(1801)を示す。物理量データ(1801)には、時空間DB(１０５)に登録される際に前記の時空間コード(1802)が付与される。物理量データ(1801)に含まれるそれ以外の情報（科学データID(902)、x(903)、y(904)、z(905)、物理量(906)）は、実施例１で説明した物理量データ(901)と同じである。検索時には、時空間コード(1802)を条件に含めて検索を行うことにより、候補の絞込みが高速に行え、処理が高速になるという利点がある。
【００６７】
図２１を用いて、座標空間上領域と、この座標空間上領域に割り当てられる時空間コードとの関係を概説する。なお、説明の簡単化のため、二次元空間の座標系(たとえばxy座標系)を用いて説明する。本実施例に係る時空間DB(105)は、図２１中の水平な破線(2802)と垂直な破線(2801)との交点（図２１中の黒丸部分。本明細書ではこれを格子点と呼ぶこともある）の座標ごとに物理量データ(1801)が格納されている。なお、複数の破線(2801または2802)同士の間隔は水平方向(x軸方向)、垂直方向(y軸方向)ともに0.5とし、図２１に記載の例では、一番左下の格子点の座標は(0.25, 0.25)、一番右上の格子点の座標は(3.75, 3.75)とする。
【００６８】
一方、太線で囲まれた領域が時空間分割領域である。図２１の例では、時空間分割領域の幅と高さはいずれも１とする。各時空間分割領域の左隅に記載されている４桁の数値（２進数表記）が時空間コードである。図２１の例では、左下の時空間分割領域の時空間コードを0000としてあり、時空間コードの上位２桁には、図２１に示された二次元空間上領域を４分割した枠の左下、右下、左上、右上が上位の２桁に相当し、それぞれ0000、0100、1000、1100台のコードが各４分割の枠内に存在する区画に付与される。同様に各枠内を４分割すると、例えば右上の枠内では、左下、右下、左上、右上では、1000、1001、1010、1011がそれぞれ割り振られる。
【００６９】
図２１に示された例では、１つの時空間分割領域に４つの格子点が存在する。たとえば時空間コードが0101の時空間分割領域（左下の座標値が(3,0)の領域）の中の４つの座標（(3.25, 0.25), (3.75, 0.25), (3.25, 0.75), (3.75, 0.75)）が格子点である。ただし１つの時空間分割領域に存在する格子点の数は４つより多くても（あるいは少なくても）よい。
【００７０】
登録部(106)が時空間DB(105)に物理量データ(1801)を登録する際、座標値を用いて時空間コードを割り出す。図２１に示された例の場合、時空間分割領域に割り当てられている時空間コードと、時空間分割領域の左下の座標値の間には、以下の関係がある。４桁の時空間コード（”pqrs”と表記する。p,q,r,sはいずれも０または１の値である）の中から、最左ビット（最上位ビット）と右から２番目のビットで構成される２桁の二進数”pr”は、時空間分割領域の左下のｙ座標値に等しい。一方４桁の時空間コードのうち、左から２番目のビットと最右ビット（最下位ビット）から構成される２桁の二進数”qs”は、時空間分割領域の左下のx座標値に等しい。
【００７１】
時空間分割領域に割り当てられている時空間コードと、時空間分割領域の左下の座標値の間にはこのような関係があるため、座標値からその座標が属する時空間分割領域に割り当てられている時空間コードは容易に算出可能である。ここでは二次元空間上領域における、座標値と時空間コードの関係を説明したが、三次元空間上領域においても、座標値から時空間コードを容易に算出できるように、座標値と時空間コードの関係を定義する事ができる。
【００７２】
また登録部(106)が時空間DB(105)に物理量データ(1801)を登録する際、時空間コード(1802)の同じ物理量データ(1801)を記憶装置(207)上の連続領域に格納する。さらに登録部(106)は、時空間コードをキーとする索引を作成する。具体的には登録部(106)は、ある時空間コードを有する物理量データ(1801)の格納されている、記憶装置(207)のアドレス範囲の情報を記録した索引を作成する。これにより検索時に時空間コードを検索キーとして指定されると、時空間DB(105)は記憶装置(207)内の全てのデータを読み出す必要はなく、指定された時空間コードが付与された物理量データ(1801)だけを記憶装置(207)から読み出すことができる。
【００７３】
また登録部(106)は、時空間コード(1802)の小さい物理量データ(1801)から順に、記憶装置(207)にシーケンシャルに格納してもよい。このような格納態様が採用された場合、時空間DB(105)は、時空間コードが0000の物理量データ(1801)の格納されている記憶装置(207)の先頭アドレスだけを記憶しておけば、時空間DB(105)は指定された時空間コードが割り当てられた物理量データの記憶されているアドレスを容易に特定できる。
【００７４】
斜め切断面が通過する時空間分割領域を特定する手順の概要を、図１９に示す。図１９(a)において、直方体(1901)の上を斜めに通る３つの辺（1900-1,1900-2,1900-3）から構成される面が、斜め切断面である。そして斜め切断面によって切断された直方体(1901)が表示対象である。斜め切断面が通る要素（物理量データ(1801)の１レコード）は、斜め切断面の外接直方体(1902)と接触する。逆に、直方体(1901)に含まれる座標のうち、斜め切断面の外接直方体(1902)に含まれない座標は、斜め切断面が通過しないことは明らかであるため、時空間検索部(104)が検索を行う時、斜め切断面の外接直方体(1902)の（８つの）頂点の座標値を求め、続いて求められた座標値の範囲をもとに、外接直方体に含まれる時空間分割領域の時空間コードを求めることで、読み出すべき時空間分割領域を特定する。これにより、読み出し対象の時空間分割領域を少なくできる。
【００７５】
ただし、それでもなお、不必要な時空間分割領域が読み出されることがある。これを効率的にするためには、切断面を細かく分割する(1903)ことが有効である。図１９のとおり、斜め切断面を、x軸、y軸、z軸の何れかに垂直な面によって細かく分割し、分割された斜め切断面ごとに外接直方体を求めると、読み出し対象のデータをより絞り込むことが可能になる。図１９の例では、図１９(a)に示された斜め切断面を、x軸に垂直な面で４分割し、またy軸に垂直な面で２分割した場合の例を示している。この場合、分割された斜め切断面ごとの外接直方体(1903)は、分割前(図１９(a))の外接直方体(1902)よりも小さくなるため、読み出すべき時空間分割領域が少なくなる。たとえば図１９(b)の、一点鎖線で囲まれた領域(1904)は、分割された斜め切断面ごとの外接直方体に含まれないため、読み出し不要と判断できる。このように分割することにより、読み出すべき時空間分割領域の量を削減でき、高速化に繋がる。なお、斜め切断面の分割数は、科学データ分析システムが自動的に決定してもよいし、ユーザが指定した数で分割するように構成されていてもよい。
【００７６】
図２０にその概念図を示す。ここでは簡単のため2次元面で表示した。太線で示された各要素をまとめた時空間分割領域には、時空間コード(2001)が付与されている。
【００７７】
これに対し、斜め切断面(2002)が通るとする。図２０において、一点鎖線で記載した矩形(2005)は、この斜め切断面(2002)の外接矩形である。この外接矩形(2005)を含む時空間分割領域のなかには、斜め切断面(2002)が交差しないものも含まれる（たとえば時空間コードが0010,1100,1101の時空間分割領域）。
【００７８】
ここで、この斜め切断面(2002)がちょうど本データの全体の中央で２分割されるとすると、左半分の外接矩形(2003)、右半分の外接矩形(2004)の２つの外接矩形が構築できる。このように、斜め切断面(2002)を分割して、分割された斜め切断面それぞれについて外接矩形を構築すると、たとえば時空間コードが1100,1101の時空間分割領域は外接矩形に含まれなくなり、不要なデータが読み出されにくくなる。この外接矩形のそれぞれについて、四隅の座標値の大小関係を判定すれば、どの区画と交差するかは容易に判定できる。
【００７９】
ここで、斜め切断面になりうる要素が持ちうる時空間コードは、外接矩形(2003)と外接矩形(2004)が交差する区画の時空間コードのいずれかと一致するはずである。したがって、外接矩形(2003)と外接矩形(2004)が交差する区画の時空間コードを検索条件文の条件に追加することにより、不要な区画に含まれる要素との判定を省略でき、結果的に高速に処理ができる。
【００８０】
図１７の説明に戻る。時空間検索部(104)は検索条件文の条件（斜め切断面を指定している条件）を、分割された斜め切断面を特定する複数の検索条件文に書き換え(1701)、上で述べた要領（外接直方体（外接矩形）に含まれる時空間分割領域の時空間コードを求める）で、書き替えた複数の条件をさらに時空間コードを用いた条件に変換して時空間DB(105)に送信する(1702)。それぞれの条件について、時空間DB(105)から検索結果を受け取ると(1703)、時空間検索部(104)はそれぞれの結果を統合し(1704)、画像生成部へ統合したデータを返送する。
【００８１】
時空間検索部(104)で生成されたデータを受け取った画像生成部(102)は、受け取ったデータを一旦DRAM(208)に記憶し、DRAM(208)に記憶したデータをもとに断面画像を生成し、表示情報送受信部(103)へ返答する。図２１を用いて、この画像生成の方法の概念を説明する。まず、実施例２に係る画像生成部(102)による、各座標の色の決定方法を説明する。図２１において、細い実線で記載された正方形（各格子点を中心とし、一辺の長さが0.5の正方形）のことを「格子領域」と呼ぶこととする（たとえば図２１において、格子点(2804)を含む格子領域は、3.5≦x＜4,  1≦y＜1.5の範囲の正方形である）。
【００８２】
実施例２に係る画像生成部(102)は、斜め切断面(2803)上の各点の座標の色（画素値）を決定する必要があるが、以下の方法で色情報を求める。図２１において、斜め切断面(2803)上の点(2805)の色を決定する場合の例を説明する。図２１の点(2805)は、格子点(2804)を含む格子領域を通過する。この場合画像生成部(102)は、点(2805)の物理量がこの点(2805)が含まれる格子領域の格子点(2804)の物理量と同じと見做して、色を決定する。つまり格子点(2804)を含む格子領域上の全ての座標の物理量は同じとみなされる。
【００８３】
以上の方法で画像生成部(102)は、斜め切断面(2803)上の各点(2805等)の座標の色を決定する。まず画像生成部(102)は、斜め切断面(2803)上で、色（画素値）を決定すべき点を抽出する。たとえば画像生成部(102)は、斜め切断面(2803)の点のうち、x座標の値が0.1の整数倍の座標を選択する等の方法で、一定間隔で点を選択するとよい。続いて画像生成部(102)は、選択した点が通過する格子領域に含まれる格子点の座標を特定する。格子点の物理量データ(1801)は、先の処理（時空間検索処理(403)）で記憶装置(207)からDRAM(208)に読み出されているため、画像生成部(102)はDRAM(208)上の複数の物理量データ(1801)の中から、特定された格子点の物理量データ(1801)を探しだし、物理量(906)を特定する。そして画像生成部(102)は特定された格子点の物理量の値を色情報に変換することで、斜め切断面上の点の色を決定する。
【００８４】
生成された画像は、実施例１と同様に、表示情報送受信部(103)によって表示用画像データ(2201)に変換されクライアントコンピュータ(111)へと送付される。実施例２における表示用画像データ(2201)について、図２２に示す。これも基本的には実施例１と同様であるが、断面(2202)の表現が異なる。
【００８５】
実施例２では、クライアントコンピュータ(111)から送られてきた表示条件データ(1601)に対応する断面を特定するために、表示対象となる全ての断面について、形状を座標列で送付する形態をとる。断面(2202)には表示対象の座標値のリストが記述されており、画像(2203)には断面(2202)に記述されている座標値に対応した画素値（色情報）のリストが格納される。これにより、クライアントコンピュータ(111)側では単に3次元形状を表示するだけで適切な三次元表示が実行できる。この形態をとることによりクライアントコンピュータ(111)側での三次元計算を削減でき、比較的非力なクライアントコンピュータ(111)であっても三次元表示が可能となる。
【００８６】
ただし、一般的な三次元表示では面の向き等についても注意を払う必要があるため、その場合は適切な情報を付与するか、面の座標の記述方向（右回り、左回り）をもって向きを特定するようにしてもよい。なお、この計算についてはクライアントコンピュータ(111)側で実施してもよく、その場合は、切断面に一意の番号を振るなどして貼り付け面を特定することが必要となるが、通信量は実施例２よりも少なくできる。
【００８７】
図２３に実施例２でWebブラウザ(112)上に断面を表示した結果を示す。斜めに切断された図形が表示される。
【００８８】
以上の構成により、x軸、y軸、またはz軸に垂直な断面だけでなく、任意の向きの断面が三次元表示可能となり、科学データの分析が短時間で行えるようになる。なお、上では斜め切断面上への画像表示方法について説明したが、上で説明した画像表示方法は、x軸、y軸、またはz軸に垂直な断面に画像を表示する際に用いられてもよい。
【実施例３】
【００８９】
続いて実施例３に係る科学データ分析システムについて説明する。実施例３に係る科学データ分析システムのハードウェア構成は、実施例１または２に係る科学データ分析システムと同じであるため、図示は略す。実施例３に係る科学データ分析システムは、実施例２で説明した科学データ分析システムと同様、斜め切断面の表示が可能であることに加え、時間の経過に伴い値が変化する物理量の表示が可能である。図２４に、実施例３に係る科学データ分析システムがWebブラウザ(112)上に表示する、表示画面(300’’)の例を示す。実施例３では、表示画面(300’’)上に時間表示範囲の設定コントロール(2401)と、アニメーション用のスライドバー(2402)が付与されている。ユーザがこのスライドバー(2402)を動かすことにより、表示されている図形上の画像が切り替わるので、ユーザは時間とともに物理量がどのように変化しているかを視覚的に確認できる。
【００９０】
図２５に実施例３に係る科学データ分析システムで用いられる、表示条件データ(2501)と画像生成条件データ(2503)を示す。実施例３では、表示条件データ(2501)に時間範囲(2502)が加わる点が、実施例２で説明した表示条件データ(1601)と異なる。この時間範囲(2502)には、画面上の設定コントロール(2401)に設定された値が格納される。
【００９１】
表示情報送受信部(103)はこれを元に画像生成条件データ(2503)を生成する。実施例３では、表示情報送受信部(103)は表示条件データ(2501)の、時間範囲(2502)を一コマ（一例として１秒）ごとにわけて画像生成条件データ(2503)を生成する。そのため、図２５に示されているように、画像生成条件データ(2503)には時刻(2504)が含まれる。結果的に、実施例２では６〜７枚の画像生成が行われていたところが、実施例３に係る科学データ分析システムでは、時間コマ数倍の画像生成が行われることになる。たとえば時間範囲(2502)として、０時０分から０時１分が指定された時、１秒毎の画像（０時０分０秒、０時０分１秒、０時０分２秒、…０時０分５９秒、０時１分０秒の画像）が生成される。
【００９２】
画像生成条件データ(2503)を用いて画像を生成するまでの手順は、実施例２とほぼ同様である。ただし、時刻の条件が入っているため、時空間コードに時刻（または時間帯）を表すコードが含まれる。例えば時間的に前半、後半にデータを分割して先頭に0、1を付与し、それぞれを更に半分にして00、01、10、11とコードが割り振れる。すると、例えば、右上の枠内で後半の前半のデータで左下、右下、左上、右上を示すコードは、101000、101001、101010、101011とそれぞれ割り振られる。
【００９３】
このような計算で割り振られた時空間コードを用いて検索できるように、時空間DB(105)に格納されているデータが構築されている。図２６に実施例３の物理量データ(2601)を示す。この構成では、実施例２の構成に加えて時刻t(2602)が加わっているとともに、時空間コード(1802’)についても前述の時間的な枠の桁を加えたコードを格納する。なお、実施例２と同じく、実施例３に係る科学データ分析システムにおいても、登録部(106)が時空間DB(105)に物理量データ(2601)を登録する際、時空間コード(1802’)の同じ物理量データ(2601)を記憶装置上の連続領域に格納する。検索の際には、実施例２と同様に、実施例３に係る時空間検索部は、検索条件文の条件を時空間コードを用いた条件に変換するが、その際時空間検索部は座標値に加えて、画像生成条件データ(2503)に含まれている時刻(2504)も用いて時空間コードを算出するとよい。
【００９４】
前記手順により、各時刻の各断面の画像が生成された後、それらは表示用画像データに変換されてクライアントコンピュータ(111)に送付される。図２７に実施例３の表示用画像データ(2701)を示す。実施例３では、各画像に対応する時刻(2504)が存在するため、表示用画像データ(2701)には画像に対応する時刻(2702)が格納される。３Ｄ表示部(113)はこれを受け取り、アニメーション用のスライドバー(2402)の操作に応じて表示する画像を切り替える。これにより、時間変化をアニメーションの形で表示できる。なお、このスライドバーを自動で進めるなどの機能を追加し、自動でアニメーションが進むようにしてもよい。
【００９５】
実施例３に係る科学データ分析システムは、上で述べた機能を有することにより、時間的に変化する物理量についても、任意の条件でデータを可視化できるため、さらに科学データの分析が加速できるようになる。
【００９６】
以上、本発明のいくつかの実施例を説明してきたが、これらは、本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
【００９７】
たとえば上で述べた実施例では、時空間検索部等の機能ブロックが、汎用的な計算機のプロセッサでプログラムが実行されることにより実現されるものである例を説明した。ただし別の実施形態として、実施例で説明した一部または全ての機能ブロックは、ＦＰＧＡやＡＳＩＣ等のハードウェアで実装されていてもよい。
【００９８】
また、データベースサーバやクライアントコンピュータで実行される（１または複数の）プログラムは、プログラム配布サーバや記憶メディアを介して提供され、プログラムを実行する装置にインストールされてもよい。なお、ここでの記憶メディアとは、データを非一時的に記憶するコンピュータ可読媒体を意味し、例えばＩＣカード、ＳＤカード、ＤＶＤ等の不揮発性記憶媒体である。
【００９９】
また上で述べた実施例では、科学データ分析システムは、データベースサーバとクライアントコンピュータという、少なくとも２台の計算機から構成される例を説明した。ただし別の実施形態として、１台の計算機で科学データ分析システムが構成されてもよい。たとえばデータベースサーバが、画像生成部(102)、表示情報送受信部(103)、時空間検索部(104)、時空間DB(105)、登録部(106)に加えて、上で述べた実施例ではクライアントコンピュータが有していたWebブラウザ(112)や3D表示部(113)と表示条件設定部(114)等を有していてもよい。
【符号の説明】
【０１００】
(101)データベースサーバ
(102)画像生成部
(103)表示情報送受信部
(104)時空間検索部
(105)時空間DB
(111)クライアントコンピュータ
(112)Webブラウザ
(113)３Ｄ表示部
(114)表示条件設定部
【図１】
2018032135.tif 000003
【図２】
2018032135.tif 000004
【図３】
2018032135.tif 000005
【図４】
2018032135.tif 000006
【図５】
2018032135.tif 000007
【図６】
2018032135.tif 000008
【図７】
2018032135.tif 000009
【図８】
2018032135.tif 000010
【図９】
2018032135.tif 000011
【図１０】
2018032135.tif 000012
【図１１】
2018032135.tif 000013
【図１２】
2018032135.tif 000014
【図１３】
2018032135.tif 000015
【図１４】
2018032135.tif 000016
【図１５】
2018032135.tif 000017
【図１６】
2018032135.tif 000018
【図１７】
2018032135.tif 000019
【図１８】
2018032135.tif 000020
【図１９】
2018032135.tif 000021
【図２０】
2018032135.tif 000022
【図２１】
2018032135.tif 000023
【図２２】
2018032135.tif 000024
【図２３】
2018032135.tif 000025
【図２４】
2018032135.tif 000026
【図２５】
2018032135.tif 000027
【図２６】
2018032135.tif 000028
【図２７】
2018032135.tif 000029