(57)【要約】【課題】地図情報処理装置に必要な描画パフォーマンスを抑制することが可能な技術を提供することを目的とする。【解決手段】地図情報処理装置は、記憶部３と、出力部４と、制御部５とを備える。記憶部３は、地図情報と、メッシュ領域Ｍ２を格子状に分割する格子点ＬＡの起伏を示す起伏情報とを記憶する。メッシュ領域Ｍ２の起伏の複雑度に応じたメッシュ領域の分割数に関して、隣接するメッシュ領域Ｍ２同士の分割数の差が許容値以下に調整されている。制御部５は、地図情報及び起伏情報に基づいて地形の表示を出力部４において出力する際に、隣接するメッシュ領域Ｍ２同士の分割数が異なる場合には、当該隣接するメッシュ領域Ｍ２同士の境界部分のうち少なくとも一方の境界部分に面を補間する。【選択図】図１
2014085420.tif 000002
【特許請求の範囲】
【請求項１】
出力部と、
地図を示す地図情報と、当該地図をメッシュ状に区画して得られる各メッシュ領域に関して当該メッシュ領域を格子状に分割する格子点の起伏を示す起伏情報とを記憶する記憶部と
を備え、
前記メッシュ領域の起伏の複雑度に応じた前記メッシュ領域の分割の数に関して、隣接する前記メッシュ領域同士の前記分割の数の差が予め設定された許容値以下に調整されており、
前記記憶部に記憶された前記地図情報及び前記起伏情報に基づいて地形の表示を前記出力部において出力する際に、隣接する前記メッシュ領域同士の前記分割の数が異なる場合には、当該隣接するメッシュ領域同士の境界部分のうち少なくとも一方の境界部分に面を補間する制御部
をさらに備える、地図情報処理装置。
【請求項２】
請求項１に記載の地図情報処理装置であって、
前記メッシュ領域が、その横方向及び縦方向の少なくともいずれか一方において、２以上の整数をべき乗して得られる前記分割の数によって分割されている、地図情報処理装置。
【請求項３】
請求項１または請求項２に記載の地図情報処理装置であって、
前記制御部は、
前記隣接するメッシュ領域同士の前記分割の数の差が前記許容値を超える場合に、当該隣接するメッシュ領域のうち前記分割の数が小さい一方の前記分割の数を大きくすることにより前記調整を行う、地図情報処理装置。
【請求項４】
請求項１または請求項２に記載の地図情報処理装置であって、
前記制御部は、
前記隣接するメッシュ領域同士の前記分割の数の差が前記許容値を超える場合に、当該隣接するメッシュ領域のうち前記分割の数が大きい一方の前記分割の数を小さくすることにより前記調整を行う、地図情報処理装置。
【請求項５】
請求項１乃至請求項４のいずれかに記載の地図情報処理装置であって、
前記制御部は、
前記メッシュ領域を前記格子点により格子状に分割して得られる格子面ごとに、前記境界部分への前記補間を実施するための予め設定された複数の補間パターンのうち、前記一のメッシュ領域の一の前記格子面と隣接する前記メッシュ領域の数及び隣接方向と、一の前記メッシュ領域の前記分割の数と、前記隣接するメッシュ領域の前記分割の数とに基づいて補間パターンを特定し、当該特定した補間パターンに基づいて前記一の格子面に前記補間を実施する、地図情報処理装置。
【請求項６】
請求項５に記載の地図情報処理装置であって、
前記制御部は、
前記補間パターンに対して、回転処理、上下反転処理、及び、左右反転処理の少なくともいずれか一つを施すことによって得られる補間パターンも用いて前記補間を実施する、地図情報処理装置。
【請求項７】
請求項１乃至請求項６のいずれかに記載の地図情報処理装置であって、
前記起伏情報は、
データ圧縮された前記格子点ごとの標高値を含む、地図情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図情報を処理する地図情報処理装置に関するものである。
【背景技術】
【０００２】
近年、地形（起伏を有する地図）を表示（描画）可能に、地図情報を処理する地図情報処理装置に関して様々な技術が提案されている。例えば、特許文献１には、隣接するメッシュ領域同士の境界部分において不整合が生じる場合に、その境界部分を三角形状に分割する処理を実施した上で、立体的な地形を表示する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−３６０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、不整合が生じた境界部分を分割する数については制約が規定されていない。そのため、境界部分に付与する三角形として、互いに形状が異なる多数の三角形を記憶あるいは作成しなければならず、その結果として、地図情報処理装置に高い描画パフォーマンス（処理能力、記憶容量）が必要になるという問題があった。
【０００５】
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、地図情報処理装置に必要な描画パフォーマンスを抑制することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る地図情報処理装置は、出力部と、地図を示す地図情報と、当該地図をメッシュ状に区画して得られる各メッシュ領域に関して当該メッシュ領域を格子状に分割する格子点の起伏を示す起伏情報とを記憶する記憶部とを備える。メッシュ領域の起伏の複雑度に応じたメッシュ領域の分割の数に関して、隣接するメッシュ領域同士の分割の数の差が予め設定された許容値以下に調整されている。地図情報処理装置は、記憶部に記憶された地図情報及び起伏情報に基づいて地形の表示を出力部において出力する際に、隣接するメッシュ領域同士の分割の数が異なる場合には、当該隣接するメッシュ領域同士の境界部分のうち少なくとも一方の境界部分に面を補間する制御部をさらに備える。
【発明の効果】
【０００７】
本発明によれば、隣接するメッシュ領域同士の分割の数の差が予め設定された許容値以下に調整されている。したがって、隣り合うメッシュ領域同士の分割の数の組合せを低減することができることから、境界部分を補間するのに必要なポリゴンの形状の種類を減少することができる。よって、地図情報処理装置に必要な描画パフォーマンスを抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る地図情報処理装置の構成を示すブロック図である。
【図２】実施の形態１に係るメッシュ領域の一例を示す図である。
【図３】実施の形態１に係るメッシュ領域における格子点を示す図である。
【図４】実施の形態１に係る起伏の複雑度の算出を示す図である。
【図５】実施の形態１に係る地図情報処理装置の動作を説明するための図である。
【図６】実施の形態１に係る地図情報処理装置の動作を説明するための図である。
【図７】実施の形態１に係る地図情報処理装置の動作を説明するための図である。
【図８】実施の形態１に係る地図情報処理装置の動作を説明するための図である。
【図９】実施の形態１に係る地図情報処理装置の動作を示すフローチャートである。
【図１０】実施の形態１の変形例に係る起伏の複雑度の算出を示す図である。
【図１１】実施の形態１の変形例に係る起伏の複雑度の算出を示す図である。
【図１２】実施の形態１の変形例に係る起伏の複雑度の算出を示す図である。
【図１３】実施の形態２に係る地図情報処理装置の動作を説明するための図である。
【図１４】実施の形態２に係る地図情報処理装置の動作を示すフローチャートである。
【図１５】実施の形態３に係る地図情報処理装置の構成を示すブロック図である。
【図１６】実施の形態３に係る地図情報処理装置の動作を説明するための図である。
【図１７】実施の形態３に係る地図情報処理装置の動作を説明するための図である。
【図１８】実施の形態３に係る地図情報処理装置の動作を説明するための図である。
【図１９】実施の形態３に係る地図情報処理装置の動作を説明するための図である。
【図２０】実施の形態３に係る地図情報処理装置の動作を説明するための図である。
【図２１】実施の形態３に係る補間パターン情報記憶部のデータ構造を示す図である。
【図２２】実施の形態３に係る補間パターン情報記憶部のデータ構造を示す図である。
【図２３】実施の形態３に係る地図情報処理装置の動作を示すフローチャートである。
【図２４】実施の形態３の変形例に係る地図情報処理装置の動作を説明するための図である。
【発明を実施するための形態】
【０００９】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る地図情報処理装置の構成を示すブロック図である。ここでは、地図情報処理装置は、車両に搭載されており、使用者を現在位置から目的地に案内するナビゲーション機能を有しているものとして説明する。
【００１０】
この地図情報処理装置は、入力部１と、位置検出部２と、記憶部３と、出力部４と、これらを統括的に制御する制御部５とを備えて構成されている。
【００１１】
入力部１は、使用者の入力に応じた指示信号を制御部５に与える。この入力部１には、例えば、使用者からの音声を認識した場合にその音声に応じた指示信号を出力する音声認識装置、及び、使用者の手動操作に応じた指示信号を出力するボタン装置などの入力装置が適用される。
【００１２】
位置検出部２は、地図情報処理装置が搭載された車両の現在位置を検出し、当該検出した現在位置を制御部５に与える。この位置検出部２には、例えば、ＧＰＳ（Global Positioning System）受信機、車速センサ、角速度センサなどが適用される。
【００１３】
記憶部３は、地図情報記憶部３ａと、起伏情報記憶部３ｂとを備えて構成されている。地図情報記憶部３ａには、地図を示す地図情報と、当該地図情報を管理する管理情報とが予め記憶されている。起伏情報記憶部３ｂには、地図に付与すべき起伏を示す起伏情報と、当該起伏情報を管理する管理情報とが予め記憶されている。地図情報及び起伏情報は、制御部５に用いられる処理ソフトウェアを変更することなく、外部の記憶媒体（ＤＶＤ、ＣＤ，ＳＤカード）の記憶情報や、通信経由の配信情報により適宜更新される。
【００１４】
なお、地図情報記憶部３ａ及び起伏情報記憶部３ｂには、例えば、記憶媒体としてハードディスクを用いるハードディスクドライブが適用される。この場合、地図情報記憶部３ａ及び起伏情報記憶部３ｂには、一つのハードディスクドライブが適用されてもよいし、それぞれに個別のハードディスクドライブが適用されてもよい。
【００１５】
出力部４は、制御部５で処理された各種情報を出力（表示）する。出力部４には、例えば、表示装置が適用される。あるいは、出力部４には、入力部１と一体的に構成されたハードウェア（例えば、タッチパネル）が適用される。
【００１６】
制御部５は、入力部１からの指示信号と、位置検出部２で検出された車両の現在位置と、地図情報記憶部３ａに記憶された地図情報と、起伏情報記憶部３ｂに記憶された起伏情報とに基づいて、各種の情報処理を行う。なお、制御部５には、例えば、ＣＰＵ（Central Processing Unit）などが適用される。
【００１７】
制御部５における情報処理としては、例えば、現在位置と地図情報とに基づいて車両の現在位置を推定するマップマッチング処理、出発地から目的地までの経路を算出する経路計算処理（経路探索処理）、その経路計算により算出された複数の経路を道路地図とともに出力部４に表示する経路表示処理、複数の経路の中から使用者により選択された経路に従って出発地から目的地までの案内を行う案内誘導処理、現在位置周辺の地図を出力部４に表示する地図表示処理、及び、施設、住所、電話番号等の各種検索処理などが含まれる。
【００１８】
＜地図情報＞
次に、地図情報記憶部３ａに記憶されている地図情報について説明する。地図情報の表示範囲（作成範囲）は、２本の緯線と、２本の経線とに囲まれた矩形領域であるものとする。この地図情報は、表示に必要な詳細度に応じて階層化されている。そして、地図情報の表示範囲（作成範囲）は、階層に応じた間隔で離間する緯線に沿った２本線及び経線に沿った２本線によって囲まれた矩形状のメッシュ領域に区画して管理されている。
【００１９】
図２は、地図情報のメッシュ領域の一例を示す図である。
【００２０】
図２に示す例では、地図情報は、レベル０，１，２の３つの階層に階層化されており、レベル２，１，０の順に詳細度が増している。具体的には、レベル０では表示範囲が８×８個のメッシュ領域Ｍ１に区画され、レベル１では表示範囲が４×４個のメッシュ領域Ｍ１に区画され、レベル２では表示範囲が２×２個のメッシュ領域Ｍ１に区画されている。
【００２１】
したがって、全体の表示範囲（作成範囲）の左端経度をＷｘｍｉｎ、右端経度をＷｘｍａｘ、下端緯度をＷｙｍｉｎ、上端緯度をＷｙｍａｘ、その範囲の経度方向の幅をＷｘ、緯度方向の幅をＷｙとする場合には、Ｗｘ＝Ｗｘｍａｘ−Ｗｘｍｉｎ、Ｗｙ＝Ｗｙｍａｘ−Ｗｙｍｉｎとなる。そして、レベル０のメッシュ領域Ｍ１の経度方向の幅はＷｘ／８、緯度方向の幅はＷｙ／８となり、レベル１のメッシュ領域Ｍ１の経度方向の幅はＷｘ／４、緯度方向の幅はＷｙ／４となり、レベル２のメッシュ領域Ｍ１の経度方向の幅はＷｘ／２、緯度方向の幅はＷｙ／２となる。
【００２２】
なお、メッシュ領域Ｍ１を特定するために、各メッシュ領域Ｍ１にはメッシュ座標（Ｘ，Ｙ）Ｍが付与される。例えば、メッシュ座標Ｘとして、左端のメッシュ領域Ｍ１から右端に向かって順に０，１，２…が付与され、メッシュ座標Ｙとして、下端のメッシュ領域Ｍ１から上端に向かって順に０，１，２，…が付与される。
【００２３】
地図情報記憶部３ａには、上記階層及び上記メッシュ座標ごとの地図情報を示すファイルが記憶されているとともに、当該地図情報（ファイル）を管理する管理情報（メッシュ管理情報）が記憶されている。制御部５は、この管理情報に基づいてファイルを読み出すことにより、出力部４にて地図を拡大または縮小して表示することが可能となっている。
【００２４】
また、地図情報には、マップマッチングや道路の表示に使用する道路データと、河川、海等の地図背景を表示するための背景データと、地名等の名称を表示するための名称データと、経路誘導のための経路誘導データと、経路計算のための経路計算データと、施設等を検索するための検索データ等を含むとともに、これら各種データの所在を示すオフセットと、データサイズとを有する地図データヘッダを含んでいる。
【００２５】
＜起伏情報＞
次に、起伏情報記憶部３ｂに記憶されている起伏情報について説明する。起伏情報の表示範囲（作成範囲）は、２本の緯線と、２本の経線とに囲まれた矩形領域であるものとする。この起伏情報は、地図情報と同様に、表示に必要な詳細度に応じて階層化されている。そして、起伏情報の表示範囲（作成範囲）は、階層に応じた間隔で離間する緯線に沿った２本線及び経線に沿った２本線によって囲まれた矩形状のメッシュ領域に区画して管理されている。なお、地図情報及び起伏情報のメッシュ領域の区分が同一である必要はないが、それらを同一にして１対１で対応させることが簡単な実現方法であると考えられる。
【００２６】
起伏情報のメッシュ領域の一例を、図２を再度用いて説明する。
【００２７】
図２に示す例では、起伏情報は、レベル０，１，２の３つの階層に階層化されており、レベル２，１，０の順に詳細度が増している。具体的には、レベル０では表示範囲が８×８個のメッシュ領域Ｍ２に区画され、レベル１では表示範囲が４×４個のメッシュ領域Ｍ２に区画され、レベル２では表示範囲が２×２個のメッシュ領域Ｍ２に区画されている。
【００２８】
したがって、全体の表示範囲（作成範囲）の左端経度をＷｘｍｉｎ、右端経度をＷｘｍａｘ、下端緯度をＷｙｍｉｎ、上端緯度をＷｙｍａｘ、その範囲の経度方向の幅をＷｘ、緯度方向の幅をＷｙとする場合には、Ｗｘ＝Ｗｘｍａｘ−Ｗｘｍｉｎ、Ｗｙ＝Ｗｙｍａｘ−Ｗｙｍｉｎとなる。そして、レベル０のメッシュ領域Ｍ２の経度方向の幅はＷｘ／８、緯度方向の幅はＷｙ／８となり、レベル１のメッシュ領域Ｍ２の経度方向の幅はＷｘ／４、緯度方向の幅はＷｙ／４となり、レベル２のメッシュ領域Ｍ２の経度方向の幅はＷｘ／２、緯度方向の幅はＷｙ／２となる。
【００２９】
なお、メッシュ領域Ｍ２を特定するために、各メッシュ領域Ｍ２にはメッシュ座標（Ｘ，Ｙ）Ｍが付与される。例えば、メッシュ座標Ｘとして、左端のメッシュ領域Ｍ２から右端に向かって順に０，１，２…が付与され、メッシュ座標Ｙとして、下端のメッシュ領域Ｍ２から上端に向かって順に０，１，２，…が付与される。
【００３０】
起伏情報記憶部３ｂには、上記階層及び上記メッシュ座標ごとの起伏情報を示すファイルが記憶されているとともに、当該起伏情報（ファイル）を管理する管理情報（メッシュ管理情報）が記憶されている。制御部５は、この管理情報に基づいてファイルを読み出すことにより、出力部４にて起伏を拡大または縮小して表示することが可能となっている。
【００３１】
＜メッシュ領域Ｍ２の分割＞
図３（ａ）及び図３（ｂ）に示すように、起伏情報に示される各メッシュ領域Ｍ２は、格子点ＬＡによって格子状に、緯度方向（横方向）においてｎ等分、経度方向（縦方向）においてｍ等分されている。この場合に格子状の分割に必要な格子点ＬＡの数は、（ｎ＋１）・（ｍ＋１）である。なお、以下では説明を簡単にするために、緯度方向（横方向）の分割の数ｎと、経度方向（縦方向）の分割の数ｍとは同一（ｎ＝ｍ）であるものとし、分割の数ｎ，ｍを「分割数」と呼ぶものとする。
【００３２】
起伏情報は、この格子点ＬＡの起伏を示す情報であり、各格子点ＬＡの標高値（予め定められた一平面に対する高さを示す値）を含んでいる。すなわち、起伏情報記憶部３ｂには、各メッシュ領域Ｍ２を格子状に分割する格子点ＬＡの起伏を示す起伏情報が記憶されている。
【００３３】
なお、メッシュ領域Ｍ２内において格子点ＬＡを特定するために、各格子点ＬＡには格子座標（Ａ，Ｂ）Ｌが付与される。例えば、図３（ｂ）に示すように、格子座標Ａとして、左端の格子点ＬＡから右端に向かって順に０，１，２，…が付与され、格子座標Ｂとして、下端の格子点ＬＡから上端に向かって順に０，１，２，…が付与される。また、各格子点ＬＡの標高値は、例えば、（０，０）Ｌ，（０，１）Ｌ，…，（０，４）Ｌ，（１，０）Ｌ，…，（１，４）Ｌ，…，（４，４）Ｌに向かう順に配列された状態で、起伏情報記憶部３ｂに記憶される。
【００３４】
以下に詳細に説明するように、制御部５は、メッシュ領域Ｍ２の起伏の複雑度に応じた分割数を、隣接するメッシュ領域Ｍ２同士の分割数の差（差分の絶対値）が予め設定された許容値以下となるように調整する。その一例として、本実施の形態１では、制御部５は、メッシュ領域Ｍ２の起伏の複雑度に基づいて、メッシュ領域Ｍ２の分割数を決定する。そして、制御部５は、隣接するメッシュ領域Ｍ２同士について決定した分割数の差（差分の絶対値）が、許容値以下となるように分割数を調整するものとなっている。以下、このことについて順に説明する。
【００３５】
＜起伏の複雑度の算出＞
実運用上では、地図情報のベンダーなどからは、メッシュ領域Ｍ２において格子点ＬＡよりも高い密度で配置された各点（以下「高密度点」と呼ぶ）に対して標高値が設定された情報が提供されている。制御部５は、当該提供された情報（以下「提供情報」と呼ぶ）に基づいて、メッシュ領域Ｍ２の起伏の複雑度を算出する。
【００３６】
ここでは、その一例として、制御部５は、一のメッシュ領域Ｍ２に関して、高密度点の標高値の最大値と最小値との差に基づいて起伏の複雑度を算出する。次に、このことについて図４を用いて詳細に説明する。
【００３７】
図４は、高密度点に対する標高値を示す図である。図４の横軸は、一のメッシュ領域Ｍ２内で二次元配置された高密度点を、仮想的に横一列に配置したものに対応している。図４には、３つのメッシュ領域Ｍ２についての標高値のグラフが、実線、破線、二点鎖線によってそれぞれ示されている。図４において実線で示される標高値のグラフの最大値と最小値との差は６０ｍ程度であることから、制御部５は、そのような標高値が設定されたメッシュ領域Ｍ２の起伏の複雑度として、「６」を算出する。同様に、破線、二点鎖線で示される標高値のグラフの最大値と最小値との差はそれぞれ５０ｍ，３０ｍ程度であることから、制御部５は、そのような標高値が設定されたメッシュ領域Ｍ２の起伏の複雑度として、「５」，「３」をそれぞれ算出する。
【００３８】
＜起伏の複雑度に基づく分割数の決定＞
山間部と平野部とでは、その地形（起伏）を表現するのに必要な分割数、すなわち格子点ＬＡの数が異なる。例えば、平野部のように、どの位置においても標高値が同一であるメッシュ領域Ｍ２、すなわち、上述の起伏の複雑度が小さいメッシュ領域Ｍ２では、分割数が少なくても（分割数０であっても）、メッシュ領域Ｍ２の左下端、右下端、左上端、右上端の４点に格子点ＬＡを配置するだけで、標高及び起伏を表現することが可能となる。なお、極端な例ではあるが、４点に格子点ＬＡを配置する代わりに標高値だけで、標高を表現することも可能である。
【００３９】
このため、平野部のように、起伏の複雑度が小さいメッシュ領域Ｍ２では、格子点ＬＡを少なく、ひいては分割数を少なくしても、そのメッシュ領域Ｍ２の起伏を適切に表現することが可能である。
【００４０】
一方、山間部のように、位置によって標高値が異なるメッシュ領域Ｍ２、すなわち、上述の起伏の複雑度は大きいメッシュ領域Ｍ２では、平野部と同様に分割数が少なくすると、山もしくは谷の形状が失われてしまうことになる。なお、起伏を、正弦関数及び余弦関数の合成関数であると考えると、これらを適切にサンプリングするためには、起伏の持つ周波数成分の帯域幅の２倍より高い周波数が必要であることが知られている。そのため、サンプリング（格子点ＬＡ）の数などが不適切であると、山頂と山頂とのみ、あるいは、谷底と谷底とのみに格子点ＬＡが設定されてしまい、起伏が大幅に失われてしまうことになる。
【００４１】
したがって、山間部のように、起伏の複雑度が大きいメッシュ領域Ｍ２では、そのメッシュ領域Ｍ２の起伏を適切に表現するためには、格子点ＬＡを多く、ひいては分割数を多くすることが必要である。
【００４２】
以上のことを鑑みて、本実施の形態１に係る制御部５は、起伏の複雑度が大きいメッシュ領域Ｍ２には、大きな数を分割数として決定し、起伏の複雑度が小さいメッシュ領域Ｍ２には、小さな数を分割数として決定するものとなっている。
【００４３】
しかしながら、このように起伏の複雑度に基づいて分割数を決定すると、概して、隣接するメッシュ領域Ｍ２同士の分割数が異なり、隣接するメッシュ領域Ｍ２同士の間の境界部分で不整合が生じることになる。
【００４４】
詳細は後述するが、この不整合の問題に対しては、起伏情報に基づいて三角形ポリゴン（起伏描画ポリゴン）を生成するだけでなく、隣接するメッシュ領域Ｍ２同士の境界部分において三角形ポリゴン（面）を追加する補間を行うことにより解決することが可能である。しかしながら、隣接するメッシュ領域Ｍ２同士の分割数の差に制約がなく、その差が大きい場合には、補間に用いる三角形ポリゴンとして、互いに形状が異なる多数の三角形ポリゴンを記憶あるいは作成しなければならず、地図情報処理装置に高い描画パフォーマンスが必要になるという問題がある。
【００４５】
以下、この問題について具体的に説明する。分割数が決定された場合には、分割数の最大値及び最小値も決まる。ここで、例えば、分割数の最大値が「６」、最小値が「１」である場合には、隣り合うメッシュ領域Ｍ２の分割数の組合せ（Ｓ，Ｔ）は、重複するものを除いて以下の２１通り存在する。
【００４６】
【数１】
2014085420.tif 000003
【００４７】
最大値及び最小値を含めて分割数の取り得る値の数をＸ１とすると、組合せの数は、Ｘ１・（Ｘ１＋１）／２で求められる。分割数の最大値が「６」、最小値が「１」である場合には、分割数の取り得る値の数Ｘ１は１〜６の６個であることから、組合せの数は、２１（＝６・（６＋１）／２）通りとなる。この式はＸ１の二次のオーダーであることから、分割数の最大値、最小値の差、すなわちＸ１が大きくなると、組合せの数が急激に増加する。そのため、互いに形状が異なる三角形ポリゴンを多数用意あるいは作成しなければならず、地図情報処理装置に高い描画パフォーマンスが必要になる。ここで、分割数の最大値及び最小値（取り得る値Ｘ１）を適宜コントロールすることも考えられるが、メッシュ領域Ｍ２の起伏の複雑度によりＸ１は変化するため、そのコントロールは難しい。
【００４８】
また、境界部分に補間すべき三角形ポリゴンの形状が多岐にわたると、境界部分のポリゴン形状と境界部分以外のポリゴン形状とが著しく異なる結果、境界部分が際立つなど、出力部４にて表示される地図の見栄えが良くない。
【００４９】
そこで、本実施の形態１では、次に説明する制御部５の制御により、隣接するメッシュ領域Ｍ２同士の分割数の差が、予め設定された許容値以下に調整されている。
【００５０】
＜分割数の調整＞
ここでは、制御部５が、隣接するメッシュ領域Ｍ２同士の分割数の差が許容値を超える場合に、その差が許容値以下となるように、当該隣接するメッシュ領域Ｍ２の一方の分割数を調整する。
【００５１】
その一例として、本実施の形態１では、制御部５は、隣接するメッシュ領域Ｍ２同士の分割数の差が許容値を超える場合に、当該隣接するメッシュ領域Ｍ２のうち分割数が小さい一方の分割数を大きくすることにより上記調整を行う（以下「調整（Ａ）と呼ぶ」）。あるいは、制御部５は、隣接するメッシュ領域Ｍ２同士の分割数の差が許容値を超える場合に、当該隣接するメッシュ領域Ｍ２のうち分割数が大きい一方の分割数を小さくすることにより上記調整を行う（以下「調整（Ｂ）と呼ぶ」）。
【００５２】
調整（Ａ）によれば、分割数を大きくするのに伴い、記憶すべきデータサイズが大きくなるという点はあるが、メッシュ領域Ｍ２の境界部分の起伏が損なわれるのを抑制できるというメリットがある。したがって、正確な描画が求められる場合、データ容量について制約がない場合、または、三角形ポリゴンの描画枚数が多少増加しても描画パフォーマンスが十分な程度にＣＰＵ（制御部５）が高性能である場合などに有効である。
【００５３】
一方、調整（Ｂ）によれば、分割数を小さくするのに伴い、メッシュ領域Ｍ２の境界部分の起伏を正確に表現する情報を失ってしまうという点はあるが、記憶すべきデータサイズを低減できるというメリットがある。したがって、正確な描画が求められていない場合、装置の記憶容量に制約がある場合、または、三角形ポリゴンの描画枚数の増加が装置のパフォーマンスに影響を与える程度にＣＰＵ（制御部５）が高性能でない場合などに有効である。
【００５４】
なお、調整（Ａ）または調整（Ｂ）を行った場合には、着目している隣接するメッシュ領域Ｍ２同士については、それらの分割数の差が許容値以下となるが、着目しているメッシュ領域Ｍ２と隣接する別のメッシュ領域Ｍ２とについては、それらの分割数の差が許容値を超えることもあると考えられる。そこで、ここでは、制御部５は、複数のメッシュ領域Ｍ２のうち、四隅の一隅に位置するメッシュ領域Ｍ２と、それに隣接するメッシュ領域Ｍ２とに対して、調整（Ａ）または調整（Ｂ）を繰り返し行い、それらの分割数の差を許容値以下にする。それから、制御部５は、分割数の調整を行う対象、すなわち調整（Ａ）または調整（Ｂ）を行う対象を、上記一隅から他の隅に向かって一メッシュ領域分シフトさせて、対象となった隣接するメッシュ領域Ｍ２同士に対して、調整（Ａ）または調整（Ｂ）を繰り返し行う。制御部５は、以上の動作を、全てのメッシュ領域Ｍ２に対して行う。
【００５５】
次に、図５（ａ）〜（ｄ）に示す具体例を用いて、制御部５による上記分割数の調整を詳細に説明する。この図５（ａ）〜（ｄ）には、４×４個のメッシュ領域Ｍ２のそれぞれについて分割数が示されている。図５（ａ）は、分割数の調整前の状態を示す。図５（ｂ）は、図５（ａ）に示した状態に分割数の調整を行った状態を示し、図５（ｃ）は、図５（ｂ）に示した状態にさらに分割数の調整を行った状態を示している。図５（ｄ）は、分割数の調整後の状態を示す。なお、ここでは、許容値は「２」であるものとして説明する。
【００５６】
まず、図５（ｂ）に示すように、全メッシュ領域Ｍ２のうち、ハッチングが施された四隅の一隅に位置するメッシュ領域Ｍ２（（０，０）Ｍのメッシュ領域Ｍ２）と、それに隣接するメッシュ領域Ｍ２（（１，０）Ｍ，（０，１）Ｍのメッシュ領域Ｍ２）とを、分割数の調整の対象とする。
【００５７】
ここで、（０，０）Ｍのメッシュ領域Ｍ２の分割数は「６」であるのに対し、（１，０）Ｍのメッシュ領域Ｍ２の分割数は「２」であり、それらの差「４」は、許容値「２」を超えている。この場合、制御部５は、（１，０）Ｍのメッシュ領域Ｍ２に対して分割数を大きくする調整（Ａ）を繰り返すことにより、（１，０）Ｍのメッシュ領域Ｍ２の分割数を、（０，０）Ｍのメッシュ領域Ｍ２の分割数「６」との差が許容値「２」以下となる「４」に変更する。同様に、制御部５は、（０，１）Ｍのメッシュ領域Ｍ２に対して分割数を大きくする調整（Ａ）を繰り返すことにより、（０，１）Ｍのメッシュ領域Ｍ２の分割数を、（０，０）Ｍのメッシュ領域Ｍ２の分割数「６」との差が許容値「２」以下となる「４」に変更する。
【００５８】
次に、図５（ｃ）に示すように、分割数の調整を行う対象を上記一隅（（０，０）Ｍ）以外の隅（（４，０）Ｍ）に向かって一メッシュ領域分シフトさせる。すなわち、ハッチングが施されたメッシュ領域Ｍ２（（１，０）Ｍのメッシュ領域Ｍ２）と、それに隣接するメッシュ領域Ｍ２（（２，０）Ｍ，（１，１）Ｍのメッシュ領域Ｍ２）とを、分割数の調整の対象とする。
【００５９】
（１，０）Ｍのメッシュ領域Ｍ２の分割数は「４」であるのに対し、（２，０）Ｍのメッシュ領域Ｍ２の分割数は「１」であり、それらの差「３」は、許容値「２」を超えている。この場合、制御部５は、上述と同様に調整（Ａ）を繰り返すことにより、（２，０）Ｍのメッシュ領域Ｍ２の分割数を、（１，０）Ｍのメッシュ領域Ｍ２の分割数「４」との差が許容値「２」以下となる「２」に変更する。一方、（１，０）Ｍのメッシュ領域Ｍ２の分割数は「４」、（１，１）Ｍのメッシュ領域Ｍ２の分割数は「４」であり、それらの差「０」は、許容値「２」以下である。この場合、制御部５は、（１，１）Ｍのメッシュ領域Ｍ２の分割数を変更しない。
【００６０】
以上の動作と並行して、同図５（ｃ）に示すように、分割数の調整を行う対象を上記一隅（（０，０）Ｍ）以外の隅（（０，４）Ｍ）に向かって一メッシュ領域分シフトさせる。すなわち、ハッチングが施されたメッシュ領域Ｍ２（（０，１）Ｍのメッシュ領域Ｍ２）と、それに隣接するメッシュ領域Ｍ２（（０，２）Ｍ，（１，１）Ｍのメッシュ領域Ｍ２）とを、分割数の調整の対象とする。そして、上述と同様に、分割数の調整の対象となった隣接するメッシュ領域Ｍ２同士に対して、調整（Ａ）または調整（Ｂ）を繰り返し行う。
【００６１】
以上のような分割数の調整を行うことにより、図５（ｄ）に示すように、いずれの隣接するメッシュ領域Ｍ２同士の分割数の差についても許容値以下となる。なお、上述の例では、隣接するメッシュ領域Ｍ２同士のうち、一方のメッシュ領域Ｍ２のみに対して分割数の調整を行った。しかしこれに限ったものではなく、一方のメッシュ領域Ｍ２に対して分割数の調整を行った後に、他方のメッシュ領域Ｍ２に対して分割数の調整を行うなど、両方のメッシュ領域Ｍ２対して分割数の調整を行ってもよい。また、上述の例では、分割数の調整を行う対象を、複数のメッシュ領域Ｍ２の四隅のうちの一隅に位置するメッシュ領域Ｍ２から、他の隅に位置するメッシュ領域Ｍ２に向かうようにシフトさせた。しかしこれに限ったものではなく、分割数の調整を行う対象を、全てのメッシュ領域Ｍ２のうち中央に位置するメッシュ領域Ｍ２から、四隅に位置するメッシュ領域Ｍ２に向かうようにシフトさせてもよい。
【００６２】
ここで、分割数の最大値が「６」、最小値が「１」である場合に、分割数の調整が行われていなければ、上述したように、隣り合うメッシュ領域Ｍ２の分割数の組合せ（Ｓ，Ｔ）は、重複するものを除いて２１通り存在した。これに対して、分割数の調整が行われると、隣り合うメッシュ領域Ｍ２同士の分割数の組合せ（Ｓ，Ｔ）は、以下の１５通りに減少する。
【００６３】
【数２】
2014085420.tif 000004
【００６４】
具体的には、最大値及び最小値を含めて分割数が取り得る値の数をＸ１、許容値をＹ１とすると、組合せの数は、（Ｙ１＋１）・（２・Ｘ１−Ｙ１）／２で求められる。分割数の最大値が「６」、最小値が「１」、許容値が「２」である場合（Ｘ１＝６、Ｙ１＝２である場合）、組合せの数は、１５（＝（２＋１）・（２・６−２）／２）通りとなる。この式はＹ１の二次のオーダーであるが、分割数の最大値及び最小値（すなわちＸ１）がどのような範囲であっても許容値Ｙ１は定数であり、コントロール可能な数値であると考えられる。一方、この式は、分割数の取り得る値の数Ｘ１については一次のオーダーでしかないことから、Ｘ１が大きくなっても組合せの数の増加が抑制される。
【００６５】
したがって、以上のような本実施の形態１に係る地図情報処理装置によれば、境界部分への補間に必要な三角形ポリゴンの形状の種類を減少することができる。したがって、地図情報処理装置に必要な描画パフォーマンスを抑制することができるとともに、表示される地図の見栄えを向上させることができる。
【００６６】
＜メッシュ領域Ｍ２の区分＞
上述した起伏情報は格子点ＬＡごとの標高値を含んでいるが、標高値に応じた高さで格子点ＬＡをそれぞれ配置して表示しても、点による表示は使用者にとって分かりにくい。そこで、制御部５は、起伏情報に基づいて、標高値に応じた高さで配置された格子点ＬＡのうち４つの格子点ＬＡごとに、それらを頂点とする格子状の面を生成する。以下、メッシュ領域Ｍ２を格子点ＬＡにより格子状に分割して得られる当該面を、「格子面ＬＳ」と呼ぶ。制御部５は、このような格子面ＬＳを複数生成することにより、起伏を有する一の面を生成する。
【００６７】
しかしながら、４つの格子点ＬＡが一の面の上に存在するとは稀である。そこで、任意の３つの格子点ＬＡに対して一意に一つの面を定義できることを鑑みて、制御部５は、図６（ａ）及び図６（ｂ）に示すように４つの格子点ＬＡ（ここでは（ａ，ｂ）Ｌ，（ａ＋１，ｂ）Ｌ，（ａ，ｂ＋１）Ｌ，（ａ＋１，ｂ＋１）Ｌの格子点ＬＡ）を頂点とする格子面ＬＳを、二つの三角形の面に区分する。なお、図６（ａ）は一の格子面ＬＳの平面図であり、図６（ｂ）は一の格子面ＬＳの斜視図である。
【００６８】
図７は、二つのメッシュ領域Ｍ２（メッシュ領域Ｍ２Ａ，Ｍ２Ｂ）における各格子面ＬＳを二つの三角形に区分する例を示す図である。メッシュ領域Ｍ２Ａの分割数は４つ（一辺当たりの格子点ＬＡが５つ）であり、メッシュ領域Ｍ２Ｂの分割数は５つ（一辺当たりの格子点ＬＡが６つ）である。なお、実際には、この二つのメッシュ領域Ｍ２Ａ，Ｍ２Ｂは互いに隣接しているが、ここでは便宜上互いに離間させて示している。
【００６９】
メッシュ領域Ｍ２Ａに関して、メッシュ領域Ｍ２Ａ，Ｍ２Ｂの間の境界線上の格子点ＬＡを上から順にａ１，ａ２，ａ３，ａ４，ａ５とし、境界線から内側に向かって一列目の格子点ＬＡを同順にα１，α２，α３，α４，α５とする。同様に、メッシュ領域Ｍ２Ｂに関して、メッシュ領域Ｍ２Ａ，Ｍ２Ｂの間の境界線上の格子点ＬＡを上から順にｂ１，ｂ２，ｂ３，ｂ４，ｂ５，ｂ６とし、境界線から内側に向かって一列目の格子点ＬＡを同順にβ１，β２，β３，β４，β５，β６とする。また、例えば、ａ１，ａ２，α１，α２の４つの格子点ＬＡからなる格子面ＬＳを、便宜上、（ａ１，ａ２，α１，α２）ＬＳというように記す。
【００７０】
制御部５は、図７に示したメッシュ領域Ｍ２Ａ，Ｍ２Ｂの（ａ１，ａ２，α１，α２）ＬＳ、…、（ａ４，ａ５，α４，α５）ＬＳ、（ｂ１，ｂ２，β１，β２）ＬＳ、…、（ｂ５，ｂ６，β５，β６）ＬＳという格子面ＬＳのそれぞれを、上記二つの三角形に区分する。ここでは、原則として、制御部５は、各格子面ＬＳを、左上の格子点ＬＡと右下の格子点ＬＡとを結ぶ対角線で二つの三角形に区分するものとする。そのため、図７に示す多くの格子面ＬＳは、左上の格子点ＬＡと右下の格子点ＬＡとを結ぶ対角線で二つの三角形に区分されている。なお、図７では、メッシュ領域Ｍ２Ａ，Ｍ２Ｂの境界部分に位置する格子面ＬＳだけが二つの三角形に区分されているように示されているが、境界部分以外の格子面ＬＳについても同様に二つの三角形に区分される。
【００７１】
例外として、制御部５は、隣接する二つのメッシュ領域Ｍ２（例えばメッシュ領域Ｍ２Ａ，Ｍ２Ｂ）のそれぞれと隣接する別のメッシュ領域Ｍ２（メッシュ領域Ｍ２Ａの上下に隣接するメッシュ領域Ｍ２）に影響を及ぼさないようにするために、当該二つのメッシュ領域Ｍ２同士の境界線の両端に位置する格子点ＬＡを含む格子面ＬＳについては、当該格子点ＬＡを通る対角線で二つの三角形に区分するものとする。そのため、図７に示す例では、メッシュ領域Ｍ２Ａ，Ｍ２Ｂの間の境界線の一端に位置する格子点ＬＡ（ａ１）を含むメッシュ領域Ｍ２Ａの一番上の格子面ＬＳと、他端に位置する格子点ＬＡ（ｂ６）を含むメッシュ領域Ｍ２Ｂの一番下の格子面ＬＳとについては、左下の格子点ＬＡと右上の格子点ＬＡとを結ぶ対角線で二つの三角形に区分されている。
【００７２】
ここで、図７から分かるように、隣接するメッシュ領域Ｍ２同士の分割数が異なる場合、メッシュ領域Ｍ２Ａ，Ｍ２Ｂ同士の境界線の両端に位置する格子点ＬＡ（ａ１とｂ１、ａ５とｂ６）を除いて、メッシュ領域Ｍ２Ａ，Ｍ２Ｂの格子点ＬＡの位置が一致しない。すなわち、一方のメッシュ領域Ｍ２の格子面ＬＳの辺上に、他方のメッシュ領域Ｍ２の格子点ＬＡが位置することになる。そのため、一方のメッシュ領域Ｍ２における格子面ＬＳを三角形で区分けする際には、一方のメッシュ領域Ｍ２の分割数だけでなく、それに隣接するメッシュ領域Ｍ２の分割数を考慮しなければ、それらメッシュ領域Ｍ２の境界部分において面が不連続となる。その結果、地形表示する上で問題が生じてしまうことになる。
【００７３】
これを解消するため、制御部５は、記憶部３に記憶された地図情報及び起伏情報に基づいて地形の表示を出力部４において出力する際に、隣接するメッシュ領域Ｍ２同士の分割数が異なる場合には、当該隣接するメッシュ領域Ｍ２同士の境界部分のうち少なくとも一方の境界部分に三角形ポリゴン（面）を追加する補間を実施する。
【００７４】
＜メッシュ領域Ｍ２の境界部分における面の補間＞
次に、制御部５が実施する補間について詳細に説明する。図８は、図７に示した状態に補間を実施した状態を示す図である。なお、以下の説明では、例えば、ａ１，ａ２，α２という３つの格子点ＬＡを頂点とする三角形ポリゴンを、便宜上、（ａ１，ａ２，α２）Ｔというように記す。
【００７５】
制御部５は、隣接する二つのメッシュ領域Ｍ２のうち、一方のメッシュ領域Ｍ２の一の格子面ＬＳから、境界線上に位置する二つの格子点ＬＡを取得する。そして、制御部５は、当該取得した二つの格子点ＬＡを結ぶ線分上に位置する、他方のメッシュ領域Ｍ２の格子点ＬＡを、「区分点」として求める。例えば、制御部５は、図８に示すように、メッシュ領域Ｍ２Ａのａ１とａ２とを結ぶ線分上に位置する、メッシュ領域Ｍ２Ｂのｂ２を区分点（図８では区分点を白抜きの丸で表示）として求める。
【００７６】
制御部５は、上記区分により生成していた三角形のうち区分点が求められた三角形を、当該区分点を基準に区分する。例えば、図８に示すように、制御部５は、上記区分により生成していた三角形のうち、区分点（ｂ２）が求められた三角形（ａ１，ａ２，α２）Ｔを、当該区分点（ｂ２）を基準に二つの三角形（ａ１，ｂ２，α２）Ｔ，（ｂ２，ａ２，α２）Ｔに区分する。
【００７７】
なお、一の三角形に複数の区分点が求められた場合、例えば、三角形（ａ１，ａ２，α２）Ｔにおいてａ１からａ２に向かう順にｂ１，ｂ２，…，ｂｉ，…，ｂｘ−１，ｂｘが区分点として求められた場合には、制御部５は、（ａ１，ａ２，α２）Ｔを、（ｘ＋１）個の三角形（ａ１，ｂ１，α２）Ｔ，（ｂ１，ｂ３，α２）Ｔ，…，（ｂｉ，ｂｉ＋１，α２）Ｔ，…，（ｂｘ−１，ｂｘ，α２）Ｔ，（ｂｘ，ａ２，α２）Ｔに区分する。逆に、一の三角形に対して区分点が求まらなかった場合、例えば、三角形（ａ１，ａ２，α２）Ｔにおいて区分点が求まらなかった場合には、制御部５は、区分せずに元の三角形（ａ１，ａ２，α２）Ｔを維持する。
【００７８】
制御部５は、以上のような区分点を基準にした区分、すなわち、メッシュ領域Ｍ２Ａの格子面ＬＳに三角形ポリゴン（面）を追加する補間を、メッシュ領域Ｍ２Ａの境界部分に位置する各格子面ＬＳについて実施する。こうして、制御部５は、隣接するメッシュ領域Ｍ２同士の境界部分のうち一方（図８ではメッシュ領域Ｍ２Ａ）の境界部分を補間する。それから、必要に応じて、制御部５は、他方（図８ではメッシュ領域Ｍ２Ｂ）の境界部分も同様に補間する。
【００７９】
なお、メッシュ領域Ｍ２の分割数が０であり、格子点ＬＡがメッシュ領域Ｍ２の４つの端点にしか存在しない場合には、制御部５は、例えば、そのメッシュ領域Ｍ２を分割数２で分割した上で補間してもよいし、あるいは、そのメッシュ領域Ｍ２と隣接する４つのメッシュ領域Ｍ２の格子点ＬＡを考慮して補間してもよい。
【００８０】
以上により、制御部５は、起伏情報に基づいて上述の三角形ポリゴンからなる起伏を有する面を生成する。その後、制御部５は、当該生成した面に地図情報の地図を転写することにより、地形（起伏を有する地図）を生成する。そして、制御部５は、生成した地形を出力部４に表示させる。すなわち、制御部５は、記憶部３に記憶された地図情報及び起伏情報に基づいて、地形の表示を出力部４に出力させる。
【００８１】
＜区分・補間手順＞
図９は、本実施の形態１に係る地図情報処理装置の動作、具体的には、制御部５によるメッシュ領域Ｍ２の区分・補間手順を示すフローチャートである。
【００８２】
まず、ステップＳ１にて、地形を出力部４に表示させる操作が入力部１で行われると、制御部５は、記憶部３に記憶された起伏情報を読み込み、表示に必要な複数のメッシュ領域Ｍ２のうち、処理対象とする一のメッシュ領域Ｍ２を特定する。
【００８３】
ステップＳ２にて、制御部５は、特定したメッシュ領域Ｍ２の全ての格子面ＬＳにおいて、三角形の区分処理（図７を用いて説明した区分処理）及び補間処理（図８を用いて説明した補間処理）が完了しているか否かを判定する。完了している場合にはステップＳ３に進み、完了していない場合にはステップＳ４に進む。
【００８４】
ステップＳ３にて、制御部５は、表示に必要な全てのメッシュ領域Ｍ２において、三角形の区分処理及び補間処理が完了しているか否かを判定する。完了している場合には図９に示す動作を終了し、完了していない場合には、ステップＳ１に戻って完了していないメッシュ領域Ｍ２を特定する。すなわち、表示に必要な全てのメッシュ領域Ｍ２において、三角形の区分処理及び補間処理が完了するまでステップＳ３が繰り返される。
【００８５】
ステップＳ４にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２の全ての格子面ＬＳにおいて、三角形の区分処理が完了しているか否かを判定する。完了していない場合にはステップＳ５に進み、完了している場合にはステップＳ６に進む。
【００８６】
ステップＳ５にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２の格子面ＬＳのうち、三角形の区分処理が完了していない一の格子面ＬＳに対して、三角形の区分処理を実施し、その後ステップＳ４に戻る。
【００８７】
ステップＳ６にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２の全ての格子面ＬＳにおいて、三角形の補間処理が完了しているか否かを判定する。ここでは、特定したメッシュ領域Ｍ２の一の格子面ＬＳについて、これと隣接するメッシュ領域Ｍ２の格子点ＬＡから区分点を求め、当該区分点を用いた三角形の補間処理が完了しているか否かを判定する。完了していない場合にはステップＳ７に進み、完了している場合にはステップＳ２に戻る。
【００８８】
ステップＳ７にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２の格子面ＬＳのうち、三角形の補間処理が完了していない一の格子面ＬＳに対して、補間処理が未実施である区分点を用いて補間処理を実施し、その後ステップＳ６に戻る。
【００８９】
以上、説明したように本実施の形態１に係る地図情報処理装置では、メッシュ領域Ｍ２の起伏の複雑度に応じたメッシュ領域Ｍ２の分割数に関して、隣接するメッシュ領域Ｍ２同士の分割数の差が予め設定された許容値以下に調整されている。したがって、隣り合うメッシュ領域Ｍ２同士の分割数の組合せを低減することができることから、それらの境界部分を補間するのに必要な三角形ポリゴンの形状の種類を減少することができる。よって、地図情報処理装置に必要な描画パフォーマンスを抑制することができるとともに、表示される地図の見栄えを向上させることができる。
【００９０】
なお、以上の説明では、制御部５が、「メッシュ領域Ｍ２の起伏の複雑度の算出」、「起伏の複雑度に基づく分割数の決定」、及び、「分割数の調整」を行うものとして説明した。しかしこれに限ったものではなく、地図情報処理装置は、隣接するメッシュ領域Ｍ２同士の分割数の差が予め設定された許容値以下に調整された起伏情報が記憶されていればよい。したがって、例えば、地図情報処理装置の外部において算出されたメッシュ領域Ｍ２の起伏の複雑度が、地図情報処理装置に入力された場合には、制御部５が、当該入力された複雑度に基づいて「起伏の複雑度に基づく分割数の決定」及び「分割数の調整」を行うものであってもよい。あるいは、地図情報処理装置の外部において分割数が調整された起伏情報が、地図情報処理装置に入力された場合には、制御部５は、当該入力された起伏情報をそのまま記憶部３に記憶するものであってもよい。
【００９１】
また、上述した許容値としては、例えば、全メッシュ領域Ｍ２の分割数についての最大値と最小値との差よりも小さい自然数、または、当該分割数の平均値などを適用すればよい。
【００９２】
また、以上では、図３（ａ）及び図３（ｂ）に示した、緯度方向（横方向）の分割数ｎと、経度方向（縦方向）の分割数ｍとが同一（ｎ＝ｍ）である場合について説明した。しかしながら、メッシュ領域Ｍ２の緯度方向の長さと経度方向の長さとが異なる場合には、ｎ≠ｍであってもよい。場合によっては、メッシュ領域Ｍ２は横方向のみまたは縦方向のみにおいて、上記分割数によって分割されてもよい。この場合、上述と同様の分割数の調整（図５）を、緯度方向の分割数ｎ及び経度方向の分割数ｍのそれぞれについて個別に行うように制御部５を構成すれば、上述と同様の効果を得ることができる。
【００９３】
＜実施の形態１の変形例＞
実施の形態１の＜起伏の複雑度の算出＞についての説明では、制御部５は、一のメッシュ領域Ｍ２に関して、高密度点の標高値の最大値と最小値との差に基づいて起伏の複雑度を算出した（図４）。しかしながら、起伏の複雑度の算出はこれに限ったものではない。
【００９４】
例えば、図１０に示すように、制御部５は、一のメッシュ領域Ｍ２に関して、高密度点ＨＰの標高値の平均値と、各高密度点ＨＰの標高値との差分の絶対値を求め、その絶対値の合計に基づいて起伏の複雑度を算出するようにしてもよい。具体的には、制御部５は、その絶対値の合計が０〜５０ｍである場合には複雑度「１」を算出し、その絶対値の合計が５０〜１００ｍである場合には複雑度「２」を算出し…、というようにして、メッシュ領域Ｍ２の起伏の複雑度を算出してもよい。
【００９５】
なお、上記差分の絶対値のばらつきが小さいことと、凹凸が少ないこととは対応し、上記差分の絶対値のばらつきが大きいことと、凹凸が多いこととは対応する。そのため、制御部５は、上記差分の絶対値の標準偏差を求め、その標準偏差に基づいて起伏の複雑度を算出するようにしてもよい。具体的には、制御部５は、標準偏差が大きい場合には大きい複雑度を算出し、標準偏差が小さい場合には小さい複雑度を算出するようにしてもよい。
【００９６】
あるいは、別の例として、図１１に示すように、制御部５は、一のメッシュ領域Ｍ２に関して、高密度点の標高値のグラフＧ１と、それをΔだけずらしたグラフＧ２との差分の絶対値を求め、図１０に示した例と同様に、その絶対値の合計に基づいて起伏の複雑度を算出するようにしてもよい。なお、上記差分の絶対値のばらつきが小さいことと、凹凸が少ないこととは対応し、上記差分の絶対値のばらつきが大きいことと、凹凸が多いこととは対応する。そのため、制御部５は、図１０に示した例と同様に、上記差分の絶対値の標準偏差を求め、その標準偏差に基づいて起伏の複雑度を算出するようにしてもよい。
【００９７】
さらに別の例として、図１２に示すように、制御部５は、２ｎ個程度の高密度点ＨＰが存在する場合に、その起伏の複雑度をｎと仮決定する（図１２（ａ）ではｎ＝３である）。そして、制御部５は、１つおきに高密度点ＨＰ同士を線ＨＬで結び、線ＨＬで結ばれていない高密度点ＨＰと、当該高密度点ＨＰの位置に対応する線ＨＬ上の点ＨＬＰとについて、それらの差分の絶対値を求める。
【００９８】
制御部５は、当該差分の絶対値の合計が閾値を超える場合には、その時点の複雑度ｎを最終的な複雑度として算出する。一方、制御部５は、当該差分の絶対値の合計が閾値以下である場合には、その時点の複雑度ｎの値を１つ減らすとともに、線ＨＬで結ばれていなかった高密度点ＨＰを間引く。以上の動作を繰り返すことによって、制御部５は、起伏の複雑度を算出するものであってもよい。なお、図１２（ｂ）には、図１２（ａ）から高密度点ＨＰを間引いた状態が示され、図１２（ｃ）には、図１２（ｂ）から高密度点ＨＰを間引いた状態が示されている。
【００９９】
＜実施の形態２＞
本発明の実施の形態２に係る地図情報処理装置では、実施の形態１で説明した各メッシュ領域Ｍ２が、その横方向及び縦方向において、２以上の整数をべき乗して得られる分割数によって分割されている。以下、分割数が、２Ｄである場合について説明する。なお、以下の説明では、べき乗Ｄ（指数Ｄ）の値を「分割乗数」と呼ぶ。すなわち、分割乗数０は分割数１（設定によっては分割数０としてもよい）、分割乗数１は分割数２、分割乗数２は分割数４に相当する。また、本実施の形態２に係る地図情報処理装置において、実施の形態１で説明した構成要素と同一または類似するものについては同じ符号を付し、異なる点を中心に以下説明する。
【０１００】
以上のように、分割乗数Ｄで分割数をコントロールした場合に生じるメリットを、図１３を用いて詳細に説明する。この図１３は、図７と同様に、隣接する二つのメッシュ領域Ｍ２Ａ，Ｍ２Ｂを便宜上互いに離間させて示している。ここでは、メッシュ領域Ｍ２Ａの分割乗数Ｄ（Ｄａ）が、メッシュ領域Ｍ２Ｂの分割乗数Ｄ（Ｄｂ）よりも小さい（Ｄａ＜Ｄｂ）例が示されている。具体的には、メッシュ領域Ｍ２Ａの分割乗数Ｄａは２、すなわち分割数は４であり、メッシュ領域Ｍ２Ｂの分割乗数Ｄｂは３、すなわち分割数は８である。
【０１０１】
図１３に示されるように、分割乗数の小さいメッシュ領域Ｍ２Ａの格子点ＬＡは全て、分割乗数の大きいメッシュ領域Ｍ２Ｂの格子点ＬＡと一致している。このため、分割乗数が大きいメッシュ領域Ｍ２Ｂについては、その境界部分に補間を行わなくて済むことが分かる。すなわち、隣接する二つのメッシュ領域Ｍ２同士の分割乗数の比較に基づいて、当該二つのメッシュ領域Ｍ２のうち、補間すべき一方を特定することができる。
【０１０２】
ここで、分割乗数が小さいメッシュ領域Ｍ２Ａの境界部分には補間を行う必要があるが、当該補間に用いられるべき区分点の数及び位置は、当該境界部分に位置する各格子面ＬＳにおいてほぼ共通する。しかも、隣接するメッシュ領域Ｍ２Ａ，Ｍ２Ｂ同士の分割乗数の差に基づいて、当該区分点の数及び位置を特定することが可能となる。
【０１０３】
具体的には、図１３に示すように、メッシュ領域Ｍ２Ａの分割乗数Ｄａと、メッシュ領域Ｍ２Ｂの分割乗数Ｄｂとの差が「１」である場合には、メッシュ領域Ｍ２Ａの境界部分に位置する４つの格子面ＬＳのそれぞれにおいて、境界線上に位置する隣り合う二つの格子点ＬＡの中間地点に一の区分点を設ければよいことが分かる。なお、補間に必要な区分点の数は、一般化すれば、（２・（Ｄｂ−Ｄａ）−１）個となる。このように、本実施の形態２によれば、隣接するメッシュ領域Ｍ２同士の分割乗数の差に基づいて、補間すべき境界部分に位置する各格子面ＬＳについて、当該補間に必要な区分点の数及び位置を一括して求めることができる。
【０１０４】
そこで、本実施の形態２に係る制御部５は、隣接するメッシュ領域Ｍ２同士の分割乗数を比較し、それらの間の境界部分のうち、分割乗数が大きいメッシュ領域Ｍ２の境界部分には補間を行わずに、分割乗数が小さいメッシュ領域Ｍ２の境界部分に補間を行う。そして、この補間の際に、制御部５は、隣接するメッシュ領域Ｍ２同士の分割乗数の差に基づいて、補間すべき境界部分に位置する各格子面ＬＳについて、当該補間に必要な区分点を一括して求める。
【０１０５】
＜区分・補間手順＞
図１４は、本実施の形態２に係る地図情報処理装置の動作、具体的には、制御部５によるメッシュ領域Ｍ２の区分・補間手順を示すフローチャートである。図１４は、図９に示したフローチャートのステップＳ６及びＳ７を、ステップＳ１１〜Ｓ１３に代えたものである。そこで、以下においては、ステップＳ１１〜Ｓ１３についてのみ説明する。
【０１０６】
ステップＳ１１にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２の境界部分の全ての格子面ＬＳに、三角形の補間処理が必要か否かを判定する。ここでは、特定したメッシュ領域Ｍ２の分割乗数が、それに隣接するメッシュ領域Ｍ２の分割乗数以上である場合には三角形の補間処理は必要ないと判断してステップＳ２に戻る。一方、特定したメッシュ領域Ｍ２の分割乗数が、それに隣接するメッシュ領域Ｍ２の分割乗数より小さく、かつ、その境界部分への補間処理が未実施である場合には、三角形の補間処理が必要であると判断してステップＳ１２に進む。
【０１０７】
ステップＳ１２にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２の分割乗数と、ステップＳ１１で比較されたメッシュ領域Ｍ２の分割乗数とに基づいて、ステップＳ１で特定したメッシュ領域Ｍ２の境界部分を補間するのに必要な区分点を一括して求める。
【０１０８】
それからステップＳ１３にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２の境界部分に対して、ステップＳ１２で求めた区分点を用いて三角形の補間処理を実施し、その後ステップＳ２に戻る。
【０１０９】
以上のように、本実施の形態２に係る地図情報処理装置では、分割数に２以上の整数をべき乗して得られる数が適用される。これにより、分割乗数が大きいメッシュ領域Ｍ２については、その境界部分に補間を行わなくて済むとともに、補間そのものを簡素化することができる。そのため、地図情報処理装置に必要な描画パフォーマンスをより抑制することができる。
【０１１０】
＜実施の形態３＞
図１５は、本発明の実施の形態３に係る地図情報処理装置の構成を示すブロック図である。なお、本実施の形態３に係る地図情報処理装置において、実施の形態２で説明した構成要素と同一または類似するものについては同じ符号を付し、異なる点を中心に以下説明する。
【０１１１】
図１５に示すように、本実施の形態３に係る地図情報処理装置は、以上で説明した実施の形態１，２に係る地図情報処理装置の記憶部３に、補間パターン情報記憶部３ｃが追加されたものとなっている。この補間パターン情報記憶部３ｃには、格子面ＬＳごとに、上述の境界部分への補間を実施するための複数の補間パターン（三角形ポリゴンのパターン）の情報が予め設定されている。
【０１１２】
なお、補間パターン情報は、地図情報及び起伏情報と同様に、制御部５に用いられる処理ソフトウェアを変更することなく、外部の記憶媒体（ＤＶＤ、ＣＤ，ＳＤカード）の記憶情報や、通信経由の配信情報に基づいて適宜更新されてもよい。あるいは、補間パターン情報だけが通信経由の配信情報に基づいて適宜更新されるものであってもよい。
【０１１３】
図１６は、３つのメッシュ領域Ｍ２Ａ，Ｍ２Ｂ，Ｍ２Ｃの一例を示す図である。図１６に示す例において、メッシュ領域Ｍ２Ａの分割数は４（分割乗数２）、メッシュ領域Ｍ２Ｂの分割数は８（分割乗数３）、メッシュ領域Ｍ２Ｃの分割数は８（分割乗数３）であり、メッシュ領域Ｍ２Ｂは、メッシュ領域Ｍ２Ａとその上方向にて隣接し、メッシュ領域Ｍ２Ｃは、メッシュ領域Ｍ２Ａとその右方向にて隣接している。
【０１１４】
図１７は、補間パターン情報記憶部３ｃに記憶された補間パターンの一例を説明するための図である。図１７に示されるフォーマットにおいては、格子面ＬＳの四隅の格子点ＬＡに見立てた座標点Ｐ０〜Ｐ３が規定されているとともに、それらのうちの２つの間に、区分点に見立てた座標点Ｐ４〜Ｐ１５が規定されている。このフォーマット上において座標点Ｐ０〜Ｐ１５を組み合せることにより三角形ポリゴンパターンを生成することが可能となっている。そこで、補間パターン情報記憶部３ｃには、図１７に示すようなフォーマットと、このフォーマット上において三角形ポリゴンパターンを生成するための座標点Ｐ０〜Ｐ１５の組とが、補間パターンとして記憶されている。
【０１１５】
ここで、本実施の形態３に係る制御部５は、補間パターン情報記憶部３ｃに記憶された複数の補間パターンのうち、一のメッシュ領域Ｍ２の一の格子面ＬＳと隣接するメッシュ領域Ｍ２の数及び隣接方向と、一のメッシュ領域Ｍ２の分割数と、上記隣接するメッシュ領域Ｍ２の分割数とに基づいて補間パターンを特定する。そして、制御部５は、当該特定した補間パターンに基づいて、一のメッシュ領域Ｍ２の上述の位置の格子面ＬＳに補間を実施する。以下、図１６及び図１７を用いて、制御部５が、メッシュ領域Ｍ２Ａの格子面ＬＳに対して補間する手順の一例について詳細に説明する。
【０１１６】
まず、メッシュ領域Ｍ２Ａの格子面ＬＳのうち図１６に示される格子面ＬＳ１、すなわち、一つのメッシュ領域Ｍ２Ｂとのみ隣接する格子面ＬＳ１を補間する手順について説明する。
【０１１７】
制御部５は、補間対象の格子面ＬＳと隣接するメッシュ領域Ｍ２の数及び隣接方向に基づいて、補間パターンを特定する。ここでは、格子面ＬＳ１が補間対象であり、当該格子面ＬＳ１がその上方向にて一のメッシュ領域Ｍ２Ｂとのみ隣接していることから、制御部５は、図１７に示される上側に位置する座標点Ｐ６，Ｐ１２，Ｐ１３の少なくとも一の座標点と、座標点Ｐ０〜Ｐ３とを頂点とする補間パターン（三角形ポリゴンパターン）を特定する。
【０１１８】
それから、制御部５は、特定した補間パターンの中から、補間対象の格子面ＬＳを含むメッシュ領域Ｍ２の分割数と、隣接するメッシュ領域Ｍ２の分割数とに基づいて、補間パターンを特定する。ここでは、補間対象の格子面ＬＳ１を含むメッシュ領域Ｍ２Ａの分割乗数は２（分割数は４）であり、隣接するメッシュ領域Ｍ２Ｂの分割乗数は３（分割数は８）であることから、制御部５は、上記特定した補間パターンの中から、図１７に示される座標点Ｐ６と、座標点Ｐ０〜Ｐ３とを頂点とする補間パターン（三角形ポリゴンパターン）を特定する。
【０１１９】
図１８には、ここで特定される補間パターンとして、座標点Ｐ０，Ｐ１，Ｐ６を頂点とする三角形ポリゴンパターンと、座標点Ｐ１，Ｐ２，Ｐ６を頂点とする三角形ポリゴンパターンと、座標点Ｐ０，Ｐ３，Ｐ６を頂点とする三角形ポリゴンパターンとが示されている。制御部５は、特定した補間パターンに基づいて、各格子面ＬＳ１に補間を実施する。
【０１２０】
制御部５は、メッシュ領域Ｍ２Ａの格子面ＬＳのうち図１６に示される格子面ＬＳ２、すなわち、一つのメッシュ領域Ｍ２Ｃとのみ隣接する格子面ＬＳ２についても、上記格子面ＬＳ１の補間と同様の補間を実施する。結果だけ述べると、制御部５は、図１７において座標点Ｐ０，Ｐ１，Ｐ５を頂点とする三角形ポリゴンパターン、座標点Ｐ２，Ｐ３，Ｐ５を頂点とする三角形ポリゴンパターン、及び、座標点Ｐ０，Ｐ３，Ｐ５を頂点とする三角形ポリゴンパターンを特定し、当該特定した補間パターンに基づいて、各格子面ＬＳ２に補間を実施する。
【０１２１】
次に、メッシュ領域Ｍ２Ａの格子面ＬＳのうち図１６に示される格子面ＬＳ３、すなわち、二つのメッシュ領域Ｍ２Ｂ，Ｍ２Ｃと隣接する格子面ＬＳ３を補間する手順について説明する。なお、この格子面ＬＳ３は、メッシュ領域Ｍ２Ａの四隅の一つに位置する格子面ＬＳである。
【０１２２】
制御部５は、補間対象の格子面ＬＳと隣接するメッシュ領域Ｍ２の数及び隣接方向に基づいて、補間パターンを特定する。ここでは、格子面ＬＳ３が補間対象であり、その上方向にてメッシュ領域Ｍ２Ｂと隣接し、その右方向にてメッシュ領域Ｍ２Ｃと隣接していることから、制御部５は、図１７に示される上側に位置する座標点Ｐ６，Ｐ１２，Ｐ１３の少なくとも一の座標点と、右側に位置する座標点Ｐ５，Ｐ１０，Ｐ１１の少なくとも一の座標点と、座標点Ｐ０〜Ｐ３とを頂点とする補間パターン（三角形ポリゴンパターン）を特定する。
【０１２３】
それから、制御部５は、特定した補間パターンの中から、補間対象の格子面ＬＳを含むメッシュ領域Ｍ２の分割数と、隣接するメッシュ領域Ｍ２の分割数とに基づいて、補間パターンを特定する。ここでは、補間対象の格子面ＬＳ３を含むメッシュ領域Ｍ２Ａの分割乗数は２（分割数は４）、隣接するメッシュ領域Ｍ２Ｂの分割乗数は３（分割数は８）、隣接するメッシュ領域Ｍ２Ｃの分割乗数は３（分割数は８）であることから、制御部５は、上記特定した補間パターンの中から、図１７に示される座標点Ｐ６と、座標点Ｐ５と、座標点Ｐ０〜Ｐ３とを頂点とする補間パターン（三角形ポリゴンパターン）を特定する。
【０１２４】
図１９は、ここで特定される補間パターンの一例として、座標点Ｐ０，Ｐ１，Ｐ５を頂点とする三角形ポリゴンパターンと、座標点Ｐ０，Ｐ３，Ｐ６を頂点とする三角形ポリゴンパターンと、座標点Ｐ０，Ｐ５，Ｐ６を頂点とする三角形ポリゴンパターンと、座標点Ｐ２，Ｐ５，Ｐ６を頂点とする三角形ポリゴンパターンとが示されている。制御部５は、特定した補間パターンに基づいて、各格子面ＬＳ３に補間を実施する。
【０１２５】
以上、制御部５が、メッシュ領域Ｍ２Ａを補間する動作について説明した。制御部５は、メッシュ領域Ｍ２Ｂ，Ｍ２Ｃについても同様に補間する。ただし、図１６に示した例では、メッシュ領域Ｍ２Ｂ，Ｍ２Ｃの分割乗数（３）は、メッシュ領域Ｍ２Ａの分割乗数（２）よりも大きく、メッシュ領域Ｍ２Ｂ，Ｍ２Ｃのメッシュ領域Ｍ２Ａと隣接する境界部分には補間を実施しなくて済むので、この場合には、制御部５は当該境界部分に対して補間を実施しない。
【０１２６】
図２０は、図１６とは異なる例を示している。図２０に示す例では、制御部５は、メッシュ領域Ｍ２Ａ，Ｍ２Ｂ同士の境界部分に関して、分割乗数が小さいメッシュ領域Ｍ２Ａの境界部分には補間を実施するが、分割乗数が大きいメッシュ領域Ｍ２Ｂの境界部分には補間を実施しない。同様に、メッシュ領域Ｍ２Ａ，Ｍ２Ｃ同士の境界部分に関して、制御部５は、分割乗数が小さいメッシュ領域Ｍ２Ｃの境界部分には補間を実施するが、分割乗数が大きいメッシュ領域Ｍ２Ａの境界部分には補間を実施しない。
【０１２７】
なお、図１６及び図２０には示されていないが、メッシュ領域Ｍ２の分割数が０である場合、すなわち、メッシュ領域Ｍ２と格子面ＬＳとが同一である場合には、その格子面ＬＳは、上下左右のいずれの方向においても他のメッシュ領域Ｍ２と隣接することになる。このような格子面ＬＳについても、制御部５は、上述と同様に、補間パターン（三角形ポリゴンパターン）を特定し、当該特定した補間パターンに基づいて、各格子面ＬＳに補間を実施する。
【０１２８】
＜補間パターン情報記憶部＞
補間パターン情報記憶部３ｃには、上下左右の一方向のみで他のメッシュ領域Ｍ２と隣接する格子面ＬＳ（例えば上述のＬＳ１，ＬＳ２）に対して用いる補間パターン（以下「１隣接補間パターン」と呼ぶ）と、上下方向のいずれか一方と、左右方向のいずれか一方とで他のメッシュ領域Ｍ２と隣接する格子面ＬＳ（例えば上述のＬＳ３）に対して用いる補間パターン（以下「２隣接補間パターン」と呼ぶ）と、補間パターン情報記憶部３ｃには、上下左右のいずれの方向においても他のメッシュ領域Ｍ２と隣接する格子面ＬＳに対して用いる補間パターン（以下「４隣接補間パターン」と呼ぶ）が予め設定（記憶）されている。つまり、本実施の形態３では、１，２，４隣接補間パターンが、制御部５によって特定可能に分類された状態で補間パターン情報記憶部３ｃに記憶されている。
【０１２９】
図２１は、補間パターン情報記憶部３ｃに記憶されている補間パターンについて、全体的なデータ構造の一例を示す図である。図２２は、図２１に示されている補間パターンセット＃０〜＃ｋ−１のうち補間パターンセット＃０の一例を示す図である。
【０１３０】
ここで、制御部５が補間を実施するのに必要な補間パターンは、上記許容値に応じて異なる。そのため、図２１に示すように許容値ごとに補間パターン（ここでは補間パターンセット）が補間パターン情報記憶部３ｃに記憶されている。
【０１３１】
図２１に示す例では、補間パターン情報の最初のアドレスには、補間パターン情報ヘッダとして、各許容値のオフセット及びサイズが記憶されている。このオフセットは、補間パターン情報ヘッダのアドレスを基準に、各許容値の補間パターンセットが記憶されているアドレスを特定可能な情報であり、サイズは、そのデータサイズに関する情報である。制御部５は、この補間パターン情報ヘッダのオフセット及びサイズと、許容値とに基づいて、補間パターンセット＃０〜＃ｋ−１の中からいずれか一つを使用することが可能となっている。
【０１３２】
次に、図２２を用いて補間パターンセットについて説明する。ここで、制御部５が補間を実施するのに必要な補間パターンは、隣接数（１，２，４隣接）、隣接方向（上方向、下方向、右方向、左方向）、分割乗数の差（分割数の差）に応じて異なる。そのため、図２２に示すように、隣接数、隣接方向及び分割乗数の差ごとに補間パターンが補間パターン情報記憶部３ｃに記憶されている。
【０１３３】
図２２に示す例では、補間パターンセットの最初のアドレスには、補間パターンセットヘッダとして、１，２，４隣接補間パターンのそれぞれのオフセット及びサイズが記憶されている。ここでのオフセットは、補間パターンセットヘッダのアドレスを基準に、１，２，４隣接補間パターン情報のいずれかが記憶されているアドレスを特定可能な情報であり、サイズは、そのデータサイズに関する情報である。制御部５は、この補間パターンセットヘッダのオフセット及びサイズと、補間対象の格子面ＬＳと隣接するメッシュ領域Ｍ２の数とに基づいて、１，２，４隣接補間パターン情報の中からいずれか一つにアクセスすることが可能となっている。
【０１３４】
１隣接補間パターンが記憶された最初のアドレスには、１隣接補間パターン情報ヘッダとして、１隣接・隣接方向＃０〜＃ｈ−１（例えば上方向、下方向、右方向、左方向に対応）のオフセット及びサイズが記憶されている。ここでのオフセットは、１隣接補間パターン情報ヘッダのアドレスを基準に、１隣接・隣接方向＃０から１隣接・隣接方向＃ｈ−１までのいずれかが記憶されているアドレスを特定可能な情報であり、サイズは、そのデータサイズに関する情報である。制御部５は、この１隣接補間パターン情報ヘッダと、補間対象の格子面ＬＳと隣接するメッシュ領域Ｍ２の隣接方向とに基づいて、１隣接・隣接方向＃０から１隣接・隣接方向＃ｈ−１の中からいずれか一つにアクセスすることが可能となっている。
【０１３５】
１隣接・隣接方向＃０には、分割乗数の差ごとに、分割乗数の差の値と、補間パターンの全数と、各補間パターン（補間パターン＃０など）についての情報が記憶されている。例えば、補間パターン＃０には、図１８に示した座標点Ｐ０，Ｐ１，Ｐ６が記憶されている。
【０１３６】
制御部５は、分割乗数の差ごとの補間パターンと、補間対象の格子面ＬＳを含むメッシュ領域Ｍ２の分割乗数（分割数）と、隣接するメッシュ領域Ｍ２の分割乗数（分割数）とに基づいて、それらメッシュ領域Ｍ２同士の分割乗数の差に応じた補間パターンを、以上のような補間パターン情報記憶部３ｃから特定することが可能となっている。
【０１３７】
＜区分・補間手順＞
図２３は、本実施の形態３に係る地図情報処理装置の動作、具体的には、制御部５によるメッシュ領域Ｍ２の区分・補間手順を示すフローチャートである。この図２３は、図１４に示したフローチャートのステップＳ１２及びＳ１３を、ステップＳ２１〜Ｓ２３に代えたものである。そこで、以下においては、ステップＳ２１〜Ｓ２３についてのみ説明する。
【０１３８】
ステップＳ２１にて、制御部５は、ステップＳ１で特定したメッシュ領域Ｍ２と隣接するメッシュ領域Ｍ２の数及び隣接方向と、ステップＳ１で特定したメッシュ領域Ｍ２の分割数（ここでは分割乗数）と、それと隣接するメッシュ領域Ｍ２の分割数（ここでは分割乗数）とを取得する。
【０１３９】
ステップＳ２２にて、制御部５は、ステップＳ２１で取得した隣接数、隣接方向、ステップ１で特定したメッシュ領域Ｍ２の分割数（ここでは分割乗数）、及び、それと隣接するメッシュ領域Ｍ２の分割数（ここでは分割乗数）とに基づいて、補間パターン情報記憶部３ｃから補間パターンを特定する。
【０１４０】
ステップＳ２３にて、制御部５は、ステップＳ２２で特定した補間パターンに基づいて、ステップＳ１で特定したメッシュ領域Ｍ２の境界部分に補間処理を実施し、その後ステップＳ２に戻る。
【０１４１】
以上のような本実施の形態３に係る地図情報処理装置によれば、複数の補間パターンの中から適切な一の補間パターンを用いて、格子面ＬＳごとに境界部分への補間を実施する。ここで、隣接するメッシュ領域Ｍ２同士の分割数（分割乗数）の差に制約がなければ補間パターンの数は無限に存在するが、本実施の形態３では実施の形態１と同様に当該差に許容値を設けているため、その補間パターンの数を有限にすることができる。なお、本実施の形態３においても、実施の形態２と同様に、分割数として分割乗数を適用しているので、それと同様の効果を得ることができる。
【０１４２】
次に、分割乗数の差の許容値が「２」であった場合を例にして、記憶部３（補間パターン情報記憶部３ｃ）に記憶すべき補間パターンが有限になることについて具体的に説明する。
【０１４３】
＜１隣接補間パターンとして記憶すべき補間パターン数＞
隣接数が「１」であり、かつ、許容値が「２」である場合、分割乗数の差の絶対値は、「０」，「１」，「２」の３種に限定される。このうち分割乗数の差が「０」であることは、分割数が同じであることを意味するため、補間ひいては補間パターンは必要がない。したがって、１隣接補間パターンとしては、「１」，「２」という２種と、上下左右の隣接方向という４方向との組み合わせた分の補間パターン、すなわち２種×４方向＝８個という有限の補間パターンを記憶すれば足りる。
【０１４４】
＜２隣接補間パターンとして記憶すべき補間パターン数＞
隣接数が「２」であり、かつ、許容値が「２」である場合、分割乗数の差の絶対値の組合せは、（０，０），（０，１），（０，２），（１，０），（１，１），（１，２），（２，０），（２，１），（２，２）、つまり３×３＝９種に限定される。このうち分割乗数の差の組み合わせが（０，０）であることは、分割数が同じであることを意味するため、補間ひいては補間パターンは必要がない。したがって、２隣接補間パターンとしては、上記９種から（０，０）を除いた８種と、上下左右の隣接方向という４方向との組み合わせた分の補間パターン、すなわち８種×４方向＝３２個という有限の補間パターンを記憶すれば足りる。
【０１４５】
＜４隣接補間パターンとして記憶すべき補間パターン数＞
隣接数が「４」であり、かつ、許容値が「２」である場合、分割乗数の差の絶対値の組合せは、（０，０，０，０），（０，０，０，１），…，（２，２，２，１），（２，２，２，２）、つまり３×３×３×３＝８１種に限定される。このうち分割乗数の差の組み合わせが（０，０，０，０）であることは、分割数が同じであることを意味するため補間ひいては補間パターンは必要がない。したがって、４隣接補間パターンとしては、上記８１種から（０，０，０，０）を除いた８０種と、上下左右の隣接方向という４方向との組み合わせた分の補間パターン、すなわち８０種×４方向＝３２０個という有限の補間パターンを記憶すれば足りる。
【０１４６】
＜実施の形態３の変形例１＞
上述した補間パターンのうち、例えば、右方向に隣接するメッシュ領域Ｍ２の分割乗数の差が「１」である場合に用いる補間パターンは、上方向に隣接するメッシュ領域Ｍ２の分割乗数の差が「１」である場合に用いる補間パターンを９０度回転させたものと一致する。
【０１４７】
そこで、制御部５は、補間パターンに対して、回転処理を施すことによって得られる補間パターンも用いて上記補間を実施してもよい。このような構成によれば、一つの隣接方向に関して補間パターンを記憶さえすれば、それに回転処理を施すことにより四つの隣接方向のそれぞれについて補間パターンを取得することができる。したがって、実施の形態３で説明した例において、１隣接補間パターン，２隣接補間パターン，４隣接補間パターンとして記憶すべき補間パターンの数は８個，３２個，３２０個であったのに対し、本変形例１によれば、２個、８個、８０個に低減することができる。
【０１４８】
また、上述した補間パターンのうち、例えば、上方向及び右方向に隣接するメッシュ領域Ｍ２の分割乗数の差の組み合わせが（１，２）である場合に用いる補間パターンは、上方向及び右方向に隣接するメッシュ領域Ｍ２の分割乗数の差の組み合わせが（２，１）である場合に用いる補間パターンを上下反転または左右反転させたものと一致する。
【０１４９】
そこで、制御部５は、補間パターンに対して、上下反転処理または左右反転処理を施すことによって得られる補間パターンも用いて上記補間を実施してもよい。したがって、実施の形態３で説明した例において、２隣接補間パターンとして記憶すべき補間パターンの数は３２個であったのに対し、本変形例１によれば、（０，１），（０，２），（１，１），（１，２），（２，２）の５種×４方向＝２０個に低減することができる。
【０１５０】
もちろん、制御部５は、補間パターンに対して、回転処理、上下反転処理、及び、左右反転処理を選択的に施すことによって得られる補間パターンも用いて補間を実施してもよい。この場合には、さらに記憶すべき補間パターンの数を低減することができる。
【０１５１】
なお、以上のような回転処理、上下反転処理、及び、左右反転処理は、例えば、図２３に示したステップＳ２２にて行えばよい。具体的には、ステップＳ２２にて、制御部５は、ステップＳ２１で取得した隣接数、ステップＳ１で特定したメッシュ領域Ｍ２の分割乗数（分割数）、及び、それと隣接するメッシュ領域Ｍ２の分割乗数（分割数）とに基づいて補間パターンを特定する。そして、制御部５は、ステップＳ２１で取得した隣接方向に基づいて、当該補間パターンに対して回転処理、上下反転処理、及び、左右反転処理の少なくともいずれか一つを施すように構成すればよい。
【０１５２】
以上をまとめると、本変形例１によれば、記憶すべき補間パターンの数を低減することができる。したがって、地図情報処理装置に必要な描画パフォーマンスをより抑制することができる。
【０１５３】
＜実施の形態３の変形例２＞
４隣接補間パターンに関しては、まず、左下の格子点ＬＡと右上の格子点ＬＡとを結ぶ対角線、または、左上の格子点ＬＡと右下の格子点ＬＡとを結ぶ対角線で格子面ＬＳを分割することにより、２つの三角形の分割問題に置き換えてもよい。図２４は、その一例を示す図である。このように分割した場合には、隣接数は最大２つになることから、記憶すべき補間パターンの数を低減することができる。
【０１５４】
＜実施の形態４＞
実施の形態１〜３では、標高値は、格子点ＬＡの数だけ起伏情報に含まれていた。しかしながら、平地や台地のような場所などの起伏情報には、同一の標高値が複数含まれることが多く冗長となっている。
【０１５５】
例えば、実施の形態１〜３において、分割数８（分割乗数３）の起伏情報の場合、一つのメッシュ領域Ｍ２における格子点ＬＡの数は９×９＝８１個になる。そして、１個の格子点ＬＡの標高値を記憶するのに必要な記憶容量が１バイトである場合には、標高値が、７９個の格子点ＬＡの標高値が重複する２値であったとしても、６５個の格子点ＬＡの標高値が重複する１６値であったとしても、その重複に係わらず、合計で８１バイトの記憶容量が必要になる。
【０１５６】
これに対して、本発明の実施の形態４では、起伏情報が、データ圧縮された格子点ＬＡごとの標高値を含むものとなっている。
【０１５７】
ここでは、格子点ＬＡの標高値が重複することなく記憶された標高値テーブルと、標高値テーブルから標高値を読み出すための標高値テーブルのインデックス番号（レコード番号）を各格子点ＬＡに対応付けた対応情報とが、起伏情報として記憶部３（起伏情報記憶部３ｂ）に記憶さているものとする。
【０１５８】
例えば、標高値が２値であれば、標高値テーブルに必要な記憶容量は、２個の格子点ＬＡの標高値を記憶するのに必要な記憶容量（上記の例にあわせると２バイト）である。そして、各格子点ＬＡには、標高値の２値の一方を示す「０」及び他方を示す「１」のいずれかをインデックス番号として割り当てればよく、このことはインデックス番号が１ビットで表現できることを意味することから、上記対応情報に必要な記憶容量は１×８１＝８１ビット≒１１バイトである。したがって、合計で１３バイトの記憶容量で済む。すなわち、格子点ＬＡの標高値に必要な記憶容量を低減することができる。
【０１５９】
また、標高値が１６値であれば、標高値テーブルに必要な記憶容量は１６バイトであり、かつ、インデックス番号は４ビットで表現できることから、上記対応情報に必要な記憶容量は４×８１＝３２４ビット≒４１バイトである。したがって、合計で５７バイトの記憶容量で済む。すなわち、この場合であっても、格子点ＬＡの標高値に必要な記憶容量を低減することができる。
【０１６０】
以上のような本実施の形態３に係る地図情報処理装置によれば、格子点ＬＡの標高値に必要な記憶容量を低減することができる。なお、上述のように、標高値デーブルを用いて同一の標高値の冗長性を低減する構成によれば、標高値テーブルの当該標高値を変更するだけで、一度の複数の格子点ＬＡの標高値を変更することができる。したがって、記憶容量を低減することができるとともに、格子点ＬＡの標高値を変更する手間を低減することもできる。
【０１６１】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
【符号の説明】
【０１６２】
３  記憶部、４  出力部、５  制御部、ＬＡ  格子点、ＬＳ  格子面、Ｍ２  メッシュ領域。
【図１】
2014085420.tif 000005
【図２】
2014085420.tif 000006
【図３】
2014085420.tif 000007
【図４】
2014085420.tif 000008
【図５】
2014085420.tif 000009
【図６】
2014085420.tif 000010
【図７】
2014085420.tif 000011
【図８】
2014085420.tif 000012
【図９】
2014085420.tif 000013
【図１０】
2014085420.tif 000014
【図１１】
2014085420.tif 000015
【図１２】
2014085420.tif 000016
【図１３】
2014085420.tif 000017
【図１４】
2014085420.tif 000018
【図１５】
2014085420.tif 000019
【図１６】
2014085420.tif 000020
【図１７】
2014085420.tif 000021
【図１８】
2014085420.tif 000022
【図１９】
2014085420.tif 000023
【図２０】
2014085420.tif 000024
【図２１】
2014085420.tif 000025
【図２２】
2014085420.tif 000026
【図２３】
2014085420.tif 000027
【図２４】
2014085420.tif 000028