(57)【特許請求の範囲】
【請求項１】
地物を３次元的に表現した３次元地図においてユーザの指示に基づいて特定の地点の指定を入力する地点指定システムであって、
所定の投影方法によって前記地物の全てを平面上に投影した２次元表示データとしての地物データと、前記地物のそれぞれを前記投影方法によって前記平面上に投影した場合の全体または一部の形状または存在を表すオブジェクト枠を表示するための枠データとを格納する地図データベースと、
前記地物データを読み込んで３次元地図を表示する表示制御部と、
前記３次元地図内でユーザが指定した点の座標値を入力するコマンド入力部と、
前記指定した座標値に応じた前記枠データを特定し、該枠データに基づいて前記オブジェクト枠を表示するとともに、該枠データに対応した地点を、前記ユーザが指定した地点として特定する指定点特定部とを備える地点指定システム。
【請求項２】
請求項１記載の地点指定システムであって、
前記投影方法は、鉛直方向に対して所定の投影角度だけ傾けた斜め方向からの平行投影である地点指定システム。
【請求項３】
請求項１または２記載の地点指定システムであって、
前記指定点特定部は、前記座標値に対応する地点が複数存在する場合に、ユーザの操作に応じて、前記ユーザが指定した点を該複数の地点間で切り換えるとともに、前記オブジェクト枠の表示態様を切り換える地点指定システム。
【請求項４】
請求項１〜３いずれか記載の地点指定システムであって、
前記オブジェクト枠は、前記地物のうち前記３次元地図上に描かれる可視形状を表す可視枠と、他の地物によって遮蔽される部分の形状を表す不可視枠とを含み、
前記指定点特定部は、前記可視枠と前記不可視枠のうち、ユーザが指定した座標値が入る側を用いて前記オブジェクト枠の表示を行う地点指定システム。
【請求項５】
請求項１〜４いずれか記載の地点指定システムであって、
前記枠データは、さらに前記地物の地表面上の形状を表す平面枠を有すデータを有し、
前記コマンド入力部は、前記ユーザの指定に基づき、地表面上の地点を表す座標値を入力し、
前記指定点特定部は、前記座標値を含む前記平面枠を特定し、該平面枠を表示するとともに、該平面枠に対応した地物に基づいて、前記ユーザが指定した地点を特定する地点指定システム。
【請求項６】
請求項１記載の地点指定システムで用いられる枠データを生成する枠データ生成システムであって、
前記地物の３次元形状を表す３次元モデルを記憶する３Ｄ地図データベースと、
前記３Ｄ地図データベースのうち前記枠データの生成対象となる地物を、前記所定の投影方法によって前記平面上に投影し、該投影された形状に基づいて、前記オブジェクト枠を表示するための前記枠データを生成する枠データ生成部とを備える枠データ生成システム。
【請求項７】
コンピュータによって地物を３次元的に表現した３次元地図においてユーザの指示に基づいて特定の地点の指定を入力する地点指定方法であって、
前記コンピュータは、所定の投影方法によって前記地物の全てを平面上に投影した２次元表示データとしての地物データと、前記地物のそれぞれを前記投影方法によって前記平面上に投影した場合の全体または一部の形状または存在を表すオブジェクト枠を表示するための枠データとを格納する地図データベースを備え、
前記地物データを読み込んで３次元地図を表示する工程と、
前記３次元地図内でユーザが指定した点の座標値を入力する工程と、
前記指定した座標値に応じた前記枠データを特定し、該枠データに基づいて前記オブジェクト枠を表示するとともに、該枠データに対応した地点を、前記ユーザが指定した地点として特定する工程とを備える地点指定方法。
【請求項８】
コンピュータによって地物を３次元的に表現した３次元地図においてユーザの指示に基づいて特定の地点の指定を入力するためのコンピュータプログラムであって、
前記コンピュータは、所定の投影方法によって前記地物の全てを平面上に投影した２次元表示データとしての地物データと、前記地物のそれぞれを前記投影方法によって前記平面上に投影した場合の全体または一部の形状または存在を表すオブジェクト枠を表示するための枠データとを格納する地図データベースを備え、
前記コンピュータに、
前記地物データを読み込んで３次元地図を表示する機能と、
前記３次元地図内でユーザが指定した点の座標値を入力する機能と、
前記指定した座標値に応じた前記枠データを特定し、該枠データに基づいて前記オブジェクト枠を表示するとともに、該枠データに対応した地点を、前記ユーザが指定した地点として特定する機能とを実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地物を３次元的に表現した３次元地図上でユーザが地点を指定するための地点指定システムに関する。
【背景技術】
【０００２】
建造物や道路などの地物を３次元的に表示した３次元地図を経路案内に利用する技術がある。３次元地図の表示は、通常、建物等の３次元的な形状を表した３次元モデルを利用し、透視投影によってレンダリングする方法で行われる。３次元地図は、ユーザが現実に視認する景色に近い状態が表示されるため、これを経路案内に利用すると、現在位置や進むべき経路を直感的に把握しやすくなる利点がある。
【０００３】
一方、３次元モデルを用いた透視投影によって３次元地図を表示する方法は、計算負荷が高いという課題がある。こうした課題を解決する技術として、特許文献１は、平行投影による３次元地図の表示技術を開示している。
図１は、平行投影による３次元地図の表示例を示す説明図である。図１（ａ）に示すように、平行投影では、現実の地物ＣＳＴの各点を通る所定の平行線ＰＲＪと投影面ＰＬとの交点で、投影結果ＰＩが得られる。
図１（ｂ）は平行投影によって描かれた地図の例である。例えば、建物ＢＬＤ１、ＢＬＤ２、ＢＬＤ３の辺は平行線で構成されている。平行投影では、透視投影と異なり投影方向に当たる平行線ＰＲＪを定義しさえすれば、「視点」を定義する必要がない。従って、３次元地図を表示する際にユーザの視点に応じてレンダリングをする必要がなく、平行投影して得られた２次元の画像データを予め用意しておくだけで軽い計算負荷で３次元地図を表示できる利点がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１８６９６０号公報
【特許文献２】特開２００６−３１７５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、３次元地図では、地図上の各点に対応する地点が複数存在するため、経路案内に３次元地図を利用する場合、３次元地図内で出発地や目的地などを指定しようとすると、ユーザが地図上で指定した地点を一義的に特定することができないという課題がある。
図１（ｃ）に示す３次元地図を例にとって説明する。この地図内には、道路ＲＤおよび建物ＢＬＤ４、ＢＬＤ５が３次元的に表示されている。ユーザがこの３次元地図内の点Ｐａを指定したとすると、この状態だけからは、ユーザが建物ＢＬＤ４を指定したのか、道路ＲＤ上の地点を指定したのかを、一義的に特定することはできない。また、別の点Ｐｂを指定したとすると、同様に、ユーザが建物ＢＬＤ４を指定したのか、建物ＢＬＤ５を指定したのか、道路ＲＤ上の地点を指定したのか、特定することはできない。
このように、３次元地図では、地図内で指定された点に基づいて、ユーザが指定した地点を一義的に特定することができない課題がある。
【０００６】
かかる課題を解決するための方法として、特許文献２は、３次元地図の表示時に、目的地など特定のポイントを指定するための操作がなされた場合には、表示を２次元の地図に切り換えるという技術を開示する。２次元の地図上であれば、地図上の点に基づいてユーザにより指定された地点を一義的に特定することが可能となるからである。
しかし、この方法は、３次元地図上で地点を指定する技術ではない。目的地などの地点を指定するために２次元地図への切り換えを行っていては、地点を把握しやすいという３次元地図の利点を損ねてしまう。
【０００７】
地図表示時にレンダリングをするのではなく、特許文献１のように予め用意された２次元画像を用いて３次元地図表示を行う場合には、さらなる課題が存在する。予め用意された２次元画像では、この画像内の各点と現実の地物との対応関係を特定することができないのである。例えば、図１（ｃ）に示す３次元地図内で、ユーザが点Ｐａまたは点Ｐｂを指定した場合、予め用意された２次元画像では、指定された点Ｐａ、Ｐｂと、建物ＢＬＤ４、ＢＬＤ５との関係を特定することもできない。この結果、ユーザが建物ＢＬＤ４、ＢＬＤ５を指定する意図であったとしても、ナビゲーション装置等がユーザの意図に添って認識することは非常に困難となる。
【０００８】
上述の課題は、平行投影によって描画された３次元地図に限らず、予め何らかの投影方法によって用意された２次元画像を用いて３次元地図を表示する際に共通の課題であった。
本発明は、かかる課題を解決するものであり、予め２次元画像として用意された３次元地図において、ユーザの意図に沿った地点指定を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、
地物を３次元的に表現した３次元地図においてユーザの指示に基づいて特定の地点の指定を入力する地点指定システムであって、
所定の投影方法によって前記地物の全てを平面上に投影した２次元表示データとしての地物データと、前記地物のそれぞれを前記投影方法によって前記平面上に投影した場合の全体または一部の形状または存在を表すオブジェクト枠を表示するための枠データとを格納する地図データベースと、
前記地物データを読み込んで３次元地図を表示する表示制御部と、
前記３次元地図内でユーザが指定した点の座標値を入力するコマンド入力部と、
前記指定した座標値に応じた前記枠データを特定し、該枠データに基づいて前記オブジェクト枠を表示するとともに、該枠データに対応した地点を、前記ユーザが指定した地点として特定する指定点特定部とを備える地点指定システムとして構成することができる。
【００１０】
本発明では、地図データベースには、地物データを２次元表示データとして格納しているため、表示時にはレンダリングを行うまでなく軽い負荷で３次元地図を表示することができる。ただし、この地物データは、地物の全てを平面上に投影したものであるから、投影時に他の地物に遮蔽される地物は含まれなくなる。また、一部が遮蔽される場合には、地物データには、遮蔽されずに視認できる部分しか存在しなくなる。地物データは、平面の画像データでしかないから、地物同士の遠近関係を特定することはできない。
そこで、本発明は、ユーザが指定した点に対応する枠データを表示する。枠データは、地物の形状を表すデータであるから、これを表示することにより、ユーザは指定している地点が、他の地物等によって遮蔽される地点であっても、いずれの地物に対応する点として認識されているかを容易に知ることができる。
従って、本発明によれば、表示時の負荷を軽減した３次元地図を用いながら、ユーザの意図通りに地点を指定することが可能となる。
【００１１】
本発明において、地物データは２次元表示データとして用意されたものであればよく、透視投影法を含め、種々の投影方法で生成したデータを用いることができる。地物データは、ラスタデータおよびポリゴンデータのいずれの形式で備えてもよい。ただし、解像度によもよるが、通常は、ポリゴンデータの方が、全体のデータ量を抑制でき、拡大して表示する際にも画像が粗くならないため高画質な地図を提供することができる利点がある。
【００１２】
オブジェクト枠とは、地物の全体または一部の形状を表すものであり、その形状は任意であるが、ユーザが３次元地図上で、オブジェクト枠が表示されている地物を認識できるものであることが好ましい。例えば、オブジェクト枠としては、地物の輪郭の全部または一部を用いた形状、地物の輪郭を包含する楕円形などの一般的な形状などとすることができる。
図２は、オブジェクト枠を例示する説明図である。図２（ａ）には、地物ＯＢＪ２の陰に一部が隠れる地物ＯＢＪ１を示した。オブジェクト枠としては、例えば、地物ＯＢＪ１全体の輪郭Ｆ１を用いることができる。本発明では、このように地物データとは別に、オブジェクト枠を表示可能な枠データを用意しておくことにより、ユーザが地点を指定する際に、この輪郭Ｆ１を表示することが可能となる。図２に示したのは、オブジェクト枠の一例であり、オブジェクト枠は、上述した通り種々の形状で用意することが可能である。
枠データに対応した地点も種々の方法で特定することができる。例えば、図２（ｂ）に示すように、地物ＯＢＪ１の地表面の形状における重心位置ＣＧを指定する方法をとってもよい。また、重心ＣＧ以外に地表面の形状内で設定された任意の代表点を用いても良い。さらに、地物ＯＢＪ１の地表面内の形状をはみ出した地点を用いてもよい。
【００１３】
本発明の地点指定システムにおいて、
前記投影方法は、鉛直方向に対して所定の投影角度だけ傾けた斜め方向からの平行投影であるものとしてもよい。
透視投影では、投影する基準となる視点を定める必要があるため、視点ごとに地物データを用意する必要がある。これに対し、平行投影では、視点を定める必要がないため、地図の表示範囲をどのように指定した場合でも単一の地物データを共通して利用することができる。従って、平行投影を用いることにより、地物データの容量を抑制することができる。また、平行投影では、左右方向、奥行き方向の縮尺が維持されるという特性があるため、地図としての機能を損なわないという利点もある。
【００１４】
また、本発明の地点指定システムにおいて、
前記指定点特定部は、前記座標値に対応する地点が複数存在する場合に、ユーザの操作に応じて、前記ユーザが指定した点を該複数の地点間で切り換えるとともに、前記オブジェクト枠の表示態様を切り換えるものとしてもよい。
こうすることにより、ユーザは、その表示態様により、いずれの地点が指定されているかを容易に把握することが可能となる。表示態様は種々の方法で切り換え可能である。例えば、指定されている地物のオブジェクト枠を表示し、その他のオブジェクト枠を非表示としてもよい。図２の例では、地物ＯＢＪ１が指定されているときは、オブジェクト枠Ｆ１を表示し、地物ＯＢＪ２が指定されているときは、オブジェクト枠Ｆ１を非表示とする態様にあたる。また別の態様として、指定されている地物に対応するオブジェクト枠を点滅表示し、その他のオブジェクト枠は非点滅で表示する態様としてもよい。さらに別の態様として、指定されている地物とその他の地物で、オブジェクト枠の表示色を変えてもよい。
【００１５】
本発明の地点指定システムにおいては、
前記オブジェクト枠は、前記地物のうち前記３次元地図上に描かれる可視形状を表す可視枠と、他の地物によって遮蔽される部分の形状を表す不可視枠とを含み、
前記指定点特定部は、前記可視枠と前記不可視枠のうち、ユーザが指定した座標値が入る側を用いて前記オブジェクト枠の表示を行うものとしてもよい。
図２の例において、地物ＯＢＪ１のうち、地物ＯＢＪ２に遮蔽される部分Ｆ３が不可視枠に当たり、その他の部分Ｆ２が可視枠に当たる。このように不可視枠、可視枠を設け、両者を使い分けることにより、地物の遠近関係を把握しやすくなる利点がある。例えば、図２の例において、ユーザが指定した点に対し、不可視枠Ｆ３が表示されれば、ユーザは、地物ＯＢＪ２の陰に地物ＯＢＪ１が存在することを容易に把握することが可能となる。
【００１６】
本発明の地点指定システムにおいては、
前記枠データは、さらに前記地物の地表面上の形状を表す平面枠を有すデータを有し、
前記コマンド入力部は、前記ユーザの指定に基づき、地表面上の地点を表す座標値を入力し、
前記指定点特定部は、前記座標値を含む前記平面枠を特定し、該平面枠を表示するとともに、該平面枠に対応した地物に基づいて、前記ユーザが指定した地点を特定するものとしてもよい。
地表面上の形状を表す平面枠は、例えば、図２（ｂ）に示す枠Ｆ４が相当する。このように平面枠を用意しておくことにより、ユーザが地表面上の座標値を入力した場合、この平面枠に基づいて、いずれの地物が指定されているかを特定することができる。地表面上の座標値の入力としては、例えば、３次元地図ではなく平面状の地図内の点を入力する方法、３次元地図内において「地表面上の地点を指定する」という入力モードを設け、かかる入力モードでいずれかの点を入力する方法などをとることができる。地物データは地表面の座標を入力しても、その座標値と地物との対応関係を特定することはできないが、このように平面枠を用意しておくことにより、地物との対応関係を特定することが可能となる。
【００１７】
本発明において、上述した各特徴は、必ずしも全てを備えている必要はない。一部のみを備えるようにしてもよいし、適宜、組み合わせて適用してもよい。
また本発明は、上述した地点指定システムとしての態様に限らず、種々の態様で構成することができる。
【００１８】
例えば、本発明は、地点指定システムとしての構成だけでなく、かかる地点指定システムで用いられる枠データを生成する枠データ生成システムとして構成してもよい。
即ち、本発明の地点指定システムで用いられる枠データを生成する枠データ生成システムであって、
前記地物の３次元形状を表す３次元モデルを記憶する３Ｄ地図データベースと、
前記３Ｄ地図データベースのうち前記枠データの生成対象となる地物を、前記所定の投影方法によって前記平面上に投影し、該投影された形状に基づいて、前記オブジェクト枠を表示するための前記枠データを生成する枠データ生成部とを備える枠データ生成システムとしてもよい。
枠データ生成システムとしての構成においても、上述した種々の特徴を適用可能である。
こうすることにより、枠データを容易に生成することができる。枠データも、ポリゴンデータ、ベクトルデータ、ラスタデータなど種々の形式で用意することが可能である。
【００１９】
本発明は、その他、コンピュータによって地点を指定するための地点指定方法として構成してもよいし、かかる地点指定システムで用いられる枠データを生成するためのデータ生成方法として構成してもよい。かかる地点指定やデータ生成をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。
また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【図面の簡単な説明】
【００２０】
【図１】透視投影による３次元地図の表示例を示す説明図である。
【図２】オブジェクト枠を例示する説明図である。
【図３】地点指定システムの構成を示す説明図である。
【図４】地物データの内容を示す説明図である。
【図５】地物データのデータ構造を示す説明図である。
【図６】平行投影の投影方位を示す説明図である。
【図７】枠データのデータ構造を示す説明図である。
【図８】地物データ生成処理のフローチャートである。
【図９】全体枠データ生成処理のフローチャートである。
【図１０】可視枠データ生成処理のフローチャートである。
【図１１】可視枠データの生成例を示す説明図である。
【図１２】不可視枠データ生成処理のフローチャートである。
【図１３】平面枠データ生成処理のフローチャートである。
【図１４】地図表示処理のフローチャートである。
【図１５】アンジュレーションによる影響を示す説明図である。
【図１６】アンジュレーションを考慮した座標変換方法を示す説明図である。
【図１７】座標変換処理のフローチャートである。
【図１８】経路案内処理のフローチャートである。
【図１９】出発地・目的地指定処理のフローチャートである。
【図２０】オブジェクト枠の表示態様切り換え例を示す説明図である。
【図２１】オブジェクト枠の表示例を示す説明図である。
【図２２】変形例としての出発地・目的地指定処理のフローチャートである。
【発明を実施するための形態】
【００２１】
本発明の実施例について以下の順序で説明する。
Ａ．装置構成
Ｂ．地物データ構造
Ｂ１．平行投影によるデータ
Ｂ２．複数の投影方位
Ｃ．枠データ
Ｄ．地物データ生成処理
Ｅ．地図表示処理
Ｆ．経路案内処理
Ｆ１．全体の処理
Ｆ２．座標変換
Ｆ３．現在位置表示処理
【実施例１】
【００２２】
Ａ．装置構成：
図３は、実施例における経路案内システムの構成を示す説明図である。サーバ２００からネットワークＮＥ２等を介して提供される地図データに基づいて、ナビゲーション装置３００に地図を表示し、経路案内を行う構成例を示した。地図を表示する端末としては、パーソナルコンピュータ、携帯端末などを用いてもよい。また、経路案内システムは、ナビゲーション装置３００のような端末とサーバ２００とからなるシステムの他、スタンドアロンで稼働するシステムとして構成してもよい。
図中に示したシステムのうち、ナビゲーション装置３００およびサーバ２００は、地物を３次元的に表現した３次元地図において、ユーザが目的地などの地点を指定するための地点指定システムとしても機能する。
図中には、３次元地図データを生成するデータ生成装置１００も併せて示した。
【００２３】
ナビゲーション装置３００には、主制御部３０４の下で稼働する種々の機能ブロックが構成されている。本実施例では、主制御部３０４および各機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部３０１は、サーバ２００とのネットワークＮＥ２を介した通信を行う。本実施例では、３次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。
コマンド入力部３０２は、ユーザによる操作等を通じて指示を入力する。本実施例における指示としては、３次元地図の表示範囲、拡大・縮小の指定、経路案内を行う際の出発地、目的地の設定などが揚げられる。
コマンド入力部３０２には、ユーザがナビゲーション装置３００に表示された地図内で指定した点に基づいて、ユーザが３次元空間におけるいずれの地点を指定したのかを特定する指定点特定部３０２Ａが設けられている。
ＧＰＳ入力部３０３は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）の信号に基づいて緯度経度の座標値を得る。また、経路案内では、緯度経度の変化に基づいて進行方向を算出する。
地図情報記憶部３０５は、サーバ２００から提供された地図データを一時的に記憶しておくバッファである。経路案内時のように表示すべき地図が時々刻々と移動していく場合、地図情報記憶部３０５では不足する範囲の地図データをサーバ２００から受信して地図を表示する。予め全体の地図データを記憶しておくものとしてもよい。
マップマッチング変換部３０７は、経路案内をする場合に、探索された経路および現在位置を、平行投影された３次元地図上の道路上にずれなく表示するため、経路位置および現在位置の座標値に対して必要な座標変換を施す。座標変換の方法については後述する。
表示制御部３０６は、地図情報記憶部３０５およびマップマッチング変換部３０７から提供されるデータに基づいて、ナビゲーション装置３００のディスプレイ３００ｄに３次元地図を表示する。
【００２４】
サーバ２００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
地図データベース２１０は、３次元地図を表示するためのデータベースである。本実施例では、地物データ２１１、文字データ２１２、ネットワークデータ２１３、枠データ２１４を含む地図データを格納する。地物データ２１１は、道路、建物などの地物を３次元的に表示するためのデータであり、地物の３次元モデルを平行投影することで得られた２次元のポリゴンデータである。文字データ２１２は、地図に表示すべき文字、例えば、地物の名称や地名などのデータである。ネットワークデータ２１３は、道路をノード、リンクの集まりで表現したデータである。ノードとは、道路同士の交点や道路の端点に相当するデータである。リンクはノードとノードとを結ぶ線分であり、道路に相当するデータである。本実施例では、ネットワークデータ２１３を構成するノード、リンクの位置は、緯度経度および高さの３次元データで定められている。枠データ２１４は、３次元地図において、各地物の輪郭形状を個別に描画するための画像データである。枠データ２１４は、ラスタデータ、ベクトルデータ、ポリゴンデータなどの形式で備えることができる。
送受信部２０１は、ネットワークＮＥ２を介してナビゲーション装置３００とのデータの送受信を行う。本実施例では、３次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。また、送受信部２０１は、ネットワークＮＥ１を介してデータ生成装置１００との通信も行う。本実施例では、生成された地図データの授受が主として行われる。
データベース管理部２０２は、地図データベース２１０からのデータの読み出し、書き込みを制御する。
経路探索部２０３は、地図データベース２１０内のネットワークデータ２１３を用いて、経路探索を行う。経路探索には、ダイクストラ法などを用いることができる。
【００２５】
データ生成装置１００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、パーソナルコンピュータに、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部１０５は、ネットワークＮＥ１を介してサーバ２００とデータの授受を行う。
コマンド入力部１０１は、キーボード等を介してオペレータの指示を入力する。本実施例では、地図データを生成すべき領域の指定、平行投影パラメータ、枠データを生成する際の条件の指定等が含まれる。
３Ｄ地図データベース１１０は、地図データを生成するために用いられる３次元モデルからなる３Ｄ地図データ、およびネットワークデータを格納するデータベースである。道路、建物などの地物については、３次元形状を表す電子データが格納されている。３Ｄ地図データとしては、従来、透視投影によって３次元地図を表示するために備えられる３次元モデルを利用することができる。ネットワークデータは、サーバ２００に格納されるネットワークデータ２１３と共通とすることができる。
平行投影部１０２は、３Ｄ地図データベース１１０における３Ｄ地図データを用いて平行投影による表示を行って、２次元画像としての地物データを生成する。表示された投影図は、平行投影データ１０３に格納され、送受信部１０５を介してサーバ２００の地図データベース２１０の地物データ２１１に格納される。
枠データ生成部１０６は、平行投影部１０２を利用して、個別に地物の平行投影を行い、枠データ２１４の生成を行う。地物データ２１１を生成する際には、３Ｄ地図データに格納されている地物全体を対象とする平行投影が行われるが、枠データ２１４を生成する際には、特定の地物のみを対象として平行投影が行われる。本実施例では、枠データ２１４は、後述する通り、可視枠、不可視枠などに分かれて構成されており、枠データ生成部１０６は、地物の平行投影の結果に基づき、これらの各種枠を生成する処理も行う。この処理内容については、後述する。
【００２６】
Ｂ．地物データ構造：
Ｂ１．平行投影によるデータ：
図４は、地物データの内容を示す説明図である。３次元データＤ３から平行投影によって２次元画像データＤ１、Ｄ２が得られる様子を示している。３次元データＤ３は、平面Ｐ３上に、建物Ｍ３の形状をｘ、ｙ、ｚの３次元座標で表したデータである。
この建物Ｍ３を鉛直方向（図中の矢印Ａ１方向）に平面Ｐ１上に平行投影すると、建物Ｍ３が長方形Ｍ１のように２次元的に表現された２次元画像データＤ１となる。これは、従来の２次元地図データに相当する。
これに対し、本実施例では、鉛直方向に対して所定の投影角度だけ傾けた斜め方向（図中の矢印Ａ２方向）の平面Ｐ２上に平行投影する。この結果、２次元画像データＤ２上には、建物Ｍ２のように３次元的に建物が表示される。建物Ｍ２は３次元的に表現されてはいるものの、２次元画像データＤ２は、あくまでも投影された２次元の表示データである。本実施例では、投影面内のｕｖ座標内の座標値（ｕ１、ｖ１）、（ｕ２、ｖ２）などの点列で、建物Ｍ２を表示するためのポリゴンデータを規定した。建物Ｍ２の側壁、屋根部分で個別のポリゴンデータとしてもよいし、全体を一つのポリゴンデータとしてもよい。窓Ｗは、建物の壁面に貼り付けるテクスチャ、つまりラスタデータとして用意してもよいし、窓を個別のポリゴンデータとして用意してもよい。
本実施例の地物データは、このように斜め方向の平行投影によって各地物を投影した２次元データによって構成されている。枠データも同様の平行投影によって生成された２次元画像データである。
【００２７】
図５は、地物データのデータ構造を示す説明図である。一つの建物ＢＬ０１を例にとって、データ構造を説明する。
図の左側には、この建物ＢＬ０１の位置関係を２次元的に示した。地図データは、メッシュＭ０１、Ｍ０２に区切って整備されている。左下の緯度経度がＰ０１（ＬＡＴ０１、ＬＯＮ０１）で表されるメッシュＭ０１内の矩形が建物ＢＬ０１である。建物ＢＬ０１の緯度経度は座標Ｇ（ＬＡＴｂ、Ｌ０Ｎｂ）で表される。ここでは、建物ＢＬ０１はメッシュＭ０１からはみ出していない場合を例示した。
【００２８】
この位置に存在する建物ＢＬ０１を平行投影すると（矢印ＣＨ０１）、メッシュＭ０３、Ｍ０４に示すように建物ＢＬ０１は３次元的に表示される。本実施例では、メッシュＭ０３の左下の緯度経度Ｐ０２（ＬＡＴ０２、ＬＯＮ０２）は、メッシュＭ０１のＰ０１と一致している。本実施例では、このようにメッシュＭ０３、Ｍ０４は、各頂点の緯度経度が、平面上のメッシュＭ０１、Ｍ０２の頂点の緯度経度と一致するように定義した。もっとも、投影面におけるメッシュＭ０３、Ｍ０４は、平面におけるメッシュＭ０１、Ｍ０２と無関係に設定することも可能である。
平行投影の結果、建物ＢＬ０１は、メッシュＭ０３内の部分ＢＬ０３だけでなく、メッシュＭ０４内の部分ＢＬ０４によって描かれる。本実施例では、矢印ＣＨ０３、ＣＨ０４に示すように、一つの建物ＢＬ０１を表示するポリゴンのうち、メッシュＭ０３に属する部分ＢＬ０３と、メッシュＭ０４に属する部分ＢＬ０４とを分離し、それぞれ別個のポリゴンデータとして管理する。
【００２９】
図の右側に、それぞれのポリゴンデータの構造を例示した。各ポリゴンに対するデータには、名称、位置、形状、種別、文字、属性等が格納される。
本実施例では、名称としては、建物の名称ＢＬ０１を用いた。メッシュＭ０３に属する部分ＢＬ０３、およびＭ０４に属する部分ＢＬ０４には、共通の名称が付されることになるので、両者が同一の建物に対するポリゴンであることが判別可能となる。名称としてポリゴンに固有の名称を用いることもできる。この場合には、同一の建物に対するポリゴン同士を関連づける情報を別途用意しておくことが好ましい。
【００３０】
位置は、建物ＢＬ０１が存在する緯度経度の座標（ＬＡＴｂ，Ｌ０Ｎｂ）である。形状は、各メッシュ内で定義される相対的な２次元座標ｕｖで、ポリゴンを形成する点列を規定するデータである。部分ＢＬ０３に対する形状データのＰｂ１（ｕ１、ｖ１）、Ｐｂ２（ｕ２、ｖ２）等のデータは、頂点Ｐｂ１、Ｐｂ２の位置を、メッシュＭ０３内のｕｖ座標で表した値である。部分ＢＬ０４に対する形状データのＰｂ３（ｕ３、ｖ３）、Ｐｂ４（ｕ４、ｖ４）等のデータは、頂点Ｐｂ３、Ｐｂ４の位置を、メッシュＭ０４内のｕｖ座標で表した値である。
【００３１】
種別には、ポリゴンが表す地物の種類を格納する。文字は、地物の名称を示すデータであるが、本実施例では、文字データは地物データとは別に用意しているため、地物データには文字データの格納先を示すデータ（図中のＬＩＮＫ）を格納するものとした。格納先を表すデータとしては、建物ＢＬ０１に対する文字データに対するパス、アドレス、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などを用いることができる。
属性は、地物に対する付加情報である。例えば、建物であれば高さ、階数；道路であれば車線幅、国道等の種別などを用いることができる。後述する枠データを、属性として格納するようにしてもよい。
【００３２】
本実施例では、地物データは、現実の建物をそのまま平行投影するのではなく、高さ方向にのみ１よりも大きい係数を乗じた上で平行投影した。ユーザは通常、建物を下方から見上げることが多い。従って、上方から見る形で平行投影を施すと、投影図から得られる建物の高さ感覚は、現実に見上げた時の高さ感覚に合わないことがある。これに対し、上述のように、高さ方向にのみ拡大した仮想的な建物に対して平行投影を施せば、高さ感覚の違和感を緩和することができる。高さ方向に乗ずる係数は、視覚的な効果を考慮して任意に設定可能である。
【００３３】
Ｂ２．複数の投影方位：
平行投影パラメータは、投影角度と投影方位である。投影角度は、鉛直からどれだけ傾けた方向に投影するかを表すパラメータである。投影方位は、いずれの方位に傾けるかを表すパラメータである。地物データは、単一の投影方位に対して用意することもできるが、本実施例では、複数の方位に対して用意している。
【００３４】
図６は、平行投影の投影方位を示す説明図である。図示する通り、本実施例では、一つの領域ＡＲに対して、方位を４５度ずつずらして方位１〜方位８の８方位について、それぞれ平行投影を行い、地物データを生成した。例えば、方位１では北側から見た状態で平行投影した投影図が得られ、方位５では南側から見た状態で平行投影した投影図が得られる。方位１で死角になっていた建物でも、逆方向の方位５では死角にならず表示されることになる。多方位で地物データを用意しておけば、このように死角が生じた場合でも、その死角の地理は他の方位の地図で確認可能であるため、３次元的に表示することによって死角が生じることによる支障を緩和することができる。
本実施例では、８方位の地物データを用意したが、４方位としてもよいし、１６方位またはそれ以上としてもよい。本発明者が検討した結果によれば、１６方位で地物データを用意し、各方位の投影図を順次切り換えていけば、あたかも領域ＡＲの周りを周回しながら、領域ＡＲを見ているかのような表示を違和感なく実現することができることが分かっている。かかる観点からは、地物データは１６方位に対して用意することが好ましいとも言える。
枠データも地物データと同様の方位に対して用意されている。
【００３５】
Ｃ．枠データ：
以下、本実施例における枠データについて例示する。本実施例では、枠データとして、各地物についてオブジェクト枠を表示するための画像データが用意されている。図７は枠データのデータ構造を示す説明図である。
地図データベース２１０は、地図を所定サイズのメッシュに分割し、メッシュ単位でデータを格納・管理している。このメッシュのことをパーセルと称することもある。図７に示す通り、枠データも各パーセル内に存在する地物ごとに複数用意されており、パーセル単位で管理されている。
【００３６】
各地物に対する枠データは、キー情報、平面枠データ、可視枠データ、不可視枠データを備えている。
キー情報は、枠データが付された地物を特定するためのＩＤである。
平面枠データは、図２（ｂ）に示した枠Ｆ４のように、３次元地図において各地物の地表面上の平面形状を描画するためのデータである。本実施例では、平面枠データとして、平面枠座標および平面代表点座標を有している。平面枠座標は、平面枠に相当するポリゴンの頂点の座標列である。平面代表点座標は、地物の位置を表すために用いられる代表点３次元空間における座標値である。平面代表点座標は、任意に設定可能であるが、本実施例では、平面枠の重心位置の緯度経度を用いるものとした。
【００３７】
可視枠データおよび不可視枠データは、地物データが用意されている方位（図６参照）に対応した方位ごとに用意されている。可視枠データは、図２（ａ）に示した枠Ｆ２のように特定の視線方向から視認できる部分の形状を描くためのデータである。不可視枠データは、図２（ａ）に示した枠Ｆ３のように特定の視線方向から視認できない部分の形状を描くためのデータである。可視枠データおよび不可視枠データは、これらの枠を描くポリゴンの頂点の座標列とすることができる。枠データには、可視枠データおよび不可視枠データの他に、全体枠、即ち図２（ａ）に示す枠Ｆ１を描くためのデータを用意してもよい。
【００３８】
Ｄ．地物データ生成処理：
２次元画像データとしての地物データの生成処理について説明する。
図８は地物データ生成処理のフローチャートである。これは、データ生成装置１００の平行投影部１０２（図３参照）が実行する処理であり、ハードウェア的には、データ生成装置１００のＣＰＵが実行する処理である。
処理を開始すると、データ生成装置１００は、データを生成する対象となる対象メッシュおよび平行投影パラメータ、即ち投影方位および投影角度を入力する（ステップＳ１００、Ｓ１０１）。これらの条件は、ユーザが入力するものとしてもよいし、予め設定しておいてもよい。
【００３９】
データ生成装置１００は、ステップＳ１００で指定された対象メッシュおよびその周辺所定範囲のメッシュから、３Ｄ地図データを読み込む（ステップＳ１０２）。
対象メッシュの周辺からもデータを読み込むのは、図５のメッシュＭ０３、Ｍ０４に示したように、平行投影で地物データを生成する場合、処理対象となるメッシュに対しては、そのメッシュ内に存在しない地物の一部が投影されることもあるからである。対象メッシュの周辺からもデータを読み込み、これらを合わせて平行投影することにより、他のメッシュに存在する地物も含む地物データを得ることが可能となる。
【００４０】
こうしてデータの読み込みが完了すると、データ生成装置１００は、これらを平行投影パラメータに基づいて平行投影し、２次元画像を生成する（ステップＳ１０３）。そして、平行投影で生成されたポリゴンデータから、対象メッシュに相当する領域を切り出し（ステップＳ１０４）、平行投影データをデータベースに格納する（ステップＳ１０５）。
【００４１】
Ｅ．枠データ生成処理：
２次元画像データとしての枠データの生成処理について説明する。本実施例では、まず各地物について全体枠のデータおよび可視枠のデータを生成し、これらに基づいて不可視枠のデータを生成する。また、これらの処理とは独立に、平面枠データの生成も行う。これらの処理は、地物単位で行われる処理である。
以下、全体枠、可視枠、不可視枠、平面枠の順にデータ生成処理の内容を説明する。それぞれの処理は、データ生成装置１００の枠データ生成部１０６（図３参照）が実行し、ハードウェア的には、データ生成装置１００のＣＰＵが実行する。
【００４２】
Ｅ１．全体枠データ生成処理：
図９は、全体枠データ生成処理のフローチャートである。
データ生成装置１００は、処理を開始すると、３Ｄ地図データベースから、処理対象となる地物の形状データを読み込む（ステップＳ１１０）。
そして、この形状データを各投影方位について平行投影する（ステップＳ１１１）。図中に平行投影結果を示した。この時点で、形状データは、３次元的に描かれた２次元の画像データとなる。
データ生成装置１００は、この平行投影結果を単色で塗りつぶす（ステップＳ１１２）。図中に塗りつぶした結果を例示した。この状態で、平行投影データは、いわゆるベタ画像のような状態となる。
データ生成装置１００は、塗りつぶされた形状の最外殻となる輪郭Ｆを抽出し、その重心位置ＣＧを算出する（ステップＳ１１３）。こうして抽出された輪郭Ｆが全体枠となる。重心位置ＣＧの算出は省略してもよい。
【００４３】
Ｅ２．可視枠データ生成処理：
図１０は、可視枠データ生成処理のフローチャートである。
データ生成装置１００は、処理を開始すると、３Ｄ地図データベースから、処理対象となるオブジェクトおよびその周辺の地物の形状データを読み込む（ステップＳ１２０）。オブジェクトとは、地物を表す３次元の形状データを意味する。
そして、データ生成装置は、この各オブジェクトの表面を異なる色で塗りつぶす（ステップＳ１２１）。図中に塗りつぶした例を示した。この例では、４つの地物Ｏ３Ｄ１〜Ｏ３Ｄ４の表面が異なる色で塗りつぶされている。もっとも、このように塗りつぶすのは、後述する通り可視枠に相当する形状を抽出しやすくするための処理であるから、必ずしも全てのオブジェクトを異なる色で塗りつぶす必要はない。処理対象のオブジェクトを特定の色で塗りつぶし、その他のオブジェクトはこれと異なる色であれば全てを同じ色で塗りつぶしてもよい。
データ生成装置１００は、塗りつぶしが完了すると、これらのオブジェクトを各投影方位について平行投影する（ステップＳ１２２）。
データ生成装置１００は、平行投影によって得られた画像から、処理対象となるオブジェクトの色と同一色の領域を抽出する（ステップＳ１２３）。図中に抽出例を示した。左上に示したのは、平行投影した結果である。ステップＳ１２１に示したオブジェクトＯ３Ｄ１〜Ｏ３Ｄ４を平行投影することにより、それぞれベタ画像Ｏ２Ｄ１〜Ｏ２Ｄ４が得られる。この中から、オブジェクトＯ３Ｄ４の色に対応する領域のみを抽出すれば、矢印Ｏ２Ｄ４に示すように、可視枠Ｐ４を得ることができる。また、オブジェクトＯ３Ｄ３の色に対応する領域のみを抽出すれば、矢印Ｏ２Ｄ３に示すように、可視枠Ｐ３を得ることができる。
【００４４】
図１１は、枠データの生成例を示す説明図である。図１１（ａ）には地物データを平行投影した状態を示した。図１１（ｂ）は枠データ生成処理を施した状態を示している。図１１（ｂ）には、全地物の全体枠を示したが、枠データの生成処理は、地物単位で行われる。
図１１（ａ）における地物Ｂ１、Ｂ２について、それぞれ図１１（ｂ）では、輪郭Ｂ１ａ、Ｂ２ａとなっていることが分かる。地物Ｂ１の場合、他の地物によって隠される部分はないから、輪郭Ｂ１ａが全体枠であると同時に、可視枠となる。地物Ｂ２の場合、右下の部分が一部、他の地物Ｂ３によって遮蔽されている。このことは、図１１（ｂ）においても、地物Ｂ２の輪郭Ｂ２ａと、地物Ｂ３の輪郭Ｂ３ａが一部で重なっていることからも確認できる。従って、地物Ｂ２については、可視枠は全体枠から地物Ｂ３との重なり部分を削った形状となる。可視枠の形状は、図１０で説明した処理によって求められる。
【００４５】
Ｅ３．不可視枠データ生成処理：
図１２は、不可視枠データ生成処理のフローチャートである。
処理を開始すると、データ生成装置１００は、対象となる地物の全体枠データを読み込む（ステップＳ１３０）。図中に全体枠ＦＡを例示した。
次に、データ生成装置１００は、対象となる地物の可視枠データを読み込む（ステップＳ１３１）。図中に可視枠ＦＶを塗りつぶした状態で例示した。
そして、データ生成装置１００は、全体枠と可視枠とを重ね合わせて、不可視枠データを設定する（ステップＳ１３２）。図中に示すように、全体枠ＦＶに、可視枠ＦＡを重ね合わせ、全体枠ＦＶのうち、可視枠ＦＡに含まれない部分ＦＵＶを抽出することによって不可視枠を設定することができる。不可視枠の設定は、例えば、全体枠ＦＶおよび可視枠ＦＡを所定の色で塗りつぶし、全体枠ＦＶに可視枠ＦＡを不透明な状態で上書きした上で、全体枠ＦＶの色に対応する領域を抽出する方法をとることができる。
【００４６】
Ｅ４．平面枠データ生成処理：
図１３は、平面枠データ生成処理のフローチャートである。
処理を開始すると、データ生成装置１００は、３Ｄ地図データから、対象となるオブジェクトの平面形状を読み込む（ステップＳ１４０）。図中に示すように、オブジェクトＯＢＪに対し、その地表面の形状ＢＰが読み込まれる。３Ｄ地図データに、地表面の形状ＢＰに対応するポリゴンが格納されている場合には、当該データを読み込めばよいし、かかるポリゴンが存在しない場合には、３Ｄ地図データから地表面形状ＢＰの頂点に相当する座標を入力してもよい。
データ生成装置１００は、読み込んだ底面形状を、図６で示した各投影方位について平行投影する（ステップＳ１４１）。３Ｄ地図データは、地表面の起伏も含む３次元データを有しているため、地表面上の形状であっても、平行投影前後で形状が変わる。こうして得られた形状が、平面枠データとなる。データ生成装置１００は、得られた平面枠データの重心位置を代表点として算出する（ステップＳ１４２）。
【００４７】
Ｆ．地図表示処理：
図１４は、地図表示処理のフローチャートである。本実施例では、ナビゲーション装置３００の主制御部３０４および表示制御部３０６が実行する処理であり、ハードウェア的にはナビゲーション装置３００のＣＰＵが実行する処理である。
【００４８】
この処理では、まずＣＰＵは、表示位置、方位、範囲の指定を入力する（ステップＳ３５０）。ユーザがキーボード等でこれらを指定するものとしてもよいし、ＧＰＳで得られる現在位置を表示位置として用いるものとしてもよい。
ＣＰＵは、従前の地図表示処理において既に取得しナビゲーション装置３００内に保持されている地図情報から、指定に対応する地図情報を抽出する（ステップＳ３５１）。地図情報とは、地物データ、文字データ、ネットワークデータ、枠データなど、地図を表示するために必要となる種々のデータの総称である。
図に抽出の様子を示した。メッシュで区切られた地図情報ＭＥのうち、ハッチングを付した部分が既にナビゲーション装置３００に保持されている地図情報である。領域ＩＡは、ユーザからの指定に対応する範囲を表している。この例では、保持されている地図情報のうち領域ＩＡに重なる部分、つまりメッシュＭＥ３、ＭＥ４を除く部分が抽出されることになる。
領域ＩＡと重複しないメッシュＭＥ３、ＭＥ４については、不要な情報として消去してもよいし、ナビゲーション装置３００のメモリが許容する限り、残しておくようにしてもよい。
【００４９】
ＣＰＵは、抽出した地図情報では、地図を表示するのに不足する場合には（ステップＳ３５２）、サーバ２００から不足部分の地図情報を取得する（ステップＳ３５３）。上述の例では、領域ＩＡを表示するためには、メッシュＭＥ１、ＭＥ２が不足しているから、これらの地図情報が取得されることになる。
【００５０】
こうして地図情報を取得し終えると、ＣＰＵは地物を表示する（ステップＳ３５４）。本実施例では、地物データは既に平行投影された後の２次元のポリゴンデータに過ぎないから、取得した地物データに従ってポリゴンを表示すれば３次元地図を表示することができる。
従来は３次元モデルを用いて、レンダリングと呼ばれる処理を行って透視投影図を作成し、３次元地図を表示していたため、レンダリングに要する処理負荷が非常に大きかったのに対し、本実施例では、非常に軽い負荷で３次元地図を表示可能となる大きな利点がある。
【００５１】
Ｇ．座標変換：
経路案内時などにおいて、地図中に現在位置等を表示する場合や、ユーザが地図中で指定した点に対応する３次元座標を特定する場合などには、以下に示す通り、地表の起伏（アンジュレーション）を考慮した座標変換を施す必要がある。
図１５は、アンジュレーションによる影響を示す説明図である。
図中の面Ａ２Ｄは２次元地図における地表を表し、面Ａ３Ｄは３次元地図における地表を表している。右側に示す通り、本実施例におけるネットワークデータ２１３、および地物データの生成に用いられる３Ｄ地図データベース１１０は、面Ａ３Ｄに相当する３次元の情報を有するデータである。２次元平面Ａ２Ｄ内のメッシュＭ２Ｄに対応する範囲は、起伏のあるメッシュＭ３Ｄに対応する。
面Ａｐは平行投影による投影図を示している。矢印Ｖｐｊで示す方向に投影するため、２次元平面Ａ２Ｄ内のメッシュＭ２Ｄに対応する範囲は、やや斜めにずれた位置のメッシュＭＰ２となる。
一番下に示した面Ａｇは、ＧＰＳで得られた緯度経度の座標面である。
【００５２】
例えば、現在位置が点Ｐ３Ｄ（ｘ、ｙ、ｚ）のように３次元の位置座標で与えられた場合を考える。この座標は、２次元的には位置Ｃｐｇ（緯度、経度）に対応し、２次元地図が表示される面Ａ２Ｄでは、メッシュＭ２Ｄ内の点Ｐ２Ｄ（Ｘ、Ｙ）に相当する。
点Ｐ３Ｄを平行投影すれば、面Ａｐ上のメッシュＭｐ２内の点Ｐｐ２に表示される。これに対し、点Ｐ３Ｄの３次元座標のうち、２次元の要素（Ｘ、Ｙ）を、平行投影が施された座標値であると想定すると、面Ａｐ内では、本来のメッシュＭｐ２とは異なるメッシュＭｐ１内の点Ｐｐ１に表示されてしまう。本来の点Ｐｐ２との誤差Ｖｃが生じてしまうのである。
そこで、本実施例では、面Ａｐ内で点Ｐ３Ｄに対して、誤差Ｖｃ分の移動に相当する座標変換を施すことにより、点Ｐ３Ｄを平行投影した状態での表示を実現した。
【００５３】
図１６は、アンジュレーションを考慮した座標変換方法を示す説明図である。図１５で示した誤差Ｖｃに相応するベクトルを求め、これを補正量として座標変換を行う。この意味で、以下、誤差Ｖｃを補正ベクトルＶｃとも呼ぶ。
図中の矢印Ｖｐｊは平行投影の方向を示している。点Ｐ３Ｄは、この平行投影によって点Ｐｐ２に投影されるべきものとする。
点Ｐ３ＤのＸ、Ｙ座標のみを用いて投影した結果は点Ｐｐ１であるから、誤差Ｖｃは、点Ｐｐ１から点Ｐｐ２に向かうベクトルとなり、図中のベクトルＶｃに等しくなる。
【００５４】
補正ベクトルＶｃは、回転および平行移動を組み合わせたアフィン変換行列によって求めることができる。
点Ｐ３Ｄの高さを保持したまま、−Ｘ方向に平行移動するベクトルＶｃ０に相当する変換行列を求める。投影角度Ａｐを用いれば、ベクトルＶｃ０の大きさは、点Ｐ３Ｄの高さｚとｔａｎ（Ａｐ）の積で表されるから、ベクトルＶｃ０（Ｖｃ０ｘ、Ｖｃ０ｙ、Ｖｃ０ｚ）は、次の通り表される。
Ｖｃ０ｘ＝−ｚ×ｔａｎ（Ａｐ）；
Ｖｃ０ｙ＝０；
Ｖｃ０ｚ＝０；
【００５５】
補正ベクトルＶｃは、ベクトルＶｃ０をｚ軸回りに投影方位（−Ａｙ）だけ回転すればよい。従って、補正ベクトルＶｃ（Ｖｃｘ、Ｖｃｙ、Ｖｃｚ）は、次の通り表される。
Ｖｃｘ＝−ｚ×ｔａｎ（Ａｐ）×ｃｏｓ（Ａｙ）；
Ｖｃｙ＝  ｚ×ｔａｎ（Ａｐ）×ｓｉｎ（Ａｙ）；
Ｖｃｚ＝０；
従って、Ｐ３Ｄを鉛直に投影した点Ｐｐ１に対して、上述の補正ベクトルＶｃを適用すれば点Ｐｐ２を求めることができる。補正ベクトルＶｃは、実質的には（Ｖｃｘ、Ｖｃｙ）の２次元ベクトルであるから、平行投影の投影面内で補正が可能である。
【００５６】
上述の補正ベクトルＶｃは、ｙ軸を北、ｘ軸を東、ｚ軸を高さ方向に定義し、北を０度として東、南、西、北の向きの角度で投影方位を表すものとした場合の値である。ｘ、ｙ、ｚおよび投影方位の定義に応じて、それぞれ適した変換式を用いる必要がある。
上述した座標変換の逆変換により、地表面上等の拘束条件を設ければ、平行投影後の２次元の座標を３次元の座標値に変換することもできる。
【００５７】
図１７は、座標変換処理のフローチャートである。経路案内中であれば場合には、ナビゲーション装置３００のマップマッチング変換部３０７（図３参照）が実行することになる。
処理を開始すると、ナビゲーション装置３００は、平行投影パラメータＡｐ（投影角度）、Ａｙ（投影方位）を入力する（ステップＳ３０１）。そして、平行投影パラメータに基づいて座標変換行列を生成する（ステップＳ３０２）。行列の内容は、図１６で説明した通りである。
【００５８】
次に、ナビゲーション装置３００は、座標変換の対象となる対象データを入力し（ステップＳ３０３）、図１６で示した座標変換を施す（ステップＳ３０４）。
【００５９】
Ｆ．経路案内処理：
Ｆ１．全体の処理：
図１８は、経路案内処理のフローチャートである。左側にナビゲーション装置３００の処理を示し、右側にサーバ２００の処理を示した。これらは、図３に示した種々の機能ブロックが協同して実行する処理であり、ハードウェア的には、ナビゲーション装置３００およびサーバ２００のＣＰＵが実行する処理である。
【００６０】
まず、ナビゲーション装置３００のユーザが、経路探索の出発地、目的地を指定する（ステップＳ２００）。出発地は、ＧＰＳで取得される現在位置を用いてもよい。目的地は、地物名称、住所、緯度経度の座標値など種々の方法で設定可能である。ナビゲーション装置３００は、これらの指定結果をサーバ２００に送信する。
出発地・目的地の設定は、ユーザが３次元地図の画面上の一点を指定することで行うこともできる。かかる方法で指定する場合の処理については、後述する。
【００６１】
サーバ２００は、出発地、目的地の指定を入力すると（ステップＳ２８０）、ネットワークデータ２１３（図３参照）を用いて経路探索を行う（ステップＳ２８１）。経路探索は、例えば、ダイクストラ法等を用いることができる。サーバ２００は探索結果、即ち経路となるべきネットワークデータをナビゲーション装置３００に出力する（ステップＳ２８２）。
経路探索処理は、必ずしもサーバ２００で行う必要はなく、ナビゲーション装置３００にネットワークデータを格納しておき、スタンドアロンで経路探索可能な構成としてもよい。
【００６２】
ナビゲーション装置３００は、探索結果を受信すると（ステップＳ２９０）、以下の手順で経路案内を行う。
まず、ナビゲーション装置３００は、ユーザの現在位置、進行方向を入力する（ステップＳ２９１）。現在位置は、ＧＰＳによって特定できる。進行方向は、従前の位置から現在位置までの変化に基づいて求めることができる。
次に、ナビゲーション装置３００は表示範囲決定処理を行う（ステップＳ２９２）。この処理は、現在位置、進行方向に基づいて地図の表示範囲を決定する処理であり、次に示す手順で行うことができる。
ナビゲーション装置３００は、まず進行方向に基づいて、地図の方位を決定する。本実施例では８方位に対して地物データが用意されているため、使用すべき方位を、進行方向に応じて選択するのである。各方位には、破線で示すように、それぞれ４５度の角度領域を割り当てておき、ナビゲーション装置３００は、これらの８つの角度領域から進行方向が含まれるものを選択するようにすればよい。角度領域は地物データが用意されている方位数に応じて決めることができる。１６方位の地物データが用意されている場合には２２．５度とすればよいし、４方位の場合には９０度とすればよい。
【００６３】
次に、ナビゲーション装置３００は、探索結果および現在位置の座標変換処理を行う（ステップＳ３００）。処理内容は、図１５〜１７で説明した通りである。
以上の処理が完了すると、ナビゲーション装置３００は、指定された表示範囲に従って地図表示処理を実行する（ステップＳ３５０）。この処理内容は、先に図１４で示した処理と同じである。
次に、ナビゲーション装置３００は、現在位置を表示する（ステップＳ３６０）。現在位置の他に経路探索で得られた経路を表示してもよい。経路は、道路とは異なる色、線などで示してもよいし、進行すべき方向や曲がり角などに、矢印その他を表示してもよい。
ナビゲーション装置３００は、ユーザが目的地に到着するまで（ステップＳ３６１）、ステップＳ２２０以降の処理を繰り返し実行し、経路案内を行う。
【００６４】
Ｆ３．出発地・目的地指定処理：
図１９は、出発地・目的地指定処理のフローチャートである。ナビゲーション装置３００の指定点特定分３０２Ａが実行する処理であり、ハードウェア的にはナビゲーション装置３００のＣＰＵが実行する処理である。
出発地・目的地の指定は、地物名称、住所、緯度経度の座標値など種々の方法で設定可能であるが、ここでは、ユーザが３次元地図の画面上の一点を指定することで行う場合についての処理内容に絞って示している。
【００６５】
処理を開始すると、ナビゲーション装置３００は、３次元地図が表示された画面上でユーザが指定した点の画面上での座標値を取得する（ステップＳ２０１）。
ナビゲーション装置３００は、枠データを参照し、ステップＳ２０１で取得した座標値を含むオブジェクトを抽出する（ステップＳ２０２）。抽出されるオブジェクトは、一つとは限らず、２以上のオブジェクトが抽出されることもある。ユーザが指定した点は、抽出されたオブジェクトおよび地表面の地点のいずれかを表していると言える。
【００６６】
ナビゲーション装置３００は、ユーザが指定した可能性がある複数の地点、即ち抽出されたオブジェクトおよび地表面について、ユーザの意図を確認するための優先順位を設定する（ステップＳ２０３）。優先順位は、任意に設定可能であるが、本実施例では、可視枠→不可視枠→地表面の順という規則に従って、設定するものとした。不可視枠に対応するオブジェクトが複数存在する場合、それらの間での優先順位も任意に設定可能である。
図中に優先順位の設定例を示した。オブジェクトＢＬＤ４、ＢＬＤ５および道路ＲＤがある場合に、点Ｐｂが指定された場合を考える。点Ｐｂは、オブジェクトＢＬＤ４の可視枠に含まれ、オブジェクトＢＬＤ５の不可視枠に含まれるため、これらのオブジェクトを指している可能性がある。さらに、これらのオブジェクトの背後にある道路ＲＤ上の地点を指している可能性もある。そこで、この例では、ナビゲーション装置３００は、オブジェクトＢＬＤ４、ＢＬＤ５および地表の３通りの中で優先順位を設定することになる。
上述の通り、本実施例では、可視枠、不可視枠、地表の順に優先順位を設定するものとした。従って、図中に示す通り、オブジェクトＢＬＤ４、ＢＬＤ５、地表の順に優先順位が設定されることになる。
【００６７】
ナビゲーション装置３００は、こうして設定された優先順位に従い、選択状況表示を行う（ステップＳ２０４）。選択状況表示とは、ユーザが指定した可能性のある地点のうち、いずれが選択されているかをユーザが認識できるようにするための表示である。選択状況表示としては、例えば、選択されているオブジェクト等のオブジェクト枠を表示する方法を採ることができる。選択状況表示の例は、後で示す。
この状況で、ユーザが所定の切換操作を行うと（ステップＳ２０５）、ナビゲーション装置３００は、優先順位に従い、順次、選択状況表示を切り換える（ステップＳ２０４）。ステップＳ２０３に示した例では、オブジェクトＢＬＤ４のオブジェクト枠が表示されている状態で、ユーザが切換操作を行うと、オブジェクトＢＬＤ５のオブジェクト枠が表示される。
こうして、ユーザの意図した地物等が選択されている状態になったときに、ユーザが決定操作を行うと（ステップＳ２０５）、ナビゲーション装置３００は、その結果に応じて、選択地点の座標値を設定する（ステップＳ２０６）。決定操作は、決定ボタンを設けたり、いわゆるダブルクリックをするなど、任意に設定可能である。
選択地点の座標値の設定方法としては、例えば、地物が選択された場合には、平面枠データの重心位置を設定し、地表が選択された場合には指定された地点の座標値を設定する方法をとることができる。
ステップＳ２０６の処理で得られるのは、ユーザが指定した画面上の座標値である。そこで、ナビゲーション装置３００は、この選択地点を座標変換して、３次元空間での位置座標を得る（ステップＳ２０７）。画面上の座標値と３次元空間での位置座標との間の座標変換は、図５〜７で説明した方法によって行うことができる。
【００６８】
Ｆ４．選択状況表示：
図２０は、オブジェクト枠の表示態様切り換え例を示す説明図である。図２０（ａ）には、地物Ｆが選択されている状態を示した。３次元地図において、ユーザが点Ｐを指定した場合、その点は、地物Ｆおよびその背後の道路の地点に対応している。点Ｐが地物Ｆに対応していることを示すための表示として、図２０（ａ）では、地物Ｆのオブジェクト枠を表示している。ユーザの切り換え操作によって、点Ｐが地物Ｆではなく道路上の点に対応することとなった時には、地物Ｆのオブジェクト枠の表示を消す。いずれのオブジェクト枠も表示されていなければ、地表面が選択状況にあることを意味することになる。このようにオブジェクト枠の表示／非表示を切り換えることで、点Ｐがどの地点をさしているかを、ユーザが視覚的に容易に認識することが可能となる。
【００６９】
点Ｐがいずれの地点をさしているかを切り換える方法としては、種々の操作が考えられる。例えば、点Ｐにおいてユーザがクリック等をする度に、地物Ｆと地表上の点との間で、切り換えが生じるようにしてもよい。クリックに変えて、矢印ａ方向にドラッグまたはスワイプするようにしてもよい。
また選択状況の表示および切り換え操作の別の態様として、図２０（ｂ）に示すように、メニューを表示してもよい。かかる態様においても、同様にユーザのクリックやドラッグによって、順次、選択状況を切り換えることができる。直接、メニューの中からユーザが意図する点を選択可能としてもよい。
【００７０】
Ｆ５．出発地・目的地指定処理の変形例：
変形例としての出発地・目的地の指定方法について説明する。ここでは、２次元地図と３次元地図の連携によって出発地・目的地を指定する例を示す。
図２１は、オブジェクト枠の表示例を示す説明図である。上側に３次元地図Ｖ３Ｄを示し、下側に２次元地図Ｖ２Ｄを示した。まず、ユーザが２次元地図上で点ＰＰ２を指定したとする。２次元地図は画像データでしかないから、点ＰＰ２から地物を直ちに特定することはできない。
そこで、変形例では、点ＰＰ２を座標変換して、３次元地図Ｖ３Ｄ内における座標を求める。座標変換は、図５〜７で示した方法で行うことができる。点ＰＰ２を座標変換することで、３次元地図Ｖ３Ｄ内の点ＰＰ３ａが得られたとする。３次元地図Ｖ３Ｄ内では、各地物に平面枠ＦＰ２が設定されているから、点ＰＰ３ａが存在する平面枠ＦＰ２を検索することにより、点ＰＰ３ａに対応する地物を特定することができる。
【００７１】
別の態様として、３次元地図Ｖ３Ｄで点を指定した場合、その点に対応する地物を２次元地図Ｖ２Ｄで確認可能としてもよい。例えば、３次元地図Ｖ３Ｄで、ユーザが可視枠ＦＰ３内の点ＰＰ３ｂを指定したとする。点ＰＰ３ｂが可視枠ＦＰ３に存在することから、オブジェクトが特定でき、これに対応する平面枠ＦＰ２および代表点ＰＰ３ａの座標を特定することができる。この代表点ＰＰ３ａを座標変換すれば、２次元地図Ｖ２Ｄにおける点ＰＰ２を特定することができ、ユーザが指定した点に対応する地物を２次元地図Ｖ２Ｄ上で特定することができる。
【００７２】
図２２は、変形例としての出発地・目的地指定処理のフローチャートである。図２１で説明した処理のうち、２次元地図Ｖ２Ｄで指定された点に基づいて、地物を特定するための処理を示した。
処理を開始すると、ナビゲーション装置３００は、２次元地図Ｖ２Ｄを表示する（ステップＳ２１０）。そして、ナビゲーション装置３００は、２次元地図の画面上でユーザが指定した点の座標値を取得する（ステップＳ２１１）。
ナビゲーション装置３００は、こうして得られた座標値を、座標変換し、３次元地図画面上の座標値を求める（ステップＳ２１２）。そして、座標値が属する平面枠データを検索し、オブジェクトを特定する（ステップＳ２１３）。
地物を特定すると、ナビゲーション装置３００は、２次元地図表示から３次元地図表示に切り換え、特定された地物を強調表示する（ステップＳ２１４）。強調表示は、例えば、図２１に示すように、地物とともにオブジェクト枠を表示する方法などをとることができる。ユーザが、決定のための操作を行えば（ステップＳ２１５）、ナビゲーション装置３００は、特定された地物に対応する地点を採用し、この処理を終了する。決定のための操作を行わない場合には、ナビゲーション装置３００は、新たな点を入力するため、ステップＳ２１０以降の処理を実行する。
【００７３】
Ｇ．効果および変形例：
以上で説明した本実施例の地点指定システムによれば、予め用意された２次元画像としての地物データを用いながら軽い負荷で３次元地図を表示しつつ、画面内でユーザが指定した点を特定することが可能となる。
地点指定システムは、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
【産業上の利用可能性】
【００７４】
本発明は、地物を３次元的に表現した３次元地図において地点を指定するために利用可能である。
【符号の説明】
【００７５】
１００…データ生成装置
１０１…コマンド入力部
１０２…平行投影部
１０３…平行投影データ
１１０…３Ｄ地図データベース
１０５…送受信部
１０６…枠データ生成部
２００…サーバ
２０１…送受信部
２０２…データベース管理部
２０３…経路探索部
２１０…地図データベース
２１１…地物データ
２１２…文字データ
２１３…ネットワークデータ
２１４…枠データ
３００…ナビゲーション装置
３０１…送受信部
３０２…コマンド入力部
３０２Ａ…指定点特定部
３０３…ＧＰＳ入力部
３０４…主制御部
３０５…地図情報記憶部
３０６…表示制御部
３０７…マップマッチング変換部
【図２】
0005883673.tif 000002
【図３】
0005883673.tif 000003
【図４】
0005883673.tif 000004
【図５】
0005883673.tif 000005
【図７】
0005883673.tif 000006
【図８】
0005883673.tif 000007
【図９】
0005883673.tif 000008
【図１０】
0005883673.tif 000009
【図１２】
0005883673.tif 000010
【図１３】
0005883673.tif 000011
【図１４】
0005883673.tif 000012
【図１５】
0005883673.tif 000013
【図１６】
0005883673.tif 000014
【図１７】
0005883673.tif 000015
【図１８】
0005883673.tif 000016
【図１９】
0005883673.tif 000017
【図２２】
0005883673.tif 000018
【図１】
0005883673.tif 000019
【図６】
0005883673.tif 000020
【図１１】
0005883673.tif 000021
【図２０】
0005883673.tif 000022
【図２１】
0005883673.tif 000023