(57)【特許請求の範囲】
【請求項１】
３次元地図を描画するための３次元地図データを生成する地図データ生成システムであって，
前記３次元地図データを格納する３次元地図データベースと、
前記３次元地図データに配置する地物を表す３次元モデルのデータを格納する３次元モデルデータベースと、
前記３次元地図データベースを用いて、前記３次元地図を表示する３次元表示部と、
前記３次元地図においてオペレータによって指定された点の該表示上の２次元座標を入力する座標入力部と、
前記３次元地図データを規定する３次元の座標値の少なくとも一つを拘束するよう予め設定された拘束条件に基づいて、前記２次元座標を、前記３次元の座標値に変換する座標変換部と、
前記変換された３次元の座標値に配置されるよう前記３次元モデルを前記３次元地図データに追加する３次元地図データ生成部とを備える地図データ生成システム。
【請求項２】
請求項１記載の地図データ生成システムであって、
前記拘束条件は、指定された点が地表面であるとの条件である地図データ生成システム。
【請求項３】
請求項１または２記載の地図データ生成システムであって、
さらに、カメラで撮影して得られた撮影画像データと、該撮影時のカメラの位置、方向、画角とを含む撮影条件を記憶する撮影画像データベースと、
前記撮影画像データを用いて撮影画像を表示する撮影画像表示部とを備え、
前記３次元表示部は、前記撮影画像に対応する撮影条件に基づいて前記３次元地図を表示する地図データ生成システム。
【請求項４】
請求項１〜３いずれか記載の地図データ生成システムであって、
前記３次元モデルには、道路上に路面標示を描くための路面標示データが含まれ、
前記拘束条件は、前記路面標示データに対しては、前記路面標示の道路面内での配置を規制する条件である地図データ生成システム。
【請求項５】
請求項１〜４記載の地図データ生成システムであって、
前記変換された座標値に従って、自動生成の対象となる３次元モデルを生成する際に基準となるべき地点または領域を特定し、予め設定された規則に従って、前記地点または領域を基準として該３次元モデルを自動生成し、前記地図データベースに追加する自動生成部を備える地図データ生成システム。
【請求項６】
請求項１〜５いずれか記載の地図データ生成システムであって、
２次元の画像を表示するためのポリゴンデータを記憶する２次元データベースと、
前記２次元データベースを用いて、前記３次元地図に重ねて２次元画像を描画する２次元表示部と、
前記座標入力部によって入力された座標に従って、前記ポリゴンデータを生成する２次元画像データ生成部とを備える地図データ生成システム。
【請求項７】
３次元地図を描画するための３次元地図データを格納する３次元地図データベースと、前記３次元地図データに配置する地物を表す３次元モデルのデータを格納する３次元モデルデータベースとを備えるコンピュータによって、前記３次元地図データを生成する地図データ生成方法であって，
前記コンピュータが行う工程として、
前記３次元地図データベースを用いて、前記３次元地図を表示する３次元表示工程と、
前記３次元地図においてオペレータによって指定された点の該表示上の２次元座標を入力する座標入力工程と、
前記３次元地図データを規定する３次元の座標値の少なくとも一つを拘束するよう予め設定された拘束条件に基づいて、前記２次元座標を、前記３次元の座標値に変換する座標変換工程と、
前記変換された３次元の座標値に配置されるよう前記３次元モデルを前記３次元地図データに追加する３次元地図データ生成工程とを備える地図データ生成方法。
【請求項８】
３次元地図を描画するための３次元地図データを格納する３次元地図データベースと、前記３次元地図データに配置する地物を表す３次元モデルのデータを格納する３次元モデルデータベースとを備えるコンピュータによって、前記３次元地図データを生成するためのコンピュータプログラムであって，
前記３次元地図データベースを用いて、前記３次元地図を表示する３次元表示機能と、
前記３次元地図においてオペレータによって指定された点の該表示上の２次元座標を入力する座標入力機能と、
前記３次元地図データを規定する３次元の座標値の少なくとも一つを拘束するよう予め設定された拘束条件に基づいて、前記２次元座標を、前記３次元の座標値に変換する座標変換機能と、
前記変換された３次元の座標値に配置されるよう前記３次元モデルを前記３次元地図データに追加する３次元地図データ生成機能とを前記コンピュータによって実現するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元地図を描画するための３次元地図データを生成する技術に関し、特に画面上で３次元モデルを容易に配置するためのエディタ技術に関する。
【背景技術】
【０００２】
地図データを用いてコンピュータ等の画面上に地図を表示する電子地図の分野では、建物等の地物を３次元的に表示した３次元地図の活用が広まっている。３次元地図は、各建物等の３次元形状を表す３次元地図データを用いて描画される。３次元地図を活用するためには、この３次元地図データを軽い負荷で整備することが一つの課題となる。
特許文献１は、３次元地図データを生成する技術を開示する。この技術では、建物を撮影した画像データと、建物枠が描かれた２次元地図データとを用いて、建物ごとに３次元地図データを生成する。
特許文献２は、２次元地図データの家枠を鉛直方向に柱状に立ち上げる方法、および代表的な建物形状を表した既存の３次元モデルを地図の建物枠上に配置する方法によって３次元地図データを生成する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−６６８０号公報
【特許文献２】特開２００８−８３７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術では、いずれの方法においても、３次元地図データを配置する座標値を正確に指定する必要があり、３次元地図データの生成負荷が、十分軽いとは言えなかった。
３次元地図では、リアルな３次元表示を実現するために、街路樹、信号機、各種標識など、必ずしも２次元の地図上は明確に表されていない地物も３次元地図データとして用意することが望まれる。従来技術では、かかる場合も、一つ一つの３次元モデルに緯度、経度などの平面座標値を与えていたため、座標値を入力しては、３次元地図を表示させて位置を確認し、座標値を修正するという作業を繰り返す必要があった。
本発明は、かかる課題に鑑み、既存の３次元モデルを３次元空間内で直感的に簡易に配置可能とし、３次元地図データの生成負荷を軽減するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、
３次元地図を描画するための３次元地図データを生成する地図データ生成システムとして構成することができ，
前記３次元地図データを格納する３次元地図データベースと、
前記３次元地図データに配置する地物を表す３次元モデルのデータを格納する３次元モデルデータベースと、
前記３次元地図データベースを用いて、前記３次元地図を表示する３次元表示部と、
前記３次元地図においてオペレータによって指定された点の該表示上の２次元座標を入力する座標入力部と、
前記３次元地図データを規定する３次元の座標値の少なくとも一つを拘束するよう予め設定された拘束条件に基づいて、前記２次元座標を、前記３次元の座標値に変換する座標変換部と、
前記変換された３次元の座標値に配置されるよう前記３次元モデルを前記３次元地図データに追加する３次元地図データ生成部とを備えるものとすることができる。
【０００６】
本発明によれば、表示された３次元地図上でオペレータがいずれかの点を指定すると、その点の表示画面上の２次元座標を３次元座標値に変換することができる。従って、オペレータは画面上で容易に３次元モデルの配置を指定することができる。通常、表示画面上で指定された２次元の情報だけでは、３次元の座標値を特定することはできないが、本発明では、予め３次元の座標値の少なくとも一つを拘束する拘束条件が設定されているため、上述の座標変換が可能となるのである。こうすることによって、既存の３次元モデルの平面座標値を入力するまでなく３次元地図を見ながら直感的に３次元空間内で配置することができ、３次元地図データの生成負荷を軽減することができる。
【０００７】
上述の拘束条件としては、例えば、指定された点が地表面であるとの条件としてもよい。
地表面であるとは、３次元座標のうち高さの座標値（Ｚ座標）を０として扱うものとしてもよいし、地表面の３次元地図データを準備しておき、この地表面上の点が指定されているものとして扱ってもよい。配置対象となる３次元モデルは、地表面に設置される地物であることが多いため、かかる拘束条件を設定することにより、適正な座標変換を実現することができる。
拘束条件は、必ずしも地表面に限る必要はない。例えば、既に３次元地図データが生成されている建物の壁等を指定しておき、指定された点が当該壁等の表面であるとの拘束条件を設定してもよい。こうすることにより、例えば、壁面に設置される看板などの配置を容易に行うことが可能となる。
また拘束条件は、道路沿いなど、指定された点が特定の直線または曲線上にあるとの条件としてもよい。こうすることにより、道路沿いに設けられる中央分離帯やガードレールなどの３次元モデルを容易に配置することが可能となる。
【０００８】
本発明の地図データ生成システムにおいては、
さらに、カメラで撮影して得られた撮影画像データと、該撮影時のカメラの位置、方向、画角とを含む撮影条件を記憶する撮影画像データベースと、
前記撮影画像データを用いて撮影画像を表示する撮影画像表示部とを備え、
前記３次元表示部は、前記撮影画像に対応する撮影条件に基づいて前記３次元地図を表示するものとしてもよい。
こうすることにより、撮影画像と３次元地図とを対応させて表示することができ、撮影画像を見ながら３次元モデルの配置をすることが可能となる。
【０００９】
３次元モデルに、道路上に路面標示を描くための路面標示データが含まれる場合には、
拘束条件は、路面標示データに対しては、路面標示の道路面内での配置を規制する条件とすることもできる。
路面標示とは、道路上に描かれる道路白線、横断歩道、停止線、進行方向を示す矢印、速度制限標示などを指す。これらの路面標示は、例えば、横断歩道は交差点近傍に描かれ、交差点内には描かれないなど、道路面内での配置にも制限があるのが通常である。上述の態様によれば、拘束条件として、道路面内での配置を規制する条件が設定されているため、路面標示を容易かつ適正に配置することができる。
【００１０】
路面標示データについては、
さらに、変換された座標値に従って、自動生成の対象となる３次元モデルを生成する際に基準となるべき地点または領域を特定し、予め設定された規則に従って、地点または領域を基準として３次元モデルを自動生成し、地図データベースに追加する自動生成部を備えるものとしてもよい。
路面標示の中には、道路白線や停止線のように、道路を指定するとある程度、規則に従って、自動生成可能なものも存在する。上述の態様によれば、基準となる地点または領域を指定するだけで、これらの標示を生成することが可能となるため、３次元地図データの生成負荷をさらに軽減することができる。
【００１１】
本発明の地図データ生成システムにおいては、さらに、
２次元の画像を表示するためのポリゴンデータを記憶する２次元データベースと、
前記２次元データベースを用いて、前記３次元地図に重ねて２次元画像を描画する２次元表示部と、
前記座標入力部によって入力された座標に従って、前記ポリゴンデータを生成する２次元画像データ生成部とを備えるものとしてもよい。
３次元地図を活用する際には、経路案内用の矢印や、案内用の記号など、３次元内での配置になじまない表示が必要となる場合がある。上述の態様によれば、３次元地図と重ねて、通常の２次元画像を描画可能となるため、案内用の矢印や記号などの２次元画像を容易に表示させることが可能となる。
【００１２】
本発明は、上述した各特徴を全て備えている必要はなく、適宜、組み合わせたり、一部を省略したりして構成することも可能である。
また、本発明は，地図データ生成システムとしての構成の他，コンピュータによって地図データを生成する地図データ生成方法として構成してもよいし，地図データの生成をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また，かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。記録媒体は，ＣＤ−ＲＯＭやサーバなどのようにコンピュータと別体の媒体であってもよいし、コンピュータに内蔵のＲＡＭ、ＲＯＭやハードディスクなどの内部記憶装置であってもよい。
【図面の簡単な説明】
【００１３】
【図１】地図データ生成システムの表示例を示す説明図である。
【図２】３次元モデルの配置例を示す説明図である。
【図３】路面標示の自動生成例を示す説明図である。
【図４】路面標示の配置例を示す説明図である。
【図５】二次元画像の描画例を示す説明図である。
【図６】ガイドライン表示例（１）を示す説明図である。
【図７】ガイドライン表示例（２）を示す説明図である。
【図８】ガイドライン表示例（３）を示す説明図である。
【図９】実施例における地図データ生成システムの構成を示す説明図である。
【図１０】座標変換の拘束条件を示す説明図である。
【図１１】３次元モデル配置処理のフローチャートである。
【図１２】道路沿モデル生成処理のフローチャートである。
【図１３】路面標示自動生成処理のフローチャートである。
【図１４】路面標示の配置処理例を示す説明図である。
【図１５】路面標示配置処理のフローチャートである。
【図１６】ガイドラインデータ生成処理のフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１４】
実施例の地図データ生成システムは、コンピュータ上の画面を見ながらオペレータがマウス等のポインタで指示することで既存の３次元モデルを配置等して３次元地図データを生成するシステムである。実施例における地図データ生成システムは、３次元地図データを生成するためのエディタに相当する。以下の説明では、最初に、実施例における各種表示例を説明し、その後、実施例としての地図データ生成システムの構成およびソフトウェア処理内容について説明する。
【００１５】
Ａ  表示画面構成：
図１は地図データ生成システムの表示例を示す説明図である。コンピュータのディスプレイに表示される状態を示した。
図示する通り、地図データ生成システムの画面は、４つのビューＶ１〜Ｖ４で構成される。ビューＶ１は、現地を撮影した撮影画像を表示する。ビューＶ２（以下、「２Ｄビュー」と言うこともある）は、２次元地図を表示する。ビューＶ３は、３次元地図を表示する。この３次元地図は、透視投影の視線ベクトル方向および画角を、撮影画像のカメラ方向および画角と合わせてある。ビューＶ４は撮影画像とは異なる視線ベクトルおよび画角で３次元地図を表示する。ビューＶ３，Ｖ４を以下、３Ｄビューということもある。
本実施例では、４つのビューＶ１〜Ｖ４を別々のウィンドウで表示するようにしたため、その配置や表示／非表示の切り替えは自在に可能である。
ビューＶ２〜Ｖ４は、いずれの共通の３次元地図データを用い、視線ベクトルおよび画角を変えて透視投影したものである。２次元地図を表示するビューＶ２は、鉛直上方からの透視投影を表示しているに過ぎない。こうすることにより、共通のソフトウェア構成で、多様な表示を実現することができる。図１では、地図表示として、３つのビューＶ２〜Ｖ４を例示したが、これらの一部を省略してもよいし、視線ベクトルおよび画角を変えた更に多くのビューを用意しても良い。
【００１６】
Ｂ  各種モデルの配置例：
図２は３次元モデルの配置例を示す説明図である。図２（ａ）は撮影画像を表示するビュー（図１のビューＶ１に相当）を示している。この撮影画像中にある消火栓ＯＢＪａのモデルを表す３次元地図データを生成する場合を例にとって説明する。
図２（ｂ）は３次元地図を表示するビュー（図１のビューＶ３に相当）である。オペレータが、予め用意された３次元モデルの中から配置対象として「消火栓」を選択すると、消火栓モデルＯＢＪｂが、デフォルトの位置に表示される。この画面上で、消火栓モデルＯＢＪｂをマウスでドラッグしたり、これを配置すべき点をクリックしたりして、その配置場所を指定すると、図２（ｃ）の消火栓モデルＯＢＪｃに示すように、オペレータの指示に従って、モデルが移動し、配置される。
通常は、図２（ｂ）、図２（ｃ）に示すような３次元地図表示では、画面上の一点を指定したところで、３次元空間の座標を特定することはできないが、本実施例では、後述する通り、座標の指定に拘束条件を設けることにより、画面上で指定された点に応じて３次元空間内の一点が定まるようにしているのである。処理内容については後述するが、このように画面内でマウスを利用して３次元モデルを自在に配置可能とすることにより、３次元モデルの配置による処理負荷を軽減することが可能となる。
【００１７】
図３は路面標示の自動生成例を示す説明図である。３次元地図を表示するビュー（図１のビューＶ３に相当）を例示した。
道路面には、道路白線など種々の路面標示が描かれるが、これらの中には、予め設定した規則に従い道路形状に応じて自動的に生成可能なものもある。図の例では、道路ポリゴンＰＯＬをオペレータが指定すると、道路の中央線Ｌ４を自動的に生成し、車線数に応じて、道路白線Ｌ１〜Ｌ３を生成する。また、道路ポリゴンと交差点との境界を基準として所定の位置に停止線Ｌ５を生成する。この他に横断歩道なども自動生成可能としてもよい。
図３では、図１のビューＶ３に相当する画面内で道路ポリゴンＰＯＬを指定する例を示したが、二次元地図を表示するビュー（図１のビューＶ２）で道路ポリゴンを指定するようにしてもよい。
【００１８】
図４は路面標示の配置例を示す説明図である。３次元地図を表示するビュー（図１のビューＶ３に相当）において、矢印Ｍの路面標示を配置する例を示した。
矢印Ｍは、道路上にあるから、オペレータがマウスで矢印Ｍをドラッグしたり、画面上の特定の点をクリックしたりすることによって矢印Ｍの位置を特定することは可能である。しかし、矢印Ｍは、道路上のどこにでも配置できるものではなく、車線の中央に配置されるものである。また停止線よりも手前に配置され、交差点内には配置されない。本実施例では、路面標示を配置すべき場所がこのように制限されていることを考慮し、路面標示に対しては、所定の規則に従って配置を規制するようにした。図の例では、矢印Ｍは、道路白線Ｌ２、Ｌ３の中心線ＣＬに沿って、停止線Ｌ５の手前側でのみ配置可能となる。オペレータが、中心線ＣＬからずれた位置をマウスで指定した場合であっても、道路面上という拘束条件だけでなく、中心線ＣＬ上という拘束条件を考慮するため、矢印Ｍは図中のＡ方向にしか移動しない。マウスの位置を、中心線ＣＬの位置に対応づける方法については、後述する。
このように、路面標示Ｍの配置場所に規制を設けることにより、路面標示Ｍを中心線ＣＬ上に容易に位置づけることが可能となり、配置の負荷軽減を図ることができる。
【００１９】
Ｃ  ガイドライン描画例：
図２〜４では、３次元地図の表示内で３次元モデルや路面標示を自動生成したり配置したりする例を示した。３次元地図を活用する場合には、単に３次元モデルによる表示だけでなく、経路案内で用いる案内用の矢印（以下、「ガイドライン」という）や、案内用の記号などを表示することが好ましい。これらのガイドラインや記号などは、二次元の図形となるため、３次元モデルにはなじまないものである。本実施例では、以下に示す通り、３次元表示とは別に、これらの二次元の画像を表示するためのレイヤを設けることによって、ガイドライン等を容易に表示可能としている。
【００２０】
図５は二次元画像の描画例を示す説明図である。３次元地図の表示レイヤＬＡ１（図１のビューＶ３に相当）の上に、二次元用のレイヤＬＡ２を用意する。二次元用のレイヤＬＡ２には、図示するようにガイドラインを通常の２次元のポリゴンとして描画する。これらのレイヤＬＡ１、ＬＡ２を重ねて表示することによって、３次元地図上にガイドラインを標示した画像ＩＭＧを生成することができる。
こうすることによって、ガイドライン等の二次元画像を、容易かつ見栄え良く表示することが可能となる。
【００２１】
図６はガイドライン表示例（１）を示す説明図である。図６（ａ）は、３次元空間内でガイドラインＧＬａ１に相当するポリゴンデータを設定し、３次元表示させたものである。ガイドラインＧＬａ１が曲がる部分や先端の矢印部分（図中のＡ１領域）で、形状が歪んでいることが分かる。
図６（ｂ）は、二次元画像の表示レイヤ上で、ガイドラインＧＬｂ１のポリゴンを生成した例である。ガイドラインのポリゴンを二次元画像として用意すれば済むため、このように容易に滑らかな曲線を描くことができ、先端の矢印部分も違和感のない形状とすることができる。
図７はガイドライン表示例（２）を示す説明図である。図７（ａ）は３次元空間内でガイドラインＧＬａ２を設定したものである。領域Ａ２部分で形状が歪んでいることが分かる。これに対し、二次元画像の表示レイヤを用いれば、図７（ｂ）のガイドラインＧＬｂ２のように滑らかな形状を実現することができる。
図８はガイドライン表示例（３）を示す説明図である。図８（ａ）は３次元空間内でガイドラインＧＬａ３を設定したものである。領域Ａ３部分で形状が歪んでいることが分かる。これに対し、二次元画像の表示レイヤを用いれば、図８（ｂ）のガイドラインＧＬｂ３のように滑らかな形状を実現することができる。
【００２２】
Ｄ  地図データシステムの構成：
図２〜８で示した種々の表示および３次元モデルの自動生成、配置を実現するためのシステム構成等について，以下、説明する。
図９は実施例における地図データ生成システムの構成を示す説明図である。実施例としての地図データ生成システム１００は、コンピュータに、図示する種々の機能を実現するためのコンピュータプログラムをインストールすることによって実現できる。
【００２３】
地図データ生成システム１００は、４種類のデータベースを備えている。
撮影画像データベース１１０は、現地をディジタルカメラ等で撮影した静止画（以下、「撮影画像」という）の画像データ（以下、「撮影画像データ」）を格納するデータベースである。動画像から各場面を切り出し、静止画として表示可能なデータベースとして構成してもよい。撮影画像は、それぞれカメラの撮影条件、即ち、撮影方向（方位および仰ぎ角）と画角と対応づけて格納されている。
ガイドラインデータベース１１２は、図６〜８で示したガイドラインのデータを格納するデータベースである。先に説明した通り、ガイドラインは、３次元地図上に重ねて描かれる２次元画像であるから、ガイドラインのデータは、２次元のポリゴンデータ（以下、「ガイドラインデータ」ということもある）として格納されている。
３次元地図データベース１１４は、３次元地図表示を実現するための３次元地図データを格納している。地表面を表す３次元地図データとともに、道路、建物、路面標示その他の地物を表す３次元地図データを格納する。地物の３次元地図データは、例えば、それぞれ３次元的に形状を規定するポリゴンデータと、地物の位置を表す座標値の形式で記憶させることができ、さらに地物の属性データを関連づけて記憶してもよい。３次元地図データベース１１４には、標識、信号機、ありふれた建物のように既存の３次元モデルを配置することで生成されるデータと、地物固有のポリゴンデータとが含まれる。３次元モデルを利用して生成されるデータについては、地物ごとにポリゴンデータを格納する形式に変えて、３次元モデルへのリンクを格納する方法をとってもよい。
３次元モデルデータベース１１６は、上述した汎用的な地物の３次元形状を表す３次元モデルを格納する。また、本実施例では、図３で説明したように、一部の路面標示については自動生成することができるから、３次元モデルデータベース１１６は、自動生成の対象となる路面標示について、自動生成するための規則も格納している。
これらのデータベースは、コンピュータ自体に格納してもよいし、外部記憶媒体やサーバから供給するようにしてもよい。
【００２４】
以下、コンピュータプログラムによって実現される各機能ブロックについて説明する。
撮影画像表示部１０２は、撮影画像データベース１１０に格納された撮影画像データを用いて、撮影画像ビュー（図１のビューＶ１）を表示する。
３次元表示部１０４は、３次元地図データベース１１４に格納された３次元地図データを用いて３次元および２次元の地図（図１のビューＶ２〜Ｖ４）をそれぞれ表示する。２ＤビューＶ２は、３次元地図データを用いて、視線ベクトルを鉛直下方に設定した状態で透視投影することによって描画することができる。３次元表示部１０４は、撮影画像データに対応づけて格納された撮影条件に合わせた視線ベクトルおよび画角でビューＶ３を表示する。こうすることにより、ビューＶ３に、撮影画像ビューＶ１に対応した３次元地図を表示することができる。
２次元表示部１０６は、ガイドラインデータベース１１２に格納されたガイドラインデータを２次元画像として表示する。この２次元画像を描画したレイヤが、３Ｄビュ−Ｖ３に重畳して表示されることによって、図６〜８に示したガイドラインの画像が生成される。
【００２５】
地図データ生成システム１００では、オペレータは、ビューＶ３，Ｖ２などの画面上で、マウス等のポインタによってドラッグ、クリック等の操作を行い、３次元モデルの配置や路面標示の生成などを行う。座標入力部１４０は、上述の過程で、オペレータがマウス等のポインタで指定した点の座標を入力する。この座標値は、画面内で定義される「表示上の２次元座標」となる。
ガイドラインは単に２次元のポリゴンであるから、ガイドラインを生成する過程では、オペレータが指定した表示上の２次元座標を、そのままポリゴンの形状を定義するデータ入力として用いることができる。ガイドラインデータ生成部１２０は、このように座標入力部１４０で入力された座標値を用いて、ガイドラインのポリゴンを生成する機能を奏する。
一方、３次元モデルの配置等を指示する場合には、座標入力部１４０で入力された表示上の２次元座標だけでは、３次元モデルを配置する３次元座標を定義することはできない。そこで、座標変換部１４２は、予め用意された所定の拘束条件を適用することによって、表示上の２次元座標を、３次元座標値に変換する。
３次元地図データ生成部１３０は、変換された３次元座標に基づいて、以下の機能ブロックによって、３次元地図データを生成する。
３次元モデル配置部１３２は、３次元モデルデータベース１１６に格納された３次元モデルを、変換された３次元座標に基づいて３次元空間内で配置する。
道路沿モデル生成部１３４は、変換された３次元座標に基づいてオペレータが指定した道路を特定し、この道路に沿って設置される中央分離帯やガードレールなどの地物のデータを生成する。
路面標示生成部１３６は、オペレータが指定した道路に対して、路面標示を自動生成する（図３参照）。
路面標示配置部１３８は、オペレータの指示に応じて、自動生成の対象となっていない路面標示を配置する（図４参照）。
以上の３次元地図データ生成部１３０で生成される過程のデータは、３次元地図データベース１１４に反映され、３ＤビューＶ３，Ｖ４および２ＤビューＶ２に反映される。従って、オペレータは、これらのビュー２〜４を、撮影画像ビューＶ１と対比して見ながら、３次元地図データを生成することができる。
【００２６】
Ｅ  ３次元モデル配置処理：
次に、地図データ生成装置１００の各機能を実現するための処理内容について説明する。まず、実施例における座標変換の考え方を示した後、各処理内容を説明する。
図１０は座標変換の拘束条件を示す説明図である。３次元画像は、視点ＥＰから２次元平面のビューＶＷに透視した状態で描かれる。視点ＥＰと点Ｐａを結ぶ直線ＬＡ上の点は全てビューＶＷ内の点Ｐａに透視されることになるから、ビューＶＷ内で点Ｐａが指定されたとしても、この点に基づいて、ただちに３次元空間内の一点を特定することはできない。
これに対し、例えば、指定された点は地表面上の点であるという拘束条件を与える場合を考える。ここでは、地表面を３次元座標の高さ（Ｚ座標値）０の平面αであるとする。かかる拘束条件を考慮すると、点Ｐａは、直線ＬＡ上かつ平面α上の点ということになるから、３次元空間内の点ＰＡと特定することができ、その座標値を（ＸＡ、ＹＡ，０）と求めることができる。
同様に、地表面αだけではなく、３次元空間内の特定の平面β上の点であるという拘束条件を用いることもできる。この場合、ビューＶＷ内で点Ｐｂが指定されると、視点ＥＰと点Ｐｂとを結ぶ直線ＬＢと平面βとの交点ＰＢと特定することができ、その座標値（ＸＢ、ＹＢ，ＺＢ）を特定することができる。
拘束条件は、このように平面で与えるだけでなく、直線で与えるようにしてもよい。例えば、地表面α内の直線Ｌ上の点であるとの拘束条件を与える場合を考える。かかる場合には、拘束条件に対応する直線Ｌを含み、地表面αに垂直な平面βを考え、平面β内で指定された点Ｐｂに対応する点ＰＢを求めることができる。そして、指定された点は、この点ＰＢから直線Ｌに垂線を下ろした点ＰＢ１（ＸＢ，ＹＢ，０）と特定することができる。点ＰＢ１は、直線ＬＢ上の点ではないから、ビューＶＷ内で指定された点と、３次元空間内で特定される点との間にはずれが生じることになる。これは、上述の拘束条件は、指定された位置は一次元の自由度しか有さず、実質的には３次元中の２次元の座標値を拘束することによるものである。しかしながら、かかる扱いをすることにより、ビューＶＷ上で直線Ｌからずれた点を指定した場合でも、直線Ｌ上の点に変換されるため、点を指示する際のオペレータの負担を軽減することができる。
直線Ｌを拘束条件とする他、平面α上の点ＰＣに対して高さを指定するという拘束条件とすることもできる。この場合には、点ＰＣを通って、平面αに垂直な平面βを想定し、指定された点Ｐｂに対応する平面β上の点ＰＢを特定する。そして、この点ＰＢの高さ値ＺＢを用いて、点ＰＣの直上の点ＰＣ１（ＸＣ、ＹＣ，ＺＢ）が指定されていると特定することができる。
以下で座標変換を言うときには、これらのうちのいずれかの変換方法を意味する。
【００２７】
図１１は３次元モデル配置処理のフローチャートである。コンピュータのＣＰＵが実行する図２に示した処理であり、図９の３次元モデル配置部１３２の処理内容に相当する。
処理を開始すると、ＣＰＵは、オペレータの指示に従って、配置対象となる３次元モデル（以下、３次元モデルデータベース１１６に格納された３次元モデルから変形される可能性もあるという意味も含めて、「オブジェクト」ということもある）を選択し（ステップＳ１０）、オペレータがマウス等で指定した表示上の２次元座標（ｘ、ｙ）を入力する（ステップＳ１１）。この２次元座標値に応じて３次元モデルを配置する方法は、入力モードによって異なる。
位置指定の入力モードの場合は（ステップＳ１２）、高さ＝０との拘束条件によって座標変換を行う（ステップＳ１３）。これは図１０で示した平面α上の点であるとの拘束条件での座標変換に相当する。この座標変換によって２次元座標（ｘ、ｙ）は、３次元座標（Ｘ，Ｙ，０）に変換される。ここでは、地表面という拘束条件という意味で、高さ＝０という拘束条件を例示したが、地表面のポリゴンデータが用意されている場合には、図１０における平面αの代わりに地表面のポリゴンデータを用いることによって、地表面との交点という拘束条件とすることもできる。
ＣＰＵは、得られた３次元座標（Ｘ，Ｙ，０）に基づいて、オブジェクトを配置し（ステップＳ１４）、３次元地図データベースを更新する（ステップＳ１７）。この更新によって、３Ｄビューの画面も変更されることになる。
【００２８】
一方、位置固定の入力モードの場合は（ステップＳ１２）、オブジェクトの位置（Ｘ，Ｙ）を用いて座標変換を行う（ステップＳ１５）。これは図１０で示した平面α上の点ＰＣに対して高さを与えるとの拘束条件で点ＰＣ１を求めるとの座標変換に相当する。この座標変換によって２次元座標（ｘ、ｙ）は、３次元座標（Ｘ，Ｙ，Ｚ）に変換される。
ＣＰＵは、得られた３次元座標（Ｘ，Ｙ，Ｚ）に基づいて、オブジェクトの高さを修正し（ステップＳ１６）、３次元地図データベースを更新する（ステップＳ１７）。指定された点に応じてオブジェクトを高さ方向にだけ拡大縮小するようにしてもよいし、オブジェクトを相似変化させるようにしてもよい。この更新によって、３Ｄビューの画面も変更されることになる。
【００２９】
オブジェクトの位置または高さの修正が必要な場合は（ステップＳ１８）、オペレータが新たな点を指定すれば、ステップＳ１１以降の各処理によって、３次元空間内で自在にオブジェクトの位置または高さを変更することができる。
【００３０】
図１２は道路沿モデル生成処理のフローチャートである。コンピュータのＣＰＵが実行する処理であり、図９の３次元モデル配置部１３２の処理内容に相当する。
処理を開始すると、ＣＰＵは、オペレータの指示に従って、生成対象となるオブジェクトを選択する（ステップＳ３０）。図の右側に、この処理で生成対象となるオブジェクトを例示した。ガードレールＧや中央分離帯Ｃなど、道路ＲＤに沿って配置されるオブジェクトが対象となる。それぞれ複数種類のタイプの中から選択可能としてもよい。
ＣＰＵは、オペレータがマウス等で指定した表示上の２次元座標（ｘ、ｙ）を入力し、これに基づいてオブジェクトを配置すべき道路ポリゴンを選択する（ステップＳ３１）。２次元座標（ｘ、ｙ）が地表面であるとの拘束条件に基づいて３次元座標に変換して、指定された点を含む道路ポリゴンを特定すればよい。
次に、ＣＰＵは、道路ポリゴン、オブジェクトに基づきオブジェクトの生成ラインを設定する（ステップＳ３２）。図中に設定方法を例示した。道路ポリゴンＲＤＰが指定されている場合を考える。まず、オブジェクトは道路に沿って生成されるから、道路ポリゴンＲＤＰを構成する点Ｐ１〜Ｐ４のうち道路の進行方向に沿う点列Ｐ１−Ｐ２およびＰ３−Ｐ４を特定する。中央分離帯Ｃが選択されている場合には、この点列の中央に位置する線ＣＬを生成ラインとする。ガードレールＧが選択されている場合には、点列を所定の距離だけ移動させた線ＧＬを生成ラインとする。
ＣＰＵは、次に、オペレータが指定する表示上の２次元座標（ｘ、ｙ）を入力し（ステップＳ３３）、オブジェクト生成ラインを用いて座標変換を行う（ステップＳ３４）。これは、オブジェクト生成ライン上の点に高さを与える指定であるものとして、図１０で示した平面α上の点ＰＣに対して高さを与えるとの拘束条件で点ＰＣ１を求めるとの座標変換に相当する。この座標変換によって２次元座標（ｘ、ｙ）は、３次元座標（Ｘ，Ｙ，Ｚ）に変換される。
ＣＰＵは、得られた３次元座標（Ｘ，Ｙ，Ｚ）に基づいて、オブジェクトの高さを設定し（ステップＳ３５）、３次元地図データベースを更新する（ステップＳ３６）。この更新によって、３Ｄビューの画面も変更されることになる。
オブジェクトの高さの修正が必要な場合は（ステップＳ３７）、オペレータが新たな点を指定すれば、ステップＳ３３以降の各処理によって、３次元空間内で自在にオブジェクトの高さを変更することができる。
【００３１】
Ｆ  路面標示自動生成処理：
図１３は路面標示自動生成処理のフローチャートである。コンピュータのＣＰＵが実行する図３に示した処理であり、図９の路面標示生成部１３６の処理内容に相当する。
処理を開始すると、ＣＰＵは、オペレータの指示に従って、生成対象となるオブジェクトを選択する（ステップＳ５０）。本実施例では、道路白線（中央線および車線帯の区分線）、および停止線などを生成対象とする。
次に、ＣＰＵは、オペレータがマウス等で指定した表示上の２次元座標に基づいてオブジェクトを配置すべき道路ポリゴンを選択する（ステップＳ５１）。２次元座標が地表面であるとの拘束条件に基づいて３次元座標に変換して、指定された点を含む道路ポリゴンを特定すればよい。
ＣＰＵは、指定された道路ポリゴンに対して、予め設定された規則に従ってオブジェクトを自動生成する（ステップＳ５２）。図中に道路白線の生成例を示した。まず、指定された道路の幅Ｗに対して半分の幅Ｗ／２の位置に、中央線ＬＬ１を生成することができる。また、中央線ＬＬ１から、車線数に応じて、予め指定された車線帯幅ＷＬごとに区分線ＬＬ２，ＬＬ３を引く。停止線等も予め定められた規則に従って自動生成することができる。
【００３２】
本実施例では、自動生成されたオブジェクトは、オペレータの指示に従って、修正可能とした。
オブジェクトを修正する場合には（ステップＳ５３）、ＣＰＵは、オペレータがマウス等で指定した表示上の２次元座標（ｘ、ｙ）を入力し（ステップＳ５４）、高さ＝０との拘束条件によって座標変換を行う（ステップＳ５５）。なお、オペレータは２Ｄビューで修正を指示してもよい。この場合も原理的には、座標変換は３Ｄビューで指定された場合と同様の方法で行うことになるが、アルゴリズム上は、２Ｄビュー内で得られた２次元座標（ｘ、ｙ）を原点移動させるだけで３次元座標に変換することが可能である。
ＣＰＵは、得られた３次元座標（Ｘ，Ｙ，０）に最も近いオブジェクトを特定し、そのオブジェクトの端点を座標に従って修正する（ステップＳ５６）。図中に修正例を示した。元来端点Ｅ１まで描かれていた道路白線ＬＬに対し、（Ｘ，Ｙ、０）なる点が指定されたとすると、この点から道路白線ＬＬに下ろした垂線の足Ｅ２までオブジェクトの長さが修正される。この状態は、３次元地図データに反映され、３Ｄビュー、２Ｄビューなどの画面で確認することができる。
【００３３】
Ｇ  路面標示配置処理：
図１４は路面標示の配置処理例を示す説明図である。
図１４（ａ）は路面上に矢印を配置する例を示した。まずオペレータは、路面標示の配置対象となる道路ポリゴンＳＰＬａを指定する。道路ポリゴンＳＰＬａ上には、道路白線ＲＬ１、ＲＬ２が引かれているものとする。オペレータが、道路白線ＲＬ１、ＲＬ２内の点ＰＰ１を指定した場合を考える。オペレータは、矢印Ｍ１を、道路ポリゴンＳＰＬａのうち道路白線ＲＬ１、ＲＬ２に囲まれた領域ＡＲＬ内に配置することを意図していると考えられ、矢印は車線の中央に配置されることを考えると、特に、道路白線ＲＬ１、ＲＬ２の中央に当たる直線ＣＲＬ上に配置することが指示されていると考えられる。そこで、地図データ生成システムは、指定された点ＰＰ１を直線ＣＲＬ上に垂直に投影した点ＰＣ１を特定し、この点ＰＣ１に元ついて矢印Ｍ１を配置する。道路ＳＰＬａが指定された状態で、オペレータが領域ＡＲＬ外を指定した場合は、直線ＣＲＬと道路ポリゴンＳＰＬａとの交点ＰＣ２が指定されたものとして矢印Ｍ２を配置する。
【００３４】
路面標示配置処理は、道路の中央線や車線区分線を配置対象としてもよい。この処理は、図１３で説明した路面標示自動生成処理によって適正な道路白線が生成されなかった場合などに利用することができる。
図１４（ｂ）は、道路ポリゴンＳＰＬｂが指定された場合に、道路白線を配置する処理例を示している。この例では、オペレータが指定した点が、いずれの道路白線に対応するものかを特定する必要がある。そこで、道路ポリゴンＳＰＬｂ内をいくつかの領域に分け、領域ごとに道路白線に対応づけるものとした。例えば、中央線ＲＬ３は、道路のほぼ中央に引かれるものである。従って、道路幅Ｗの半分Ｗ／２の位置を中心として、車線幅ＷＬの領域ＡＲＬ３を設定した。領域ＡＲＬ３内の点ＰＰ３が指定された場合には、オペレータは中央線ＲＬ３の修正などを指示しているものとして処理を行う。区分線ＲＬ４の場合には、中央線ＲＬ３の領域ＡＲＬ３に隣接する車線幅ＷＬの領域ＡＲＬ４を設定し、この中の点ＰＰ４が指定された場合には、区分線ＲＬ４の修正などを指示しているものとして処理を行う。
このように指定された道路ポリゴン、オブジェクトの種類、指定された点に応じて、拘束条件を設けて処理を行うことにより、道路ポリゴンからはみだしたり、中央から偏った位置に配置されるなどの弊害を回避して、路面標示を配置することができる。
【００３５】
図１５は路面標示配置処理のフローチャートである。コンピュータのＣＰＵが実行する図４に示した処理であり、図９の路面標示配置部１３８の処理内容に相当する。
処理を開始すると、ＣＰＵは、オペレータの指示に従って、生成対象となるオブジェクトを選択する（ステップＳ７０）。本実施例では、路面に標示される矢印、速度規制の数字などを配置対象とする。
ＣＰＵは、オペレータがマウス等で指定した表示上の２次元座標に基づいてオブジェクトを配置すべき道路ポリゴンを選択する（ステップＳ７１）。２次元座標が地表面であるとの拘束条件に基づいて３次元座標に変換して、指定された点を含む道路ポリゴンを特定すればよい。
【００３６】
次に、ＣＰＵは、オペレータがマウス等で指定した表示上の２次元座標（ｘ、ｙ）を入力し（ステップＳ７２）、高さ＝０との拘束条件によって座標変換を行う（ステップＳ７３）。なお、オペレータは２Ｄビューで座標を指示してもよい。
ＣＰＵは、オペレータに指定された道路ポリゴン、指定された座標値、およびオブジェクトの種類に基づいて拘束条件を設定し（ステップＳ７４）、この拘束条件に基づいて座標を修正する（ステップＳ７５）。例えば、図１４（ａ）の例であれば、指定された点を直線ＣＲＬに投影した点に修正することになる。図１４（ｂ）の例であれば、指定された点を、その位置に応じて、道路白線ＲＬ３またはＲＬ４上の点に修正することになる。
ＣＰＵは、修正後の座標に基づいてオブジェクトを配置し（ステップＳ７６）、３次元地図データベースを更新する（ステップＳ７７）。この更新によって、３Ｄビューの画面も変更されることになる。修正が必要な場合には（ステップＳ７８）、オペレータが新たな点を指定すれば、ステップＳ７２以降の各処理によって、オブジェクトの配置および形状を修正することができる。
【００３７】
Ｈ  ガイドラインデータ生成処理：
図１６はガイドラインデータ生成処理のフローチャートである。コンピュータのＣＰＵが実行する図５〜８に示した処理であり、図９のガイドラインデータ生成部１２０の処理内容に相当する。
処理を開始すると、オペレータはガイドラインの生成対象となる経路を選択する（ステップＳ９０）。経路探索などを実行して経路が得られている場合には、経路探索結果を利用してもよいし、そうでない場合は、経路となるべきリンクを順次指定する方法をとってもよい。
ＣＰＵは、３次元空間内で指定された経路に対応するリンクを滑らかに結ぶ曲線を生成する（ステップＳ９１）。図中に処理例を示した。リンクＬ１〜Ｌ４、ノードＮ１、Ｎ２からなる道路において、リンクＬ１、Ｌ３、Ｌ４を通る経路が指定されている場合、これらを滑らかに結ぶ曲線ＣＧＬが生成される。かかる曲線は、例えば、スプラインとすることができる。
ＣＰＵは、こうして生成された曲線を用いて３Ｄビューを表示する（ステップＳ９２）。これによって図６（ａ）、図７（ａ）、図８（ａ）に示した状態の画像を表示することができる。
【００３８】
オペレータは、この画像中に示された曲線を下絵としてガイドラインを生成することができる。ＣＰＵは、オペレータが画面上で指定した点の二次元座標を入力し（ステップＳ９３）、これに従って、ガイドラインの形状を決めるポリゴンデータを生成する（ステップＳ９４）。この処理では、ガイドラインは２次元ポリゴンとして形成されるため、画面上で指定された二次元座標を座標変換する必要はない。
ガイドラインのポリゴンデータの生成が完了すると（ステップＳ９５）、ＣＰＵは、このポリゴンを格納することでガイドラインデータベースを更新する（ステップＳ９６）。下絵として用いた曲線のデータは、この処理と合わせて削除すればよい。これらの更新によって、３Ｄビューの画面には、図６（ｂ）、図７（ｂ）、図８（ｂ）に相当する画像が表示される。
図１６の処理例では、３次元空間で設定した曲線を下絵として用いる例を示したが、ステップＳ９０〜９２を省略し、下絵なしでガイドラインを生成するようにしてもよい。また、ガイドラインの生成と合わせて、有料道路や速度規制などを示すマークなどを表すデータを生成するようにしてもよい。
【００３９】
以上で説明した実施例の地図データ生成システムによれば、３Ｄビュー、２Ｄビュー（図１参照）内でオペレータがマウス等でドラッグやクリック等の操作を行うことにより、３次元モデルの配置、修正、路面標示の自動生成、配置等を直感的に容易に行うエディタを提供することができる。従って、３次元地図データの生成負荷を軽減することができる。
また、３次元地図表示に重ねてガイドラインを表示することができ、このガイドライン用のデータは２次元画像として生成することができる。従って、３次元空間内で生成する場合に比べて滑らかで見やすいガイドラインを容易に作成することができる利点もある。
【００４０】
以上、本発明の実施例について説明したが、上述の実施例で説明した種々の処理は、必ずしも全てを備えている必要はなく、一部を省略したり他の処理と置換したりしても構わない。また、上述の例において、ソフトウェア的に実行されている処理は、ハードウェア的に実行してもよいし、その逆も可能である。
【産業上の利用可能性】
【００４１】
本発明は，３次元地図データの生成に利用可能である。
【符号の説明】
【００４２】
１００…地図データ生成システム
１０２…撮影画像表示部
１０４…３次元表示部
１０６…２次元表示部
１１０…撮影画像データベース
１１２…ガイドラインデータベース
１１４…３次元地図データベース
１１６…３次元モデルデータベース
１２０…ガイドラインデータ生成部
１３０…３次元地図データ生成部
１３２…３次元モデル配置部
１３４…道路沿モデル生成部
１３６…路面標示生成部
１３８…路面標示配置部
１４０…座標入力部
１４２…座標変換部
【図５】
0005725908.tif 000002
【図９】
0005725908.tif 000003
【図１０】
0005725908.tif 000004
【図１１】
0005725908.tif 000005
【図１２】
0005725908.tif 000006
【図１３】
0005725908.tif 000007
【図１４】
0005725908.tif 000008
【図１５】
0005725908.tif 000009
【図１６】
0005725908.tif 000010
【図１】
0005725908.tif 000011
【図２】
0005725908.tif 000012
【図３】
0005725908.tif 000013
【図４】
0005725908.tif 000014
【図６】
0005725908.tif 000015
【図７】
0005725908.tif 000016
【図８】
0005725908.tif 000017