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