(57)【要約】【課題】奥行き判定によって生じる３次元地図描画上の支障を緩和する。【解決手段】３次元地図表示システム１００は、第１描画部４２によって、奥行き判定および陰面処理を行って、地表面および地上の地物を描画する。その後、第２描画部４６によって、第１描画部４２による描画結果との間で奥行き判定および陰面処理を行わずに、地下地物を第１描画部４２による描画結果の上に上書きして描画する。地下地物の描画の際には、地上の建物と地下地物との間で奥行き判定が行われているかのように地下地物が表示されるように、マスク画像生成部４４によって生成されたマスク画像によって、地上の建物と重なる領域への地下地物の描画を禁止する。【選択図】図１
2015036824.tif 000002
【特許請求の範囲】
【請求項１】
地表面および地物を３次元的に表現する３次元地図を表示する３次元地図表示システムであって、
前記地表面および地物の３次元形状を表した地図データを格納する地図データベースと、
前記地図データベースを参照して、奥行き判定を行って前記地表面および地物を描画する第１描画部と、
前記第１描画部による描画において地表面または他の地物に少なくとも一部が隠される地物を対象地物として、前記地図データを用いて、前記第１描画部による描画結果に上書きするように、前記第１描画部による描画結果との間での奥行き判定を行わずに前記対象地物を描画する第２描画部と、
を備える３次元地図表示システム。
【請求項２】
請求項１記載の３次元地図表示システムであって、
前記地図データは、地下部分を表すデータを含み、
前記第２描画部は、前記地下部分を表すデータに基づいて、前記対象地物を特定し、該対象地物を描画する、
３次元地図表示システム。
【請求項３】
請求項１記載の３次元地図表示システムであって、
前記地図データには、前記地物が前記対象地物か否かを示す判定情報が格納されており、
前記第２描画部は、前記判定情報に基づいて、前記対象地物を特定し、該対象地物を描画する、
３次元地図表示システム。
【請求項４】
請求項１記載の３次元地図表示システムであって、
前記地図データには、前記地物の種別が格納されており、
前記第２描画部は、前記地物の種別に基づいて、前記対象地物を特定し、該対象地物を描画する、
３次元地図表示システム。
【請求項５】
請求項１記載の３次元地図表示システムであって、
前記第２描画部は、前記対象地物を判定するための基準として予め指定された基準地物との上下または前後の位置関係に基づいて前記対象地物を特定し、該対象地物を描画する、
３次元地図表示システム。
【請求項６】
請求項１ないし５のいずれかに記載の３次元地図表示システムであって、さらに、
前記対象地物よりも前面に描画すべきものとして指定された地物のみを前記第１描画部と同じ投影条件で投影することでマスク画像を生成するマスク画像生成部を備え、
前記第２描画部は、前記マスク画像に対応する部分における前記対象地物の描画を禁止しつつ、前記対象地物を描画する、
３次元地図表示システム。
【請求項７】
請求項１ないし５のいずれかに記載の３次元地図表示システムであって、さらに、
前記第２描画部による描画結果に上書きするように、前記対象地物よりも前面に描画すべきものとして指定された地物のみを、前記第２描画部による描画結果との間での奥行き判定を行わずに描画する第３描画部を備える、
３次元表示システム。
【請求項８】
請求項１ないし７のいずれかに記載の３次元地図表示システムであって、
前記第２描画部は、前記対象地物間においては、奥行き判定を行って前記対象地物を描画する、
３次元地図表示システム。
【請求項９】
コンピュータによって、地表面および地物を３次元的に表現する３次元地図を表示する３次元地図表示方法であって、
前記コンピュータが、前記地表面および地物の３次元形状を表した地図データを格納する地図データベースを参照して、奥行き判定を行って前記地表面および地物を描画する第１描画工程と、
前記コンピュータが、前記第１描画工程による描画において地表面または他の地物に少なくとも一部が隠される地物を対象地物として、前記地図データを用いて、前記第１描画工程による描画結果に上書きするように、前記第１描画工程による描画結果との間での奥行き判定を行わずに前記対象地物を描画する第２描画工程と、
を備える３次元地図表示方法。
【請求項１０】
コンピュータによって、地表面および地物を３次元的に表現する３次元地図を表示するためのコンピュータプログラムであって、
前記地表面および地物の３次元形状を表した地図データを格納する地図データベースを参照して、奥行き判定を行って前記地表面および地物を描画する第１描画機能と、
前記第１描画機能による描画において地表面または他の地物に少なくとも一部が隠される地物を対象地物として、前記地図データを用いて、前記第１描画機能による描画結果に上書きするように、前記第１描画機能による描画結果との間での奥行き判定を行わずに前記対象地物を描画する第２描画機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地表面および地物を３次元的に表現した３次元地図を表示する技術に関するものである。
【背景技術】
【０００２】
従来、地物を３次元的に表現した３次元地図が普及している。３次元地図は、地物の立体形状を把握しやすいため、利便性が高い。この３次元地図は、３次元空間内に設定された視点から地物の３次元モデルを投影することによって描画される。そして、一般に、３次元地図において、地物を描画する際には、地物の奥行き感をリアルに表示するために、奥行き判定（深度テスト）および隠面処理が行われる。このため、他の建物の陰に隠れて視点から見えない建物は描画されない。また、トンネルなどの地下構造物も、地表面によって隠れるため、描画されない。この結果、３次元地図には、建物同士の位置関係を把握しにくくなったり、トンネルが描かれないことによって道路のつながりが把握しにくくなったりするなどの支障が生じることがある。
これに対し、２次元地図では、建物が他の建物によって隠されることはなく、また、特許文献１に開示されているようにトンネルは破線等で表現され、道路のつながりなどが把握できるように描かれている。つまり、３次元地図では、リアルな表現を実現することによって、かえって地図としての利便性を損ねている面も生じているのである。
【０００３】
こうした点を考慮し、特許文献２は、３次元地図において、注目点よりも手前の建物について透過表示をすることによって注目点を視認できるようにする技術を開示している。また、特許文献３、４は、地下構造物の平面形状を地表面に描くことで、地図上に地下構造物の位置を示す技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１３８１３６号公報
【特許文献２】特開２００４−３３３１５５号公報
【特許文献３】特開２００８−１２８９２８号公報
【特許文献４】特開２００３−１６６８３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、地図を描画する際に地表面を透過させる訳にはいかないから、特許文献２の技術は、地下構造物の表現には適用できない。また、特許文献３、４の技術は、地表面が凹凸を含む３次元形状となっている場合には適用できないなど、適用できる場面が限られており、しかも、地下構造物の位置や形状などを平面的に表現できるに過ぎないという課題が残る。
【０００６】
本発明は、上述の課題を解決するためになされたものであり、奥行き判定によって生じる３次元地図描画上の支障を緩和することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題の少なくとも一部を解決するため、本発明では、以下の構成を採用した。
本発明の装置は、地表面および地物を３次元的に表現する３次元地図を表示する３次元地図表示システムであって、
前記地表面および地物の３次元形状を表した地図データを格納する地図データベースと、
前記地図データベースを参照して、奥行き判定を行って前記地表面および地物を描画する第１描画部と、
前記第１描画部による描画において地表面または他の地物に少なくとも一部が隠される地物を対象地物として、前記地図データを用いて、前記第１描画部による描画結果に上書きするように、前記第１描画部による描画結果との間での奥行き判定を行わずに前記対象地物を描画する第２描画部と、
を備えることを特徴とする。
【０００８】
本発明における対象地物は、第１描画部によって描画される地物と必ずしも排他的に設定されている必要はない。例えば、あるトンネルを対象地物とする場合、このトンネルは、第１描画部によって描画される地物に含まれていても構わない。
「第１描画部による描画結果との間での奥行き判定を行わずに、前記対象地物を描画する」とは、第１描画部によって描画された地表面および地物との奥行き関係とは無関係に上記対象地物を描画することを意味し、第２描画部は、上記対象地物間においては、奥行き判定を行ってもよい。また、第２描画部は、第１描画部による描画結果の上に、直接、上記対象地物を上書きして描画するようにしてもよいし、第１描画部による描画結果とは別に上記対象地物を描画したレイヤを生成し、これを第１描画部による描画結果の上に重畳するようにしてもよい。
こうすることによって、上記対象地物は、第１描画部による描画結果よりも前面に表示される。例えば、道路のトンネルなどの地下構造物を対象地物としておけば、地表面を描いた後、その上に描画することができる。また、本発明の３次元地図表示システムでは、視点位置に近い手前の建物によって隠れる建物や道路などを対象地物とすることによって、他の建物等よりも前面に出して描画することもできる。つまり、本発明の３次元地図表示システムによれば、地物が描かれないとか、他の地物によって隠されてしまうという奥行き判定によって生じる３次元地図描画上の支障を緩和することができる。
本発明では、あくまでも３次元の地図データに基づいて対象地物を描く点にも特徴がある。こうすることにより、３次元形状を反映させた状態で対象地物を描くことができ、３次元地図に大きな違和感を与えることなく対象地物を表示させることができる。また、３次元地図は多様な視点位置、視線方向で描かれるものであるから、仮に対象地物を２次元の画像で描こうとすれば、これらの視点位置、視線方向に応じた多様な画像データを用意しておく必要があるが、３次元地図データに基づいて描くものとすれば、こうしたデータを用意するまでなく、視点位置、視線方向に応じた描画を実現することが可能となる利点もある。
【０００９】
本発明の３次元地図表示システムにおいて、第２描画部が描画する上記対象地物は、種々の態様で特定することができる。
例えば、本発明の３次元地図表示システムにおいて、
前記地図データは、地下部分を表すデータを含み、
前記第２描画部は、前記地下部分を表すデータに基づいて、前記対象地物を特定し、該対象地物を描画するようにしてもよい。
【００１０】
本発明において、地下部分は、例えば、鉛直方向について、座標値が地表面の座標値よりも小さい部分とすることができる。また、地表面は高さ＝０と考え、負の高さ座標値を有する部分を地下部分と扱ってもよい。また、地下部分を破線や点線等、地上部分と異なる線種で描画するように地図データが用意されている場合には、これらの線で描画する部分を地下部分と判定することができる。
本発明によれば、地下部分を個別に指定等しなくても、対象地物として扱い、地下部分を視認できる状態で地図上に描画することができる。
地下部分とは、例えば、トンネルや、建物の地階、地下街や地下駐車場その他の地下構造物などが該当する。地下部分は、例えば、道路の一部がトンネルとなっているように、道路という一つの地物データの一部分であってもよいし、地下部分だけが個別の地物として用意されていてもよい。
【００１１】
また、本発明の３次元地図表示システムにおいて、
前記地図データには、前記地物が前記対象地物か否かを示す判定情報が格納されており、
前記第２描画部は、前記判定情報に基づいて、前記対象地物を特定し、該対象地物を描画するようにしてもよい。
【００１２】
判定情報の内容は、例えば、予め設定されているものとしてもよいし、ユーザによって設定あるいは変更可能としてもよい。
本発明によれば、対象地物を柔軟に設定あるいは変更することができる。
判定情報は、各地物を表す地物データごとに、それぞれ対象地物か否かを示すフラグ等のデータを用意してもよい。また、対象地物として扱う地物のＩＤなどを格納した、対象地物の一覧表のような形式でデータを用意してもよい。
判定情報は、各地物単位で個別に設定可能としてもよいし、複数の地物をグループとして設定可能としてもよい。
【００１３】
また、本発明の３次元地図表示システムにおいて、
前記地図データには、前記地物の種別が格納されており、
前記第２描画部は、前記地物の種別に基づいて、前記対象地物を特定し、該対象地物を描画するようにしてもよい。
【００１４】
地物の種別としては、例えば、トンネルや、地下駐車場、地下街などの地下構造物等の地下に存在する地物の種別が挙げられる。
本発明において、第２描画部がいずれの種別の地物を上記対象地物として特定するかは、予め設定されているものとしてもよいし、ユーザによって設定あるいは変更可能としてもよい。
本発明によれば、地物の種別ごとに、一括して上記対象地物を特定することができる。また、例えば、トンネルは対象地物として描くが、地下駐車場は描かないというように、地下の地物間でも扱いを変えるというようなことが柔軟に可能となる。
地物の種別は、必ずしも地下の地物に限られるものではなく、例えば、道路のように地上に存在する地物の種別であってもよいし、国道、県道のように細分化した種別としてもよい。こうすることで、例えば、道路のうち、国道だけを対象地物とするというように細分化した単位で対象地物を特定することもできる。
【００１５】
また、本発明の３次元地図表示システムにおいて、
前記第２描画部は、前記対象地物を判定するための基準として予め指定された基準地物との上下または前後の位置関係に基づいて前記対象地物を特定し、該対象地物を描画するようにしてもよい。
【００１６】
上記基準地物の種別や数は、任意に設定可能である。また、本発明では、地表面も地物と同様に３次元的に描画されるので、地表面を上記基準地物として設定することも可能である。
上記基準地物との上下の位置関係とは、鉛直方向についての上下の位置関係を意味する。例えば、上記基準地物を地表面とした場合、地物のポリゴン等を構成する構成点ごとに、鉛直方向について、地表面の座標値と構成点の座標値とを比較することによって、地表面との上下の位置関係を把握することができる。また、上記基準地物との前後の位置関係とは、視点位置を基準とする視線方向について手前か奥かを意味する。
対象地物は、例えば、基準地物よりも下にある地物または前にある地物とすることができる。対象地物は、上下関係または前後関係のいずれか一方のみに基づいて特定するようにしてもよいし、双方に基づいて特定するようにしてもよい。
先に説明した例では、対象地物側を指定する方法を例示したが、上記態様は、対象地物によって上書きされる側を基準地物として指定することになる。このように、対象地物の特定は、地表面および各地物の間で、いずれの地物を前面に出して優先的に表示するかを特定する問題なので、地表面および地物間で、表示の優先度を相対的に特定可能な種々の方法をとることが可能である。
また、基準地物との前後関係に基づいて対象地物を特定する方法をとる場合には、視点位置の方向によって対象地物を自在に変動させることも可能となる利点がある。
【００１７】
本発明の３次元地図表示システムにおいて、さらに、
前記対象地物よりも前面に描画すべきものとして指定された地物のみを前記第１描画部と同じ投影条件で投影することでマスク画像を生成するマスク画像生成部を備え、
前記第２描画部は、前記マスク画像に対応する部分における前記対象地物の描画を禁止しつつ、前記対象地物を描画するようにしてもよい。
【００１８】
上記対象地物よりも前面に描画すべき地物の指定は、先に対象地物の特定について説明した種々の態様を採ることができる。
上記対象地物であっても、その一部が特定の他の地物によって隠れた状態で表示したい場合がある。例えば、上記対象地物が、トンネルである場合に、地表よりも前面にトンネルを表示し、さらに、建物をトンネルが貫通しているかのように表示されるのを回避するため、トンネルよりも前面に建物を表示したい場合がある。このような場合には、道路のトンネルにおいて、視点から見て建物と重なる領域については、トンネルが表示されないようにすればよい。
本発明によれば、マスク画像に対応する部分には対象地物が描画されないようにできるため、対象地物の一部が他の地物によって隠れた状態で表示することができる。
【００１９】
本発明の３次元地図表示システムにおいて、上述したマスク画像生成部の代わりに、
前記第２描画部による描画結果に上書きするように、前記対象地物よりも前面に描画すべきものとして指定された地物のみを、前記第２描画部による描画結果との間での奥行き判定を行わずに描画する第３描画部を備えるようにしてもよい。
【００２０】
第３描画部は、第１描画部および第２描画部による描画結果の上に、直接、指定された地物（以下、指定地物という）を描画するようにしてもよいし、第１描画部および第２描画部による描画結果とは別に、指定地物を描画したレイヤを生成し、これを第１描画部および第２描画部による描画結果の上に重畳するようにしてもよい。第３描画部は、指定地物間においては、奥行き判定を行って地物の描画を行う。
本発明によっても、対象地物の一部が他の地物によって隠れた状態で表示することができる。
この態様においても、指定地物は、先に対象地物の特定について説明した種々の方法をとることができる。ただし、第３描画部は、第１描画部、第２描画部との奥行き関係を無視して指定地物を描くものであるため、指定地物が多数になると、３次元地図としての奥行き感を大きく損ねることも生じ得る。かかる支障を回避する方法としては、第３描画部が描画する指定地物を、先に説明した判定情報を利用して、個別に指定可能とする方法をとることができる。
【００２１】
本発明の３次元地図表示システムにおいて、
前記第２描画部は、前記対象地物間においては、奥行き判定を行って前記対象地物を描画するようにしてもよい。
【００２２】
こうすることによって、第２描画部によって描画される複数の上記対象地物が視点から見て重なる場合に、上記対象地物同士の奥行き関係を明確に表示することができる。例えば、トンネルを対象地物とした場合、複数のトンネルが存在する箇所では、これらのトンネル同士の奥行き判定を行って対象地物を描画することにより、これらのトンネルの位置関係を把握できるような表示を実現できる。
【００２３】
本発明は、上述した種々の特徴を必ずしも全て備えている必要はなく、その一部を省略したり、適宜、組み合わせたりして構成することができる。また、本発明は、上述の３次元地図表示システムとしての構成の他、３次元地図表示方法の発明として構成することもできる。また、これらを実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
【００２４】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、３次元地図表示システムの動作を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【図面の簡単な説明】
【００２５】
【図１】第１実施例の３次元地図表示システム１００の概略構成を示す説明図である。
【図２】地図データ１２の内容を示す説明図である。
【図３】第１実施例の３次元地図表示処理の流れを示すフローチャートである。
【図４】第１実施例の３次元地図表示処理の流れを示すフローチャートである。
【図５】第１実施例の３次元地図表示処理の流れを示すフローチャートである。
【図６】第２実施例の３次元地図表示処理の流れを示すフローチャートである。
【図７】第２実施例の３次元地図表示処理の流れを示すフローチャートである。
【図８】第３実施例における地図データ１２ａの内容を示す説明図である。
【図９】第３実施例の３次元地図表示処理の流れを示すフローチャートである。
【図１０】第３実施例の３次元地図表示処理の流れを示すフローチャートである。
【図１１】第４実施例の３次元地図表示システム１００Ａの概略構成を示す説明図である。
【図１２】第４実施例の３次元地図表示処理の流れを示すフローチャートである。
【図１３】第４実施例の３次元地図表示処理の流れを示すフローチャートである。
【図１４】第４実施例の３次元地図表示処理の流れを示すフローチャートである。
【発明を実施するための形態】
【実施例】
【００２６】
以下、本発明の実施の形態について、実施例に基づき説明する。
Ａ．システム構成：
図１は、第１実施例の３次元地図表示システム１００の概略構成を示す説明図である。図示するように、３次元地図表示システム１００は、地図データベース（ＤＢ）１０と、コマンド入力部２０と、送受信部３０と、表示制御部４０と、表示装置５０と、を備えている。これらの各機能ブロックは、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスクドライブ、通信装置等を備えるパーソナルコンピュータに、それぞれの機能を実現するためのコンピュータプログラムをインストールすることによって、ソフトウェア的に構成することができる。これらの機能ブロックの少なくとも一部を、ハードウェア的に構成するようにしてもよい。
【００２７】
地図データベース１０には、地図データ１２と、文字データ１４とが格納されている。
地図データ１２は、３次元地図を表示するためのデータであり、海、山、河川、道路、建物などの種々の地物および地表面の３次元形状を表す３次元モデル（ポリゴンまたはライン）を含んでいる。地図データ１２の内容については、後から説明する。
文字データ１４は、３次元地図中に描画される文字、例えば、建物の名称や、道路名、交差点名等を表すデータである。文字データ１４は、地図データ１２と対応付けられている。文字データ１４には、３次元地図中の各文字の表示位置、文字のフォントやサイズ、３次元地図の縮尺と文字の表示／非表示との関係を記したデータ等も含まれる。
【００２８】
コマンド入力部１０は、３次元地図の表示等に関するユーザの指示を入力する。コマンド入力部１０は、例えば、３次元地図の縮尺、視点位置、視線方向等を入力する。
送受信部３０は、図示しないネットワークを介して、他の装置とのデータのやり取りを行う。送受信部３０は、例えば、他の装置から地図データ１２および文字データ１４を受信して、地図データベース１０を更新したり、表示制御部４０によって生成された３次元地図をプリンタに出力したりする。
【００２９】
表示制御部４０は、第１描画部４２と、マスク画像生成部４４と、第２描画部４６と、文字描画部４８と、を備えている。
第１描画部４２は、地図データベース１０から読み出した地図データ１２を用いて、奥行き判定および隠面処理を行って、地表面および地物を描画する。
マスク画像生成部４４は、地図データ１２を用いて、第２描画部４６による地物の描画を部分的に禁止するためのマスク画像を生成する。本実施例では、マスク画像生成部４４は、後述するように、第１描画部４２と同じ投影条件で地上の建物の３次元モデルのみを投影することにより、視点から見て地上の建物と重なる領域への地下地物の描画を禁止するためのマスク画像を生成する。
第２描画部４６は、第１描画部４２によって描画した場合に地表面または他の地物によって少なくとも一部が隠される地物を対象地物として、地図データ１２を用いて、第１描画部４２による描画結果に上書きするように、第１描画部４２による描画結果との間での奥行き判定および隠面処理を行わずに対象地物を描画する。本実施例では、第２描画部４６は、第１描画部４２による描画結果の上に、対象地物を上書きして描画するものとした。第２描画部４６は、第１描画部４２による描画結果とは別に対象地物を描画したレイヤを生成し、これを第１描画部４２による描画結果の上に重畳するようにしてもよい。第２描画部４６は、対象地物間については、奥行き判定および陰面処理を行って対象地物を描画する。
文字描画部４８は、地図データベース１０から読み出した文字データ１４を用いて、３次元地図上に文字を描画する。
表示制御部４０は、第１描画部４２、マスク画像生成部４４、第２描画部４６、文字描画部４８の動作を制御し、これらによって描画された３次元地図を表示装置５０に表示する。
【００３０】
Ｂ．地図データ：
図２は、地図データ１２の内容を示す説明図である。図示するように、地図データ１２においては、各地物に対して固有の地物ＩＤが付与され、地物ごとに種々のデータが管理されている。また、本実施例では、地図データ１２において、地表面は、メッシュ状に区分され、それぞれに対して、地物と同様に、固有のＩＤが付与されて管理されている。
「種別」は、海、山、河川、道路、鉄道、建物等、地物の種類を表している。そして、道路や鉄道は、地上区間（地上部分）もトンネル区間（地下部分）も１つの地物として管理されており、トンネル区間には、地下構造物であることを示すサブ種別が割り当てられている。また、建物は、地上部分も地下部分も１つの地物として管理されており、建物の地下部分には、地下構造物であることを示すサブ種別が割り当てられている。また、地下駐車場、地下街などの地下構造物には、地下構造物であることを示す種別が割り当てられている。道路や鉄道について、地上区間と地下区間とを別個の地物として管理するようにしてもよい。また、建物についても、地上部分と地下部分とを別個の地物として管理するようにしてもよい。地表面の地図データ１２には、地表面という種別が割り当てられている。
「名称」は、地物の名称である。
「３次元モデル」は、地表面や、各地物を３次元的に表示するためのポリゴンデータまたは道路や鉄道を表示するためのラインデータである。本実施例では、地上の地物および地物の地上部分は実線で描かれ、地物の地下部分および地下構造物は破線で描かれるものと規定されている。例えば、図２の下段に示したように、道路の地上区間は実線で描かれ、トンネル区間は破線で描かれる。また、建物の地上部分は実線で描かれ、地下部分は破線で描かれる。以下、地上の地物および地物の地上部分をまとめて地上地物とも言う。また、地物の地下部分および地下構造物をまとめて地下地物とも言う。
「座標」は、３次元モデル（ポリゴンデータまたはラインデータ）の各構成点の座標データである。
「テクスチャ」は、テクスチャマッピングにおいて、地物（３次元モデル）の形状に合わせて貼り付けられる画像である。本実施例では、地下地物は透明に描画されるため、地下地物のテクスチャは用意されていない。
【００３１】
Ｃ．３次元地図表示処理：
図３〜５は、第１実施例の３次元地図表示処理の流れを示すフローチャートである。この処理は、３次元地図の表示指示が入力されたときに、３次元地図表示システム１００が実行する処理である。
処理を開始すると、３次元地図表示システム１００は、ユーザによって指定された３次元地図の縮尺、視点位置、視線方向を取得する（ステップＳ１００）。そして、３次元地図表示システム１００は、取得した３次元地図の縮尺、視点位置、視線方向に基づいて、表示エリアを決定し（ステップＳ１１０）、その表示エリア内に存在する地表面および地物について、地図データ１２および文字データ１４を読み込む（ステップＳ１２０）。
次に、３次元地図表示システム１００は、各地図データ１２について、その種別を判別し（ステップＳ１３０）、「地下構造物」というサブ種別が付されていない地物、即ち地表面および地上地物を抽出し、Ｚバッファ（深度バッファ）を用いて奥行き判定および陰面処理を行って描画する（ステップＳ１４０）（以下、この描画結果を「通常描画」と呼ぶ）。ステップＳ１４０の枠内に、地表面および地上地物としての道路ＲＤ１，ＲＤ２および建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３が描画された３次元地図を示した。本実施例では、道路は地上部分とトンネルとが一つの地物データとして構成されており、建物も地上部分、地下部分が一つの地物データとして構成されている。ステップＳ１４０の処理では、これらの地物データのうち、地上地物に相当する構成点、ポリゴンのみを抽出して描画することになる。
奥行き判定を伴う描画では、地下地物は、地表面に隠されて描画されないから、ステップＳ１４０の処理においては、地上地物だけを抽出する処理を省略し、すべての地物を描画対象としてもよい。
【００３２】
次に、３次元地図表示システム１００は、ステップＳ１３０における判別結果に基づいて、表示エリア内に地下地物が存在するか否かを判断する（ステップＳ１５０）。表示エリア内に地下地物が存在しない場合には（ステップＳ１５０：ＮＯ）、３次元地図表示システム１００は、処理をステップＳ１９０に進める。一方、表示エリア内に地下地物が存在する場合には（ステップＳ１５０：ＹＥＳ）、３次元地図表示システム１００は、地下地物を描画する前に、Ｚバッファをクリアする（ステップＳ１６０）。こうすることにより、これ以降の地下地物の描画処理では、ステップＳ１４０による描画結果（通常描画）との間での奥行き判定および陰面処理を行われない。
ステップＳ１５０における地下地物の抽出は、種別以外の方法を採ってもよい。例えば、本実施例では、地上地物は実線で描画され、地下地物は破線で描画されるように規定されているので、描画に用いられる線の種類に基づいて、地下地物を抽出するようにしてもよい。この他、テクスチャの有無など、地下地物を表すデータ上の特徴に基づいて抽出するようにしてもよい。
【００３３】
次に、３次元地図表示システム１００は、通常描画に上書きするように、地下地物を描画する。地下地物の描画時には、通常描画との間で奥行き判定が行われないため、地下地物と地上の建物との位置関係によっては、地下地物によって地上の建物が覆い隠されてしまうことが生じ得る。そこで、本実施例では、こうした状態を回避するため、地上の建物が描かれている部分には地下地物が表示されないようにする。換言すれば、地上の建物と地下地物との間で奥行き判定がなされているかのように、地下地物を描画する。このため、３次元地図表示システム１００は、地下地物の描画に先立ち、ステップＳ１４０と同じ投影条件で地上の建物のみを投影して、マスク画像としてのステンシルマスクＳＭを生成する（ステップＳ１７０）。ステップＳ１７０の枠内に、地上の建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３のみを投影して生成されたマスク領域ＭＫを有するステンシルマスクＳＭを示した。ステンシルマスクＳＭにおけるマスク領域ＭＫを黒塗りで示した。ステンシルマスクＳＭを生成する際に投影する地物の指定は、任意に変更可能である。
そして、３次元地図表示システム１００は、ステップＳ１３０における判別結果に基づいて地下地物を抽出し、ステンシルマスクＳＭによって地上の建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３と重なるマスク領域ＭＫへの描画を禁止しつつ、抽出した地下地物をステップＳ１４０による描画結果の上に上書きして描画する（ステップＳ１８０）。つまり、地下地物を描画する際に、各ピクセルがステンシルマスクＳＭに該当するか否かを判断し、ステンシルマスクＳＭに該当しない場合にのみ、そのピクセルへの描画を許容するのである。ステップＳ１８０の枠内に、地下地物としての道路のトンネルＴＮおよび建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３の地下部分ＵＧ１，ＵＧ２，ＵＧ３が上書きして描画された３次元地図を示した。図示するように、本実施例では、地下地物は、輪郭線のみが破線で描画されるものとした。先に説明したように、本実施例では、トンネルＴＮは道路の一部であり、道路の３次元モデルはラインデータで管理されている。このため、３次元地図表示システム１００は、トンネルＴＮを描画する際には、ステップＳ１００で取得した３次元地図の縮尺、視点位置、視線方向に応じた幅をラインデータに持たせてポリゴン化し、そのエッジを破線で描画する。建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３のみを投影して生成されたステンシルマスクＳＭを用いて地下地物を描画することによって、地上の建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３と地下地物との間で奥行き判定が行われているかのように、地下地物を表示することができる。
ステップＳ１８０において、３次元地図表示システム１００は、地下地物同士については、奥行き判定および陰面処理を行う。図示した例では、建物ＢＬＤ２の地下部分ＵＧ２の一部は、その手前の建物ＢＬＤ３の地下部分ＵＧ３によって隠れている。こうすることによって、複数の地下地物が視点から見て重なる場合に、地下地物同士の位置関係を明確に表示することができる。
次に、３次元地図表示システム１００は、３次元地図中に文字を描画して（ステップＳ１９０）、３次元地図を表示装置５０に表示する（ステップＳ１９２）。
そして、３次元地図表示システム１００は、３次元地図表示処理を終了する。
以上説明した第１実施例の３次元地図表示処理によれば、地下地物を描画することができる。したがって、奥行き判定によって生じる３次元地図描画上の支障を緩和し、多様な地物に対して、位置関係の把握を容易にするすることができる。
【００３４】
Ｄ．第２実施例：
第２実施例の３次元地図表示システム１００の構成は、第１実施例の３次元地図表示システム１００の構成と同じである。第２実施例の３次元地図表示システム１００は、３次元地図表示処理の内容の一部が第１実施例と異なる。すなわち、第１実施例では、３次元地図表示処理において、地図データ１２を参照して、各地物の種別を判別することによって地下地物を抽出するものとしたが、第２実施例では、各地物の構成点の座標を解析することによって地下地物を抽出する。以下、第２実施例の３次元地図表示処理について説明する。
【００３５】
図６，７は、第２実施例の３次元地図表示処理の流れを示すフローチャートである。この処理は、３次元地図の表示指示が入力されたときに、３次元地図表示システム１００が実行する処理である。
処理を開始すると、３次元地図表示システム１００は、縮尺、視点位置、視線方向の取得（ステップＳ２００）、表示エリアの決定（ステップＳ２１０）、地図データ１２および文字データ１４の読み込み（ステップＳ２２０）を行う。これらの処理は、第１実施例と同様である。
次に、３次元地図表示システム１００は、地図データ１２を参照して、各地物の構成点の座標を解析する（ステップＳ２３０）。本実施例では、地物を表すポリゴンまたはラインの構成点ごとに、鉛直方向について、地表面の座標値と構成点の座標値とを比較するものとした。構成点の座標値が地表面の座標値よりも大きければ、その構成点は地上地物の構成点であると判定することができ、構成点の座標値が地表面の座標値よりも小さければ、その構成点は地下地物の構成点であると判定することができる。そして、３次元地図表示システム１００は、この解析結果に基づいて地物の地上部分を抽出し、Ｚバッファを用いて奥行き判定および陰面処理を行って、地表面および抽出した地上部分を描画する（ステップＳ２４０）。
以下の処理は、第１実施例と同じである。つまり、３次元地図表示システム１００は、地下地物が存在する場合には（ステップＳ２５０：ＹＥＳ）、Ｚバッファをクリアして（ステップＳ２６０）、ステンシルマスクＳＭを生成し（ステップＳ２７０）、これを用いて地下地物を描画する（ステップＳ２８０）。地下地物が存在しない場合には（ステップＳ２５０）、これらの処理をスキップする。その後、３次元地図表示システム１００は、文字の描画（ステップＳ２９０）、３次元地図の表示を行う（ステップＳ２９２）。
以上説明した第２実施例によれば、地下地物を表す種別を設定するまでなく、地下地物を描画することができる。
【００３６】
Ｅ．第３実施例：
第３実施例の３次元地図表示システム１００の構成は、第１実施例の３次元地図表示システム１００の構成からマスク画像生成部４４を除いた構成となっている。第３実施例の３次元地図表示システム１００は、地図データベース１０に格納されている地図データ１２ａおよび３次元地図表示処理の内容の一部が第１実施例と異なる。以下、第３実施例における地図データ１２ａの内容および３次元地図表示処理について説明する。
【００３７】
図８は、第３実施例における地図データ１２ａの内容を示す説明図である。第３実施例における地図データ１２ａでは、各地物に対して「対象地物判定フラグ」が付されている。「対象地物判定フラグ」は、その地物が第２描画部４６による描画対象か否か、即ちＺバッファをクリアした後に描画する対象か否かを示す判定情報であり、描画対象の場合は「１」、描画対象でない場合は「０」に設定される。
「対象地物判定フラグ」は、地図データ１２ａの提供者によって予め設定されているものとしてもよいし、ユーザによって設定あるいは変更可能としてもよい。本実施例では、第２描画部４６による描画対象を個別に柔軟に設定あるは変更することができる。
【００３８】
図９，１０は、第３実施例の３次元地図表示処理の流れを示すフローチャートである。この処理は、３次元地図の表示指示が入力されたときに、３次元地図表示システム１００が実行する処理である。
処理を開始すると、３次元地図表示システム１００は、縮尺、視点位置、視線方向の取得（ステップＳ３００）、表示エリアの決定（ステップＳ３１０）、地図データ１２および文字データ１４の読み込み（ステップＳ３２０）を行う。これらの処理は、第１実施例と同じである。
次に、３次元地図表示システム１００は、地図データ１２における対象地物判定フラグを参照し（ステップＳ３３０）、対象地物判定フラグが「０」の地物および地表面を、Ｚバッファを用いて奥行き判定および陰面処理を行って描画する（ステップＳ３４０）。ステップＳ３４０の枠内に、地表面および対象地物判定フラグが「０」の地物としての道路ＲＤ１，ＲＤ２、建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３が描画された３次元地図を示した。
次に、３次元地図表示システム１００は、表示エリア内に対象地物判定フラグが「１」の地物が存在する場合には（ステップＳ３５０：ＹＥＳ）、Ｚバッファをクリアして（ステップＳ３６０）その地物をステップＳ３４０による描画結果の上に上書きして描画し（ステップＳ３７０）、文字の描画（ステップＳ３８０）、表示装置への表示（ステップＳ３９０）を行う。
ステップＳ３７０の枠内に、対象地物判定フラグが「１」の地物としての建物ＢＬＤ２およびその地下部分ＵＧ２が上書きして描画された３次元地図を示した。こうすることにより建物ＢＬＤ２および地下部分ＵＧ２を建物ＢＬＤ３など、他の地物よりも優先的に表示することができる。例えば、３次元地図内で建物ＢＬＤ２が即時に視認できるように表示できるため、建物ＢＬＤ２がユーザの指定した目的地である場合や、ランドマークなどの場合に有用な表示となる。
本実施例では、図８に示した通り、地物ごとに対象地物判定フラグを設定しているため、建物ＢＬＤ２および地下部分ＵＧ２を一体として、優先的に描画する扱いとした。例えば、建物ＢＬＤ２については、通常通り奥行き判定を行って描画させ、地下部分ＵＧ２のみを後から描画する対象としたい場合には、建物ＢＬＤ２と地下部分ＵＧ２とを別の地物データに分離し、それぞれに対象地物判定フラグを設定すればよい。また、こうした方法に代えて、第１実施例でサブ種別を設定可能としたように、地物データの一部の構成部分ごとに、対象地物判定フラグを設定可能な構造としてもよい。
【００３９】
Ｆ．第４実施例：
第１実施例の３次元地図表示システム１００では、３次元地図表示処理において、ステンシルマスクＳＭを用いて、マスク領域ＭＫへの描画を禁止しつつ、地下地物を描画した。これに対し、第４実施例の３次元地図表示システム１００Ａでは、地上の地物の描画結果の上に地下地物全体を上書きして描画し、さらに、その描画結果の上に上書きするように、地上の建物のみを描画することによって、地下地物の少なくとも一部を地上の建物で隠して表示する。
【００４０】
図１１は、第４実施例の３次元地図表示システム１００Ａの概略構成を示す説明図である。第４実施例の３次元地図表示システム１００Ａは、図１に示した第１実施例の３次元地図表示システム１００における表示制御部４０の代わりに、表示制御部４０Ａを備えている。そして、表示制御部４０Ａは、表示制御部４０におけるマスク画像生成部４４の代わりに、第３描画部４７を備えている。これ以外は、第１実施例の３次元地図表示システム１００と同じである。
第３描画部４７は、第２描画部４６による描画結果に上書きするように、地上の建物（建物の地上部分）のみを描画する。本実施例では、第３描画部４７は、第１描画部４２および第２描画部４６による描画結果とは別に、地上の建物のみを描画したレイヤを生成し、これを第１描画部４２および第２描画部４６による描画結果の上に重畳するものとした。第３描画部４７は、第１描画部４２および第２描画部４６による描画結果の上に、地上の建物を上書きして描画するようにしてもよい。
【００４１】
図１２〜１４は、第４実施例の３次元地図表示処理の流れを示すフローチャートである。この処理は、３次元地図の表示指示が入力されたときに、３次元地図表示システム１００Ａが実行する処理である。
処理を開始すると、３次元地図表示システム１００Ａは、縮尺、視点位置、視線方向の取得（ステップＳ４００）、表示エリアの決定（ステップＳ４１０）、地図データ１２および文字データ１４の読み込み（ステップＳ４２０）を行う。これらは第１実施例と同じ処理である。
また、３次元地図表示システム１００Ａは、第１実施例と同様、各地図データ１２の種別を判別し（ステップＳ４３０）、地表面および地上地物を抽出し、Ｚバッファを用いて奥行き判定および陰面処理を行って、抽出した地表面および地上地物を描画する（ステップＳ４４０）。
次に、３次元地図表示システム１００Ａは、表示エリア内に地下地物が存在する場合には（ステップＳ４５０：ＹＥＳ）、Ｚバッファをクリアして（ステップＳ４６０）、地下地物をステップＳ４４０による描画結果の上に上書きして描画する（ステップＳ４７０）。ステンシルマスクＳＭの生成を省略している点（図４のステップＳ１７０参照）以外は、第１実施例と処理内容は同じである。
ただし、ステンシルマスクＳＭの生成を省略するため、ステップＳ４７０の処理を終えた時点での出力結果は、第１実施例と異なる。ステップＳ４７０の枠内に、地下地物としての道路のトンネルＴＮおよび建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３の地下部分ＵＧ１，ＵＧ２，ＵＧ３が上書きして描画された３次元地図を示した。この時点では、トンネルＴＮなどの地下地物は、先に描画されている地上の建物ＢＬＤ１等を貫通するように描かれることになる。
次に、３次元地図表示システム１００Ａは、ステップＳ４７０による描画結果とは別に、地上の建物（建物の地上部分）のみをステップＳ４４０と同じ投影条件で投影することによって描画したレイヤを生成する（ステップＳ４８０）。このとき、３次元地図表示システム１００Ａは、地上の建物同士の奥行き判定も行う。そして、３次元地図表示システム１００Ａは、このレイヤをステップＳ４７０による描画結果の上に重畳する（ステップＳ４８２）。こうすることによって、地上の建物ＢＬＤ１，ＢＬＤ２，ＢＬＤ３と地下地物との間で奥行き判定が行われているかのように、地下地物を表示することができる。
地下地物が存在しない場合（ステップＳ４５０：ＮＯ）には、これらの処理はスキップされる。
次に、３次元地図表示システム１００Ａは、文字の描画（ステップＳ４９０）、表示装置への表示を行う（ステップＳ４９２）。
以上説明した第４実施例の３次元地図表示処理によれば、ステンシルマスクＳＭを用いなくても第１実施例と同様の描画を実現することができる。
【００４２】
上記第４実施例の３次元地図表示処理（図１２〜１４参照）では、地表面および地上地物を描画（ステップＳ４４０）→Ｚバッファをクリア（ステップＳ４６０）→地下地物を描画（ステップＳ４７０）→地上の建物のみを描画したレイヤを重畳（ステップＳ４８０，４８２）の順に３次元地図の描画を行うものとしたが、本発明は、これに限られない。地表面および地上地物を描画→Ｚバッファをクリア→地下地物を描画→Ｚバッファをクリア→地上の建物を描画の順序で描画させてもよい。こうすることによっても、地上の建物（建物の地上部分）と地下地物との間で奥行き判定が行われているかのように、地下地物を表示することができる。
【００４３】
Ｇ．変形例：
上記実施例および変形例で説明した種々の処理は、必ずしも全てを備えている必要はなく、一部を省略したり、他の処理と置換したり、組み合わせたりしても構わない。
例えば、上記第１実施例の３次元地図表示システム１００において、マスク画像生成部４４を省略するようにしてもよい。また、上記第２実施例の３次元地図表示システム１００Ａにおいて、第３描画部４７を省略するようにしてもよい。
また、第１実施例または第２実施例の３次元地図表示処理と、第３実施例の３次元地図表示処理とを組み合わせるようにしてもよい。また、第３実施例の３次元地図表示処理と第４実施例の３次元地図表示処理とを組み合わせるようにしてもよい。
Ｚバッファクリア後に描画する対象地物は、必ずしも地下地物に限られるものではない。
上記実施例の３次元地図表示システム１００，１００Ａを、３次元地図を利用して経路案内を行うナビゲーションシステムに適用することも可能である。
上記実施例において、ソフトウェア的に実行されている処理は、ハードウェア的に実行してもよいし、その逆も可能である。
【産業上の利用可能性】
【００４４】
本発明は、地表面および地物を３次元的に表現する３次元地図を表示する技術に利用することができる。
【符号の説明】
【００４５】
１０…地図データベース
１２，１２ａ…地図データ
１４…文字データ
２０…コマンド入力部
３０…送受信部
４０，４０Ａ…表示制御部
４２…第１描画部
４４…マスク画像生成部
４６…第２描画部
４７…第３描画部
４８…文字描画部
５０…表示装置
１００，１００Ａ…３次元地図表示システム
【図１】
2015036824.tif 000003
【図２】
2015036824.tif 000004
【図３】
2015036824.tif 000005
【図４】
2015036824.tif 000006
【図５】
2015036824.tif 000007
【図６】
2015036824.tif 000008
【図７】
2015036824.tif 000009
【図８】
2015036824.tif 000010
【図９】
2015036824.tif 000011
【図１０】
2015036824.tif 000012
【図１１】
2015036824.tif 000013
【図１２】
2015036824.tif 000014
【図１３】
2015036824.tif 000015
【図１４】
2015036824.tif 000016