(57)【特許請求の範囲】
【請求項１】
基本となる平面図形の構成点の数を格納するヘッダ情報領域と上記構成点の位置座標を格納する構成点情報領域とを有する立体図形データを記憶装置に記録する立体図形データの記録方法であって、
上記立体図形データ内に上記基本となる平面図形に施す拡張を指定する制御フラグを設け、
上記制御フラグがオンの場合は、
上記ヘッダ情報領域または上記構成点情報領域に上記制御フラグが指定する拡張に関する情報を格納する領域を新たに設けることを特徴とする立体図形データの記録方法。
【請求項２】
基本となる平面図形の構成点の数を格納するヘッダ情報領域と上記構成点の位置座標を格納する構成点別の構成点情報領域とを有する立体図形データを記憶装置に記録する立体図形データの記録方法であって、
上記ヘッダ情報領域内に立体図形全体に係る形状表現の拡張を指定する第１の制御フラグを設け、
上記形状表現の拡張がある場合は、
上記第１の制御フラグをオンにし、
上記ヘッダ情報領域内に上記立体図形の共通拡張情報を格納する領域または全ての上記構成点情報領域内に該構成点の個別拡張情報を格納する領域を新たに設けることを特徴とする立体図形データの記録方法。
【請求項３】
請求項２に記載の立体図形データの記録方法であって、
上記第１の制御フラグは上記立体図形の全ての構成点の位置を３次元座標を用いて表現することを指定するΣ（ｘ，ｙ，ｚ）拡張フラグを含み、
上記Σ（ｘ，ｙ，ｚ）拡張フラグがオンの場合は、全ての上記構成点の個別拡張情報として当該構成点のｚ座標を格納することを特徴とする立体図形データの記録方法。
【請求項４】
請求項２に記載の立体図形データの記録方法であって、
上記第１の制御フラグは上記立体図形の存在する標高を指定することを示すｚΣ（ｘ，ｙ）拡張フラグを含み、
上記ｚΣ（ｘ，ｙ）拡張フラグがオンの場合は、上記共通拡張情報として上記標高を指定するｚ座標を格納することを特徴とする立体図形データの記録方法。
【請求項５】
請求項２に記載の立体図形データの記録方法であって、
上記第１の制御フラグが上記構成点によって表現される構造と該構造に付随するパラメータを用いて上記立体図形を表現することを指定する（ｆ，ｄ）拡張フラグを含み、
上記（ｆ，ｄ）拡張フラグがオンの場合は、
上記共通拡張情報として上記構造を表す意味情報ｆと上記構造に付随するパラメータｄとを格納することを特徴とする立体図形データの記録方法。
【請求項６】
請求項２に記載の立体図形データの記録方法であって、
上記第１の制御フラグが上記構成点情報領域内の第２の制御フラグの有無を指定する構成点拡張フラグを含み、
上記個別拡張情報を持つ構成点がある場合は、
上記構成点拡張フラグをオンにし、
全ての上記構成点情報領域内に第２の制御フラグを格納する領域を設け、
それぞれの構成点の個別拡張情報の有無に基づいて、上記第２の制御フラグによって上記構成点に係る形状表現の拡張を指定し、
上記第２の制御フラグがオンの場合は、上記構成点情報領域内に該構成点の個別拡張情報を格納する領域を新たに設けることを特徴とする立体図形データの記録方法。
【請求項７】
基本となる平面図形の構成点の数を格納するヘッダ情報領域と上記構成点の位置座標を格納する構成点別の構成点情報領域とを有する立体図形データを記憶装置に記録する立体図形データの記録方法であって、
上記構成点情報領域内に上記構成点に係る形状表現の拡張を指定する制御フラグを設け、
上記形状表現の拡張がある場合は、
上記制御フラグをオンにし、
上記構成点情報領域内に上記構成点の個別拡張情報を格納する領域を新たに設けることを特徴とする立体図形データの記録方法。
【請求項８】
請求項７に記載の立体図形データの記録方法であって、
上記制御フラグが上記構成点の位置を３次元座標を用いて表すことを指定するΣ（ｚ，ｙ，ｚ）拡張フラグを含み、
上記Σ（ｘ，ｙ，ｚ）拡張フラグがオンの場合は、
上記構成点の個別拡張情報として上記構成点のｚ座標を格納することを特徴とする立体図形データの記録方法。
【請求項９】
請求項７に記載の立体図形データの記録方法であって、
上記制御フラグが上記構成点に基づく構造と該構造に付随するパラメータを用いて立体図形を表現することを指定する（ｆ，ｄ）拡張フラグを含み、
上記（ｆ，ｄ）拡張フラグがオンの場合は、
上記構成点情報領域内に個別拡張情報として上記構造を表す意味情報ｆと上記構造に付随するパラメータｄとを格納することを特徴とする立体図形データの記録方法。
【請求項１０】
基本となる平面図形の構成点の数を格納するヘッダ情報領域と上記構成点の位置座標を格納する構成点別の構成点情報領域とを有する立体図形データを記憶装置に記録する立体図形データの記録システムであって、
入力装置と、
上記入力装置より入力された立体図形の形状情報を上記立体図形データに変換するデータ加工装置とを有し、
上記データ加工装置は、
上記基本となる平面図形に施す拡張を指定する制御フラグを格納する領域を設け、
上記制御フラグがオンの場合は、上記拡張に関する情報を格納する領域を新たに設けることを特徴とする立体図形データの記録システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、地理情報処理（ＧＩＳ  ：  Ｇｅｏｇｒａｐｈｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍ）や、計算機支援設計（ＣＡＤ  ：  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）のような図形処理システムにおける立体図形データの記録方法に関し、特に立体形状を包含する図形データの記録方法に関する。
【０００２】
【従来の技術】
従来、紙地図の電子化に基づく地理情報システムが開発され、２次元地図データの検索と属性検索を中心に利用されていた。しかし、都市の複雑化に伴い、地下街、立体交差や地下鉄、上下水道配管、電気・ガス配管などに見られるような地上・地下まで及ぶ都市の階層化が進んできており、地理情報処理システムにおいてより高度な管理／利用を行なうためには、より表現能力の高い３次元でのデータ管理が必要となってきている。
【０００３】
図１５に、従来の２次元図形表現方式を示す。閉領域１５０１は、以下に示す階層構造より構成される。
【０００４】
（１）閉領域１５０１は、点Ａ、点Ｂ、点Ｃ、点Ｄによって定義される。
（２）点Ａの座標は（ＸＡ  ，ＹＡ  ）である。（他の点Ｂ  、Ｃ  、Ｄ  の座標も同様に定義される）
【０００５】
実際のデータ構造は、図形の属性情報や構成点数を示すヘッダ情報と、各構成点の（ｘ，ｙ）座標で構成されている（テーブル１５０３）。ヘッダ情報内の属性情報には、例えばその折れ線の色や種類（実線、破線等）、太さなどが格納される。また、図形が１５０１のような閉領域であるか、１５０２のような開いた折れ線であるかの判定をヘッダ情報内の制御フラグによって行うことにより、両者を区別する事が可能となる。
【０００６】
３次元図形表現方式は、ＣＡＤ  の分野を中心に開発されてきた。図１６に、ＣＡＤの典型的な３次元図形表現方式を示す。立体１６０１は、以下に示す階層構造より構成される。
【０００７】
（１）立体１６０１は、面ＡＢＣＤ、面ＡＢＦＥ、面ＢＣＧＦ、面ＣＤＨＧ、面ＤＡＥＨ、面ＥＦＧＨから構成される。
（２）面ＡＢＣＤは、点Ａ、点Ｂ、点Ｃ、点Ｄによって定義される。
（他の面ＡＢＦＥ、面ＢＣＧＦ、面ＣＤＨＧ、面ＤＡＥＨ、面ＥＦＧＨも同様に定義される）
（３）点Ａの座標は、（ＸＡ，ＹＡ，ＺＡ）である。
（他の点Ｂ、点Ｃ、点Ｄ、点Ｅ、点Ｆ、点Ｇ、点Ｈ、も同様に定義される）
【０００８】
すなわち従来のＣＡＤの方式では、「立体は複数の面から構成され、各面は複数の点から構成される」といった階層構造で立体を管理している。実際のデータ構造は、図形の構成を示すヘッダ情報と、各面を構成する各構成点の（ｘ，ｙ，ｚ）座標で構成されている（テーブル１６０２）。
【０００９】
一方、特開平４−１４９６８１号には、立体図形を（ｘ，ｙ）平面に底面を持つ多角柱のみに限定することでデータ量の節約を図った３次元データの簡易作成方式が開示されている。図１７に、この方式による３次元図形表現方式を示す。立体１７０１は、以下に示す階層構造より構成される。
【００１０】
（１）立体１７０１は、面ＡＢＣＤを底面に持つ多角柱である。
（２）面ＡＢＣＤは、点Ａ、点Ｂ、点Ｃ、点Ｄによって定義される。
（３）点Ａ  の座標は、（ＸＡ  ，ＹＡ  ）である。（他の点Ｂ  、点Ｃ  、点Ｄ  も同様に定義される）
（４）立体１７０１の高さは、ｈである。
【００１１】
すなわち、この方式では、多角柱は底面図形の形状と高さがあれば表現できる、という性質を利用して３次元の立体を管理している。実際のデータ構造は、図形の属性情報を示すヘッダ情報と、多角柱の高さｈ、底面図形を構成する各構成点の（ｘ，ｙ）座標、によって構成されている（テーブル１７０２）。
【００１２】
【発明が解決しようとする課題】
図１６で説明したＰＨＩＧＳ（ｔｈｅ  Ｐｒｏｇｒａｍｍｅｒｓ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈｉｃｓ  ｓｔａｎｄａｒｄ）の方式では、全ての３次元図形を汎用的に表現できる反面、同じ構成点の座標がその点を含む面のデータ内に何度も使われるなど冗長な部分もあり、３次元図形を表現するために多くのデータ量を取ることがあるという問題があった。一方、特開平４−１４９６８１号の多角柱による３次元図形表現方式（図１７）は、データ量の節約は果たせるが、多角柱のみしか表現できず、汎用的な立体図形表現はできなかった。
【００１３】
地理情報処理システムでは広域に渡って大量の図形データを取り扱うため、その図形データ格納領域の容量低減が最も重要な課題となる。しかし一方、地理情報として地物の詳細な表現が必要な場合もあり、同じデータ構造でその双方の要求を満たす必要がある。また地理情報の利用面から考えると、地図の表現、すなわち従来の平面地図での表示も必要となる。立体図形データを平面に射影して、平面図形データとして容易に扱える事が必要とされている。
【００１４】
本発明は、上述の従来例における問題点に鑑み、データ容量が小さく、かつ必要な詳細さを実現することができ、さらに平面図形としての利用も立体図形と同様に容易に行える立体図形データの記録方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
立体図形データを取り扱う際、構成点の座標列（ｘ，ｙ）  によって構成される従来の平面図形データ管理方法（例えば、図１５）をベースとして、各図形一つ一つに対して以下に示す３種類のデータ構造の拡張を単独に、あるいは複数同時に適用出来るようにする。具体的には、立体図形データをヘッダ情報と構成点情報とから構成し、ヘッダ情報には図形全体に共通な高さ値・形状・色などの属性情報を格納し、構成点情報には各構成点の位置座標を表す（ｘ，ｙ）座標列を格納するとともに、上記ヘッダ情報内に制御フラグを設け、該制御フラグがオンのときは、すべての構成点に対して施すべき所定の拡張に関する拡張情報を格納する領域を、上記ヘッダ情報または上記構成点情報内に付加するようにする。データ構造の拡張は、例えば以下の３種類である。
【００１６】
（１）Σ（ｘ，ｙ，ｚ）拡張：構成点の座標を、（ｘ，ｙ）ではなく、（ｘ，ｙ，ｚ）で管理する。
（２）ｚΣ（ｘ，ｙ）拡張：各図形のヘッダ情報に１つＺ座標を付加する。このＺ座標はその図形の存在する標高を示す。
（３）（ｆ，ｄ）拡張：形状を表す意味情報ｆとパラメータｄを付加する。
【００１７】
これらの拡張は図形の構成点のすべてに対して施すようにしてもよいし、各構成点一つ一つに対して拡張するようにしてもよい。そして、これらの拡張を適用した図形データを混在して管理するようにする。
【００１８】
【作用】
本発明によれば、平面図形である点、線、面のそれぞれに対し、Σ（ｘ，ｙ，ｚ）拡張を適用することにより、空間中の点、立体折線、斜平面などが表現できる（例えば、後述する実施例の図３参照）。また同じ点、折線、平面のそれぞれに対し、ｚΣ（ｘ，ｙ）拡張を適用することにより、共通の高さを持った点、折線、平面などが表現できる。またこれらの図形に対し、さらに（ｆ，ｄ）拡張を適用することにより、多角柱、多角錐、円、球、帯状、チューブ状などの様々な構造の図形が表現できる（例えば、後述する実施例の図１参照）。
【００１９】
このデータ構造の混在管理により、データ容量が小さく、かつ必要な詳細さを実現する立体図形の記録方法が実現できる。また、平面図形を拡張の基本形態としているため、データ構造が従来の平面図形のものと類似しており、平面図形としての利用が立体図形と同様に容易に行える。
【００２０】
【実施例】
以下、図面を用いて本発明の実施例を説明する。
【００２１】
図２は、本発明の立体図形データの記録方法を用いた一実施例である立体図形管理システムを実現するための構成図である。
【００２２】
キーボード２０１、およびマウス２０２は、図形の検索・編集などを行うときの図形の指示等に用いられるインタフェース用の機器である。ディスプレイ２０３は図形の表示等に用いられる。プリンタ２０４は図形の印刷出力に用いられる。オートディジタイザ２０５は紙などに描かれた地図などの図形を読み込んでディジタル化するのに用いられる。ディジタル化した図形は、立体図形データとしてメモリ・ハードディスク等の記憶装置２１０に格納される。
【００２３】
立体図形データ管理システムは、ワークステーションやパーソナルコンピュータなどの計算機２０６  上で実行される。これは、図形の表示や属性検索、図形編集などを行うアプリケーション部２０７  、記憶装置２１０  からの図形の入力を行うデータ入力部２０８  、記憶装置２１０  への図形の出力を行うデータ出力部２０９  からなる。
【００２４】
本発明の立体図形データの記録方法のベースになるのは平面図形である。平面図形の例を、図３の３０１、３０２、３０３に示す。これを表現するデータ構造は、以下のもので構成される。
【００２５】
（１）  ヘッダ情報（１個）  ：図形の構成点数、次元フラグ、属性情報
（２）  構成点情報（Ｎ個）  ：（ｘ，ｙ）座標
【００２６】
図形の構成点数は、図形が何個の点によって定義されているかを示す。三角形は３個の点、四角形は４個の点で構成されている。次元フラグは、その図形の次元数を指定することによって、点３０１、線３０２、面３０３を区別する。属性情報には、線種や線色、ハッチパターン、他のデータへのリンク情報などが格納される。構成点情報は、上記の構成点数で指定された数だけ存在し、構成点の位置を示す（ｘ，ｙ）座標を格納する。
【００２７】
本発明では、このような平面図形を表現するデータ構造に対し、以下に示す３種類の拡張を施して３次元図形を表現する。これらの３種類のデータ構造の拡張は、それぞれ単独に用いてもよいし、あるいは一つの平面図形に対し複数の拡張を同時に適用してもよい。
【００２８】
（１）Σ（ｘ，ｙ，ｚ）拡張：構成点の座標を、（ｘ，ｙ）ではなく、（ｘ，ｙ，ｚ）で管理する。
（２）ｚΣ（ｘ，ｙ）拡張：各図形のヘッダ情報に１つＺ座標を付加する。このＺ座標はその図形の存在する標高を示す。
（３）（ｆ，ｄ）拡張：形状を表す意味情報ｆとパラメータｄを付加する。
【００２９】
以下、３種類の拡張の内容を詳細に説明する。
【００３０】
１．  Σ（ｘ，ｙ，ｚ）拡張：
平面図形では、各図形の構成点を（ｘ，ｙ）座標列で表現する。図形全体にΣ（ｘ，ｙ，ｚ）拡張を適用することによって、各図形の構成点は（ｘ，ｙ，ｚ）座標列で表現される。例えば図３において、平面図形である点３０１、線３０２、面３０３にΣ（ｘ，ｙ，ｚ）拡張を適用することによって、それぞれ、空間中の任意の位置を占める点３０４、傾斜や屈折を含む立体折れ線３０５、傾斜平面３０６が表現できる。任意形状の立体も、傾斜平面３０６を組み合せることによって表現することができる。
【００３１】
実際の地理データにおける利用面では、立体折れ線３０５は下水管等の地下配管の表現に、傾斜平面３０６は山の斜面、家屋の屋根などの表現に用いられる。
【００３２】
また、構成点一つに対してΣ（ｘ，ｙ，ｚ）拡張を適用することもできる。この場合、（ｘ，ｙ）座標で表現された複数の構成点の中で一つだけ（ｘ，ｙ，ｚ）座標で表現された構成点が存在することになる。本実施例では、この構造の解釈として、「その構成点以降の構成点のＺ座標はその構成点のＺ座標と同じ値になる」と定義する（データ構造の詳細は後述）。これにより、ある構成点以降の幾つかの構成点で連続して同じＺ座標が続く場合、データ量の削減が実現できる。
【００３３】
実際の地理データにおける利用面では、例えばビルの配管などを考えると、階と階との接続のため立体管理が必要となるが、各階ごとに見れば同じ高さのデータが続くため平面図形として表すことができるものも多い。このような場合に、この「構成点へのΣ（ｘ，ｙ，ｚ）拡張」を適用する事によりデータ量の削減が実現できる。
【００３４】
２．  ｚΣ（ｘ，ｙ）拡張：
ｚΣ（ｘ，ｙ）拡張は、図形全体に対して一つのＺ座標を付加する。このＺ座標は図形の標高（海抜標高・地表面からの高さなど）を示す。実際の地理データにおいて、道路や空き地など、立体管理の元でも平面図形として表現されるものは多い。このとき上述のΣ（ｘ，ｙ，ｚ）拡張を適用して、各構成点の位置を（ｘ，ｙ，ｚ）座標で示すと、全構成点で同じＺ座標を格納する事になり、冗長な表現となる。そこで、このｚΣ（ｘ，ｙ）拡張を適用し、各構成点の位置を（ｘ，ｙ）座標で示し、Ｚ座標は図形全体に対して指定するという方法を用いる。
【００３５】
図３に、ｚΣ（ｘ，ｙ）拡張の例を示す。従来の平面図形である点３０１、線３０２、面３０３が、それぞれ高さを持った点３０７、線３０８、面３０９に拡張される。実際の地理データにおける利用面では、等高線などの地面に水平な図形の表現に用いられる。また、全ての立体図形に対してこの拡張を適用する事で、図形の標高が表現できる。
【００３６】
３．  （ｆ，ｄ）拡張：
チューブ状の図形を表現する場合、中心線を示す折れ線図形とそのチューブの径が与えられれば表現に必要なデータは揃う。同様に、道路のような幅を持った帯状図形はその中心線と帯の幅を、円や球はその中心点の座標と半径を、三角柱・四角柱などの多角柱は底面図形の形状と側辺の高さを、三角錐・四角錐などの多角錐は底面図形の形状と頂点の座標（ｘ，ｙ，ｚ）を、それぞれ与えることで、それらの構造が表現できる。
【００３７】
（ｆ，ｄ）拡張ではこの方法を適用し、ヘッダ情報にその図形の構造を示す意味情報ｆと、それに必要なパラメータｄを加える。これにより、一つの図形から、各種の図形のバリエーションが表現できる。
【００３８】
意味情報ｆは、前もって定めておいた円、球、多角柱、多角錐、チューブ状構造、および帯状構造などの形状の中からその図形の種類を指定する情報である。指定された意味情報ｆに応じてパラメータｄの適用方法が決定される。すなわち、パラメータｄは、意味情報ｆで決定された形状生成手段において用いられるパラメータとなる。パラメータｄの数は複数でも良く、その数は意味情報ｆから決定する。形状生成手段とは、具体的には、意味情報ｆで決定された形状を生成するプログラムである。パラメータｄは、そのプログラムで用いられるパラメータということである。
【００３９】
図１に、（ｆ，ｄ）拡張の適用例を示す。第１列（１０１〜１０６）には、基本形態として、ｚΣ（ｘ，ｙ）拡張またはΣ（ｘ，ｙ，ｚ）拡張を行った点・線・面の図形を示す。第２列（１０７〜１１１）には、第１列の各図形に対して、意味情報ｆを多角柱として（ｆ，ｄ）拡張を行った図形を示す。また第３列（１１２〜１１７）には、第１列の各図形に対して、意味情報ｆを円や球、帯、チューブ、多角錐などの様々な構造として（ｆ，ｄ）拡張を行った図形を示す。
【００４０】
意味情報ｆを多角柱とし、パラメータｄをその高さと定義することにより、点１０１や点１０４から地面に垂直に立つポール１０７や１１０が表現できる。また、線１０２から屏風形状の図形１０８が、面１０３からその面を底面とする多角柱１０９が表現できる
。
【００４１】
意味情報ｆを円、あるいは球とし、パラメータｄをその半径とすることにより、点１０１から円や球１１２が、また点１０４から円や球１１５が作成される。意味情報ｆを帯、あるいはチューブとし、パラメータｄをその径とすることにより、線１０２から帯やチューブ１１３が、また線１０５から帯やチューブ１１６が作成される。意味情報ｆを多角錐とし、パラメータｄをその頂点座標（ｘ，ｙ，ｚ）とすることにより、面１０３から多角錐１１４が、また面１０６から多角錐１１７が作成される。
【００４２】
図４に、本実施例において立体図形を表現するデータ構造を示す。このデータ構造は、従来の平面図形のデータ構造と同様、一個のヘッダ情報と構成点の数だけ存在する構成点情報とからなる。ヘッダ情報と構成点情報は、いずれも、常に存在する情報と各種の拡張によって付加される情報とから構成される。各種の拡張によって付加される情報は括弧〔〕をつけて表わした。これらの情報が付加されるかどうかは各種の拡張が適用されているかどうかによるが、これを指定するフラグと付加される情報とを矢印で結んだ。
【００４３】
ある図形にΣ（ｘ，ｙ，ｚ）拡張を適用する場合、その図形のヘッダ情報のΣ（ｘ，ｙ，ｚ）拡張フラグ４０２を「ＯＮ」とする。これによって、その図形の全構成点情報にＺ座標４１５が拡張情報として付加される。
【００４４】
また、個々の構成点にΣ（ｘ，ｙ，ｚ）拡張を適用する場合、ヘッダ情報の構成点拡張フラグ４０１を「ＯＮ」とする。これにより、全構成点情報内にフラグ情報（４１１、４１２）が付加される。この中のΣ（ｘ，ｙ，ｚ）拡張フラグ４１１を「ＯＮ」とすることにより、その構成点情報内にＺ座標４１５が拡張情報として付加される。
【００４５】
ｚΣ（ｘ，ｙ）拡張を適用する場合、ヘッダ情報のｚΣ（ｘ，ｙ）拡張フラグ４０３を「ＯＮ」とする。これによって、そのヘッダ情報内にＺ座標４０８が拡張情報として付加される。
【００４６】
（ｆ，ｄ）拡張を適用する場合、ヘッダ情報の（ｆ，ｄ）拡張フラグ４０４を「ＯＮ」とする。これによって、そのヘッダ情報に２種類の情報、すなわち意味情報ｆ（４０９）とパラメータｄ（４１０）とが、拡張情報として付加される。
【００４７】
個々の構成点に（ｆ，ｄ）拡張を適用する場合、まずヘッダ情報の構成点拡張フラグ４０１を「ＯＮ」とし、全構成点情報内にフラグ情報（４１１、４１２）を付加する。この中の（ｆ，ｄ）拡張フラグ４１２を「ＯＮ」とすることにより、その構成点情報内に意味情報ｆ（４１６）とパラメータｄ（４１７）が拡張情報として付加される。
【００４８】
本実施例の図２の立体図形管理システムにおいて、立体図形の入力と記憶装置への格納は、オートディジタイザ２０５、キーボード２０１、およびマウス２０２などを用いて行なわれる。立体図形の入力は、種々の方法で行なえばよい。例えば、立体図形の拡張形式、構成点の座標、その他各種パラメータをユーザが入力する方法がある。また、オートディジタイザ２０５から入力した図形をディスプレイ２０３に表示し、表示した図形から各構成点を指定して、その構成点に関する情報を入力するなどの方法を取ってもよい。入力された立体図形は、上述のデータ構造で記憶装置２１０に格納される。
【００４９】
さらに、立体図形の拡張形式をユーザが指定せず、汎用的な形で立体図形を入力した場合には、システムの側で最適な拡張形式を選択し、その拡張形式で表現するようにして記憶装置２１０に格納するようにしてもよい。また、従来より用いられているデータ構造で表現されている立体図形のデータを、上述のデータ構造に変換して記憶装置２１０に格納するようにしてもよい。
【００５０】
記憶装置２１０に格納された立体図形は、ユーザの指示に応じてディスプレイ２０３に表示することができる。また、検索位置座標を入力し、その座標を含む立体図形を検索して表示するなど、立体図形の検索に用いることもできる。
【００５１】
上述のデータ構造で表現された立体図形の表示／検索を行なうためには、これらのデータ構造をシステムにおいて解釈できなければならない。以下、そのアルゴリズムを説明する。
【００５２】
図５に、立体図形の表示／検索を行なうために図４に示した立体図形データの構造を解釈するアルゴリズムを示す。また、その動作を各ステップごとに以下に説明する。
【００５３】
［ステップ１］  ヘッダ情報からフラグ情報、すなわち構成点拡張フラグ４０１、Σ（ｘ，ｙ，ｚ）拡張フラグ４０２、ｚΣ（ｘ，ｙ）拡張フラグ４０３、（ｆ，ｄ）拡張フラグ４０４を読み込む。（５０１）
［ステップ２］  ヘッダ情報から各拡張に共通な属性、すなわち構成点数４０５、次元フラグ４０６、および属性情報４０７を読み込む。（５０２）
【００５４】
［ステップ３］  ｚΣ（ｘ，ｙ）拡張フラグ４０３がＯＮであれば、ヘッダ情報内のＺ座標４０８を読み込む。ＯＦＦであれば、Ｚ座標は０、あるいはあらかじめ定義済の基準値となる。（５０３、５０４、５０５）
［ステップ４］  （ｆ，ｄ）拡張フラグ４０４がＯＮであれば、ヘッダ情報内の意味情報ｆ（４０９）とパラメータｄ（４１０）を読み込む。（５０６、５０７）
【００５５】
［ステップ５］  構成点拡張フラグ４０１がＯＮであれば、構成点のフラグ情報、すなわち構成点のΣ（ｘ，ｙ，ｚ）拡張フラグ４１１、および構成点の（ｆ，ｄ）拡張フラグ４１２を読み込む。（５０８、５０９）
［ステップ６］  Ｘ座標４１３、およびＹ座標４１４を読み込む。（５１０）
【００５６】
［ステップ７］  Σ（ｘ，ｙ，ｚ）拡張フラグ４０２がＯＮの場合、あるいは構成点のΣ（ｘ，ｙ，ｚ）拡張フラグ４１１がＯＮの場合、Ｚ座標４１５を読み込む。（５１１、５１２）
［ステップ８］  構成点の（ｆ，ｄ）拡張フラグ４１２がＯＮであれば、意味情報ｆ（４１６）とパラメータｄ（４１７）を読み込む。（５１３、５１４）
【００５７】
［ステップ９］  構成点の（ｆ，ｄ）拡張の種類により表示／検索などの処理を行なう。（５１５）
［ステップ１０］  図形構成点の数だけ、［ステップ５］〜［ステップ９］までを繰り返す。（５１６）
【００５８】
［ステップ１１］  図形の（ｆ，ｄ）拡張の種類により表示／検索などの処理を行なう。（５１７）
［ステップ１２］  立体図形テーブルに存在する図形の数だけ、［ステップ１］〜［ステップ１１］までを繰り返す。（５１８）
【００５９】
以降では、具体的な図形の例とそれを表現する図４で説明したデータ構造のテーブルを示す。
【００６０】
図６の６０２に示す、高さ方向の情報を持たない平面図形は、３種類の拡張を何も適用しないことでテーブル６０１のように表現できる。
【００６１】
図７の７０２に示す、３次元空間内で立体的に屈折する折れ線図形は、Σ（ｘ，ｙ，ｚ）拡張を適用することによってテーブル７０１のように表現できる。各構成点情報は座標（ｘ，ｙ，ｚ）の組となる。
【００６２】
図８の８０２に示す、基準面から一定の標高値を持った平面図形は、ｚΣ（ｘ，ｙ）拡張を適用することによってテーブル８０１のように表現できる。各構成点情報は座標（ｘ，ｙ）の組で表され、Ｚ座標は全構成点共通の値としてヘッダ情報内で与えられる。
【００６３】
図９の９０２に示す、多角柱形状の立体図形は、（ｆ，ｄ）拡張を適用し、意味情報ｆを多角柱とすることによって、テーブル９０１のように表現できる。座標（ｘ，ｙ）の組で表現される構成点情報は多角柱の底面図形を表し、多角柱の高さはパラメータｄの値としてヘッダ情報内で与えられる。
【００６４】
図１０の１００２に示す、多角錐形状の立体図形は、（ｆ，ｄ）拡張を適用し、意味情報ｆを多角錐とすることによって、テーブル１００１のように表現できる。座標（ｘ，ｙ）の組で表現される構成点情報は多角柱の底面図形を表し、多角錐の頂点の座標（ｘ，ｙ，ｚ）はパラメータｄの値としてヘッダ情報内で与えられる。パラメータｄは複数あってもよく（この場合は３つ（ｘ座標、ｙ座標、ｚ座標）ある）、その数は意味情報ｆによって区別する。
【００６５】
図１１の１１０２に示す、３次元空間内で立体的に屈折する折れ線図形は、図７の折れ線図形７０２と同様、Σ（ｘ，ｙ，ｚ）拡張を適用することによって表現できる。しかし多くの連続した点が同じＺ座標を取る場合は、Σ（ｘ，ｙ，ｚ）拡張を図形全体にではなく、構成点一つに対して適用し、データ構造をテーブル１１０１のように表現することによってデータ量を小さくできる。
【００６６】
すなわち、図４のヘッダ情報において、構成点拡張フラグ４０１をＯＮとし各構成点にフラグ情報（４１１、４１２）を付加する。そして、各構成点のフラグ情報のうち、Σ（ｘ，ｙ，ｚ）拡張を施したい構成点についてはΣ（ｘ，ｙ，ｚ）拡張フラグ４１１をＯＮとしてｚ座標を付加し、他の構成点についてはΣ（ｘ，ｙ，ｚ）拡張フラグ４１１をＯＦＦとする。これにより、Σ（ｘ，ｙ，ｚ）拡張フラグ４１１がＯＮの構成点は座標（ｘ，ｙ，ｚ）で管理され、ＯＦＦの構成点は座標（ｘ，ｙ）で管理される。
【００６７】
具体的に図１１のテーブル１１０１では、ヘッダ情報の次の第１の構成点および第２の構成点は基準面内の構成点であるのでΣ（ｘ，ｙ，ｚ）拡張フラグ４１１をＯＦＦとして構成点の座標をｘ座標とｙ座標で表わし、第３の構成点はΣ（ｘ，ｙ，ｚ）拡張フラグ４１１をＯＮとして構成点の座標を（Ｘ３，Ｙ３，Ｚ３）とし、第４の構成点以降の構成点では再びΣ（ｘ，ｙ，ｚ）拡張フラグ４１１をＯＦＦとしている。第４以降の構成点は第３の構成点と同じＺ座標を有することとなる。
【００６８】
図１２の１２０２に幅が線分単位で変化している折れ線図形を示す。一定の幅を持った折れ線は、図形全体に（ｆ，ｄ）拡張を適用し意味情報を帯（幅ｄをもった折れ線）とすることによって表現できるが、この図形のように１本の折れ線上で幅が変化する場合はさらに幅の変化した部分の構成点に対して（ｆ，ｄ）拡張を適用することによって表現できる。
【００６９】
すなわち、図４のヘッダ情報において、構成点拡張フラグ４０１をＯＮとし各構成点にフラグ情報（４１１、４１２）を付加する。そして、各構成点のフラグ情報のうち、（ｆ，ｄ）拡張を施したい構成点については（ｆ，ｄ）拡張フラグ４１２をＯＮとして意味情報ｆ（４１６）とパラメータｄ（４１７）とを付加し、他の構成点については（ｆ，ｄ）拡張フラグ４１２をＯＦＦとする。この構造の解釈として、「その構成点以降の折れ線の幅はその構成点の示す幅と同じ値になる」と定義しておくことによって１２０２のような図形が表現できる。
【００７０】
具体的に図１２のテーブル１２０１では、まずヘッダ情報において、（ｆ，ｄ）拡張フラグをＯＮとし意味情報ｆを帯としパラメータｄを幅として、基準となる（ｆ，ｄ）拡張を設定する。ヘッダ情報の次の第１の構成点および第２の構成点に対しては上記の基準となる（ｆ，ｄ）拡張が施されるから、これらの構成点の（ｆ，ｄ）拡張フラグはＯＦＦとする。第２の構成点から第３の構成点への帯は幅がｄ３であるので、第３の構成点の（ｆ，ｄ）拡張フラグをＯＮとし意味情報ｆを帯としパラメータｄを幅ｄ３とする。これにより、以降の帯の幅はｄ３となる。
【００７１】
図１３の１３０２〜１３０７に示す、複雑な形状の地物は、図９の多角柱表示にさらにｚΣ（ｘ，ｙ）拡張や（ｆ，ｄ）拡張を適用することによって実現できる。ヘッダ情報の標高値Ｚと、同じくヘッダ情報の多角柱の高さｄにより、多角柱の底面と上面のＺ座標が分かる。複数の多角柱を組み合せることによって、例えば複雑な形状の家屋１３０２、１３０３、等高線１３０４、その他、ガスタンクのような球１３０５、ピラミッド状構造１３０６、自由曲面をもつアーチ１３０７などの多種類の立体図形を表現することができる。
【００７２】
これらの図形は全て、多角柱の組み合わせによって表現できるためである。例えば、アーチ型構造物のような任意形状の構造物を表現するには、次のような方法を取る。まず対象である立体図形をＺ軸方向に一定間隔で輪切りにし、その分割断面形状を得る。次に、この断面形状を底面、上記の分割間隔を高さとして持つ多数の多角柱を設定する。これらの集合により元の図形が表現できる。
【００７３】
図１４に、本発明による立体図形データ管理システムを用いる事によってできる立体図形表示例を示す。本方式を用いることによって、道路１４０１、行政界１４０２、河川１４０３、家屋１４０４、１４０５、等高線１４０６、地下配管１４０７などを混在させて、しかも比較的少ないデータ量で表現することができる。
【００７４】
【発明の効果】
本発明によれば、データ容量が小さく、かつ必要な詳細さを実現することができ、さらに平面図形としての利用も立体図形と同様に容易に行える立体図形データの記録方法が提供される。したがって、等高線に基づく山や起伏、家屋、および地下配管等の都市の構造物などを立体情報としてコンパクトに管理することができる。
【図面の簡単な説明】
【図１】本発明で表現できる立体構造の分類図である。
【図２】立体図形データ管理システムの構成図である。
【図３】本発明で表現できる立体構造の分類図である。
【図４】本発明による立体図形データテーブルの構成図である。
【図５】立体図形データを解釈するアルゴリズムのフローチャートである。
【図６】標高を持たない平面図形の表現例である。
【図７】立体折れ線図形の表現例である。
【図８】標高を持った平面図形の表現例である。
【図９】多角柱の表現例である。
【図１０】多角錐の表現例である。
【図１１】立体折れ線図形の表現例である。
【図１２】幅を持つ折れ線図形の表現例である。
【図１３】複雑な形状を持つ立体図形の表現例である。
【図１４】複数の形状の立体図形が混在している立体地図の表示例である。
【図１５】従来の平面図形データ管理方法である。
【図１６】従来の立体図形データ管理方法である。
【図１７】特開平４−１４９６８１による立体図形データ管理方法である。
【符号の説明】
２０１…キーボード、２０２…マウス、２０３…ディスプレイ、２０４…プリンタ、２０５…オートディジタイザ、２０６…計算機、２０７…アプリケーション部、２０８…データ入力部、２０９…データ出力部、２１０…記憶装置。
【図１】
0003611351.tif 000002
【図２】
0003611351.tif 000003
【図３】
0003611351.tif 000004
【図４】
0003611351.tif 000005
【図５】
0003611351.tif 000006
【図６】
0003611351.tif 000007
【図７】
0003611351.tif 000008
【図８】
0003611351.tif 000009
【図９】
0003611351.tif 000010
【図１０】
0003611351.tif 000011
【図１１】
0003611351.tif 000012
【図１２】
0003611351.tif 000013
【図１３】
0003611351.tif 000014
【図１４】
0003611351.tif 000015
【図１５】
0003611351.tif 000016
【図１６】
0003611351.tif 000017
【図１７】
0003611351.tif 000018