(57)【特許請求の範囲】
【請求項１】
リンクおよびノードを用いて表現される２次元道路網情報に基づき、３次元道路網情報を作成する地図情報作成装置であって、
少なくともリンクおよびノードの位置情報と、それらの属性情報とを含む２次元道路網情報を格納する地図情報格納手段と、
前記属性情報に含まれる道路の立体構造を表す属性値と交差する道路の上下関係を表す属性値とに基づいて高さ情報を生成し、生成した高さ情報を前記道路網情報に対して新たな属性情報として付加する高さ情報付加手段と、
前記位置情報を用いて、前記高さ情報を修正する高さ情報修正手段と、
修正後の前記高さ情報を付加した道路網情報を格納する修正地図情報格納手段とを備え、
前記高さ情報修正手段は、前記高さ情報と前記位置情報とにより導かれる道路の立体的な形状が所定の条件を満たさない場合に、前記高さ情報を修正し、さらに新たなノードを生成して前記道路網情報に追加することを特徴とする、地図情報作成装置。
【請求項２】
前記高さ情報修正手段は、前記位置情報と前記高さ情報とに基づき前記道路網情報に含まれる各道路の勾配を算出し、算出した勾配が所定の範囲内に入らない場合に、前記新たなノードを生成して前記道路網情報に追加することを特徴とする、請求項１に記載の地図情報作成装置。
【請求項３】
前記高さ情報修正手段は、ノードについての高さに関する属性情報と、当該ノードに接続されるリンクについての高さに関する属性情報とが一致しない場合に、前記新たなノードを生成して前記道路網情報に追加することを特徴とする、請求項１に記載の地図情報作成装置。
【請求項４】
前記属性情報に基づき、前記高さ情報を付加した前記道路網情報に含まれる各道路の道幅を算出し、道幅を付けた２本の道路について道路間の距離を算出し、算出した距離が前記属性情報に基づき決定される道路間の距離の許容範囲内に入らない場合に、前記道路網情報に含まれる当該道路の水平座標を修正する水平座標修正手段をさらに備えた、請求項１に記載の地図情報作成装置。
【請求項５】
前記水平座標修正手段は、前記高さ情報を付加した前記道路網情報に含まれる各交差点について、２本の道路の重なり領域を求め、求めた重なり領域の大きさが前記属性情報に基づき決定される重なり領域の大きさの許容範囲内に入らない場合に、前記新たなノードを生成して前記道路網情報に追加することを特徴とする、請求項４に記載の地図情報作成装置。
【請求項６】
前記水平座標修正手段は、前記高さ情報に基づき、前記道路網情報に含まれる水平座標を修正するか否かを切り替えることを特徴とする、請求項４に記載の地図情報作成装置。
【請求項７】
前記修正地図情報格納手段に格納された道路網情報に基づき、多角形を用いて道路を３次元的に表示する地図表示手段をさらに備えた、請求項１に記載の地図情報作成装置。
【請求項８】
請求項７に記載の地図情報作成装置を備えたナビゲーション装置。
【請求項９】
コンピュータを用いて、リンクおよびノードを用いて表現される２次元道路網情報に基づき、３次元道路網情報を作成する地図情報作成方法であって、
少なくともリンクおよびノードの位置情報と、それらの属性情報とを含む２次元道路網情報をコンピュータに供給するステップと、
前記コンピュータが、前記属性情報に含まれる道路の立体構造を表す属性値と交差する道路の上下関係を表す属性値とに基づいて高さ情報を生成する高さ情報生成ステップと、
前記コンピュータが、生成した前記高さ情報を前記道路網情報に対して新たな属性情報として付加する高さ情報付加ステップと、
前記コンピュータが、前記位置情報を用いて、前記高さ情報を修正する高さ情報修正ステップと、
前記コンピュータが、修正後の前記高さ情報を付加した道路網情報を格納する修正地図情報格納ステップとを備え、
前記高さ情報修正ステップは、前記高さ情報と前記位置情報とにより導かれる道路の立体的な形状が所定の条件を満たさない場合に、前記高さ情報を修正し、さらに新たなノードを生成して前記道路網情報に追加することを特徴とする、地図情報作成方法。
【請求項１０】
前記高さ情報修正ステップは、前記位置情報と前記高さ情報とに基づき前記道路網情報に含まれる各道路の勾配を算出し、算出した勾配が所定の範囲内に入らない場合に、前記新たなノードを生成して前記道路網情報に追加することを特徴とする、請求項９に記載の地図情報作成方法。
【請求項１１】
前記高さ情報修正ステップは、ノードについての高さに関する属性情報と、当該ノードに接続されるリンクについての高さに関する属性情報とが一致しない場合に、前記新たなノードを生成して前記道路網情報に追加することを特徴とする、請求項９に記載の地図情報作成方法。
【請求項１２】
前記コンピュータが、前記属性情報に基づき、前記高さ情報を付加した前記道路網情報に含まれる各道路の道幅を算出し、道幅を付けた２本の道路について道路間の距離を算出し、算出した距離が前記属性情報に基づき決定される道路間の距離の許容範囲内に入らない場合に、前記道路網情報に含まれる当該道路の水平座標を修正する水平座標修正ステップをさらに備えた、請求項９に記載の地図情報作成方法。
【請求項１３】
前記水平座標修正ステップは、前記高さ情報を付加した前記道路網情報に含まれる各交差点について、２本の道路の重なり領域を求め、求めた重なり領域の大きさが前記属性情報に基づき決定される重なり領域の大きさの許容範囲内に入らない場合に、前記新たなノードを生成して前記道路網情報に追加することを特徴とする、請求項１２に記載の地図情報作成装置。
【請求項１４】
前記水平座標修正ステップは、前記高さ情報に基づき、前記道路網情報に含まれる水平座標を修正するか否かを切り替えることを特徴とする、請求項１２に記載の地図情報作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２次元表示用の地図情報に基づき３次元表示用の地図情報を作成する地図情報作成装置および地図情報作成方法に関し、より特定的には、２次元表示用の地図情報に含まれる道路網情報に対して高さ情報を付加し、水平座標を修正することにより、３次元表示用の地図情報を作成する地図情報作成装置および地図情報作成方法に関する。
【０００２】
【従来の技術】
車両用ナビゲーション装置は、ＣＤ−ＲＯＭなどの記録媒体に格納された地図情報を画面に表示することにより、利用者に行先案内情報を提供する。従来の車両用ナビゲーション装置の多くは、平面的に地図情報を画面に表示する２次元表示を採用する。２次元表示を採用した車両用ナビゲーション装置は、立体交差や地下道などのように上下関係を有する道路を表示する場合でも、上下関係を考慮することなく、単に道路の重ね描きを行う。このため、利用者は表示された画面を見ても道路が立体交差や地下道であることを認識できないという問題点があった。
【０００３】
この問題点を解決するため、車両用ナビゲーション装置では、高さ情報を付けて道路を表示することが必要とされる。しかし、高さ情報のみを付加して道路を表示すると、利用者は、かえって道路の形状を認識しにくくなる。一方、道路の３次元形状を忠実に再現した地図情報に基づき道路を３次元的に表示する方法は、地図情報を作成することが極めて困難であるため、現実的な方法ではない。
【０００４】
そこで、既存の２次元表示用の地図情報に高さ情報を付加し、ポリゴンを用いて道路を３次元的に表示する方法（以下、「３次元表示」という）を考えることができる。この方法によっても、利用者は立体交差や地下道などを容易に認識できるので、車両用ナビゲーション装置の利便性を向上させることができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、この３次元表示にも、以下のような問題点がある。第１の問題点は、利用者にとって道路の高さを認識しやすい表示を行う必要があることである。車両用ナビゲーション装置における表示装置の表示領域は小さい。このため、利用者が表示内容を瞬時に判断するには、道路の高さを認識しやすい表示を行う必要がある。
【０００６】
第２の問題点は、３次元表示用に新たな地図情報を作成する必要があることである。２次元表示用には、従来公知のように、ノードとリンクの組み合わせによって表現された道路網情報が、既に存在する。３次元表示用の地図情報（以下、「３次元地図情報」という）を作成するには、２次元表示用の地図情報（以下、「２次元地図情報」という）に基づき、道路網情報に対して高さ情報や道幅情報を付加する必要がある。この場合、地図情報は膨大な量に及ぶので、既存の２次元地図情報を用いて効率的に３次元地図情報を作成する必要がある。
【０００７】
第３の問題点は、２次元地図情報に基づき３次元地図情報を作成する場合、道路網情報に含まれる水平座標を修正する必要が生じることである。２次元地図情報に含まれる道路網情報は、道幅を考慮せずに作成されている。このため、単に道路に道幅を付けて表示しただけでは、実際には２本ある道路が、リンク間の距離が近すぎるために重なって表示され、１本の道路に見えることがある。逆に、実際には１本しかない道路が、距離の離れた２本のリンクで表現されているために、２本の道路であるかのように離れた位置に表示されることもある。このような不自然な道路を表示することは、正確な行先案内情報を提供することを目的とする車両用ナビゲーション装置にとって大きな問題である。
【０００８】
第４の問題点は、現実には運転者には見えない道路が表示されることである。例えば、山を貫くトンネル内を走る道路と山肌を走る道路とが存在する場合、前者の道路上を進行する運転者には後者の道路を見ることはできず、後者の道路上を進行する運転者には前者の道路を見ることはできないので、２本の道路が同時に表示されることは不自然である。このような不自然な道路が表示されることも、車両用ナビゲーション装置にとって問題となっている。
【０００９】
それ故に、本発明の第１の目的は、２次元道路網情報に基づき、利用者が道路の構造や高さや現在地を認識しやすい３次元道路網情報を作成する地図情報作成装置および地図情報作成方法を提供することである。また、本発明の第２の目的は、利用者が道路の構造や高さや現在地を認識しやすい３次元表示を行う地図情報表示装置を提供することである。
【００１０】
【課題を解決するための手段および発明の効果】
第１の発明は、リンクおよびノードを用いて表現される２次元道路網情報に基づき、３次元道路網情報を作成する地図情報作成装置であって、
少なくともリンクおよびノードの位置情報と、それらの属性情報とを含む２次元道路網情報を格納する地図情報格納手段と、
属性情報に含まれる道路の立体構造を表す属性値と交差する道路の上下関係を表す属性値とに基づいて高さ情報を生成し、生成した高さ情報を道路網情報に対して新たな属性情報として付加する高さ情報付加手段と、
位置情報を用いて、高さ情報を修正する高さ情報修正手段と、
修正後の高さ情報を付加した道路網情報を格納する修正地図情報格納手段とを備え、
高さ情報修正手段は、高さ情報と位置情報とにより導かれる道路の立体的な形状が所定の条件を満たさない場合に、高さ情報を修正し、さらに新たなノードを生成して道路網情報に追加することを特徴とする。
【００１１】
このような第１の発明によれば、２次元道路網情報に含まれる属性情報に含まれる道路の立体構造を表す属性値と交差する道路の上下関係を表す属性値とに基づいて高さ情報が生成されるので、各道路ごとに個別の高さ情報を指定することなく、道路に一括して高さ情報を付加することができる。また、生成した高さ情報は道路の位置情報を用いて修正されるので、得られた道路網情報を３次元的に表示した場合に、立体交差や地下道などの道路を自然な高さで表示することができる。これにより、利用者は、道路の構造や高さや現在地を容易に認識することができる。また、必要に応じて新たなノードが道路網情報に追加されるので、大きな自由度をもって高さ情報を修正することができる。このため、得られた道路網情報を３次元的に表示した場合に、道路をより好ましい態様で表示することができる。
【００１４】
第２の発明は、第１の発明において、高さ情報修正手段は、位置情報と高さ情報とに基づき道路網情報に含まれる各道路の勾配を算出し、算出した勾配が所定の範囲内に入らない場合に、新たなノードを生成して道路網情報に追加することを特徴とする。
【００１５】
このような第２の発明によれば、生成した高さ情報は道路の勾配を用いて修正されるので、得られた道路網情報を３次元的に表示した場合に、自然な勾配を持たせて道路を表示することができる。
【００１６】
第３の発明は、第１の発明において、高さ情報修正手段は、ノードについての高さに関する属性情報と、当該ノードに接続されるリンクについての高さに関する属性情報とが一致しない場合に、新たなノードを生成して道路網情報に追加することを特徴とする。
【００１７】
このような第３の発明によれば、得られた道路網情報を３次元的に表示した場合に、道路をより好ましい態様で表示することができる。
【００１８】
第４の発明は、第１の発明において、属性情報に基づき、高さ情報を付加した道路網情報に含まれる各道路の道幅を算出し、道幅を付けた２本の道路について道路間の距離を算出し、算出した距離が属性情報に基づき決定される道路間の距離の許容範囲内に入らない場合に、道路網情報に含まれる当該道路の水平座標を修正する水平座標修正手段をさらに備える。
【００１９】
このような第４の発明によれば、道路を道幅を付けて３次元的に表示した場合に、道路間の距離が許容範囲に入るように表示される。このため、道路が重ねて、あるいは、離れて表示される不具合が解消される。よって、利用者は、道路の構造や高さや現在地を容易に認識することができる。
【００２２】
第５の発明は、第４の発明において、水平座標修正手段は、高さ情報を付加した道路網情報に含まれる各交差点について、２本の道路の重なり領域を求め、求めた重なり領域の大きさが属性情報に基づき決定される重なり領域の大きさの許容範囲内に入らない場合に、新たなノードを生成して道路網情報に追加することを特徴とする。
【００２３】
このような第５の発明によれば、道路を道幅を付けて３次元的に表示した場合に、道路の重なり領域の大きさが許容範囲に入るように表示される。このため、交差点において道路が長い範囲に亘って重ねて表示される不具合が解消される。
【００２４】
第６の発明は、第４の発明において、水平座標修正手段は、高さ情報に基づき、道路網情報に含まれる水平座標を修正するか否かを切り替えることを特徴とする。
【００２５】
このような第６の発明によれば、道路の高さが異なる時には、道路の水平座標だけでは水平座標を修正する必要があると判断される場合でも、水平座標の修正は行われない。これにより、３次元的に表示した場合に不具合を生じる道路についてのみ水平座標を修正し、できるだけ元の位置を保って道路を表示することができる。
【００３８】
第７の発明は、第１の発明において、修正地図情報格納手段に格納された道路網情報に基づき、多角形を用いて道路を３次元的に表示する地図表示手段をさらに備える。
【００３９】
このような第７の発明によれば、修正された高さ情報を付加した道路網情報に基づき、立体交差や地下道などの道路が多角形を用いて３次元的に表示される。修正地図情報格納手段に格納された道路網情報は、修正された高さ情報を付加されているので、利用者は、道路の構造や高さや現在地を容易に認識することができる。
【００４２】
第８の発明は、第７の発明の地図情報作成装置を備えたナビゲーション装置である。
【００４３】
このような第８の発明によれば、道路を３次元的に表示するナビゲーション装置において、利用者は、道路の構造や高さや現在地を容易に認識することができる。
【００４４】
第９の発明は、コンピュータを用いて、リンクおよびノードを用いて表現される２次元道路網情報に基づき、３次元道路網情報を作成する地図情報作成方法であって、
少なくともリンクおよびノードの位置情報と、それらの属性情報とを含む２次元道路網情報をコンピュータに供給するステップと、
コンピュータが、属性情報に含まれる道路の立体構造を表す属性値と交差する道路の上下関係を表す属性値とに基づいて高さ情報を生成する高さ情報生成ステップと、
コンピュータが、生成した高さ情報を道路網情報に対して新たな属性情報として付加する高さ情報付加ステップと、
コンピュータが、位置情報を用いて、高さ情報を修正する高さ情報修正ステップと、
コンピュータが、修正後の高さ情報を付加した道路網情報を格納する修正地図情報格納ステップとを備え、
高さ情報修正ステップは、高さ情報と位置情報とにより導かれる道路の立体的な形状が所定の条件を満たさない場合に、高さ情報を修正し、さらに新たなノードを生成して道路網情報に追加することを特徴とする。
【００４５】
このような第９の発明によれば、２次元道路網情報に含まれる属性情報に含まれる道路の立体構造を表す属性値と交差する道路の上下関係を表す属性値とに基づいて高さ情報が生成されるので、各道路ごとに個別の高さ情報を指定することなく、道路に一括して高さ情報を付加することができる。また、生成した高さ情報は道路の位置情報を用いて修正されるので、得られた道路網情報を３次元的に表示した場合に、立体交差や地下道などの道路を自然な高さで表示することができる。これにより、利用者は、道路の構造や高さや現在地を容易に認識することができる。また、必要に応じて新たなノードが道路網情報に追加されるので、大きな自由度をもって高さ情報を修正することができる。このため、得られた道路網情報を３次元的に表示した場合に、道路をより好ましい態様で表示することができる。
【００４８】
第１０の発明は、第９の発明において、高さ情報修正ステップは、位置情報と高さ情報とに基づき道路網情報に含まれる各道路の勾配を算出し、算出した勾配が所定の範囲内に入らない場合に、新たなノードを生成して道路網情報に追加することを特徴とする。
【００４９】
このような第１０の発明によれば、生成した高さ情報は道路の勾配を用いて修正されるので、得られた道路網情報を３次元的に表示した場合に、自然な勾配を持たせて道路を表示することができる。
【００５０】
第１１の発明は、第９の発明において、高さ情報修正ステップは、ノードについての高さに関する属性情報と、当該ノードに接続されるリンクについての高さに関する属性情報とが一致しない場合に、新たなノードを生成して道路網情報に追加することを特徴とする。
【００５１】
このような第１１の発明によれば、得られた道路網情報を３次元的に表示した場合に、道路をより好ましい態様で表示することができる。
【００５２】
第１２の発明は、第９の発明において、コンピュータが、属性情報に基づき、高さ情報を付加した道路網情報に含まれる各道路の道幅を算出し、道幅を付けた２本の道路について道路間の距離を算出し、算出した距離が属性情報に基づき決定される道路間の距離の許容範囲内に入らない場合に、道路網情報に含まれる水平座標を修正する水平座標修正ステップをさらに備える。
【００５３】
このような第１２の発明によれば、道路を道幅を付けて３次元的に表示した場合に、道路間の距離が許容範囲に入るように表示される。このため、道路が重ねて、あるいは、離れて表示される不具合が解消される。よって、利用者は、道路の構造や高さや現在地を容易に認識することができる。
【００５６】
第１３の発明は、第１２の発明において、水平座標修正ステップは、高さ情報を付加した道路網情報に含まれる各交差点について、２本の道路の重なり領域を求め、求めた重なり領域の大きさが属性情報に基づき決定される重なり領域の大きさの許容範囲内に入らない場合に、新たなノードを生成して道路網情報に追加することを特徴とする。
【００５７】
このような第１３の発明によれば、道路を道幅を付けて３次元的に表示した場合に、道路の重なり領域の大きさが許容範囲に入るように表示される。このため、交差点において道路が長い範囲に亘って重ねて表示される不具合が解消される。
【００５８】
第１４の発明は、第１２の発明において、水平座標修正ステップは、高さ情報に基づき、道路網情報に含まれる水平座標を修正するか否かを切り替えることを特徴とする。
【００５９】
このような第１４の発明によれば、道路の高さが異なる時には、道路の水平座標だけでは水平座標を修正する必要があると判断される場合でも、水平座標の修正は行われない。これにより、３次元的に表示した場合に不具合を生じる道路についてのみ水平座標を修正し、できるだけ元の位置を保って道路を表示することができる。
【００７２】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態に係る３次元地図作成装置および３次元地図表示装置について説明する。
【００７３】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る３次元地図作成装置のハードウェア構成を示すブロック図である。３次元地図作成装置は、ＣＰＵ４１、メモリ４２、外部記憶装置４３、キーボード４４、ディスプレイ４５、および、通信部４６を備えたコンピュータシステムである。３次元地図作成装置は、２次元地図情報に対して高さ情報の付加と水平座標の修正とを行い、３次元地図情報を作成する。
【００７４】
外部記憶装置４３は、２次元地図情報と３次元地図作成プログラムとを予め格納している。ＣＰＵ４１は、外部記憶装置４３から２次元地図情報と３次元地図作成プログラムとをメモリ４２に読み出し、３次元地図作成プログラムを実行する。ＣＰＵ４１は、求めた３次元地図情報を外部記憶装置４３に記録する。ＣＰＵ４１は、通信部４６を用いて、インターネットなどを介して接続された遠隔地の記憶装置から２次元地図情報を読み出してもよい。キーボード４４は、３次元地図作成プログラムにコマンドを入力する入力装置として使用される。ディスプレイ４５は、３次元地図作成プログラムの実行状況や実行結果を表示する出力装置として使用される。
【００７５】
３次元地図作成装置の詳細を説明するに先立ち、この装置によって処理される地図情報について説明する。２次元地図情報には、従来公知のごとくノードとリンクとの組み合わせにより表現された所定範囲の道路網、交差点、鉄道交通網などの情報や、ランドマークや境界線の位置情報や属性情報などが含まれる。地図情報を格納するためには、任意の記録媒体、例えば、カセットテープ、ＣＤ−ＲＯＭ、ＤＡＴ、ＤＶＤ、半導体メモリ、あるいは、ＩＣメモリなどが使用される。また、この地図情報には、利用者の便宜のために、１／１２，５００、１／２５，０００、１／１００，０００、１／４００，０００などの各種縮尺の地図情報が含まれていてもよい。
【００７６】
２次元地図情報に含まれる道路網情報は、図２に示すように、リンクとノードとの組み合わせにより表現される。図２（ａ）において、黒丸は各交差点に対応したノードを表し、線分は交差点間を接続する道路に対応したリンクを表す。なお、図２（ａ）では、図面の簡略化のために、一部のリンクのみが描かれている。また、交差点間の細かな道路の形状を表現するために、図２（ｂ）に示すように、交差点ａ、ｂ以外の箇所に屈曲点ｐないしｗが挿入される場合がある。本実施形態では、屈曲点は、すべてノードと同様に扱われる。
【００７７】
道路網情報には、少なくともリンクおよびノードの位置情報と、リンクおよびノードの属性情報とが含まれる。リンクの属性情報には、リンクが高架や地下であることを示す絶対的高さ属性が含まれる。絶対的高さ属性は、例えば、「地表」、「第１層めの高架」、「第１層めの地下」、「第２層めの高架」などの値をとる。以下では特に示さない限り、「第１層めの高架」を「高架」、「第１層めの地下」を「地下」という。
【００７８】
また、道路網情報では、図３に示すリンクｂｃとｆｇとのように、２本のリンクが交点にノードを持たずに交差する場合がある。以下では、このようなリンクの対を「交差リンク対」という。交差リンク対に属するリンクの属性情報には、いずれのリンクが上側にあるかを示す相対的高さ属性が含まれる。上側にあるリンクの相対的高さ属性の値は「オーバーパス」となり、下側にあるリンクの相対的高さ属性の値は「アンダーパス」となる。なお、絶対的高さ属性と相対的高さ属性とは独立した属性であるので、交差リンク対に属するリンクの属性情報には、絶対的高さ属性と相対的高さ属性との両方が含まれることになる。
【００７９】
図４は、２次元地図情報のフォーマットの例を示す図である。２次元地図情報には、ノード数ｎ、リンク数ｍ、第１から第ｎのノード情報、および、第１から第ｍのリンク情報などが含まれる。ノード数およびリンク数は、それぞれ、２次元地図情報に含まれるノードおよびリンクの個数を表す。各ノード情報には、ノード番号と２次元座標とノード属性情報とが含まれる。各リンク情報には、始点ノード番号と終点ノード番号とリンク属性情報とが含まれる。ノード番号は、各ノードに割り当てられた番号を表す。２次元座標は、ノードの２次元位置を緯度と経度とを用いて表したものである。始点ノード番号および終点ノード番号は、リンクに接続されたノードのノード番号を表す。リンクの位置情報は、ノードの２次元座標と始点ノード番号と終点ノード番号とを用いて求めることができる。
【００８０】
ノード属性情報には、ノード高さ属性やノード種別などが含まれる。リンク属性情報には、リンク高さ属性、リンク種別、車線数および道路幅などが含まれる。ノード高さ属性とリンク高さ属性は、いずれも、絶対的高さ属性と相対的高さ属性とからなる。ノード種別とリンク種別とは、「交差点」、「高速道路」、「国道」などの値を取る。車線数はリンクの車線数を表し、道路幅は道路の幅を表す。ノード属性情報とリンク属性情報とは、ノードまたはリンクがその属性を有することが知られている場合にのみ付加されるので、これらの属性値が未定義である場合もある。この場合、例えば、絶対的高さ属性や相対的高さ属性の値は「高さ属性なし」となり、車線数や道幅は「未調査」となる。
【００８１】
図５は、本実施形態に係る３次元地図作成装置の動作を示すメインフローチャートである。ＣＰＵ４１は、まず、外部記憶装置４３などに格納された２次元地図情報を読み出す（ステップＳ１１）。次に、ＣＰＵ４１は、高さ情報付加処理（ステップＳ１２）において、２次元地図情報に含まれる道路網情報の属性情報の一部を用いて高さ情報を生成し、生成した高さ情報を道路網情報に対して新たな属性情報として付加する。次に、ＣＰＵ４１は、高さ情報修正処理（ステップＳ１３）において、道路網情報に含まれる位置情報を用いて、高さ情報付加処理によって付加された高さ情報を修正する。次に、ＣＰＵ４１は、水平座標修正処理（ステップＳ１４）において、道路網情報に含まれる道路の道幅を算出し、道路網情報に含まれる水平座標を修正する。これら３つの処理の詳細は後述する。
【００８２】
２次元地図情報に対して上記３つの処理を適用した結果、図６に示す３次元地図情報が求められる。この３次元地図情報は、ノード情報に３次元座標が含まれる点で、ノード情報に２次元座標が含まれる２次元地図情報と相違する。３次元座標は、２次元座標に地表面からの高さを表す「高さ情報」を追加したものである。３次元地図情報は元の２次元地図情報よりも多くのノードとリンクを含むため、ノード数Ｎおよびリンク数Ｍは、２次元地図情報のノード数ｎおよびリンク数ｍよりも大きな値を取る。
【００８３】
ＣＰＵ４１は、求めた３次元地図情報を外部記憶装置４３などに記録する（ステップＳ１５）。地図情報を記録するためには、任意の記録媒体、例えば、カセットテープ、ＣＤ−ＲＯＭ、ＤＡＴ、ＤＶＤ、半導体メモリ、あるいは、ＩＣメモリなどが使用される。また、３次元地図作成装置は、インターネットなどに接続された遠隔の記憶媒体にアクセスしてもよい。
【００８４】
このようにして得られた３次元地図情報は、３次元表示を採用した車両用ナビゲーション装置などの地図情報表示装置における地図情報として使用される。図７は、図６に示す３次元地図情報を使用する車両用ナビゲーションシステムのハードウェア構成を示すブロック図である。このシステムは、ＣＰＵ５１、メモリ５２、記録媒体制御装置５３、コマンド入力部５４、ディスプレイ５５、および、現在地検出部５６を備える。記録媒体制御装置５３には、３次元地図情報を記録した記録媒体５７が挿入される。ＣＰＵ５１は、コマンド入力部５４から入力されたコマンドと現在地検出部５６から受け取った現在地情報とに従って、記録媒体５７から３次元地図情報を読み出し、ディスプレイ５５に３次元表示画面を表示させる。
【００８５】
この３次元地図情報に含まれる道路網情報には、高さ情報付加処理により生成された高さ情報が付加されている。また、この道路網情報に付加された高さ情報は、高さ情報修正処理により３次元表示に適した高さに修正されている。さらに、この道路網情報に含まれる水平座標は、水平座標修正処理により３次元表示に適した位置に修正されている。このため、この３次元地図情報を使用する車両用ナビゲーション装置などは、利用者にとって道路の構造や高さや現在地を認識しやすい３次元表示を行うことができる。
【００８６】
図８ないし図１６を参照して、高さ情報付加処理（ステップＳ１２）の詳細を説明する。高さ情報付加処理では、図８に示すように、リンク高さ属性生成処理（ステップＳ１２１）、ノード高さ属性生成処理（ステップＳ１２２）、ノード挿入処理（ステップＳ１２３）、および、ノード高さ情報生成処理（ステップＳ１２４）が順に実行される。これにより、リンクの絶対的高さ属性に基づき、ノードの高さ情報が生成される。
【００８７】
図９に示すリンク高さ属性生成処理（ステップＳ１２１）では、与えられたリンクの絶対的高さ属性に基づき、すべてのリンクの絶対的高さ属性が求められる。ＣＰＵ４１は、絶対的高さ属性が「高さ属性なし」であるリンクの絶対的高さ属性の値を「地表属性」に設定する（ステップＳ１２１１）。次に、ＣＰＵ４１は、２次元地図情報から未処理の交差リンク対を取り出す（ステップＳ１２１２）。次に、ＣＰＵ４１は、２つのリンクの絶対的高さ属性値が一致し（ステップＳ１２１３）、かつ、相対的高さ属性値が一致しない場合には（ステップＳ１２１４）、高さ属性修正処理（ステップＳ１２１５）を行う。ＣＰＵ４１は、すべての交差リンク対について、ステップＳ１２１２からＳ１２１５までの処理を行う（ステップＳ１２１６）。
【００８８】
高さ属性修正処理（ステップＳ１２１５）では、図１０に示すテーブルからリンクの絶対的高さ属性と相対的高さ属性との値に基づき選択した処理が行われる。例えば、２つのリンクの絶対的高さ属性がいずれも「地下」で、リンク１の相対的高さ属性が「高さ属性なし」で、かつ、リンク２の相対的高さ属性が「アンダーパス」である場合には、リンク２はリンク１よりも下にあると判断される。このため、リンク２の絶対的高さ属性の値は、リンク１の絶対的高さ属性の値より１つ下の地下属性に修正される。
【００８９】
図１１に示すノード高さ属性生成処理（ステップＳ１２２）では、リンクの絶対的高さ属性に基づき、すべてのノードの絶対的高さ属性が求められる。ＣＰＵ４１は、２次元地図情報から未処理のノードを取り出す（ステップＳ１２２１）。次に、ＣＰＵ４１は、取り出したノードの絶対的高さ属性が「高さ属性なし」である場合には（ステップＳ１２２２）、そのノードに接続されたすべてのリンクの絶対的高さ属性を求め（ステップＳ１２２３）、求めた値の最頻値をノードの絶対的高さ属性に設定する（ステップＳ１２２４）。ＣＰＵ４１は、すべてのノードについて、ステップＳ１２２１からＳ１２２４までの処理を行う（ステップＳ１２２５）。なお、ステップＳ１２２４において、絶対的高さ属性の再頻値が２つ以上ある場合には、ＣＰＵ４１は、例えば、そのうちで地表面に最も近い絶対的高さ属性を設定する。
【００９０】
図１２に示すノード挿入処理（ステップＳ１２３）では、不自然な絶対的高さ属性を有するリンク上に、新たなノードが挿入される。上述したリンク高さ属性生成処理とノード高さ属性生成処理とは互いに独立して行われるので、リンクに対して不自然な絶対的高さ属性が付加される場合がある。例えば、図１３（ａ）に示すように、リンクの絶対的高さ属性が「高架」であるのに、そのリンクに接続された２つのノードの絶対的高さ属性が「地表」および「地下」である場合がある。このような不自然なリンクの存在を解消するため、ノード挿入処理では、図１３（ｂ）に示すように、リンクと同じ絶対的高さ属性を有する２つのノードが、リンク上に新たに挿入される。
【００９１】
図１２に示すように、ＣＰＵ４１は、２次元地図情報から未処理のリンクを取り出す（ステップＳ１２３１）。次に、ＣＰＵ４１は、取り出したリンクの絶対的高さ属性がそのリンクに接続されたノードの絶対的高さ属性のいずれとも一致しない場合には（ステップＳ１２３２）、リンク上の所定の位置に２つのノードを新たに挿入する（ステップＳ１２３３）。ノードの挿入位置は、リンク上の任意の位置でよく、例えば、リンク上で２つのノードからそれぞれ所定の距離だけ離れた位置としてもよい。新たなノードの２次元座標は、元のノードの２次元座標を用いて容易に求めることができる。次に、ＣＰＵ４１は、挿入した２つのノードの絶対的高さ属性をリンクの絶対的高さ属性と同じ値に設定する（ステップＳ１２３４）。ＣＰＵ４１は、すべてのリンクについて、ステップＳ１２３１からステップＳ１２３４までの処理を行う（ステップＳ１２３５）。
【００９２】
ノード高さ情報生成処理（ステップＳ１２４）では、図１４に示すテーブルを参照して、すべてのノードの絶対的高さ属性が、高さ情報に変換される。例えば、絶対的高さ属性が「高架」であるノードの高さ情報は、７ｍとなる。
【００９３】
図１５および図１６は、ノード高さ情報生成処理の実行例を説明する図である。ここでは、リンクｂｃ以外のリンクおよびすべてのノードの絶対的高さ属性は、２次元地図情報ではいずれも「高さ属性なし」であったと仮定する。図１５に示す例において、リンクｂｃの絶対的高さ属性が「高さ属性なし」である場合には、ノードｂおよびｃには、０ｍの高さ情報が付加される（図１５（ａ））。リンクｂｃの絶対的高さ属性が「高架」である場合には、ノードｂおよびｃには、７ｍの高さ情報が付加される（図１５（ｂ））。リンクｂｃの絶対的高さ属性が「地下」である場合には、ノードｂおよびｃには、−７ｍの高さ情報が付加される（図１５（ｃ））。
【００９４】
また、図１６に示す例において、リンクｂｃの絶対的高さ属性が「高架」である場合、リンクｂｃおよびリンクｆｇの絶対的高さ情報は、それぞれ「高架」および「地表」となる。このため、ノードｂとｃとには７ｍ、ノードｆとｇとには０ｍの高さ情報が、それぞれ付加される。このように道路網情報に対して高さ情報を付加することにより、図１６に示すように、２つの道路が立体交差することを３次元的に表現することができる。
【００９５】
なお、図１０に示す高さ属性修正処理では、例えば、２つのリンクの絶対的高さ属性がいずれも「高架」で、リンク２がリンク１の上にある場合には、リンク２の絶対的高さ属性は、「第２層めの高架」に修正される。このため、リンク１に接続された２つのノードには、７ｍの高さ情報が付加され、リンク２に接続された２つのノードには、１４ｍの高さ情報が付加される。このように、高さ情報付加処理において付加される高さ情報は、１階層分の高さだけでなく、複数階層分の高架または地下の高さとなる場合がある。また、ノードの高さ情報が０ｍである場合には、ノードに対して０ｍの高さ情報を付加するかわりに、ノードに対して高さ情報を付加しないこととしてもよい。
【００９６】
図１７ないし図１９を参照して、高さ情報修正処理（ステップＳ１３）の詳細を説明する。高さ情報修正処理が必要とされる理由は、次のとおりである。高さ情報が付加された道路網情報において、図１８（ａ）に示すリンクｅｆのように、一端のノードのみに７ｍの高さ情報が付加された短いリンクが生じた場合を考える。この道路を３次元的に表示すると、不自然に急な勾配を持った道路として表示される。逆に、図１９（ａ）に示すリンクａｂのように、一端のノードのみに７ｍの高さ情報が付加された長いリンクが生じた場合を考える。この道路を３次元的に表示した場合には、道路の勾配が緩すぎるために、利用者が、道路の勾配を認識しにくくなる。そこで、高さ情報修正処理では、道路網情報に含まれる位置情報を用いて、高さ情報付加処理によって付加された高さ情報が修正される。より具体的には、高さ情報は、道路の勾配が所定の範囲内に入るように修正される。
【００９７】
図１７に示すように、ＣＰＵ４１は、道路網情報から未処理の傾斜したリンクを取り出す（ステップＳ１３１）。次に、ＣＰＵ４１は、リンクに接続された２つのノードの３次元座標を用いて、リンクの勾配を求める（ステップＳ１３２）。リンクの勾配は、地図上の両ノード間の距離と、高さ情報付加処理により付加された２つのノードの高さ情報を用いて算出される。次に、ＣＰＵ４１は、リンクの勾配によって場合分けを行う（ステップＳ１３３）。ＣＰＵ４１は、リンクの勾配が第１の所定の値以上（例えば、４度以上）であるときには高さ変化範囲拡大処理を行い（ステップＳ１３４）、リンクの勾配が第２の所定の値未満（例えば、２度未満）であるときには高さ変化範囲制限処理を行う（ステップＳ１３５）。ＣＰＵ４１は、すべての傾斜したリンクについて、ステップＳ１３１からスＳ１３５までの処理を行う（ステップＳ１３６）。
【００９８】
高さ変化範囲拡大処理では、高さ情報を付加する範囲が拡大され、新たに適切な高さ情報がノードに付加される。例えば、図１８（ａ）に示す例において、リンクｅｆの長さが５ｍであり、ノードｅには０ｍ、ノードｆには７ｍの高さ情報が付加されているとする。この場合、リンクｅｆの勾配が急であると判断され、高さ情報を付加する範囲が、図１８（ｂ）に示すように、ノードｂとｆとの間にまでに拡大される。この際、ノードｂとｆとの間にある各ノードには、ノードｂからの距離に応じた適切な高さ情報が付加される。
【００９９】
高さ変化範囲制限処理では、リンク上に新たなノードが設けられ、高さ情報を付加する範囲が縮められる。例えば、図１９（ａ）に示す例において、リンクａｂの長さが１０００ｍであり、ノードａには０ｍ、ノードｂには７ｍの高さ情報が付加されているとする。この場合、リンクａｂの勾配が緩いと判断され、図１９（ｂ）に示すように、０ｍの高さ情報を有する新たなノードｃが、リンクａｂの途中でリンクの勾配が適切な値となる位置に追加される。
【０１００】
なお、高さ情報修正処理では、リンクの勾配が第２の所定の値より小さい場合に、複数のノードを追加することとしてもよい。また、リンクやノードの海抜などの属性情報を用いて、地形変化に合わせて高さ情報を修正することとしてもよい。
【０１０１】
図２０ないし図２６を参照して、水平座標修正処理（ステップＳ１４）の詳細を説明する。高さ情報修正処理によって求めた３次元地図情報を道幅をつけて表示すると、不自然な３次元表示画面が得られる場合がある。水平座標修正処理では、図２０に示すように、交差点付近のノード挿入処理（ステップＳ１４１）、道路間の距離を狭める処理（ステップＳ１４２）、および、道路間の距離を広げる処理（ステップＳ１４３）が順に実行される。このように３次元地図情報に含まれる水平座標を修正することにより、３次元表示画面の不自然さが解消される。なお、道路間の距離を狭める処理（ステップＳ１４２）と道路間の距離を広げる処理（ステップＳ１４３）との実行順序を逆にしても、３次元表示画面の不自然さは同様に解消される。
【０１０２】
道路網情報に含まれる各道路の道幅は、次のようにして算出される。リンク属性情報の車線数に値が与えられている場合には、道幅は、車線数に１車線あたりの幅を乗じて算出される。車線数に値が与えられていない場合には、道幅は、他のリンク属性情報を用いて、例えば、高速道路は２車線、私道は１車線として、その値に１車線あたりの幅を乗じて算出される。
【０１０３】
図２１に示す交差点付近のノード挿入処理（ステップＳ１４１）では、交差点付近での道路の重なりを解消するために、道路網情報に新たなノードが追加される。例えば、図２２（ａ）に示すように、道路が小さな角度で交差する交差点を道幅を付けて表示した場合、交差点付近の道路は、図２２（ｂ）に示すように、長い距離に亘って重ねて表示される。このため、利用者は、交差点を認識しににくなる。この場合、図２２（ｃ）に示すように、新たにノードｐとｑとを追加することにより、交差点付近での道路の重なりを解消することができる。
【０１０４】
以下では、１つのノードに接続されたリンクの集合から２本のリンクを選択したときに、２本のリンクがなす角の間に他のリンクが存在しないときに、そのリンクの対を「隣接リンク対」という。例えば、図２２に示す例では、リンクｂｃとリンクｂｄとは隣接リンク対であるが、リンクｂｃとリンクｂｅは隣接リンク対ではない。
【０１０５】
図２１に示すように、ＣＰＵ４１は、道路網情報から未処理の隣接リンク対を取り出す（ステップＳ１４１１）。次に、ＣＰＵ４１は、隣接リンク対を道幅を付けて表示した場合に２本の道路が重なる領域を求める（ステップＳ１４１２）。例えば、図２１に示した例では、隣接リンク対ｂｃおよびｂｄについて、斜線を付した領域が求められる。次に、ＣＰＵ４１は、求めた領域内で交差点から最も遠い点と交差点との間の距離を求める（ステップＳ１４１３）。上述した例では、交差点ｂと点ｇとの間の距離が求められる。求めた距離が所定の値を越えている場合には（ステップＳ１４１４）、ＣＰＵ４１は、隣接リンク対の一方のリンク上の所定の位置に新たなノードを挿入する（ステップＳ１４１５）。ノードの挿入位置は、例えば、リンク上で交差点から所定の距離となる位置とする。次に、ＣＰＵ４１は、挿入したノードと他方のリンクとの距離Ｌが２本の道路の道幅の和（Ｗ１  ＋Ｗ２  ）より大きくなる位置に、挿入したノードを移動させる（ステップＳ１４１６）。ＣＰＵ４１は、すべての隣接リンク対について、ステップＳ１４１１からステップＳ１４１６までの処理を行う（ステップＳ１４１７）。
【０１０６】
図２３に示す道路間の距離を狭める処理（ステップＳ１４２）では、リンク属性情報に基づき近くに位置すべきリンクの組が求められ、道路間の距離が狭められる。例えば、高架道路と高架下道路とは本来近くに位置すべきであるが、２本のリンクが離れた位置に置かれる場合がある。道路間の距離を狭める処理では、このような道路間の距離が狭められる。
【０１０７】
ＣＰＵ４１は、リンク属性情報などを用いて、近くに位置すべきリンクの対の集合を求める（ステップＳ１４２１）。次に、ＣＰＵ４１は、求めた集合から未処理のリンクの対を取り出す（ステップＳ１４２２）。次に、ＣＰＵ４１は、２本のリンク間の距離が所定の値以下となるように、各リンクに接続されたノードの水平座標を修正する（ステップＳ１４２３）。例えば、図２４（ａ）に示すように、２本のリンクａｂとｃｄとの距離がＬ１  であり、リンクａｂとリンクｃｄの道路の道幅が、それぞれＷ１  、Ｗ２  であるとする。ステップＳ１４２３では、２本のリンク間の距離が（Ｗ１  ＋Ｗ２  ＋α）以下になるように、リンクａｂおよびリンクｃｄの水平座標が修正される（図２４（ｂ）を参照）。ＣＰＵ４１は、ステップＳ１４２１で求めたすべてのリンクの組について、ステップＳ１４２２およびＳ１４２３の処理を行う（ステップＳ１４２４）。
【０１０８】
図２５に示す道路間の距離を広げる処理（ステップＳ１４３）では、道路の重なり表示を解消するため、道路間の距離が広げられる。ＣＰＵ４１は、リンクの水平座標を用いて、重なっているリンクの対の集合を求める（ステップＳ１４３１）。次に、ＣＰＵ４１は、求めた集合から未処理のリンクの対を取り出す（ステップＳ１４３２）。次に、ＣＰＵ４１は、２本のリンク間の距離が所定の値以上となるように、各リンクに接続されたノードの水平座標を修正する（ステップＳ１４３３）。例えば、図２６（ａ）に示すように、２本のリンクａｂとｃｄとの距離がＬ１  であり、リンクａｂとリンクｃｄの道路の道幅が、それぞれＷ１  、Ｗ２  であるとする。ステップＳ１４３３では、２本のリンク間の距離が（Ｗ１  ＋Ｗ２  ＋β）以上になるように、リンクａｂおよびリンクｃｄの水平座標が修正される（図２６（ｂ）を参照）。ＣＰＵ４１は、ステップＳ１４３１で求めたすべてのリンクの組について、ステップＳ１４３２およびＳ１４３３の処理を行う（ステップＳ１４３４）。
【０１０９】
水平座標修正処理における上記の３つの処理では、高さ情報を用いて、これらの処理を行うか否かを切り替えることとしてよい。例えば、図２６に示す例において、リンクａｂにより表現される道路が高架道路で、リンクｃｄにより表現される道路が地表面上の道路である場合に、ＣＰＵ４１は、道路の高さが異なるので水平座標を修正する必要がないと判断してもよい。これにより、３次元表示した場合に不具合を生じる道路についてのみ水平座標を修正し、できるだけ元の位置を保って道路を表示することができる。
【０１１０】
以上に示すように、本実施形態によれば、高さ情報が、２次元道路網情報の属性情報の一部を用いて生成され、道路の勾配を用いて修正された後に、道路網情報に付加される。このように属性情報に基づき高さ情報が生成されるので、各道路ごとに個別に高さ情報を指定することなく、道路に一括して高さ情報を付加することができる。また、道路の勾配が所定の範囲内に入るように高さ情報が修正されるので、得られた道路網情報に基づき、立体交差や地下道などの道路を自然な勾配を持たせて３次元的に表示することができる。
【０１１１】
また、本実施形態によれば、属性情報に基づき道路の道幅が算出され、道幅を付けた道路の位置情報を用いて、道路網情報に含まれる水平座標が修正される。これにより、得られた道路網情報に基づき道路を道幅を付けて３次元的に表示した場合に、道路が重ねて表示されるなどの不具合が解消される。
【０１１２】
（第２の実施形態）
本発明の第２の実施形態に係る３次元地図情報作成装置は、第１の実施形態と同様に図１に示すハードウエア構成を備え、標高情報を含んだ３次元地図情報を作成することを特徴とする。標高情報とは、各地点の標高を海抜で表現したものいい、高さ情報とは、第１の実施形態と同様に、各地点における地表面からの高さをいう。
【０１１３】
図２７は、本実施形態に係る３次元地図作成装置の動作を示すメインフローチャートである。ＣＰＵ４１は、２次元地図情報と地形情報とを読み出した後に（ステップＳ２１、Ｓ２２）、屈曲点追加処理（ステップＳ２３）、高さ情報付加処理（ステップＳ２４）、高さ情報修正処理（ステップＳ２５）、標高算出処理（ステップＳ２６）、標高／高さ合成処理（ステップＳ２７）、水平座標修正処理（ステップＳ２８）を順次行い、求めた３次元地図情報を記録する（ステップＳ２９）。このフローチャートは、図５に示したフローチャートに、地形情報読み出し処理、屈曲点追加処理、標高算出処理、および、標高／高さ合成処理を追加したものである。これら４つ以外の処理は、第１の実施形態と同一であるので、説明を省略する。
【０１１４】
図１に示す外部記憶装置４３には、２次元地図情報に加えて、所定の地点の標高値を含んだ地形情報が予め格納されている。地形情報読み出し処理（ステップＳ２２）では、ＣＰＵ４１は、外部記憶装置４３に格納された地形情報を読み出す。地形情報の表現方法は任意であるが、本実施形態に係る地形情報は、図２８（ａ）に示すように、地図のＸ軸方向とＹ軸方向とにそれぞれ等間隔に設けた格子点の標高値を有しているものとする。以下では、各格子点を接続して得られる矩形領域を「正方形領域」といい、その辺を「境界線」という。この地形情報を用いれば、図２８（ｂ）に示すように、地形を３次元的に表示することができる。
【０１１５】
図２９は、本実施形態に係る３次元地図作成装置によって作成される３次元地図情報のフォーマットの例を示す図である。この３次元地図情報は、ノードの３次元座標に新たな要素を含んでいる点で、図６に示した３次元地図情報と相違する。このフォーマットにおけるノードのＺ座標は、高さ情報、第２の高さ情報、標高情報、および、合成結果からなる。標高情報は、このノードの標高を海抜で表したものである。高さ情報は、第１の実施形態に係る高さ情報と同じである。第２の高さ情報は、標高／高さ合成処理により求めた高さ情報である。合成結果は、標高情報と第２の高さ情報との和である。
【０１１６】
図３０を参照して、屈曲点追加処理（ステップＳ２３）の詳細を説明する。屈曲点追加処理では、リンクと正方形領域の境界線とが交わる点に新たな屈曲点が追加される。例えば、図３０（ａ）に示すように、道路網情報に正方形領域にまたがるリンクａｂが含まれている場合、リンクａｂと正方形領域の境界線とが交わる点ｐに屈曲点が追加される。この処理を行った道路網情報を３次元的に表示すると、リンクは、図３０（ｂ）に示すように、地形の折れ曲がり部分で地形に沿って曲げて表示される。追加された屈曲点には、ノードと同じ処理が適用される。
【０１１７】
ＣＰＵ４１は、屈曲点を追加した２次元地図情報に対して、第１の実施形態と同じく、高さ情報付加処理（ステップＳ２４）と高さ情報修正処理（ステップＳ２５）とを行い、３次元地図情報を求める。
【０１１８】
図３１ないし図３４を参照して、標高算出処理（ステップＳ２６）の詳細を説明する。標高算出処理では、読み出した地形情報を用いて、ノードの標高情報が算出される。図３１に示すように、ＣＰＵ４１は、道路網情報から未処理のノードを取り出し（ステップＳ２６１）、そのノードに接続されたすべてのリンクのリンク属性情報を求める（ステップＳ２６２）。次に、ＣＰＵ４１は、求めたリンク属性情報に基づき、そのノードがトンネル内または橋の上にあるか否かを判断する（ステップＳ２６３、Ｓ２６４）。例えば、ＣＰＵ４１は、すべてのリンク種別が「トンネル」であれば、ノードはトンネル内にあると判断し、すべてのリンク種別が「橋」であれば、ノードは橋の上にあると判断する。次に、ＣＰＵ４１は、ノードがトンネル内または橋の上にあると判断したときは第２の算出方法で（ステップＳ２６６）、それ以外のときは第１の算出方法で（ステップＳ２６５）、そのノードの標高値を求める。ＣＰＵ４１は、すべてのノードについて、ステップＳ２６１からＳ２６６までの処理を行う（ステップＳ２６７）。
【０１１９】
第１の算出方法を用いてノードａの標高情報を求める場合、ＣＰＵ４１は、まずノードａを含む正方形領域を求める（図３２を参照）。このためには、ノードａのＸ座標およびＹ座標をそれぞれ格子点の間隔ｗで除算すればよい。求めた正方形領域の格子点の１つを原点としたとき、正方形領域の４つの格子点の座標はｇ１  （０、０）、ｇ２  （ｗ、０）、ｇ３  （ｗ、ｗ）およびｇ４  （０、ｗ）と表すことができる。正方形領域の対角線の交点をｇ０  とする。
【０１２０】
次に、ＣＰＵ４１は、正方形領域を対角線によって４つの三角形領域に分割し、ノードａを含む三角形領域を求める。次に、ＣＰＵ４１は、求めた三角形領域の各頂点にそれぞれ標高値を与えることにより、３次元三角形領域を求める。例えば、ノードａが三角形領域ｇ０  ｇ２  ｇ３  に含まれる場合、３次元三角形領域Ｇ０  Ｇ２  Ｇ３  の各頂点の座標は、
Ｇ０  ：（ｗ／２、ｗ／２、ｈ０  ）
Ｇ２  ：（ｗ、０、ｈ２  ）
Ｇ３  ：（ｗ、ｗ、ｈ３  ）
となる。ここで、ｈｉ  （ｉ＝１〜４）は地形情報に含まれる各格子点ｇｉ  の標高値であり、ｈ０  はｈｉ  （ｉ＝１〜４）の平均値である。
【０１２１】
ノードａを通りＺ軸に平行な直線と求めた３次元三角形領域との交点をＡとしたとき、ＣＰＵ４１は、点ＡのＺ座標ｈａ  をノードａの標高情報に設定する。この第１の算出方法によれば、任意の地点の標高情報を求めることができる。
【０１２２】
一方、トンネル内や橋の上では道路の勾配はほぼ一定であるので、ＣＰＵ４１は、トンネル内または橋の上にあるノードについては、第１の算出方法とは異なる第２の算出方法で標高情報を求める。仮に第１の算出方法で標高情報を求めると、トンネル内や橋の上で道路の勾配が大きく変化し、道路の表示が不自然となるからである。
【０１２３】
トンネルまたは橋の両端に位置するノードをｐ０  およびｐｎ  、トンネル内または橋の上に位置するノードをｐ１  〜ｐｎ−１  とし、第１の算出方法で求めたノードｐ０  とノードｐｎ  の標高情報をそれぞれｈ０  とｈｎ  とする。ＣＰＵ４１は、ノードｐｉ  （ｉ＝１〜ｎ−１）の標高情報ｈｉ  を
ｈｉ  ＝（ｈｎ  −ｈ０  ）×Ｌｉ  ／Ｌｎ  ＋ｈ０
により求める。ここで、Ｌｉ  （ｉ＝１〜ｎ）は、
Ｌｉ  ＝Σ｜ｐｊ  −ｐｊ−１  ｜    （ただし、ｊ＝１〜ｉ）
によって定義される、ノードｐ０  からノードｐｉ  までに至るリンクの距離の和である。
【０１２４】
図３３および図３４は、それぞれ、ノードａからノードｃに至るトンネルおよび橋を３次元的に表した図である。ノードｂの標高情報は第２の算出方法で求められるので、トンネル内や橋の上で道路の勾配が大きく変化することなく、自然な道路表示を行うことができる。
【０１２５】
図３５ないし図４０を参照して、標高／高さ合成処理（ステップＳ２７）の詳細を説明する。標高／高さ合成処理では、標高情報と高さ情報とに基づき、ノードの３次元座標に含まれる第２の高さ情報と合成結果とが求められる。この処理を行う前の時点では、ノードの高さ情報と標高情報とは、それぞれ、高さ情報生成処理（ステップＳ２４）と標高算出処理（ステップＳ２６）とによって算出されている。図３５（ａ）および（ｂ）は、それぞれ、高さ情報および標高情報を有するノードを３次元的に表した図である。ＣＰＵ４１は、標高／高さ合成処理では、多くの場合、第２の高さ情報に高さ情報の値を設定し、高さ情報と標高情報との和を合成結果に設定する。図３５（ｃ）は、合成結果を有するノードを３次元的に表した図である。このように、標高情報と高さ情報との和を用いて道路を３次元的に表示することにより、より現実感のある表示を行うことができる。
【０１２６】
図３６は、標高／高さ合成処理のフローチャートである。ＣＰＵ４１は、道路網情報から未処理のノードを取り出し（ステップＳ２７１）、そのノードに接続されたすべてのリンクのリンク属性情報を求める（ステップＳ２７２）。次に、ＣＰＵ４１は、求めたリンク属性情報に基づき、ノードがトンネル内にあると判断したときにはステップＳ２７５へ、ノードが橋の上にあると判断したときにはステップＳ２７６へ、それ以外のときはステップＳ２７７へ進む（ステップＳ２７３、Ｓ２７４）。
【０１２７】
次に、ＣＰＵ４１は、ノードが「山を貫くトンネル」内または「谷を渡る橋」の上に位置すると判断したときはステップＳ２７８へ進み、それ以外のときはステップＳ２７７へ進む（ステップＳ２７５、Ｓ２７６）。ＣＰＵ４１は、ステップＳ２７７では、高さ情報を第２の高さ情報に設定し、標高情報と高さ情報との和を合成結果に設定する。また、ＣＰＵ４１は、ステップＳ２７８では、第２の高さ情報を値０に設定し、標高情報をそのまま合成結果に設定する。ＣＰＵ４１は、すべてのノードについて、ステップＳ２７１からＳ２７８までの処理を行う（ステップＳ２７９）。
【０１２８】
ノードが「山を貫くトンネル」内に位置する場合に異なる処理を行う理由は、次のとおりである。ノードが「山を貫くトンネル」内に位置しない場合、地表面は、図３７（ａ）に示すように、ほぼ水平であると考えられる。このため、合成結果として標高情報と高さ情報との和を用いても、道路の３次元表示に支障を与えない。これに対し、ノードが「山を貫くトンネル」内に位置する場合、地表面は、図３７（ｂ）に示すように、水平ではないと考えられる。このため、合成結果として標高情報と高さ情報との和を用いると、トンネル内で不自然な勾配を有するリンクが発生する可能性がある。例えば、図３７（ｂ）において、リンクａｂおよびｂｃのリンク種別が「トンネル」であるとし、合成結果として標高情報と高さ情報との和を用いると、４本のリンクＡＰ１  、Ｐ１  Ｂ１  、Ｂ１  Ｑ１  およびＱ１  Ｃが表示され、リンクＱ１  Ｃの勾配はトンネル内の勾配として不自然な値となる。したがって、ＣＰＵ４１は、ノードが「山を貫くトンネル」内に位置する場合には、標高情報をそのまま合成結果とする。このように処理すれば、リンクＡＢ２  およびＢ２  Ｃが表示されるので、不自然な勾配を有する道路が表示されることがなくなる。
【０１２９】
ＣＰＵ４１は、ステップＳ２７５では、２次元地図情報に含まれる属性情報に基づき、ノードが「山を貫くトンネル」内に位置するか否かを判断する。また、属性情報が与えられていない場合には、ＣＰＵ４１は、図３８に示す２つの面積Ｓ１  およびＳ２  を求め、Ｓ１  がＳ２  より小さい場合にノードが「山を貫くトンネル」内に位置すると判断してもよい。面積Ｓ１  およびＳ２  は、次のように定義される。２次元地図上をトンネルの一端から他端まで点Ｘが移動するときに、点Ｘの真上を３つの点が移動すると考える。第１の点Ｘ１  は標高情報と高さ情報との和を与えたリンク上を、第２の点Ｘ２  は標高情報のみを与えたリンク上を、第３の点Ｘ３  は地表面に沿ってそれぞれ移動するとしたとき、線分Ｘ１  Ｘ２  が掃く面積を面積Ｓ１  と、線分Ｘ２  Ｘ３  が掃く面積を面積Ｓ２  と定義する。
【０１３０】
ノードが「谷を渡る橋」の上に位置する場合も、ノードが「山を貫くトンネル」内に位置する場合と同様に、異なる処理が必要とされるが、その説明は同じであるので省略する。図３９および図４０は、それぞれ、図３７および図３８に対応した図である。なお、図面の簡略化のため、図３７および図３９では、ステップＳ２３で追加した屈曲点は、省略されている。
【０１３１】
以上に示すように、本実施形態によれば、地表面に対する高さ情報と標高情報とを反映した３次地図情報を作成することができる。このため、得られた３次元地図情報を３次元的に表示した場合に、地形の変化を反映して道路を表示することができる。また、山を貫くトンネル内や谷を渡る橋の上に位置するノードの高さ情報にはその地点の標高情報が用いられるので、自然な勾配を持った道路を表示することができる。
【０１３２】
なお、第１の実施形態に係る水平座標修正処理（ステップＳ１４）で、高さ情報を用いて３つの処理を行うか否かを切り替えてもよいとしたのと同様に、本実施形態に係る水平座標修正処理（ステップＳ２８）でも、高さ情報と標高情報とを用いて３つの処理を行うか否かを切り替えてもよい。具体的には、標高／高さ合成処理（ステップＳ２７）によって求めた合成結果を用いて、３つの処理を行うか否かを切り替えることとしてもよい。
【０１３３】
（第３の実施形態）
本発明の第３の実施形態に係る３次元地図表示装置は、図７に示すハードウェア構成を備え、２次元地図情報に対して高さ情報の追加と水平座標の修正とを行って３次元地図情報を作成し、作成した３次元地図情報を画面に表示する。この装置は、車両用ナビゲーションシステムとして使用される。
【０１３４】
図４１は、本実施形態に係る３次元地図表示装置の動作を示すメインフローチャートである。記録媒体５７には、図４２に示す２次元地図情報が予め記録されている。この２次元地図情報は、図４に示した２次元地図情報に、表示付属物数Ｌと第１から第Ｌの表示付属物情報とを追加したものである。各表示付属物情報には、表示付属物種別と２次元座標とが含まれる。表示付属物種別は、「信号機」、「街灯」、「街路樹」、「ランドマーク」など表示付属物の種類を表す。２次元座標は、表示付属物の平面上の位置を緯度と経度とを用いて表したものである。
【０１３５】
ＣＰＵ５１は、コマンド入力部５４から入力されたコマンドと現在地検出部５６から受け取った現在地情報とに従って、記録媒体５７から２次元地図情報を読み出す（ステップＳ３１）。その後、ＣＰＵ５１は、第１の実施形態と同様に、高さ情報付加処理（ステップＳ３２）、高さ情報修正処理（ステップＳ３３）、および、水平座標修正処理（ステップＳ３４）を順次行う。この際、表示付属物情報の３次元座標も算出される。
【０１３６】
２次元地図情報に対して上記３つの処理を適用した結果、図４３に示す３次元地図情報が求められる。この３次元地図情報は、ノード情報と表示付属物情報とに３次元座標が含まれる点で、元の２次元地図情報と相違する。３次元座標は、元の２次元座標に地表面からの高さを示す「高さ情報」を追加したものである。ＣＰＵ５１は、求めた３次元地図情報をメモリ５２に格納する（ステップＳ３５）。
【０１３７】
次に、ＣＰＵ５１は、道幅情報付加処理（ステップＳ３６）において、メモリ５２に格納した３次元地図情報に対して、さらに道路の道幅情報を追加する。図４４は、道幅情報付加処理の説明図である。例えば、記録媒体５７に、図４４（ａ）に示す２次元地図情報が予め記録されていた場合、道幅情報付加処理を行う前の時点でメモリ５２には、図４４（ｂ）に示す３次元地図情報が格納されている。ＣＰＵ５１は、道幅情報付加処理を行うことにより、図４４（ｃ）に示す３次元地図情報を求める。
【０１３８】
次に、ＣＰＵ５１は、表示画面作成処理（ステップＳ３７）において、道幅情報付加処理を行った３次元地図情報に基づき、３次元表示画面を作成する。この際、ＣＰＵ５１は、より良い３次元表示を行うために、各種の表示付属物を追加して表示する。表示付属物とは、３次元地図情報を表示した際に利用者が道路の高低を容易に認識できるように、地表面からの高さを示すものである。表示付属物には、例えば、高架柱、信号機、街路樹、街灯、高架影、地下道表現、案内板、ガードレール、路肩、防音壁、ビル、家屋、ランドマーク、トンネル、橋、橋脚、歩道橋、料金所、ＥＴＣ（Ｅｌｅｃｔｒｏｎｉｃ  Ｔｏｌｌ  Ｃｏｌｌｅｃｔｉｏｎ；自動料金収受）レーン、あるいは、ＩＴＳ（ＩｎｔｅｌｌｉｇｅｎｔＴｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ：高度道路交通システム）設備などがある。
【０１３９】
次に、ＣＰＵ５１は、作成した３次元表示画面をディスプレイ５５に対して出力する（ステップＳ３８）。ディスプレイ５５は、ＣＲＴ、液晶モニタ、プラズマディスプレイなどの表示装置である。ディスプレイ５５には、３次元地図情報が表示付属物とともに表示される。この際、道路は、多角形を用いて３次元的に表示される。
【０１４０】
図４５ないし図４８は、道路と表示付属物とを同時に表示した画面の例を示す図である。図４５において、高架道路２０は、表示付属物である高架柱２１と高架影２２と街路樹２３とを伴って表示される。これにより、利用者は、道路が高架であることを認識することができる。図４６において、道路２４は、表示付属物である路肩２５を伴って表示される。これにより、利用者は、道路が地表面上にあることを認識することができる。図４７において、道路２６は、表示付属物である防音壁２７と街灯２８とを伴って表示される。これにより、利用者は、防音壁２７や街灯２８の高さと道路の勾配とを比較して、道路の勾配を認識することができる。図４８において、地下道２９は、表示付属物である地下道表現３０を伴って表示される。これにより、利用者は、道路が地下道であることを認識することができる。
【０１４１】
以上に示すように、本実施形態によれば、２次元地図情報に基づき作成された３次元地図情報に基づき、道路が、多角形を用いて３次元的に表示される。これにより、利用者は、道路の構造や高さや現在地を容易に認識することができる。特に、道路が地表面からの高さを示す表示付属物を伴って表示されるので、利用者は、道路の高さを容易に認識することができる。本実施形態に係る地図情報表示装置は、上記の特徴を備えるので、車両用ナビゲーション装置として使用された場合に有効な効果を奏する。また、本実施形態においても、第２の実施形態と同様に、地表面に対する高さ情報と標高情報とを反映した３次元地図情報を作成し、作成した３次元地図情報に基づき道路を３次元的に表示してもよい。
【０１４２】
なお、第１ないし第３の実施形態では、いずれも、道路網情報に付加された高さ情報と道路網情報に含まれる水平座標とは、それぞれ、高さ情報修正処理と水平座標修正処理とにより修正されるものとした。しかしながら、本発明はこれに限るものでなく、高さ情報付加処理を行い、高さ情報修正処理および水平座標修正処理の両方または一方を行わないこととしてもよい。このような地図情報作成装置または地図情報表示装置であっても、道路表示の一部に不自然な箇所が発生するものの、道路ごとに個別に高さ情報を指定することなく、道路に一括して高さ情報を付加することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る３次元地図作成装置の構成を示すブロック図である。
【図２】第１の実施形態に係る３次元地図作成装置における道路網情報を示す図である。
【図３】第１の実施形態に係る３次元地図作成装置における立体交差する道路を表す道路網情報を示す図である。
【図４】第１の実施形態に係る３次元地図作成装置における２次元地図情報のフォーマットの例を示す図である。
【図５】第１の実施形態に係る３次元地図作成装置の動作を示すメインフローチャートである。
【図６】第１の実施形態に係る３次元地図作成装置における３次元地図情報のフォーマットの例を示す図である。
【図７】第１の実施形態に係る３次元地図作成装置によって作成された３次元地図情報を用いる車両用ナビゲーションシステムの構成を示すブロック図である。
【図８】第１の実施形態に係る３次元地図作成装置における高さ情報付加処理のフローチャートである。
【図９】第１の実施形態に係る３次元地図作成装置におけるリンク高さ属性生成処理のフローチャートである。
【図１０】第１の実施形態に係る３次元地図作成装置における高さ属性修正処理の内容を示すテーブルである。
【図１１】第１の実施形態に係る３次元地図作成装置におけるノード高さ属性生成処理のフローチャートである。
【図１２】第１の実施形態に係る３次元地図作成装置におけるノード挿入処理のフローチャートである。
【図１３】第１の実施形態に係る３次元地図作成装置におけるノード挿入処理の説明図である。
【図１４】第１の実施形態に係る３次元地図作成装置におけるノードの高さ情報を求めるためのテーブルである。
【図１５】第１の実施形態に係る３次元地図作成装置により、高さ情報が付加される様子を示す図である。
【図１６】第１の実施形態に係る３次元地図作成装置により、立体交差する道路に高さ情報が付加される様子を示す図である。
【図１７】第１の実施形態に係る３次元地図作成装置における高さ情報修正処理のフローチャートである。
【図１８】第１の実施形態に係る３次元地図作成装置における高さ変化範囲拡大処理の説明図である。
【図１９】第１の実施形態に係る３次元地図作成装置における高さ変化範囲制限処理の説明図である。
【図２０】第１の実施形態に係る３次元地図作成装置における水平座標修正処理のフローチャートである。
【図２１】第１の実施形態に係る３次元地図作成装置における交差点付近のノード挿入処理のフローチャートである。
【図２２】第１の実施形態に係る３次元地図作成装置における交差点付近のノード挿入処理の説明図である。
【図２３】第１の実施形態に係る３次元地図作成装置における道路間の距離を狭める処理のフローチャートである。
【図２４】第１の実施形態に係る３次元地図作成装置における道路間の距離を狭める処理の説明図である。
【図２５】第１の実施形態に係る３次元地図作成装置における道路間の距離を広げる処理のフローチャートである。
【図２６】第１に実施形態に係る３次元地図作成装置における道路間の距離を広げる処理の説明図である。
【図２７】本発明の第２の実施形態に係る３次元地図作成装置の動作を示すメインフローチャートである。
【図２８】第２の実施形態に係る３次元地図作成装置における地形情報を示す図である。
【図２９】第２の実施形態に係る３次元地図作成装置における３次元地図情報のフォーマットの例を示す図である。
【図３０】第２の実施形態に係る３次元地図作成装置における屈曲点追加処理の説明図である。
【図３１】第２の実施形態に係る３次元地図作成装置における標高算出処理のフローチャートである。
【図３２】第２の実施形態に係る３次元地図作成装置における第１の標高算出方法の説明図である。
【図３３】第２の実施形態に係る３次元地図作成装置における、トンネル内のノードに対する第２の標高算出方法の説明図である。
【図３４】第２の実施形態に係る３次元地図作成装置における、橋の上のノードに対する第２の標高算出方法の説明図である。
【図３５】第２の実施形態に係る３次元地図作成装置における標高／高さ合成処理の説明図である。
【図３６】第２の実施形態に係る３次元地図作成装置における標高／高さ合成処理のフローチャートである。
【図３７】第２の実施形態に係る３次元地図作成装置における、山を貫くトンネルに対する標高／高さ合成処理の説明図である。
【図３８】第２の実施形態に係る３次元地図作成装置における、山を貫くトンネルの判断方法の説明図である。
【図３９】第２の実施形態に係る３次元地図作成装置における、谷を渡る橋に対する標高／高さ合成処理の説明図である。
【図４０】第２の実施形態に係る３次元地図作成装置における、谷を渡る橋の判断方法の説明図である。
【図４１】本発明の第３の実施形態に係る３次元地図表示装置の動作を示すフローチャートである。
【図４２】第３の実施形態に係る３次元地図表示装置における２次元地図情報のフォーマットの例を示す図である。
【図４３】第３の実施形態に係る３次元地図表示装置における３次元地図情報のフォーマットの例を示す図である。
【図４４】第３の実施形態に係る３次元地図表示装置における道幅付加処理の説明図である。
【図４５】第３の実施形態に係る３次元地図表示装置による、高架道路、高架橋、高架影および街路樹の表示例を示す図である。
【図４６】第３の実施形態に係る３次元地図表示装置による、路肩の表示例を示す図である。
【図４７】第３の実施形態に係る３次元地図表示装置による、街灯と防音壁との表示例を示す図である。
【図４８】第３の実施形態に係る３次元地図表示装置による、地下道の表示例を示す図である。
【符号の説明】
４１、５１…ＣＰＵ
４２、５２…メモリ
４３…外部記憶装置
４４…キーボード
４５、５５…ディスプレイ
４６…通信部
５３…記録媒体制御装置
５４…コマンド入力部
５６…現在地検出部
５７…記録媒体
【図１】
0003606805.tif 000002
【図２】
0003606805.tif 000003
【図３】
0003606805.tif 000004
【図４】
0003606805.tif 000005
【図５】
0003606805.tif 000006
【図６】
0003606805.tif 000007
【図７】
0003606805.tif 000008
【図８】
0003606805.tif 000009
【図９】
0003606805.tif 000010
【図１０】
0003606805.tif 000011
【図１１】
0003606805.tif 000012
【図１２】
0003606805.tif 000013
【図１３】
0003606805.tif 000014
【図１４】
0003606805.tif 000015
【図１５】
0003606805.tif 000016
【図１６】
0003606805.tif 000017
【図１７】
0003606805.tif 000018
【図１８】
0003606805.tif 000019
【図１９】
0003606805.tif 000020
【図２０】
0003606805.tif 000021
【図２１】
0003606805.tif 000022
【図２２】
0003606805.tif 000023
【図２３】
0003606805.tif 000024
【図２４】
0003606805.tif 000025
【図２５】
0003606805.tif 000026
【図２６】
0003606805.tif 000027
【図２７】
0003606805.tif 000028
【図２８】
0003606805.tif 000029
【図２９】
0003606805.tif 000030
【図３０】
0003606805.tif 000031
【図３１】
0003606805.tif 000032
【図３２】
0003606805.tif 000033
【図３３】
0003606805.tif 000034
【図３４】
0003606805.tif 000035
【図３５】
0003606805.tif 000036
【図３６】
0003606805.tif 000037
【図３７】
0003606805.tif 000038
【図３８】
0003606805.tif 000039
【図３９】
0003606805.tif 000040
【図４０】
0003606805.tif 000041
【図４１】
0003606805.tif 000042
【図４２】
0003606805.tif 000043
【図４３】
0003606805.tif 000044
【図４４】
0003606805.tif 000045
【図４５】
0003606805.tif 000046
【図４６】
0003606805.tif 000047
【図４７】
0003606805.tif 000048
【図４８】
0003606805.tif 000049