(57)【特許請求の範囲】
【請求項１】
メッシュに区画された地図情報として、前記メッシュ内の多角形の辺上の各構成点を、所定向きに辿った順に前記各構成点の座標を設定した座標データを格納し、前記多角形が前記メッシュの境界上の辺を含む場合には、当該多角形に含まれる前記メッシュの境界上の辺又は２辺以上の連続した辺列のうちの１つを非格納辺列として、当該多角形における前記非格納辺列を除いた辺上の構成点の前記座標データを格納する地図情報記憶部と、
前記地図情報記憶部から読み出した前記座標データを用いて前記多角形を描画する描画処理部とを備えた地図情報処理装置。
【請求項２】
前記地図情報記憶部は、
前記多角形が前記メッシュの境界上の辺を含む場合、当該多角形の前記メッシュの境界上の辺上の構成点を始点として、当該始点の座標を所定の座標系の座標で表現し、
当該始点以外の構成点の座標は、前記始点から前記所定向きに各構成点を辿った順に、１つ前に辿った構成点の座標に対する相対座標で表現した前記座標データを格納することを特徴とする請求項１記載の地図情報処理装置。
【請求項３】
前記描画処理部は、
前記多角形が前記非格納辺列を１辺だけ含む場合、
前記始点から前記所定向きに順に各構成点を辿り、最後に辿った構成点を終点とし、
前記終点と前記始点とを結ぶ直線を、前記非格納辺列として描画することを特徴とする請求項２記載の地図情報処理装置。
【請求項４】
前記描画処理部は、
前記多角形が前記非格納辺列を２辺以上の辺列として含む場合、
前記始点から前記所定向きに順に各構成点を辿り、最後に辿った構成点を終点とし、
前記終点から前記始点へ前記所定向きに辿ったときに当該メッシュの隅の点が１つ出現する場合には、前記終点から前記所定向きに前記始点へ辿ったときに最初に出現する前記メッシュの隅の点と前記始点及び前記終点とをそれぞれ結んだ直線を、前記非格納辺列として描画し、
前記終点から前記始点へ前記所定向きに辿ったときに当該メッシュの隅の点が複数出現する場合には、前記終点から前記所定向きに前記始点へ辿ったときに最初に出現する前記メッシュの隅の点と当該終点とを結ぶ直線、前記メッシュの隅の点同士を結ぶ直線、及び前記終点から前記所定向きに前記始点へ辿ったときに最後に出現した前記メッシュの隅の点と前記始点とを結ぶ直線を、前記非格納辺列として描画することを特徴とする請求項２記載の地図情報処理装置。
【請求項５】
前記描画処理部は、
前記始点が存在する前記メッシュの境界上の辺と前記終点が存在する当該メッシュの境界上の辺との座標関係から、前記終点から前記所定向きに前記始点へ辿ったときに出現する前記メッシュの隅の点の座標を算出することを特徴とする請求項４記載の地図情報処理装置。
【請求項６】
前記地図情報記憶部は、
前記多角形に含まれる前記非格納辺列以外の前記メッシュの境界上の辺又は辺列である距離格納辺列の先頭の構成点の座標を、前記所定向きに１つ前に辿った構成点の座標に対する相対座標で表現し、
前記距離格納辺列の終端の構成点の座標データとして、当該距離格納辺列の辺の長さの総和を示す距離格納辺列長を設定した前記座標データを格納し、
当該距離格納辺列の前記先頭及び前記終端以外の構成点の座標を格納しないことを特徴とする請求項１から請求項５のうちのいずれか１項記載の地図情報処理装置。
【請求項７】
前記描画処理部は、
描画対象の多角形が前記距離格納辺列を含む場合、
前記先頭の構成点から前記メッシュの境界上を前記所定向きに前記距離格納辺列長だけ辿ったときに至る構成点と、当該先頭の構成点とを結ぶ直線を、当該距離格納辺列として描画し、
前記先頭の構成点から前記メッシュの境界上を前記所定向きに前記距離格納辺列長だけ辿ったときに前記メッシュの隅の点が出現する場合には、最初に出現した前記メッシュの隅の点と前記先頭及び前記終端の構成点とをそれぞれ結んだ直線を、前記距離格納辺列として描画し、
前記先頭の構成点から前記メッシュの境界上を前記所定向きに前記距離格納辺列長だけ辿ったときに前記メッシュの隅の点が複数出現する場合は、最初に出現した前記メッシュの隅の点と前記先頭の構成点とを結んだ直線、前記メッシュの隅の点同士を結ぶ直線及び最後に出現した前記メッシュの隅の点と前記終端の構成点とを結ぶ直線を、前記距離格納辺列として描画することを特徴とする請求項６記載の地図情報処理装置。
【請求項８】
前記地図情報記憶部は、
前記始点が存在する前記メッシュの境界辺を示す識別情報と、当該始点の座標として、当該始点が存在する前記メッシュの境界辺から特定できない２次元座標のいずれか一方の座標とを設定した前記座標データを格納し、
前記描画処理部は、
前記始点の座標のうち、前記座標データに設定されなかった一方の座標値を、前記識別情報が示す前記メッシュの境界辺の座標値から決定すること特徴とする請求項２記載の地図情報処理装置。
【請求項９】
前記多角形は、等高線を表す多角形をメッシュで分割してなる多角形であることを特徴とする請求項２記載の地図情報処理装置。
【請求項１０】
前記地図情報記憶部は、
前記等高線を表す多角形を含むメッシュの地図情報として、当該メッシュを完全に含む前記多角形の標高のうち、最も高い標高を示す最高標高情報を格納し、
前記描画処理部は、
前記等高線を表す多角形を描画するにあたり、前記地図情報記憶部から読み出した前記最高標高情報に応じた色及びパターンの少なくとも一方で当該多角形内に完全に含まれる前記メッシュを描画することを特徴とする請求項９記載の地図情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、カーナビゲーション装置、携帯電話、携帯情報端末等の移動体又は固定されたコンピュータで使用される地図情報の地図情報処理装置に関するものである。
【背景技術】
【０００２】
従来の地図情報処理装置において、例えば、特許文献１では、多角形の頂点を表す座標列の特性に基づいて、Ｘ座標が絶対座標でＹ座標も絶対座標の座標列（以下、Ｘ絶対Ｙ絶対座標列と略す）、Ｘ座標が相対座標でＹ座標も相対座標の座標列（以下、Ｘ相対Ｙ相対座標列と略す）、Ｘ座標が絶対座標でＹ座標は相対座標の座標列（以下、Ｘ絶対Ｙ相対座標列と略す）、Ｘ座標が相対座標でＹ座標も絶対座標の座標列（以下、Ｘ相対Ｙ絶対座標列と略す）の４つのパターンに分類して格納する。これにより、多角形を表すデータのデータ量を削減している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−７５１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、多角形が、Ｘ絶対Ｙ絶対座標での表現が適しているメッシュ境界上の長い辺と、Ｘ相対Ｙ相対座標での表現が適しているメッシュの境界上にない短い辺を含むとき、この多角形をＸ絶対Ｙ絶対座標列で表すと、Ｘ相対Ｙ相対座標で表すことが可能な辺であっても、Ｘ絶対Ｙ絶対座標で表現される。一方、この多角形をＸ相対Ｙ相対座標列で表す場合、メッシュの境界上の長い辺を短い辺に分割して、Ｘ相対Ｙ相対座標列で表現することになる。これらのいずれの場合であっても不要なデータが発生して、多角形を表すために必要なデータが増大するという問題があった。
【０００５】
この発明は、上記のような問題を解決するためになされたもので、地図情報を構成する多角形を表すデータのデータサイズを削減することができる地図情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る地図情報処理装置は、メッシュに区画された地図情報として、メッシュ内の多角形の辺上の各構成点を、所定向きに辿った順に各構成点の座標を設定した座標データを格納し、多角形がメッシュの境界上の辺を含む場合には、当該多角形に含まれるメッシュの境界上の辺又は２辺以上の連続した辺列のうちの１つを非格納辺列として、当該多角形における非格納辺列を除いた辺上の構成点の座標データを格納する地図情報記憶部と、地図情報記憶部から読み出した座標データを用いて多角形を描画する描画処理部とを備えるものである。
【発明の効果】
【０００７】
この発明によれば、メッシュに区画された地図情報として、メッシュ内の多角形の辺上の各構成点を、所定向きに辿った順に各構成点の座標を設定した座標データを格納し、多角形がメッシュの境界上の辺を含む場合には、当該多角形に含まれるメッシュの境界上の辺又は２辺以上の連続した辺列のうちの１つを非格納辺列として、当該多角形における非格納辺列を除いた辺上の構成点の座標データを地図情報記憶部に格納し、地図情報記憶部から読み出した座標データを用いて多角形を描画する。このように構成することで、地図情報を構成する多角形を表すデータのデータサイズを削減することができるという効果がある。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１による地図情報処理装置の構成を示すブロック図である。
【図２】図１の地図情報記憶部に格納された地図情報のデータ構造の一例を示す図である。
【図３】正規化座標でメッシュ内の点を表現した場合を示す図である。
【図４】図２の背景データに含まれる面データの一例を示す図である。
【図５】メッシュの境界上に辺を持たない多角形の一例を示す図である。
【図６】図５の多角形０に対応する面レコードの一例を示す図である。
【図７】１辺をメッシュ境界上辺列として有する多角形の一例を示す図である。
【図８】図７の多角形１に対応する面レコードの一例を示す図である。
【図９】２辺をメッシュ境界上辺列として有する多角形の一例を示す図である。
【図１０】図９の多角形２に対応する面レコードの一例を示す図である。
【図１１】複数の辺をメッシュ境界上辺列として有する多角形の一例を示す図である。
【図１２】図１１の多角形３に対応する面レコードの一例を示す図である。
【図１３】図１の地図情報処理装置による地図描画処理に関する動作の流れを示すフローチャートである。
【図１４】図１３の面データの描画処理の詳細を示すフローチャートである。
【図１５】距離格納辺列の頂点検出及び登録の処理の詳細を示すフローチャートである。
【図１６】メッシュ境界辺を示す図である。
【図１７】先頭の構成点がメッシュ境界の下辺にある距離格納辺列の一例を示す図である。
【図１８】先頭の構成点がメッシュ境界の左辺にある距離格納辺列の一例を示す図である。
【図１９】先頭の構成点がメッシュ境界の上辺にある距離格納辺列の一例を示す図である。
【図２０】先頭の構成点がメッシュ境界の右辺にある距離格納辺列の一例を示す図である。
【図２１】メッシュ隅テーブルの一例を示す図である。
【図２２】非格納辺列の頂点の検出及び登録処理の詳細を示すフローチャートである。
【図２３】実施の形態２における面レコードの一例を示す図である。
【図２４】等高線多角形の一例を示す図である。
【図２５】図２４のメッシュＭ１２における面データの一例を示す図である。
【図２６】分割等高線多角形の一例を示す図である。
【図２７】実施の形態２の地図情報処理装置による背景描画処理の流れを示すフローチャートである。
【図２８】実施の形態２による面データの描画処理の一例を示す図である。
【図２９】実施の形態３における面レコードの一例を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１による地図情報処理装置の構成を示すブロック図である。図１において、入力部１は、使用者の操作又は指示に従ってプロセッサ４に指示信号を与える操作スイッチ群であり、入力手段として機能する。入力手段として、上記操作スイッチ群以外に表示部５の表示面に装着されたタッチパネル、リモートコントロールスイッチ等を使用してもよい。
【００１０】
位置検出部２は、例えばＧＰＳ（Global Positioning System）受信機、車速センサ、加速度センサ、角速度センサ等を用いた位置検出手段であって、当該地図情報処理装置を搭載している移動体の現在位置を検出し、検出した現在位置を示す位置情報をプロセッサ４に提供する。地図情報記憶部３は、例えば、地図情報記憶媒体として、ハードディスクを用いたハードディスクドライブで構成された地図情報記憶手段であり、地図情報を予め記憶しておく。
【００１１】
プロセッサ４は、入力部１を介して与えられた指示信号、位置検出部２で取得された現在位置を示す位置情報、及び地図情報記憶部３から読み出した地図情報を用いて、各種の地図情報処理を行う地図情報処理手段として機能する。
また、プロセッサ４は、描画メモリ４ａ、描画処理部４ｂ及び表示制御部４ｃを有し、描画処理部４ｂが所要の図形を描画メモリ４ａに描画して、表示制御部４ｃが描画メモリ４ａの内容を表示部５に表示する。
【００１２】
各種の地図情報処理の内容としては、位置検出部２で取得された現在位置を示す位置情報と、地図情報記憶部３から読み出した地図情報とに基づいて、移動体の現在位置を推定するマップマッチング処理、出発地から目的地までの経路を算出する経路探索処理、経路探索処理で得られた経路に従って出発地から目的地までの案内を行う経路誘導処理、現在位置周辺の地図の表示処理、都市、道路、施設、住所、電話番号、交差点等の各種情報を検索する各種検索処理等が含まれる。
また、地図情報処理には、地図情報記憶部３から読み出した地図情報に基づいてマップマッチング処理で推定された現在位置を中心とする地図を描画する処理、この地図上に、地図情報処理の結果として得られた移動体の現在位置、経路探索処理で得られた好適な経路、その経路に従って出発地から目的地まで案内を行うための案内情報を描画する処理、各種入力情報の描画、検索で得られた各種情報の描画等の、描画処理部４ｂを用いた描画処理が含まれる。
【００１３】
表示部５は、液晶ディスプレイからなる表示装置であって、上述した各種の描画処理で描画メモリ４ａに描画された内容を、表示制御部４ｃの制御に従って表示する表示手段として機能する。音声出力部６は、プロセッサ４による各種の地図情報処理の結果として得られた情報を、音声で使用者に提示する構成部であり、経路探索処理で得られた好適な経路に従って出発地から目的地までの案内を行う案内情報や検索で得られた各種情報等を、音声で使用者に提示する。
【００１４】
この発明では、地図情報の作成範囲を、所定の間隔の緯線及び経線で囲まれた４辺形とする。また、地図情報は、情報の詳細さの度合いによって階層化される。地図情報の作成範囲は、各階層ごとに、所定の間隔の緯線及び経線で囲まれた領域であるメッシュに区画して管理される。
【００１５】
図２は、図１の地図情報記憶部に格納された地図情報のデータ構造の一例を示す図である。図２において、地図情報は、地図管理情報、各階層のメッシュに対応して設けた地図データ、経路計算データ及び検索データを有する。ここで、地図管理情報は、階層ごとの地図データ、経路計算データを管理するデータ、及び検索データを管理する情報を有し、各メッシュの地図データ、経路計算データの当該地図情報における格納位置及びデータサイズ等を階層ごとに有しており、各検索データの当該地図情報における格納位置及びデータサイズ等を有している。
【００１６】
地図データは、地図データヘッダ、道路網データ、背景データ、名称データ、経路誘導データからなる。地図データヘッダは、地図データ内の各データを管理する情報を有し、道路データは、マップマッチングや道路の表示に使用する道路形状、道路の接続関係等を表す情報を有する。また、背景データは、河川や海等を表す面データ、線状の河川や鉄道等を表す線データ、及び、施設シンボル等を表す点データを有する。経路誘導データは、交差点等での経路案内に要する情報を有する。経路計算データは、経路探索処理に適したデータ構造で道路網を表すデータである。
【００１７】
メッシュ内の点の位置は、正規化座標で表すものとする。
図３は、正規化座標でメッシュ内の点を表現した場合を示す図である。図３において、メッシュの左下隅を（０，０）、右上隅を（０ｘ１０００，０ｘ１０００）とし、経線の東方向をＸ座標の正方向とし、緯線の北方向をＹ座標の正方向とし、メッシュ内の点Ｐの座標を（ｘ，ｙ）で表している。ただし、０≦ｘ≦０ｘ１０００、０≦ｙ≦０ｘ１０００である。なお、先頭に０ｘを付した表記は、１６進表記であることを意味する。
このように、正規化座標のＸ座標及びＹ座標はそれぞれ２バイトで表され、正規化座標は４バイト長となる。
【００１８】
この実施の形態１では、右上隅を（０ｘ１０００，０ｘ１０００）としたが、例えば、（０ｘ８０００，０ｘ８０００）のように他の値としてもよい。
また、メッシュ内の点の位置を表す座標系として、上記以外に、その点の緯度及び経度を用いてもよく、メッシュ中央の点に対する相対緯度及び相対経度を用いてもよい。
【００１９】
図４は、図２の背景データに含まれる面データの一例を示す図である。図４において、面データは、メッシュ内に存在する面を多角形で表して、当該メッシュに存在する各面に対応して設けた面レコードの並びと、面レコードの数等を示す面ヘッダとからなる。
面レコードは、面レコードのデータサイズ、面の種類、座標データの数、多角形の頂点の座標を表す座標データ群からなる。
【００２０】
座標データは、多角形の頂点及び辺上の点を所定の向きに辿った順に当該頂点及び辺上の点の各座標を格納したデータであって、最初に格納された点を始点、最後に格納された点を終点と呼ぶ。なお、この実施の形態１では、所定の向きを右回りとするが、左回りとしてもよく、多角形ごとに定めてもよい。
ここでは、面レコードが表す多角形に右回りの向きを定め、当該多角形の点を右回りに辿ったときの最初の点を始点とし、始点の座標データとしてその正規化座標を格納する。正規化座標は、Ｘ座標とＹ座標の順に格納される。始点以降の点は、１つ前に格納された点に対する相対座標を、その点の座標データとして格納する。
相対座標のＸ成分を相対Ｘ座標と呼び、Ｙ成分を相対Ｙ座標と呼ぶ。相対Ｘ座標と相対Ｙ座標はそれぞれ１バイトの整数で表すので、相対座標は２バイト長となる。また、相対座標は、相対Ｘ座標、相対Ｙ座標の順に地図情報記憶部３に格納される。
【００２１】
相対Ｘ座標及び相対Ｙ座標は、それぞれ−１２５〜１２５の値をとるようにしておき、ある頂点とこれの１つ前に座標が格納された頂点との間隔が広すぎて相対座標で表現できない場合は、これらの頂点を端点とする辺上に１つ以上の点を設け、相対座標での表現を可能とする。このように辺上に設けた点を中継点と呼び、中継点と頂点とを総称して多角形の構成点と呼ぶ。従って、面レコードには、多角形の構成点の座標データが格納される。
なお、この実施の形態１では、相対Ｘ座標及び相対Ｙ座標を、１バイト長の整数で表すものとするが、相対座標のサイズは、正規化座標の表現に必要なサイズよりも小さければよく、１バイト長に限定するものではない。
【００２２】
図５はメッシュの境界上に辺を持たない多角形の一例を示す図である。図５において、多角形０は、Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ６を頂点とし、これらの頂点を右回りに辿る多角形であって、頂点Ｐ０を始点とする。図５に示す例では、頂点Ｐ３，Ｐ６の間隔が広すぎるため、頂点Ｐ３に対するＰ６の相対座標が２バイトでは表現できない。
そこで、辺Ｐ３−Ｐ６上に中継点Ｐ４，Ｐ５を設け、頂点Ｐ３に対する点Ｐ４の相対座標、点Ｐ４に対する点Ｐ５の相対座標、点Ｐ５に対する頂点Ｐ６の相対座標を、それぞれ２バイトで表している。同様に、頂点Ｐ６，Ｐ０の間隔が広すぎるため、辺Ｐ６−Ｐ０上に中継点Ｐ７，Ｐ８を設ける。つまり、Ｐ０〜Ｐ８が多角形０の構成点となる。
【００２３】
Ｐｉの正規化座標を（Ｘｉ，Ｙｉ）（ｉ＝０，１，・・・，８）として、Ｐｉの相対座標を（ｄＸｉ，ｄＹｉ）（ｉ＝１，２，・・・，８）とするとき、（ｄＸｉ，ｄＹｉ）＝（Ｘｉ−１−Ｘｉ，Ｙｉ−１−Ｙｉ）となる。
【００２４】
図６は、図５の多角形０に対応する面レコードの一例を示す図である。図５の多角形０に対応する面レコードには、構成点Ｐ０の正規化座標（Ｘ０，Ｙｏ）が先頭の座標データとして格納される。続いて、構成点Ｐ１〜Ｐ８の各座標データとして、それらの相対座標（ｄＸｉ，ｄＹｉ）（ｉ＝１，・・・，８）が、Ｐ１，Ｐ２，・・・，Ｐ８の順に格納される。
このように、始点の座標データのみを正規化座標とし、始点以外の構成点の座標データを相対座標とすることで、全ての構成点の座標データを正規化座標とした場合と比べて、面レコードのデータサイズを削減できる。
【００２５】
なお、本発明において、多角形がメッシュ境界上の辺を含む場合、１つ以上の連続したメッシュ境界上の辺の列をメッシュ境界上辺列と呼ぶ。また、多角形に含まれるメッシュ境界上辺列を１つ選択し、選択したメッシュ境界上辺列以外の辺の構成点の座標データを面レコードに格納する。上記選択したメッシュ境界上辺列を非格納辺列と呼ぶ。
【００２６】
多角形が複数のメッシュ境界上辺列を持つ場合において、非格納辺列に定めたメッシュ境界上辺列以外のメッシュ境界上辺列を距離格納辺列と呼ぶ。
多角形の面レコードには、距離格納辺列の先頭の構成点の座標データとして、１つ前に格納されている構成点に対する相対座標を格納しており、距離格納辺列の終端の構成点の座標データとして、距離判別情報と、距離格納辺列の辺の長さの総和である距離格納辺列長とを格納して、距離格納辺列の先頭及び終端以外の構成点の座標データを格納しないようにする。
【００２７】
距離判別情報は、距離格納辺列長の前に格納する１バイト長のデータであり、−１２８，−１２７，−１２６のいずれかの値が設定される。距離判別情報は、次に続くデータが相対座標か距離格納辺列長のいずれであるかを示している。
例えば、距離判別情報が−１２８であれば、１バイト長の距離格納辺列長が続くことを示し、−１２７であれば２バイト長の距離格納辺列長が続くことを示しており、−１２６であれば３バイト長の距離格納辺列長が続くことを示し、上記の値以外であれば距離判別情報は相対Ｘ座標であり、その後に相対Ｙ座標が続くことを示している。
従って、距離判別情報が−１２６以下であれば、距離判別情報に１２９を加えた値が距離格納辺列長のバイト長を示すことになる。
なお、距離格納辺列長をより少ないデータ長で表すために、メッシュ境界上辺列を構成する辺の長さの総和が最も長いものを非格納辺列とすることが望ましい。
【００２８】
図７は、１辺をメッシュ境界上辺列として有する多角形の一例を示す図である。図７に示す多角形１は、Ｐ１０，Ｐ１３，Ｐ１４，Ｐ１５，Ｐ１６を頂点とし、これらの頂点を右回りに辿る多角形である。また、Ｐ１１，Ｐ１２は、辺Ｐ１０−Ｐ１３上に設けた中継点であり、Ｐ１０〜Ｐ１６が多角形１の構成点である。
辺Ｐ１６−Ｐ１０はメッシュ境界上の辺であり、メッシュ境界上辺列１１を構成する。多角形１は、１辺からなるメッシュ境界上辺列１１を持ち、当該メッシュ境界上辺列１１が非格納辺列となる。
【００２９】
図８は、図７の多角形１に対応する面レコードの一例を示す図である。図７の多角形１の面レコードには、メッシュ境界上辺列１１以外の辺の構成点であるＰ１０〜Ｐ１６の座標データが格納され、先頭にＰ１０の正規化座標、次にＰ１１，Ｐ１２，・・・，Ｐ１６の順に、それぞれの相対座標が格納される。
【００３０】
頂点Ｐ１０，Ｐ１６の座標は、多角形１の面レコードから求めることが可能である。
また、辺Ｐ１６−Ｐ１０は、メッシュ境界上にあるため、頂点Ｐ１６と頂点Ｐ１０とを直線で結ぶことで、メッシュ境界上辺列１１の描画が可能である。
【００３１】
従来、メッシュ境界上辺列１１に関する座標データを面データレコードに格納する方法では、頂点Ｐ１６，Ｐ１０の間隔が広すぎるため、辺Ｐ１６−Ｐ１０上に中継点を設ける必要があった。例えば、Ｐ１０の正規化座標を（０ｘ００００，０ｘ００００），Ｐ１１の正規化座標を（０ｘ０２００，０ｘ００００）とすると、相対Ｘ座標の最大値は１２５であるため、辺Ｐ１６−Ｐ１０上に少なくとも４個の中継点が必要である。
これに対して、この実施の形態１では、上記の中継点の座標データを格納しないため、多角形１の面レコードのデータサイズを削減できる。
【００３２】
図９は、２辺をメッシュ境界上辺列として有する多角形の一例を示す図である。図９に示す多角形２は、Ｐ２０，Ｐ２３，Ｐ２４，Ｐ２５，Ｐ２６，Ｐ２７を頂点とし、これらの頂点を右回りに辿る多角形である。Ｐ２１，Ｐ２２は、辺Ｐ２０−Ｐ２３上に設けた中継点であり、Ｐ２０〜Ｐ２７が多角形２の構成点となる。
辺Ｐ２６−Ｐ２７と辺Ｐ２７−Ｐ２０はメッシュ境界上の連続した辺であり、メッシュ境界上辺列２１を構成する。多角形２は、２辺からなるメッシュ境界上辺列２１を持ち、メッシュ境界上辺列２１が非格納辺列となる。
【００３３】
図１０は、図９の多角形２に対応する面レコードの一例を示す図である。図９の多角形２の面レコードには、メッシュ境界上辺列２１以外の辺の構成点であるＰ２０〜Ｐ２６の座標データが格納され、先頭にＰ２０の正規化座標、次にＰ２１，Ｐ２２，・・・，Ｐ２６の順に、それぞれの相対座標が格納される。
【００３４】
頂点Ｐ２０，Ｐ２６の座標は、多角形２の面レコードから求めることが可能である。
また、Ｐ２６の座標からメッシュ境界の下辺に頂点Ｐ２６が存在し、Ｐ２０の座標からメッシュ境界の左辺に頂点Ｐ２０が存在する。
従って、頂点Ｐ２６から頂点Ｐ２０まで右回りにメッシュ境界を辿ったときに出現するメッシュの隅の点とは、メッシュ境界の下辺と左辺との交点であるメッシュの左下の隅、すなわち頂点Ｐ２７である。これにより、頂点Ｐ２７の座標は（０，０）であることが分かる。
【００３５】
辺Ｐ２６−Ｐ２７と辺Ｐ２７−Ｐ２０はメッシュ境界上にあるため、頂点Ｐ２６と頂点Ｐ２７とを直線で結び、頂点Ｐ２７と頂点Ｐ２０とを直線で結ぶことでメッシュ境界上辺列２１の描画が可能である。
【００３６】
従来、メッシュ境界上辺列２１に関する座標データを面データレコードに格納する方法では、頂点Ｐ２６と頂点Ｐ２７との間隔、頂点Ｐ２７と頂点Ｐ２０との間隔が、それぞれ広すぎるため、辺Ｐ２６−Ｐ２７、辺Ｐ２７−Ｐ２０上に中継点を設ける必要があった。
これに対して、この実施の形態１では、上記の中継点の座標データを格納しないため、多角形２の面レコードのデータサイズを削減できる。
【００３７】
図１１は、複数の辺をメッシュ境界上辺列として有する多角形の一例を示す図である。図１１に示す多角形３は、Ｐ３０〜Ｐ４９、Ｐ５２〜Ｐ５４、Ｐ５６〜Ｐ５８、Ｐ６１〜Ｐ６３を頂点とし、これらの頂点を右回りに辿る多角形である。Ｐ５０，Ｐ５１は、辺Ｐ４９−Ｐ５２上に設けた中継点である。Ｐ５５は、辺Ｐ５４−Ｐ５６上に設けた中継点である。Ｐ５９，Ｐ６０は、辺Ｐ５８−Ｐ６１上に設けた中継点である。従って、Ｐ３０〜Ｐ６３が多角形３の構成点となる。
【００３８】
辺Ｐ３９−Ｐ４０はメッシュ境界上の辺であり、メッシュ境界上辺列３１を構成する。
辺Ｐ４６−Ｐ４７、辺Ｐ４７−Ｐ４８はメッシュ境界上の連続した辺であり、メッシュ境界上辺列３２を構成する。
辺Ｐ６１−Ｐ６２、辺Ｐ６２−Ｐ６３、辺Ｐ６３−Ｐ３０はメッシュ境界上の連続した辺であり、メッシュ境界上辺列３３を構成する。
多角形３では、３つのメッシュ境界上辺列３１〜３３を持ち、３つのメッシュ境界上辺列３１〜３３の中で、メッシュ境界上辺を構成するの辺の長さの総長が最も長いメッシュ境界上辺列３３が非格納辺列となり、メッシュ境界上辺列３１、メッシュ境界上辺列３２が距離格納辺列となる。
【００３９】
図１２は、図１１の多角形３に対応する面レコードの一例を示す図である。図１２の多角形３の面レコードには、先頭に構成点Ｐ３０の正規化座標が格納され、続いて構成点Ｐ３１，Ｐ３２，・・・，Ｐ３９の順にそれぞれの相対座標が格納される。
次に、構成点Ｐ４０の座標データとして、Ｐ３９からＰ４０までの距離と、この距離に応じて−１２８，−１２７，−１２６のいずれかを設定した距離判別情報とが格納され、続いて構成点Ｐ４１，Ｐ４２，・・・，Ｐ４６の順にそれぞれの相対座標が格納される。
次に、構成点Ｐ４８の座標データとして、構成点Ｐ４６から構成点Ｐ４７を経由して構成点Ｐ４８に至るメッシュ境界上の距離と、この距離に応じて−１２８，−１２７，−１２６のいずれかを設定した距離判別情報とが格納され、続いて、構成点Ｐ４９，Ｐ５０，・・・，Ｐ６１の順に、それぞれの相対座標が格納される。
【００４０】
このように、実施の形態１では、複数の辺からなるメッシュ境界上辺列を有する多角形３において、非格納辺列であるメッシュ境界上辺列３３以外のメッシュ境界上辺列３１，３２に対しても、それらの辺上に中継点を設けてその座標データを格納する必要がなく、面レコードのデータサイズを削減することができる。
【００４１】
次に動作について説明する。
図１３は、図１の地図情報処理装置による地図描画処理に関する動作の流れを示すフローチャートである。以降では、マップマッチング処理で得られた現在位置と、検索処理で得られた施設の位置等の所定の位置とを含む所定の階層のメッシュを中心とした所定数のメッシュの地図を描画する場合を述べる。
【００４２】
プロセッサ４は、検索処理で得られた施設の位置等の所定の位置を含む所定の階層のメッシュを中心とした所要のメッシュを決定する（ステップＳＴ１００）。
ステップＳＴ１１０において、プロセッサ４の描画処理部４ｂは、ステップＳＴ１００で決定された所定の階層の所要のメッシュのうち、１つのメッシュの地図データを地図情報記憶部３から読み取る。
【００４３】
描画処理部４ｂは、ステップＳＴ１１０で読み取った地図データの背景データの面データ、線データ、及び点データに従って、面、線、点を描画メモリ４ａに描画する（ステップＳＴ１２０）。
【００４４】
次に、描画処理部４ｂは、ステップＳＴ１１０で読み取った地図データの道路データに従って、道路を描画メモリ４ａに描画する（ステップＳＴ１３０）。
続いて、描画処理部４ｂは、ステップＳＴ１１０で読み取った地図データの名称データに従って、名称を描画メモリ４ａに描画する（ステップＳＴ１４０）。
【００４５】
ステップＳＴ１５０において、描画処理部４ｂは、ステップＳＴ１００で決定した所要のメッシュの全ての地図データの描画が終了したか否かを判定する。ここで、全ての地図データの描画が終了していれば（ステップＳＴ１５０；ＹＥＳ）、ステップＳＴ１６０の処理へ移行する。また、全ての地図データの描画が終了していなければ（ステップＳＴ１５０；ＮＯ）、描画処理部４ｂは、ステップＳＴ１１０の処理へ戻り、残りのメッシュの地図データの描画を行う。
【００４６】
ステップＳＴ１６０では、プロセッサ４の表示制御部４ｃが、上述した一連のステップの処理で描画メモリ４ａに描画された地図を表示部５に表示する。
【００４７】
図１４は、面データの描画処理の詳細を示すフローチャートであり、図１３のステップＳＴ１２０の処理に相当する。
先ず、描画処理部４ｂは、本ステップに来るたびに、地図情報記憶部３に記憶される面データから、面レコードを１つずつ取り出す（ステップＳＴ２００）。なお、面レコードは、本ステップに来るごとに並びの順に取り出される。例えば、本ステップ来たときに、図４に示した面レコードが、面レコード０，面レコード１，・・・，面レコードＮの順に取り出される。
【００４８】
次に、描画処理部４ｂは、ステップＳＴ２００で取得した面レコードの先頭から、始点の座標データを取り出す（ステップＳＴ２１０）。例えば、図４に示した面レコード０の座標データ０が取り出される。
【００４９】
ここで、多角形の構成点の正規化座標を、始点から右回りに順に辿って格納するための構成点列データが、プロセッサ４にメモリに設けられているものとする。
つまり、当該構成点列データに新たに追加する正規化座標は、それまで構成点列データに格納されていた正規化座標の次に格納される。
また、構成点列データに格納されている正規化座標のうち、末尾の正規化座標を、構成点列データの末尾の正規化座標と呼ぶ。
【００５０】
ステップＳＴ２２０において、描画処理部４ｂは、ステップＳＴ２１０で取得した座標データ、すなわち始点の正規化座標を、上記の構成点列データの先頭に格納する。
【００５１】
ステップＳＴ２３０では、描画処理部４ｂが、本ステップに来るたびに、ステップＳＴ２００で取得した面レコードから始点以降の座標データを１つずつ取り出す。
座標データは、本ステップに来るたびに並びの順に取り出される。例えば、本ステップ来たときに、図４に示した面レコード０の座標データが、座標データ１，座標データ２，・・・，座標データＭの順に取り出される。
【００５２】
次に、描画処理部４ｂは、ステップＳＴ２３０で取得した座標データの最初の１バイトが距離判定情報であるか否かを判定する（ステップＳＴ２４０）。ここでは、座標データの最初の１バイトの値が−１２６以下であるか否かが調べられ、−１２６以下であれば、上記１バイトは距離判定情報であるとし（ステップＳＴ２４０；ＹＥＳ）、上記座標データは、距離格納辺列長を表すものとして、ステップＳＴ２５０の処理へ移行する。
また、−１２５以上であれば、上記１バイトは距離判定情報ではなく（ステップＳＴ２４０；ＮＯ）、上記座標データは、相対座標を表すものとして、ステップＳＴ２６０の処理へ移行する。
【００５３】
例えば、図１２に示した面レコードおいて、座標データ１０，１７の最初の１バイトは距離判定情報であり、以降の距離判定情報で指定された数のバイトが、距離格納辺列長を表す。この場合は、ステップＳＴ２５０の処理へ移行する。一方、座標データ０、座標データ１０，１７以外の座標データの最初の１バイトは、相対Ｘ座標であり、これらの座標データは、相対座標を表すものとして、ステップＳＴ２６０の処理へ移行する。
【００５４】
ステップＳＴ２５０において、描画処理部４ｂは、ステップＳＴ２３０で取得した座標データの最初の１バイト、すなわち距離判定情報の値に１２９を加えて、距離格納辺列長のバイト長を算出する。
さらに、描画処理部４ｂは、上記距離判定情報に続く、上記算出したバイト長のバイトを距離格納辺列長として、構成点列データの末尾の正規化座標が示すメッシュ境界上の点、すなわち距離格納辺列の先頭の構成点から、メッシュ境界上を右回りに距離格納辺列長だけ辿り、それまでに現れたメッシュの隅の点の正規化座標と、最後に到達したメッシュ境界上の点の正規化座標とを、求められた順に構成点列データに追加する。
【００５５】
例えば、図１２に示した面レコードから、ステップＳＴ２３０で座標データ１０を取得したとき、構成点列データには、構成点Ｐ３０〜Ｐ３９の正規化座標が格納されており、構成点Ｐ３９の正規化座標が末尾に格納されている。
ここで、距離格納辺列３１の先頭の構成点Ｐ３９から、メッシュ境界上を右回りに座標データ１０が示す距離格納辺列長だけ辿ると、距離格納辺列３１の終端の構成点Ｐ４０が得られる。描画処理部４ｂは、この構成点Ｐ４０の正規化座標を求めて、構成点列データに追加する。
【００５６】
また、ステップＳＴ２３０で座標データ１７を取得したときは、構成点列データには、構成点Ｐ３０〜Ｐ４６の正規化座標が格納されており、構成点Ｐ４６の正規化座標が末尾に格納されている。
ここで、距離格納辺列３２の先頭の構成点Ｐ４６から、メッシュ境界上を右回りに座標データ１７が示す距離格納辺列長だけ辿ると、メッシュの隅の点Ｐ４７が現れる。
描画処理部４ｂは、この点Ｐ４７の正規化座標を求めて、構成点列データに追加する。この後、描画処理部４ｂが、メッシュ境界上を右回りに距離格納辺列３２及び距離格納辺列３１をさらに辿り、距離格納辺列３１の終端の構成点Ｐ４０が得られる。描画処理部４ｂは、この構成点Ｐ４０の正規化座標を求めて、構成点列データに追加する。
【００５７】
ステップＳＴ２６０において、描画処理部４ｂは、ステップＳＴ２３０で取得した座標データを相対座標として、構成点列データの末尾の正規化座標に当該相対座標を加算して得られる座標を、当該構成点の正規化座標として求める。
描画処理部４ｂは、ステップＳＴ２６０にて求めた正規化座標を構成点列データに追加する（ステップＳＴ２７０）。
【００５８】
続いて、描画処理部４ｂは、ステップＳＴ２３０で取得した座標データが、終点の座標データであるか否かを判定する（ステップＳＴ２８０）。ここで、終点であれば（ステップＳＴ２８０；ＹＥＳ）、ステップＳＴ２９０の処理へ移行する。終点でなければ（ステップＳＴ２８０；ＮＯ）、ステップＳＴ２３０の処理へ戻る。
本ステップによって、面レコードの始点以外の全ての座標データについてステップＳＴ２３０からステップＳＴ２７０までの処理が行われる。
【００５９】
描画処理部４ｂは、構成点列データの先頭に格納されている始点の正規化座標と、構成点列データの末尾に格納されている終点の正規化座標とを比較し、始点と終点がメッシュ境界上にあるか否かを判定する（ステップＳＴ２９０）。ここで、メッシュ境界上にあれば（ステップＳＴ２９０；ＹＥＳ）、ステップＳＴ３００の処理へ移行する。メッシュ境界上になければ（ステップＳＴ２９０；ＮＯ）、ステップＳＴ３２０の処理へ移行する。
【００６０】
ステップＳＴ３００において、描画処理部４ｂは、構成点列データに格納される始点の正規化座標と終点の正規化座標とを比較して、始点と終点がメッシュの境界の同一辺上にあるか否かを判定する。ここで、始点と終点がメッシュの境界の同一辺上にあれば（ステップＳＴ３００；ＹＥＳ）、ステップＳＴ３２０の処理へ移行する。また、始点と終点がメッシュの境界の同一辺上になければ（ステップＳＴ３００；ＮＯ）、ステップＳＴ３１０の処理へ移行する。従って、始点と終点がメッシュ境界の同一辺にある場合には、ステップＳＴ３２０に示すように始点と終点を結ぶ直線が描画される。
【００６１】
描画処理部４ｂは、構成点列データに格納されている始点の正規化座標と終点の正規化座標から、終点が存在するメッシュ境界の辺と、始点が存在するメッシュ境界の辺とを求め、終点が存在するメッシュ境界の辺から始点が存在するメッシュ境界の辺までメッシュ境界上を右回りに辿って、その間に現れるメッシュの隅の点の正規化座標を、現れた順に構成点列データに追加する（ステップＳＴ３１０）。
例えば、図１１に示した多角形３において、終点Ｐ６１はメッシュ境界の上辺にあり、始点Ｐ３０はメッシュ境界の下辺にある。ここで、メッシュ境界の上辺からメッシュ境界の下辺へ向ってメッシュ境界上を右回りに辿るとメッシュの隅の点Ｐ６２が現れるので、この点Ｐ６２の正規化座標が構成点列データに追加される。さらに右回りに辿ると、次にメッシュの隅の点Ｐ６３が現れるので、この点Ｐ６３の正規化座標が構成点列データに追加される。
【００６２】
ステップＳＴ３２０において、描画処理部４ｂは、構成点列データに格納された構成点間を結ぶ直線を先頭から順に描画メモリ４ａに描画し、最後に終点から始点を結ぶ直線を描画する。この後、多角形内の塗りつぶし描画を行う。なお、多角形の線及び塗りつぶしの色及びパターンは、面レコードの面の種類によって定める。
【００６３】
最後に、描画処理部４ｂは、全ての面レコードの描画が終了したか否かを調べる（ステップＳＴ３３０）。このとき、終了していなければ（ステップＳＴ３３０；ＮＯ）、ステップＳＴ２００へ戻り、終了していれば（ステップＳＴ３３０；ＹＥＳ）、面データによる面描画処理を終了する。
【００６４】
図１５は、距離格納辺列の頂点検出及び登録の処理の詳細を示すフローチャートであり、図１４のステップＳＴ２５０の処理に相当する。
先ず、描画処理部４ｂは、ステップＳＴ２３０で取得した座標データの最初の１バイトの値、すなわち距離判別情報に、１２９を加えた値のバイト長の距離格納辺列長を、上記座標データから取得し、プロセッサ４のメモリＶＤに格納する（ステップＳＴ４００）。
【００６５】
ステップＳＴ４１０において、描画処理部４ｂは、距離格納辺列の先頭の構成点の正規化座標を、構成点列データの末尾から取得し、取得した正規化座標のＸ座標を、プロセッサ４のメモリＶＸに、Ｙ座標をプロセッサ４のメモリＶＹに格納する。メモリＶＸ，ＶＹに格納された値から、距離格納辺列の先頭の構成点が存在するメッシュ境界辺である先頭メッシュ境界辺を算出して、プロセッサ４のメモリＶＢＴに格納する。
【００６６】
ここで、メモリＶＹに格納された値が０ｘ００００ならば、メッシュ境界の下辺とし、メモリＶＹに格納された値が０ｘ１０００ならば、メッシュ境界の上辺とする。
また、メモリＶＸに格納された値が０ｘ００００ならば、メッシュ境界の左辺とし、メモリＶＸに格納された値が０ｘ１０００ならば、メッシュ境界の右辺とする。
【００６７】
図１６は、メッシュ境界辺を示す図である。図１６において、メッシュ境界の下辺を“０”で表し、メッシュ境界の左辺を“１”、メッシュ境界の上辺を“２”、メッシュ境界の右辺を“３”で表す。ステップＳＴ４１０では、これらの中から該当する値が、メモリＶＢＴに格納される。
【００６８】
ステップＳＴ４２０において、描画処理部４ｂは、ステップＳＴ４１０でメモリＶＢＴに格納した先頭メッシュ境界辺を調べて、メッシュ境界の下辺であるか否かを判定する。ここで、下辺であるならば（ステップＳＴ４２０；ＹＥＳ）、ステップＳＴ４５０の処理へ移行し、下辺でないならば（ステップＳＴ４２０；ＮＯ）、ステップＳＴ４３０の処理へ移行する。
【００６９】
ステップＳＴ４３０において、描画処理部４ｂは、ステップＳＴ４１０でメモリＶＢＴに格納した先頭メッシュ境界辺を調べて、メッシュ境界の左辺であるか否かを判定する。ここで、左辺であるならば（ステップＳＴ４３０；ＹＥＳ）、ステップＳＴ４６０の処理へ移行し、左辺でないならば（ステップＳＴ４３０；ＮＯ）、ステップＳＴ４４０の処理へ移行する。
【００７０】
ステップＳＴ４４０において、描画処理部４ｂは、ステップＳＴ４１０でメモリＶＢＴに格納した先頭メッシュ境界辺を調べて、メッシュ境界の上辺であるか否かを判定する。ここで、上辺であるならば（ステップＳＴ４４０；ＹＥＳ）、ステップＳＴ４７０の処理へ移行し、上辺でないならば（ステップＳＴ４４０；ＮＯ）、ステップＳＴ４８０の処理へ移行する。
【００７１】
ステップＳＴ４５０において、描画処理部４ｂは、ステップＳＴ４００でメモリＶＤに格納した距離格納辺列長から、ステップＳＴ４１０でメモリＶＸに格納した距離格納辺列の先頭の構成点のＸ座標を減算し、この減算結果を０ｘ１０００で除算して得られた商をプロセッサ４のメモリＶＢＮに格納し、余りをプロセッサ４のメモリＶＢＲに格納する。
【００７２】
図１７は、先頭の構成点がメッシュ境界の下辺にある距離格納辺列の一例を示す図である。図１７（ａ１）に示すように、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０又は負の値であるとき、距離格納辺列の先頭及び終端の構成点は、メッシュ境界の下辺上にある。
また、図１７（ａ２）に示すように、メモリＶＢＮの値が１以上のとき、メモリＶＢＮの値は、距離格納辺列の先頭の構成点から終端の構成点へメッシュ境界上を辿ったときに経由するメッシュの隅の点数から１を減じた値を示している。
このとき、メモリＶＢＲの値としては、最後に経由するメッシュの隅の点から距離格納辺列の終端の構成点までの距離が得られる。
図示しないが、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０より大きいとき、すなわち終端がメッシュ境界の左辺上にあるときも上記と同様である。上記処理後、ステップＳＴ４９０へ移行する。
【００７３】
ステップＳＴ４６０において、描画処理部４ｂは、ステップＳＴ４００でメモリＶＤに格納した距離格納辺列長から０ｘ１０００を減算し、さらにステップＳＴ４１０でメモリＶＹに格納した距離格納辺列の先頭の構成点のＹ座標を加算して、この加算結果を０ｘ１０００で除算して得られた商をプロセッサ４のメモリＶＢＮに格納し、余りをプロセッサ４のメモリＶＢＲに格納する。
【００７４】
図１８は、先頭の構成点がメッシュ境界の左辺にある距離格納辺列の一例を示す図である。図１８（ｂ１）に示すように、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０又は負の値であるとき、距離格納辺列の先頭及び終端の構成点は、メッシュ境界の左辺上にある。
また、図１８（ｂ２）に示すように、メモリＶＢＮの値が１以上のとき、メモリＶＢＮの値は、距離格納辺列の先頭の構成点から終端の構成点へメッシュ境界上を辿ったときに経由するメッシュの隅の点数から１を減じた値を示している。
このとき、メモリＶＢＲの値としては、最後に経由するメッシュの隅の点から距離格納辺列の終端の構成点までの距離が得られる。
図示しないが、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０より大きいとき、すなわち終端がメッシュ境界の上辺上にあるときも上記と同様である。上記処理後、ステップＳＴ４９０へ移行する。
【００７５】
ステップＳＴ４７０において、描画処理部４ｂは、ステップＳＴ４００でメモリＶＤに格納した距離格納辺列長から０ｘ１０００を減算し、さらにステップＳＴ４１０でメモリＶＸに格納した距離格納辺列の先頭の構成点のＸ座標を加算して、この加算結果を０ｘ１０００で除算して得られた商をプロセッサ４のメモリＶＢＮに格納し、余りをプロセッサ４のメモリＶＢＲに格納する。
【００７６】
図１９は、先頭の構成点がメッシュ境界の上辺にある距離格納辺列の一例を示す図である。図１９（ｃ１）に示すように、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０又は負の値であるとき、距離格納辺列の先頭及び終端の構成点は、メッシュ境界の上辺上にある。
また、図１９（ｃ２）に示すように、メモリＶＢＮの値が１以上のとき、メモリＶＢＮの値は、距離格納辺列の先頭の構成点から終端の構成点へメッシュ境界上を辿ったときに経由するメッシュの隅の点数から１を減じた値を示している。
このとき、メモリＶＢＲの値としては、最後に経由するメッシュの隅の点から距離格納辺列の終端の構成点までの距離が得られる。
図示しないが、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０より大きいとき、すなわち終端がメッシュ境界の右辺上にあるときも上記と同様である。上記処理後、ステップＳＴ４９０へ移行する。
【００７７】
ステップＳＴ４８０において、描画処理部４ｂは、ステップＳＴ４００でメモリＶＤに格納した距離格納辺列長から、ステップＳＴ４１０でメモリＶＹに格納した距離格納辺列の先頭の構成点のＹ座標を減算し、この減算結果を０ｘ１０００で除算して得られた商をプロセッサ４のメモリＶＢＮに格納し、余りをプロセッサ４のメモリＶＢＲに格納する。
【００７８】
図２０は、先頭の構成点がメッシュ境界の右辺にある距離格納辺列の一例を示す図である。図２０（ｄ１）に示すように、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０又は負の値であるとき、距離格納辺列の先頭及び終端の構成点は、メッシュ境界の右辺上にある。
また、図２０（ｄ２）に示すように、メモリＶＢＮの値が１以上のとき、メモリＶＢＮの値は、距離格納辺列の先頭の構成点から終端の構成点へメッシュ境界上を辿ったときに経由するメッシュの隅の点数から１を減じた値を示している。
このとき、メモリＶＢＮの値としては、距離格納辺列の先頭の構成点から終端の構成点へメッシュ境界上を辿ったときに経由するメッシュの隅の点数が得られる。
また、メモリＶＢＲの値としては、最後に経由するメッシュの隅の点から距離格納辺列の終端の構成点までの距離が得られる。
図示しないが、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０より大きいとき、すなわち終端がメッシュ境界の下辺上にあるときも上記と同様である。上記処理後、ステップＳＴ４９０へ移行する。
【００７９】
ステップＳＴ４９０において、描画処理部４ｂは、メモリＶＢＮの値が０であり、メモリＶＢＲの値が０又は負の値であるか否かを判定する。ここで、メモリＶＢＮの値＝０、メモリＶＢＲの値が０又は負の値であるとき、距離格納辺列の先頭及び終端の構成点は、メッシュ境界の同一辺上にあると判定して、ステップＳＴ５３０の処理へ移行する。
一方、メモリＶＢＮの値＝０、メモリＶＢＲの値が０又は負の値でないとき、距離格納辺列の先頭及び終端の構成点がメッシュ境界の同一辺上にないと判定して、ステップＳＴ５００の処理へ移行する。
【００８０】
ステップＳＴ５００において、描画処理部４ｂは、メモリＶＢＴの値、経由するメッシュの隅の点数であるメモリＶＢＮの値に１を加えた（ＶＢＮ＋１）を加算し、この加算結果を終端境界メッシュ辺として、プロセッサ４のメモリＶＢＥに格納する。ただし、上記値が３を超える場合は、上記加算結果を４で除した余りをメモリＶＢＥに格納する。
例えば、図１８（ｂ２）において、先頭はメッシュ境界の左辺上にあり、メモリＶＢＴの値は１であり、メモリＶＢＮの値は１であるから、１に（１＋１）を加えた３がメモリＶＢＥに格納され、メモリＶＢＥの値は、終端がメッシュ境界の右辺上であることを示している。
また、図２０（ｄ２）において、先頭はメッシュ境界の右辺上にあり、メモリＶＢＴの値は３であり、メモリＶＢＮの値は１であるから、３に（１＋１）を加えた５では、これを４で除した余りである１がメモリＶＢＥに格納される。このメモリＶＢＥの値は、終端がメッシュ境界の左辺上にあることを示している。
【００８１】
図２１は、メッシュ隅テーブルの一例を示す図である。このメッシュ隅テーブルには、先頭辺が示すメッシュ境界の辺から、終端辺が示すメッシュ境界の辺へ、メッシュ境界上を辿ったときに経由するメッシュの隅の点の正規化座標が設定される。先頭辺とは、距離格納辺列の先頭の構成点があるメッシュ境界の辺を示している。また、終端辺は、距離格納辺列の終端の構成点があるメッシュ境界の辺を示している。
メッシュ隅正規化座標１〜メッシュ隅正規化座標４は、先頭辺が示すメッシュ境界の辺から終端辺が示すメッシュ境界の辺へメッシュ境界上を辿ったときに経由するメッシュの隅の点の正規化座標を表している。
なお、メッシュ隅正規化座標１、メッシュ隅正規化座標２、メッシュ隅正規化座標３、メッシュ隅正規化座標４の順に経由する。ＮＵＬＬは、該当するメッシュの隅の点の正規化座標が無いことを示しており、（０ｘＦＦＦＦ，０ｘＦＦＦＦ）が格納される。
また、メッシュ隅テーブルは、地図情報処理が起動した時点でプロセッサ４のメモリに格納される。
【００８２】
ステップＳＴ５１０では、描画処理部４ｂが、メッシュ隅テーブルを検索して、メモリＶＢＴの値が先頭辺の値に一致し、かつ、メモリＶＢＥの値が終端辺の値に一致する行における、ＮＵＬＬでないメッシュ隅正規化座標１〜メッシュ隅正規化座標４を取得して、メッシュ隅正規化座標１、メッシュ隅正規化座標２、メッシュ隅正規化座標３、メッシュ隅正規化座標４の順で構成点列データに追加する。ただし、ＮＵＬＬの正規化座標は格納しない。
【００８３】
例えば、図１７（ａ２）の場合、メモリＶＢＴの値が０であり、メモリＶＢＥの値が２であるから、図２１に示すメッシュ隅テーブルの先頭辺が０であり、終端辺が２である行における、メッシュ隅正規化座標１の（０ｘ００００，０ｘ００００）と、メッシュ隅正規化座標２の（０ｘ００００，０ｘ１０００）とが、構成点列データに追加される。
【００８４】
ステップＳＴ５２０において、描画処理部４ｂは、距離格納辺列の終端の構成点があるメッシュ境界の辺をメモリＶＢＥの値から判定する。
ここで、距離格納辺列の終端の構成点がメッシュ境界の上辺にあるとき、図１７（ａ２）に示すように、終端の構成点の正規化座標のＸ座標をメモリＶＲＢの値とし、Ｙ座標を０ｘ１０００とする。
また、距離格納辺列の終端の構成点がメッシュ境界の左辺にあるとき、図２０（ｄ２）に示すように、終端の構成点の正規化座標のＸ座標を０ｘ００００とし、Ｙ座標をメモリＶＲＢの値とする。
距離格納辺列の終端の構成点がメッシュ境界の右辺にあるときは、描画処理部４ｂが、図１８（ｂ２）に示すように、終端の構成点の正規化座標のＸ座標を０ｘ１０００とし、Ｙ座標を０ｘ１０００からメモリＶＲＢの値を減じた値とする。
さらに、距離格納辺列の終端の構成点がメッシュ境界の下辺にあるとき、描画処理部４ｂは、図１９（ｃ２）に示すように、終端の構成点の正規化座標のＸ座標を、０ｘ８０００からメモリＶＲＢの値を減じた値とし、Ｙ座標を０ｘ００００とする。
描画処理部４ｂは、上述のようにして求めた正規化座標を構成点列データに追加して、図１４に示したステップＳＴ２５０の処理を終了する。
【００８５】
一方、ステップＳＴ５３０においては、描画処理部４ｂが、距離格納辺列の終端の構成点があるメッシュ境界の辺をメモリＶＢＥの値から判定する。
ここで、距離格納辺列の終端の構成点がメッシュ境界の上辺にあるとき、図１９（ｃ１）に示すように、終端の構成点の正規化座標のＸ座標を、メモリＶＲＢの値に０ｘ８０００を加えた値とし、Ｙ座標を０ｘ８０００とする。
距離格納辺列の終端の構成点がメッシュ境界の左辺にあるときは、図１８（ｂ１）に示すように、終端の構成点の正規化座標のＸ座標を０ｘ００００とし、Ｙ座標を、メモリＶＲＢの値に０ｘ８０００を加えた値とする。
距離格納辺列の終端の構成点がメッシュ境界の右辺にあるときは、描画処理部４ｂが、図２０（ｄ１）に示すように、終端の構成点の正規化座標のＸ座標を０ｘ８０００とし、Ｙ座標をメモリＶＲＢの値の符号を反転した値とする。
さらに、距離格納辺列の終端の構成点がメッシュ境界の下辺にあるとき、描画処理部４ｂは、図１７（ａ１）に示すように、終端の構成点の正規化座標のＸ座標を、メモリＶＲＢの値の符号を反転した値とし、Ｙ座標を０ｘ００００とする。
描画処理部４ｂは、上述のようにして求めた正規化座標を構成点列データに追加して、図１４に示したステップＳＴ２５０の処理を終了する。
【００８６】
図２２は、非格納辺列の頂点の検出及び登録処理の詳細を示すフローチャートであり、図１４のステップＳＴ３１０の処理に相当する。
先ず、描画処理部４ｂは、始点の正規化座標を構成点列データの先頭から取得し、取得した正規化座標から始点が存在するメッシュ境界の辺である始点メッシュ境界辺を求め、プロセッサ４のメモリＶＢＳに格納する（ステップＳＴ６００）。メモリＶＢＳには、始点メッシュ境界辺に該当するメッシュ境界の辺に付与された値（図１６で示した値）が格納される。
【００８７】
ステップＳＴ６１０において、描画処理部４ｂは、終点の正規化座標を構成点列データの末尾から取得し、取得した正規化座標から終点が存在するメッシュ境界の辺である終点メッシュ境界辺を求め、プロセッサ４のメモリＶＢＬに格納する。なお、メモリＶＢＬには、終点メッシュ境界辺に該当するメッシュ境界の辺に付与された値（図１６で示した値）が格納される。
【００８８】
ステップＳＴ６２０では、描画処理部４ｂが、図２１に示すメッシュ隅テーブルを検索して、メモリＶＢＬの値が先頭辺の値に一致し、かつ、メモリＶＢＳの値が終端辺の値に一致する行における、ＮＵＬＬでないメッシュ隅正規化座標１〜メッシュ隅正規化座標４を取得し、メッシュ隅正規化座標１、メッシュ隅正規化座標２、メッシュ隅正規化座標３、メッシュ隅正規化座標４の順で構成点列データに追加する。ただし、ＮＵＬＬの正規化座標は格納しない。
【００８９】
例えば、図１１において、メモリＶＢＬの値が２であり、メモリＶＢＳの値が０であるから、図２１に示すメッシュ隅テーブルの先頭辺が２であり、終端辺が０である行における、メッシュ隅正規化座標１の（０ｘ１０００，０ｘ１０００）と、メッシュ隅正規化座標２の（０ｘ１０００，０ｘ００００）とが、構成点列データに追加される。
【００９０】
以上のように、この実施の形態１によれば、メッシュに区画された地図情報として、メッシュ内の多角形の辺上の各構成点を、所定向きに辿った順に各構成点の座標を設定した座標データを格納し、多角形がメッシュの境界上の辺を含む場合には、当該多角形に含まれるメッシュの境界上の辺又は２辺以上の連続した辺列のうちの１つを非格納辺列として、当該多角形における非格納辺列を除いた辺上の構成点の座標データを地図情報記憶部３に格納し、地図情報記憶部３から読み出した座標データを用いて多角形を描画する。
このように非格納辺列の構成点の座標データを格納しないので、多角形を表すデータのデータサイズを削減することができる。
【００９１】
また、この実施の形態１によれば、地図情報記憶部３が、多角形がメッシュの境界上の辺を含む場合、当該多角形のメッシュの境界上の辺上の構成点を始点として、当該始点の座標を所定の座標系の座標で表現し、当該始点以外の構成点の座標は、始点から所定向きに各構成点を辿った順に、１つ前に辿った構成点の座標に対する相対座標で表現した座標データを格納する。このように、始点以外の座標データを相対座標とするため、さらに、多角形を表すデータのデータサイズを削減することができる。
【００９２】
さらに、この実施の形態１によれば、描画処理部４ｂが、多角形が非格納辺列を１辺だけ含む場合、始点から所定向きに順に各構成点を辿り、最後に辿った構成点を終点とし、終点と始点とを結ぶ直線を、非格納辺列として描画する。これにより、多角形を表すデータのデータサイズを削減しつつ、当該多角形の非格納辺列を描画することができる。
【００９３】
さらに、この実施の形態１によれば、描画処理部４ｂが、多角形が非格納辺列を２辺以上の辺列として含む場合、終点から所定向きに始点へ辿ったときに最初に出現するメッシュの隅の点と始点及び終点とをそれぞれ結んだ直線を、非格納辺列として描画し、終点から始点へ所定向きに辿ったときに当該メッシュの隅の点が複数出現する場合には、終点から所定向きに始点へ辿ったときに最初に出現するメッシュの隅の点と当該終点とを結ぶ直線、メッシュの隅の点同士を結ぶ直線、及び終点から所定向きに始点へ辿ったときに最後に出現したメッシュの隅の点と始点とを結ぶ直線を、非格納辺列として描画する。
このようにすることでも、多角形を表すデータのデータサイズを削減しつつ、当該多角形の非格納辺列を描画することができる。
【００９４】
さらに、この実施の形態１によれば、描画処理部４ｂが、始点が存在するメッシュの境界上の辺と終点が存在する当該メッシュの境界上の辺との座標関係から、終点から所定向きに始点へ辿ったときに出現するメッシュの隅の点の座標を算出する。
このようにすることで、メッシュの隅の点の座標を容易に算出することができる。
【００９５】
さらに、この実施の形態１によれば、地図情報記憶部３が、多角形に含まれる非格納辺列以外のメッシュの境界上の辺又は辺列である距離格納辺列の先頭の構成点の座標を、所定向きに１つ前に辿った構成点の座標に対する相対座標で表現し、距離格納辺列の終端の構成点の座標データとして、当該距離格納辺列の辺の長さの総和を示す距離格納辺列長を設定した座標データを格納し、当該距離格納辺列の先頭及び終端以外の構成点の座標を格納しない。このように、メッシュの隅の点の座標とメッシュ境界上の辺の構成点の座標を格納しないため、距離格納辺列を示すデータのデータサイズを削減することができる。
【００９６】
さらに、この実施の形態１によれば、描画処理部４ｂが、描画対象の多角形が距離格納辺列を含む場合、先頭の構成点からメッシュの境界上を所定向きに距離格納辺列長だけ辿ったときに至る構成点と、当該先頭の構成点とを結ぶ直線を、当該距離格納辺列として描画し、先頭の構成点からメッシュの境界上を所定向きに距離格納辺列長だけ辿ったときにメッシュの隅の点が出現する場合には、最初に出現したメッシュの隅の点と先頭及び終端の構成点とをそれぞれ結んだ直線を、距離格納辺列として描画し、先頭の構成点からメッシュの境界上を所定向きに距離格納辺列長だけ辿ったときにメッシュの隅の点が複数出現する場合は、最初に出現したメッシュの隅の点と先頭の構成点とを結んだ直線、メッシュの隅の点同士を結ぶ直線及び最後に出現したメッシュの隅の点と終端の構成点とを結ぶ直線を、距離格納辺列として描画する。このようにすることで、距離格納辺列を示すデータのデータサイズを削減しつつ、当該多角形の距離格納辺列を描画することができる。
【００９７】
実施の形態２．
この実施の形態２では、等高線を表す多角形である等高線多角形をメッシュで分割した際に、メッシュ内に生じる多角形について、上記実施の形態１の内容を適用する。
なお、実施の形態２における地図情報処理装置の構成は、実施の形態１で図１を用いて説明したものと基本的に同一であるので、装置構成については図１を参照することとする。
【００９８】
図２３は、実施の形態２における面レコードの一例を示す図である。図２３に示す面レコードは、実施の形態１で説明した図４に示す面レコードに対して、等高線の標高を示す標高情報を追加したものである。
また、実施の形態２では、等高線多角形に完全に包含されるメッシュであり、かつその標高が最大のメッシュを、標高を表す色及びパターンのうちの少なくとも一方（以下、色及びパターンと適宜記載する）で塗り潰し、このメッシュに対して図２３に示す面の種類を等高線とし、標高情報をメッシュの標高とし、座標データの数を０として、座標データがない面レコードを設ける。これにより、上記メッシュに対する面レコードのデータサイズの削減が可能となる。
【００９９】
図２４は、等高線多角形の一例を示す図である。図２４において、ＰＨ１、ＰＨ２、ＰＨ３、ＰＨ４は等高線多角形であり、それぞれの標高をｈ１，ｈ２，ｈ３，ｈ４とし、ｈ１＜ｈ２＜ｈ３＜ｈ４とする。
図２５は、図２４のメッシュＭ１２における面データの一例を示す図である。メッシュＭ１２を完全に包含する最大の標高の等高線多角形は、図２４に示すＰＨ１であるので、図２５に示すメッシュＭ１２の面データには、面の種類を等高線とし、標高情報をｈ１とし、座標データの数を０とした、面レコード０が格納される。
また、図示しないが、メッシュＭ２１を完全に包含する最大の標高の等高線多角形は、図２４に示すＰＨ３であるので、メッシュＭ２１の面データには、面の種類を等高線とし、標高情報をｈ３とし、座標データの数を０とした面レコードが格納される。
さらに、メッシュＭ２２を完全に包含する最大の標高の等高線多角形は、図２４に示すＰＨ４であるので、メッシュＭ２２の面データには、面の種類を等高線とし、標高情報をｈ４とし、座標データの数を０とした面レコードが格納される。
【０１００】
図２６は、分割等高線多角形の一例を示す図である。図２６の分割等高線多角形は、図２４に示す等高線多角形をメッシュで分割して発生する多角形である。
図２６（ｅ１）のｐｈ２は、図２４に示す等高線多角形ＰＨ２をメッシュで分割したときに、図２４に示すメッシュＭ１２に発生する分割等高線多角形を示している。
図２６（ｅ２）のｐｈ３は、図２４に示す等高線多角形ＰＨ３をメッシュで分割したときに、図２３に示すメッシュＭ１２に発生する分割等高線多角形を示している。
図２６（ｅ３）のｐｈ４は、図２４に示す等高線多角形ＰＨ４をメッシュで分割したときに、図２４に示すメッシュＭ１２に発生する分割等高線多角形を示している。
【０１０１】
分割等高線多角形ｐｈ２については、図２５に示すメッシュＭ１２の面データに、面の種類を等高線とし、標高情報をｈ２とし、分割等高線多角形ｐｈ２の構成点の座標データを、上記実施の形態１と同様にして格納した、図２５に示す面レコード１が格納される。
また、分割等高線多角形ｐｈ３，ｐｈ４についても、上記と同様にして、図２５に示すメッシュＭ１２の面データに、図２５に示す面レコード２、面レコード３が格納される。
【０１０２】
図２６に示すように、等高線多角形をメッシュで分割して発生する多角形は、メッシュ境界を含む。このため、分割等高線多角形の構成点の座標データを、上記実施の形態１と同様にして表すことで、そのデータサイズを削減することができる。
【０１０３】
次に動作について説明する。
図２７は、実施の形態２の地図情報処理装置による背景描画処理の流れを示すフローチャートであり、実施の形態１で説明した図１３のステップＳＴ１２０の処理に相当する。なお、ここでは、当該背景描画処理における等高線多角形の描画処理について説明する。
また、図２８は、実施の形態２による面データの描画処理の一例を示す図であり、図２４で示したメッシュＭ１２を、図２５に示した面データを用いて描画した場合を示している。以降の説明では、図２５及び図２８を参照する。
【０１０４】
先ず、描画処理部４ｂは、描画対象の等高線多角形の標高である描画標高について、当該描画標高の初期値としてｈ１を設定する（ステップＳＴ７００）。
【０１０５】
次に、描画処理部４ｂは、面データから、面の種類が等高線であって、標高情報が上記描画標高に一致する面レコードを取得する（ステップＳＴ７１０）。
ここで、標高情報がｈ１（初期値）である、図２５に示す面レコード０が、最初に取得され、以下、本ステップに来るたびに、標高情報がｈ２である、図２５に示す面レコード１、標高情報がｈ３である、図２５に示す面レコード２、標高情報がｈ４である、図２５に示す面レコード３が順に取得される。
【０１０６】
ステップＳＴ７２０において、描画処理部４ｂは、ステップＳＴ７１０で取得した面レコードに座標データがあるか否かを判定する。
ここで、面レコードの座標データ数が０であれば（ステップＳＴ７２０；ＮＯ）、座標データなしとして、ステップＳＴ７３０の処理へ移行する。
面レコードの座標データ数が０でなければ（ステップＳＴ７２０；ＹＥＳ）、座標データ有りとしてステップＳＴ７４０へ移行する。
本ステップを経由することによって、図２５に示す面レコード０については、ステップＳＴ７３０で処理が行われ、図２５に示す面レコード１、面レコード２、面レコード３については、ステップＳＴ７４０で処理が行われる。
【０１０７】
ステップＳＴ７３０では、描画処理部４ｂが、当該メッシュ自体を描画して、ステップＳＴ７１０で取得した面レコードの標高情報に応じた色及びパターン（色及びパターンのうちの少なくとも一方）で、当該メッシュ全体を塗り潰す。本ステップにおいて、図２８（ｆ１）に示すように、メッシュＭ１２が描画され、面レコード０の標高情報に応じた色及びパターンで、メッシュＭ１２全体が塗り潰される。
【０１０８】
ステップＳＴ７４０において、描画処理部４ｂは、ステップＳＴ７１０で取得した面レコードの座標データを用いて、上記実施の形態１と同様にして、分割等高線多角形を描画する。なお、分割等高線多角形は、面レコードの標高情報に応じた色及びパターンで塗り潰される。
本ステップにおいて、図２８（ｆ２）のように、図２５に示す面レコード１の標高情報ｈ２に応じた色及びパターンによって、分割等高線多角形ｐｈ２が、図２８（ｆ１）に示すメッシュＭ１２に上書きされる。
次に本ステップに来たときに、図２８（ｆ３）のように、図２５に示す面レコード２の標高情報ｈ３に応じた色及びパターンによって、分割等高線多角形ｐｈ３が、図２８（ｆ２）に示すメッシュＭ１２に上書きされる。
続いて、本ステップに来たときに、図２８（ｆ４）のように、図２５に示す面レコード３の標高情報ｈ４に応じた色及びパターンによって、分割等高線多角形ｐｈ４が、図２８（ｆ３）に示すメッシュＭ１２に上書きされる。
【０１０９】
この後、描画処理部４ｂは、描画標高が、描画すべき最終の標高に至ったか否かを判定する（ステップＳＴ７５０）。ここで、描画すべき最終の標高に至っていれば（ステップＳＴ７５０；ＹＥＳ）、等高線多角形の描画処理を終了する。また、描画すべき最終の標高に至っていなければ（ステップＳＴ７５０；ＮＯ）、ステップＳＴ７６０の処理へ移行する。等高線多角形の描画処理を終了した時点で、図２４に示すメッシュＭ１２の分割等高線多角形が、図２８（ｆ４）に示すように描画されている。
【０１１０】
ステップＳＴ７６０において、描画処理部４ｂは、描画標高を所定値だけ増加して、ステップＳＴ７１０の処理へ戻る。このとき、描画標高としてｈ２が設定され，以下、本ステップに来るたびに、ｈ３，ｈ４の順に設定される。
【０１１１】
以上のように、この実施の形態２によれば、上記実施の形態１における地図情報処理装置において、描画対象の多角形を、等高線多角形をメッシュで分割してなる多角形としたので、等高線を表す地図データのデータサイズを削減することができる。
【０１１２】
また、この実施の形態２によれば、地図情報記憶部３が、等高線を表す多角形を含むメッシュの地図情報として、当該メッシュを完全に含む多角形の標高のうち、最も高い標高を示す最高標高情報を格納し、描画処理部４ｂが、等高線を表す多角形を描画するにあたり、地図情報記憶部３から読み出した最高標高情報に応じた色及びパターンの少なくとも一方で当該多角形内に完全に含まれるメッシュを描画する。このようにすることで、等高線を表す地図データのデータサイズを削減しつつ、等高線を描画することができる。
【０１１３】
実施の形態３．
この実施の形態３は、多角形の始点がメッシュ境界上にある場合に、上記実施の形態１及び上記実施の形態２における、面レコードの先頭の座標データとして、正規化座標のＸ座標及びＹ座標のいずれかを格納するものである。
なお、実施の形態３における地図情報処理装置の構成は、実施の形態１で図１を用いて説明したものと基本的に同一であるので、装置構成については図１を参照することとする。
【０１１４】
図２９は、実施の形態３における面レコードの一例を示す図であり、図２９（ｇ１）は、上記実施の形態１で説明した図４の面レコードに始点メッシュ境界情報を追加したものであり、図２９（ｇ２）は、上記実施の形態２で説明した図２３の面レコードに始点メッシュ境界情報を追加したものである。
始点メッシュ境界情報は、始点がどのメッシュ境界辺上にあるか、又はメッシュの内部にあるかを示す情報である。ここで、始点がどのメッシュ境界辺上にあるかは、図１６で示したメッシュ境界の各辺に付与した値０〜３（識別情報）で示し、始点がメッシュの内部にある場合には、始点メッシュ境界情報を４とする。
【０１１５】
図２９（ｇ１）及び図２９（ｇ２）に示す各面レコードにおいて、始点の座標データには、始点メッシュ境界情報が４の場合、正規化座標のＸ座標及びＹ座標の両方が格納される。また、始点メッシュ境界情報が０の場合（メッシュ境界の下辺）、正規化座標のＸ座標のみが格納される。始点メッシュ境界情報が１の場合（メッシュ境界の左辺）には、正規化座標のＹ座標のみが格納される。始点メッシュ境界情報が２の場合（メッシュ境界の上辺）、正規化座標のＸ座標のみが格納され、始点メッシュ境界情報が３の場合（メッシュ境界の右辺）は、正規化座標のＹ座標のみが格納される。
【０１１６】
始点メッシュ境界情報が０〜３のときに、面レコードの始点の座標に格納されていない上記他方の座標は、始点メッシュ境界情報の値から求められる。つまり、始点メッシュ境界情報が０のとき、メッシュ境界の下辺に始点が存在するので、下辺のＹ座標値である０ｘ００００が、始点のＹ座標値とされる。また、始点メッシュ境界情報が１のときは、メッシュ境界の左辺に始点が存在するので、左辺のＸ座標値である０ｘ００００が、始点のＸ座標値とされる。さらに、始点メッシュ境界情報が２のときは、メッシュ境界の上辺に始点が存在するので、上辺のＹ座標値である０ｘ１０００が、始点のＹ座標値とされ、始点メッシュ境界情報が３のときは、右辺のＸ座標値である０ｘ１０００が、始点のＸ座標値とされる。
【０１１７】
以上のように、この実施の形態３によれば、地図情報記憶部３が、始点が存在するメッシュの境界辺を示す識別情報と、当該始点の座標として、当該始点が存在するメッシュの境界辺から特定できない２次元座標のいずれか一方の座標とを設定した座標データを格納し、描画処理部４ｂが、始点の座標のうち、座標データに設定されなかった一方の座標値を、識別情報が示すメッシュの境界辺の座標値から決定する。このように、始点がメッシュ境界上にあるとき、始点の正規化座標のＸ座標及びＹ座標の一方のみを格納するので、始点に要する面データのデータサイズを削減することができる。
【符号の説明】
【０１１８】
１  入力部、２  位置検出部、３  地図情報記憶部、４  プロセッサ、４ａ  描画メモリ、４ｂ  描画処理部、４ｃ  表示制御部、５  表示部、６  音声出力部。
【図１】
0005455757.tif 000002
【図２】
0005455757.tif 000003
【図３】
0005455757.tif 000004
【図４】
0005455757.tif 000005
【図５】
0005455757.tif 000006
【図６】
0005455757.tif 000007
【図７】
0005455757.tif 000008
【図８】
0005455757.tif 000009
【図９】
0005455757.tif 000010
【図１０】
0005455757.tif 000011
【図１１】
0005455757.tif 000012
【図１２】
0005455757.tif 000013
【図１３】
0005455757.tif 000014
【図１４】
0005455757.tif 000015
【図１５】
0005455757.tif 000016
【図１６】
0005455757.tif 000017
【図１７】
0005455757.tif 000018
【図１８】
0005455757.tif 000019
【図１９】
0005455757.tif 000020
【図２０】
0005455757.tif 000021
【図２１】
0005455757.tif 000022
【図２２】
0005455757.tif 000023
【図２３】
0005455757.tif 000024
【図２４】
0005455757.tif 000025
【図２５】
0005455757.tif 000026
【図２６】
0005455757.tif 000027
【図２７】
0005455757.tif 000028
【図２８】
0005455757.tif 000029
【図２９】
0005455757.tif 000030