(57)【要約】【課題】一般的な二次元電子地図を三次元電子地図に変換する場合に適用可能な地図情報作成装置を提供する。【解決手段】二次元地図の各リンクの各構成点の二次元位置座標、及び前記各ノードに対し当該ノードにおいて接続するリンクを特定する接続道路情報を含む二次元地図情報を記憶する二次元地図記憶手段１２、各リンクに対して、少なくとも当該リンクの始終点を含む複数の相対高付与点を設定するとともに、当該相対高付与点に対し地表面又は他のリンクとの相対的な高さ関係を表す相対高さを設定する相対高付与手段、及び、各リンクを、各相対高付与点において地表又は他のリンクとの相対高さが局所的に規定された直線、折線、又は曲線として、各相対高付与点における相対高さに整合するように当該リンク上の各相対高付与点又は各構成点の高度を決定する三次元化処理手段１９を備えた。【選択図】        図２
2006349872.tif 000002
【特許請求の範囲】
【請求項１】
二次元位置座標が与えられた複数の構成点により平面形状が規定されたリンク、及びリンクの接続点であるノードを用いて表現される二次元地図情報から、三次元地図情報を作成する地図情報生成装置であって、
前記各リンクの各構成点の二次元位置座標、及び前記各ノードに対し当該ノードにおいて接続するリンクを特定する接続道路情報を含む二次元地図情報を記憶する二次元地図記憶手段と、
前記各リンクに対して、少なくとも当該リンクの始終点を含む複数の相対高付与点を設定するとともに、当該相対高付与点に対し地表面又は他のリンクとの相対的な高さ関係を表す相対高さを設定する相対高付与手段と、
前記各リンクを、前記各相対高付与点において地表又は他のリンクとの相対高さが局所的に規定された直線、折線、又は曲線として、各相対高付与点における相対高さに整合するように当該リンク上の各相対高付与点又は各構成点の高度を決定する三次元化処理手段と、
を備えたことを特徴とする地図情報生成装置。
【請求項２】
前記二次元地図記憶手段に記憶された二次元地図情報は、さらに各リンク上の一部区間又は全区間における構造種別を規定する構造種別情報を含むものであり、
前記相対高付与手段は、前記リンクの構造種別に応じて規定された位置に前記相対高付与点を設定すること
を特徴とする請求項１に記載の地図情報作成装置。
【請求項３】
前記相対高付与手段は、１つのリンク上又は複数の連続するリンク上の一部区間又は全区間に、前記構造種別が‘高架’又は‘盛土’の区間が存在する場合において、当該区間の始点及び終点に地表と同じ相対高さの相対高付与点を設定し、当該区間の始点及び終点の近傍の所定位置に相対高さが地表よりも高い相対高付与点をそれぞれ設定するとともに、両者の間の区間に存在するノードの位置に相対高さが地表よりも高い相対高付与点を設定すること
を特徴とする請求項２に記載の地図情報作成装置。
【請求項４】
前記相対高付与手段は、１つのリンク上又は複数の連続するリンク上の一部区間又は全区間に、前記構造種別が‘切取’の区間が存在する場合において、当該区間の始点及び終点に地表と同じ相対高さの相対高付与点を設定し、両者の間の区間に存在するノードの位置に相対高さが地表と同じ相対高付与点を設定すること
を特徴とする請求項２に記載の地図情報作成装置。
【請求項５】
３以上のリンクが接続するノードにおいて、前記相対高付与手段により各リンクの当該ノードに接続する側の端点（以下「接続端点」という。）に付与された相対高さが整合していない場合、各接続端点の相対高さを、各接続端点の相対高さの最頻値に整合させる道路間相対高さ整合手段
を備えていることを特徴とする請求項１乃至４の何れか一に記載の地図情報作成装置。
【請求項６】
前記二次元地図記憶手段に記憶された二次元地図情報は、さらに各リンク上の一部区間又は全区間における道路種別，道路の形状，又は用途（以下「カテゴリ」という。）を規定するカテゴリ情報を含むものであり、
前記道路間相対高さ整合手段は、３以上のリンクが接続するノードにおいて、前記相対高付与手段により各リンクの接続端点に付与された相対高さが整合していない場合であっても、
当該ノードに接続するリンクの中に、当該接続端点における前記構造種別が‘高架’又は‘盛土’で前記カテゴリが‘ランプ’のリンクが少なくとも一つ含まれ、且つ当該接続端点における前記構造種別が‘切取’又は‘構造種別なし’のリンクが少なくとも一つ含まれている場合、当該ノードにおける各接続端点の相対高さを地表と同じ高さに設定すること
を特徴とする請求項５に記載の地図情報作成装置。
【請求項７】
前記道路間相対高さ整合手段は、前記構造種別が‘高架’又は‘盛土’のリンクと前記構造種別が‘橋’のリンクとが接続するノードにおいて、各リンクの接続端点の相対高さを地表よりも高い高さに設定すること
を特徴とする請求項５に記載の地図情報作成装置。
【請求項８】
前記相対高付与手段により前記相対高付与点が３つ以上設定されたリンクにおいて、同一の相対高さを有する相対高付与点が３つ以上連続する場合において、前記構造種別が‘切取’の区間の始点又は終点に位置しない相対高付与点を削除する道路内相対高さ整合手段
を備えたことを特徴とする請求項１乃至７の何れか一に記載の地図情報作成装置。
【請求項９】
前記二次元地図記憶手段に記憶された二次元地図情報は、さらに各リンクに対して各リンクの上下関係を規定する値である高さレベルを含むものであり、
前記相対高付与手段は、２以上のリンクが互いに立体交差する場合において、それらの各リンク上の立体交差点に相対高付与点を設定するとともに、前記立体交差点における各リンクの相対高付与点の相対高さを、前記高さレベルに従って決定すること
を特徴とする請求項１乃至８の何れか一に記載の地図情報作成装置。
【請求項１０】
前記相対高付与手段により相対高付与点が設定された各リンクに対し、１つのリンク内又は二差路で接続された２つのリンクにおいて、連続して並ぶ３つの相対高付与点のうち、両側の相対高付与点の相対高さが地表よりも高く、両側の相対高付与点の相対高さに対して中央の相対高さが低く、且つ中央の相対高付与点と同地点に当該相対高付与点よりも高い相対高さを有する他の相対高付与点が存在しない場合、当該中央の相対高付与点の相対高さを、両側の相対高付与点の相対高さの何れか一方又は両者の中間の値に設定する道路内相対高さ補正手段
を備えていることを特徴とする請求項１乃至９の何れか一に記載の地図情報作成装置。
【請求項１１】
前記相対高付与手段により相対高付与点が設定された各リンクに対し、１つのリンク内又は二差路で接続された２つのリンクにおいて、連続して並ぶ３つの相対高付与点のうち、両側の相対高付与点の相対高さが地表よりも低く、両側の相対高付与点の相対高さに対して中央の相対高さが高く、且つ中央の相対高付与点と同地点に当該相対高付与点よりも低い相対高さを有する他の相対高付与点が存在しない場合、当該中央の相対高付与点の相対高さを、両側の相対高付与点の相対高さの何れか一方又は両者の中間の値に設定する道路内相対高さ補正手段
を備えていることを特徴とする請求項１乃至９の何れか一に記載の地図情報作成装置。
【請求項１２】
前記二次元地図情報は、ある一定の地理的範囲を一図として表す場合の区画図（以下「図葉」という。）を単位として、それぞれの図葉ごとに構成されたものであり、
前記相対高付与手段により各リンク上に相対高付与点が設定された場合において、各図葉間で相対高付与点の不整合が生じている場合、各図葉間で相対高付与点を整合させる相対高さ整合手段を備えていること
を特徴とする請求項１乃至８の何れか一に記載の地図情報作成装置。
【請求項１３】
前記三次元化処理手段は、少なくとも前記リンク上の前記構成点及び前記相対高付与点に対して高度を決定すること
を特徴とする請求項１乃至１２の何れか一に記載の地図情報作成装置。
【請求項１４】
地上を一定の経緯方眼として区画したときの各区画の頂点の｛緯度、経度、標高｝の組の情報であるＤＥＭ（Digital earth Model）データが記憶されたＤＥＭデータ記憶手段を備え、
前記三次元化処理手段は、
前記ＤＥＭデータ記憶手段に記憶されたＤＥＭデータに基づき、前記各リンク上の各相対高付与点及びその他の構成点の標高値を算出し、各相対高付与点及びその他の構成点の標高として設定する標高値設定手段と、
前記各リンクの各相対高付与点について、各相対高付与点に設定された相対高さに応じて地表面に対する高さ（以下「比高」という。）を決定し、当該相対高付与点の標高に前記比高を加えた値を当該相対高付与点の高度に設定するとともに、各相対高付与点を補間する所定の補間曲線を計算し、相対高付与点以外の構成点の高度を同地点の前記補間曲線上の高さに設定する３Ｄ化手段と、
を備えていることを特徴とする請求項１乃至１３の何れか一に記載の地図情報作成装置。
【請求項１５】
前記３Ｄ化手段は、高度を設定した前記各相対高付与点を補間する場合において、前記所定の補間曲線としてＳ字曲線を用いること
を特徴とする請求項１４記載の地図情報作成装置。
【請求項１６】
前記３Ｄ化手段は、
１つのリンク内又は二差路で接続された２つのリンクの構造種別が‘トンネル’に設定されている場合において、当該構造種別が設定された区間（以下「トンネル区間」という。）の始点及び終点の間を補間する所定の補間曲線を計算するとともに、当該トンネル区間における相対高付与点又は構成点の高度を同地点の前記補間曲線上の高さに設定すること
を特徴とする請求項１４又は１５記載の地図情報作成装置。
【請求項１７】
前記三次元化処理手段は、
前記３Ｄ化手段により、各相対高付与点及びその他の構成点（以下「構成点等」という。）に高度が設定された各リンクについて、当該リンク内の各構成点等の間の区間の勾配を計算し、勾配が所定の閾値を超える区間がある場合には、当該区間の勾配が所定の閾値以下となるように、当該リンク並びに当該リンクと同一の構造種別及びリンク種別を有し当該リンクから二差路によって連続して連なるリンク内の各構成点等の高度を補正する勾配調整手段
を備えていることを特徴とする請求項１乃至１６の何れか一に記載の地図情報作成装置。
【請求項１８】
前記三次元化処理手段は、
前記各リンクの端点のうち、前記勾配調整手段により高度の補正がされた端点（以下「勾配調整後端点」という。）について、当該勾配調整後端点に接続する他のリンクの端点の高度を当該勾配調整後端点に再設定するとともに、端点の高度が再設定されたリンクに対し、前記勾配調整後端点に接続する端点の高度を固定した状態で、前記勾配調整手段による各構成点等の高度の補正を行う接続道路線調整手段
を備えたことを特徴とする請求項１７記載の地図情報作成装置。
【請求項１９】
前記三次元化処理手段は、
２つ以上のリンクが立体交差する点（以下「立体交差点」という。）に位置するそれぞれのリンクの相対高付与点の高度及び相対高さを比較し、２つの相対高付与点の相対高さと高度が整合し且つ両者の高度の差が所定の閾値未満の場合、又は２つの相対高付与点の相対高さに対して高度が逆転している場合、両者の高度が相対高さと整合し且つ両者の高度の差が所定の閾値以上となるように高度を補正する近接逆転調整手段
を備えたことを特徴とする請求項１乃至１８の何れか一に記載の地図情報作成装置。
【請求項２０】
二次元地図上の特定の地点における標高値に関する情報が記憶された標高点情報記憶手段を備え、
前記三次元化処理手段は、
前記標高値が与えられた点（以下「標高点」という。）を前記各リンク上の点に対応づけた道路標高点を設定する標高点取り込み手段と、
前記道路標高点が設定された各リンクについて、前記道路標高点の高度を前記道路標高点に対応する前記標高点の標高値に設定し、当該リンク並びに当該リンクと同一の構造種別及びリンク種別を有し当該リンクから二差路によって連続して連なるリンク（以下「マルチリンク」という。）内の各構成点等の高度を、当該マルチリンクの両端点及び前記道路標高点を通る補間曲線に従って再設定する標高点調整手段と、
を備えたことを特徴とする請求項１乃至１９の何れか一に記載の地図情報作成装置。
【請求項２１】
前記三次元化処理手段は、
前記各ノードのうち、当該ノードに接続する各リンク（以下「接続リンク」という。）の端点（以下「接続端点」という。）が、前記標高点調整手段により高度が再設定されたことにより高度の不整合が生じた場合、各接続リンク上における接続端点に最も近い前記道路標高点のうち高度が最大のものと最小のものとを抽出し、抽出された２つの前記道路標高点（以下「抽出道路標高点」という。）間の区間を各接続リンクに沿って所定の補間曲線で補間し、当該区間における構成点等（接続端点を含む。）の高度を同地点の前記補間曲線上の高さに設定し、前記各抽出道路標高点が存在する接続リンク以外の接続リンクの接続端点の高度を、前記各抽出道路標高点が存在する接続リンクの接続端点の高度に設定する交差点調整手段
を備えたことを特徴とする請求項１乃至２０の何れか一に記載の地図情報作成装置。
【請求項２２】
前記三次元化処理手段は、各リンクについて、当該リンク内の各構成点における勾配の変化量が所定の閾値以上の区間を抽出し、抽出された区間における構成点の高度を勾配の変化量が所定の閾値未満となるように補正するピーク除去手段
を備えたことを特徴とする請求項１乃至２１の何れか一に記載の地図情報作成装置。
【請求項２３】
連続位置記録装置によって採取した道なりの三次元座標点列からなる走行軌跡データを記憶する走行軌跡データ記憶手段を備え、
前記三次元化処理手段は、
前記走行軌跡データを前記各リンクと対応づける走行軌跡関連付け手段と、
前記高校軌跡関連付け手段により関連づけられた各リンク内における各相対高付与点及びその他の構成点の高度を、前記走行軌跡データにより与えられる高度に補正する走行軌跡データの取り込み手段と、
を備えたことを特徴とする請求項１乃至２２の何れか一に記載の地図情報作成装置。
【請求項２４】
前記二次元地図情報は、ある一定の地理的範囲を一図として表す場合の区画図（以下「図葉」という。）を単位として構成されており、
前記三次元化処理手段は、
複数の図葉に跨るリンクが存在する場合、当該リンクの各相対高付与点又はその他の構成点の高度を変更した場合、当該リンクが存在する他の図葉における当該リンクの各相対高付与点又はその他の構成点の高度も変更する他図整合処理手段
を備えていることを特徴とする請求項１乃至２３の何れか一に記載の地図情報作成装置。
【請求項２５】
コンピュータに読み込ませて実行することにより、コンピュータを請求項１乃至２４の何れか一の地図情報作成装置として機能させることを特徴とするプログラム。
【請求項２６】
二次元位置座標が与えられた複数の構成点により平面形状が規定されたリンク、及び前記各ノードに対し当該ノードにおいて接続するリンクを特定する接続道路情報を含む二次元地図情報から、三次元地図情報を作成する地図情報生成方法であって、
前記二次元地図情報に含まれる前記各リンクに対して、少なくとも当該リンクの始終点を含む複数の相対高付与点を設定し、当該相対高付与点に対し地表面又は他のリンクとの相対的な高さ関係を表す相対高さを設定する相対高さ生成処理、
及び、前記各リンクを、前記各相対高付与点において地表又は他のリンクとの相対高さが局所的に規定された直線、折線、又は曲線として、各相対高付与点における相対高さに整合するように当該リンク上の各相対高付与点又は各構成点の高度を決定する三次元化処理
を実行することを特徴とする地図情報生成方法。
【請求項２７】
前記二次元地図情報は、さらに各リンク上の一部区間又は全区間における構造種別を規定する構造種別情報を含むものであり、
前記相対高さ生成処理においては、前記リンクの構造種別に応じて規定された位置に前記相対高付与点を設定すること
を特徴とする請求項２６に記載の地図情報作成方法。
【請求項２８】
前記相対高さ生成処理においては、１つのリンク上又は複数の連続するリンク上の一部区間又は全区間に、前記構造種別が‘高架’又は‘盛土’の区間が存在する場合において、当該区間の始点及び終点に地表と同じ相対高さの相対高付与点を設定し、当該区間の始点及び終点の近傍の所定位置に相対高さが地表よりも高い相対高付与点をそれぞれ設定するとともに、両者の間の区間に存在するノードの位置に相対高さが地表よりも高い相対高付与点を設定すること
を特徴とする請求項２７に記載の地図情報作成方法。
【請求項２９】
前記相対高さ生成処理においては、１つのリンク上又は複数の連続するリンク上の一部区間又は全区間に、前記構造種別が‘切取’の区間が存在する場合において、当該区間の始点及び終点に地表と同じ相対高さの相対高付与点を設定し、両者の間の区間に存在するノードの位置に相対高さが地表と同じ相対高付与点を設定すること
を特徴とする請求項２７に記載の地図情報作成方法。
【請求項３０】
３以上のリンクが接続するノードにおいて、前記相対高さ生成処理で各リンクの当該ノードに接続する側の端点（以下「接続端点」という。）に付与された相対高さが整合していない場合、各接続端点の相対高さを、各接続端点の相対高さの最頻値に整合させる道路間相対高さ整合処理を実行することを特徴とする請求項２６乃至２９の何れか一に記載の地図情報作成方法。
【請求項３１】
前記二次元地図情報は、さらに各リンク上の一部区間又は全区間における道路種別，道路の形状，又は用途（以下「カテゴリ」という。）を規定するカテゴリ情報を含むものであり、
前記道路間相対高さ整合処理においては、３以上のリンクが接続するノードにおいて、前記相対高さ生成処理で各リンクの接続端点に付与された相対高さが整合していない場合であっても、当該ノードに接続するリンクの中に、当該接続端点における前記構造種別が‘高架’又は‘盛土’で前記カテゴリが‘ランプ’のリンクが少なくとも一つ含まれ、且つ当該接続端点における前記構造種別が‘切取’又は‘構造種別なし’のリンクが少なくとも一つ含まれている場合、当該ノードにおける各接続端点の相対高さを地表と同じ高さに設定すること
を特徴とする請求項３０に記載の地図情報作成方法。
【請求項３２】
前記道路間相対高さ整合処理においては、前記構造種別が‘高架’又は‘盛土’のリンクと前記構造種別が‘橋’のリンクとが接続するノードにおいて、各リンクの接続端点の相対高さを地表よりも高い高さに設定すること
を特徴とする請求項３０に記載の地図情報作成方法。
【請求項３３】
前記相対高さ生成処理で前記相対高付与点が３つ以上設定されたリンクにおいて、同一の相対高さを有する相対高付与点が３つ以上連続する場合において、前記構造種別が‘切取’の区間の始点又は終点に位置しない相対高付与点を削除する道路内相対高さ整合処理
を実行することを特徴とする請求項２６乃至３２の何れか一に記載の地図情報作成方法。
【請求項３４】
前記二次元地図情報は、さらに各リンクに対して各リンクの上下関係を規定する値である高さレベルを含むものであり、
２以上のリンクが互いに立体交差する場合において、それらの各リンク上の立体交差点に相対高付与点を設定するとともに、前記立体交差点における各リンクの相対高付与点の相対高さを、前記高さレベルに従って決定する非交差地点相対高さ設定処理
を実行することを特徴とする請求項２６乃至３３の何れか一に記載の地図情報作成方法。
【請求項３５】
前記相対高さ生成処理又は前記非交差地点相対高さ設定処理において相対高付与点が設定された各リンクに対し、１つのリンク内又は二差路で接続された２つのリンクにおいて、連続して並ぶ３つの相対高付与点のうち、両側の相対高付与点の相対高さが地表よりも高く、両側の相対高付与点の相対高さに対して中央の相対高さが低く、且つ中央の相対高付与点と同地点に当該相対高付与点よりも高い相対高さを有する他の相対高付与点が存在しない場合、当該中央の相対高付与点の相対高さを、両側の相対高付与点の相対高さの何れか一方又は両者の中間の値に設定する道路内相対高さ補正処理
を実行することを特徴とする請求項２６乃至３４の何れか一に記載の地図情報作成方法。
【請求項３６】
前記相対高さ生成処理又は前記非交差地点相対高さ設定処理において相対高付与点が設定された各リンクに対し、１つのリンク内又は二差路で接続された２つのリンクにおいて、連続して並ぶ３つの相対高付与点のうち、両側の相対高付与点の相対高さが地表よりも低く、両側の相対高付与点の相対高さに対して中央の相対高さが高く、且つ中央の相対高付与点と同地点に当該相対高付与点よりも低い相対高さを有する他の相対高付与点が存在しない場合、当該中央の相対高付与点の相対高さを、両側の相対高付与点の相対高さの何れか一方又は両者の中間の値に設定する道路内相対高さ補正処理
を実行することを特徴とする請求項２６乃至３４の何れか一に記載の地図情報作成方法。
【請求項３７】
前記二次元地図情報は、ある一定の地理的範囲を一図として表す場合の区画図（以下「図葉」という。）を単位として、それぞれの図葉ごとに構成されたものであり、
前記相対高さ生成処理又は前記非交差地点相対高さ設定処理で各リンク上に相対高付与点が設定された場合において、各図葉間で相対高付与点の不整合が生じている場合、各図葉間で相対高付与点を整合させる相対高さ整合処理を行うこと
を特徴とする請求項２６乃至３３の何れか一に記載の地図情報作成方法。
【請求項３８】
前記三次元化処理処理においては、少なくとも前記リンク上の前記構成点及び前記相対高付与点に対して高度を決定すること
を特徴とする請求項２６乃至３７の何れか一に記載の地図情報作成方法。
【請求項３９】
前記三次元化処理においては、
地上を一定の経緯方眼として区画したときの各区画の頂点の｛緯度、経度、標高｝の組の情報であるＤＥＭデータに基づき、前記各リンク上の各相対高付与点及びその他の構成点の標高値を算出し、各相対高付与点及びその他の構成点の標高として設定する標高値設定処理と、
前記各リンクの各相対高付与点について、各相対高付与点に設定された相対高さに応じて地表面に対する高さ（以下「比高」という。）を決定し、当該相対高付与点の標高に前記比高を加えた値を当該相対高付与点の高度に設定するとともに、各相対高付与点を補間する所定の補間曲線を計算し、相対高付与点以外の構成点の高度を同地点の前記補間曲線上の高さに設定する３Ｄ化処理と、
を実行することを特徴とする請求項２６乃至３８の何れか一に記載の地図情報作成方法。
【請求項４０】
前記３Ｄ化処理においては、高度を設定した前記各相対高付与点を補間する場合において、前記所定の補間曲線としてＳ字曲線を用いること
を特徴とする請求項３９記載の地図情報作成方法。
【請求項４１】
前記３Ｄ化処理においては、
１つのリンク内又は二差路で接続された２つのリンクの構造種別が‘トンネル’に設定されている場合において、当該構造種別が設定された区間（以下「トンネル区間」という。）の始点及び終点の間を補間する所定の補間曲線を計算するとともに、当該トンネル区間における相対高付与点又は構成点の高度を同地点の前記補間曲線上の高さに設定すること
を特徴とする請求項３９又は４０記載の地図情報作成方法。
【請求項４２】
前記三次元化処理においては、
前記３Ｄ化処理で、各相対高付与点及びその他の構成点（以下「構成点等」という。）に高度が設定された各リンクについて、当該リンク内の各構成点等の間の区間の勾配を計算し、勾配が所定の閾値を超える区間がある場合には、当該区間の勾配が所定の閾値以下となるように、当該リンク並びに当該リンクと同一の構造種別及びリンク種別を有し当該リンクから二差路によって連続して連なるリンク内の各構成点等の高度を補正する勾配調整処理
を行うことを特徴とする請求項２６乃至４１の何れか一に記載の地図情報作成方法。
【請求項４３】
前記三次元化処理においては、
前記各リンクの端点のうち、前記勾配調整処理で高度の補正がされた端点（以下「勾配調整後端点」という。）について、当該勾配調整後端点に接続する他のリンクの端点の高度を当該勾配調整後端点に再設定するとともに、端点の高度が再設定されたリンクに対し、前記勾配調整後端点に接続する端点の高度を固定した状態で、前記勾配調整処理による各構成点等の高度の補正を行う接続道路線調整処理
を実行することを特徴とする請求項４２記載の地図情報作成方法。
【請求項４４】
前記三次元化処理においては、
２つ以上のリンクが立体交差する点（以下「立体交差点」という。）に位置するそれぞれのリンクの相対高付与点の高度及び相対高さを比較し、２つの相対高付与点の相対高さと高度が整合し且つ両者の高度の差が所定の閾値未満の場合、又は２つの相対高付与点の相対高さに対して高度が逆転している場合、両者の高度が相対高さと整合し且つ両者の高度の差が所定の閾値以上となるように高度を補正する近接逆転調整処理
を実行することを特徴とする請求項２６乃至４３の何れか一に記載の地図情報作成方法。
【請求項４５】
前記三次元化処理においては、
二次元地図上の特定の地点における標高値に関する情報が記憶された標高点情報に基づき、前記標高値が与えられた点（以下「標高点」という。）を前記各リンク上の点に対応づけた道路標高点を設定する標高点取り込み処理と、
前記道路標高点が設定された各リンクについて、前記道路標高点の高度を前記道路標高点に対応する前記標高点の標高値に設定し、当該リンク並びに当該リンクと同一の構造種別及びリンク種別を有し当該リンクから二差路によって連続して連なるリンク（以下「マルチリンク」という。）内の各構成点等の高度を、当該マルチリンクの両端点及び前記道路標高点を通る補間曲線に従って再設定する標高点調整処理と、
を実行することを特徴とする請求項２６乃至４４の何れか一に記載の地図情報作成方法。
【請求項４６】
前記三次元化処理においては、
前記各ノードのうち、当該ノードに接続する各リンク（以下「接続リンク」という。）の端点（以下「接続端点」という。）が、前記標高点調整処理で高度が再設定されたことにより高度の不整合が生じた場合、各接続リンク上における接続端点に最も近い前記道路標高点のうち高度が最大のものと最小のものとを抽出し、抽出された２つの前記道路標高点（以下「抽出道路標高点」という。）間の区間を各接続リンクに沿って所定の補間曲線で補間し、当該区間における構成点等（接続端点を含む。）の高度を同地点の前記補間曲線上の高さに設定し、前記各抽出道路標高点が存在する接続リンク以外の接続リンクの接続端点の高度を、前記各抽出道路標高点が存在する接続リンクの接続端点の高度に設定する交差点調整処理
を実行することを特徴とする請求項２６乃至４５の何れか一に記載の地図情報作成方法。
【請求項４７】
前記三次元化処理においては、各リンクについて、当該リンク内の各構成点における勾配の変化量が所定の閾値以上の区間を抽出し、抽出された区間における構成点の高度を勾配の変化量が所定の閾値未満となるように補正するピーク除去処理
を実行することを特徴とする請求項２６乃至４６の何れか一に記載の地図情報作成方法。
【請求項４８】
前記三次元化処理手段においては、
連続位置記録装置によって採取した道なりの三次元座標点列からなる走行軌跡データを前記各リンクと対応づける走行軌跡関連付け処理と、
前記高校軌跡関連付け処理で関連づけられた各リンク内における各相対高付与点及びその他の構成点の高度を、前記走行軌跡データにより与えられる高度に補正する走行軌跡データの取り込み処理と、
を実行することを特徴とする請求項２６乃至４７の何れか一に記載の地図情報作成方法。
【請求項４９】
前記二次元地図情報は、ある一定の地理的範囲を一図として表す場合の区画図（以下「図葉」という。）を単位として構成されており、
前記三次元化処理においては、
複数の図葉に跨るリンクが存在する場合、当該リンクの各相対高付与点又はその他の構成点の高度を変更した場合、当該リンクが存在する他の図葉における当該リンクの各相対高付与点又はその他の構成点の高度も変更する他図整合処理
を実行することを特徴とする請求項２６乃至４８の何れか一に記載の地図情報作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元地図の制作又は表示のための二次元地図情報に各種の標高情報を自動的に付加して三次元地図の制作又は表示のための三次元地図情報を作成する地図情報作成技術に関する。
【背景技術】
【０００２】
従来、二次元地図情報から三次元地図情報を自動的に作成する技術としては、特許文献１に記載のものが公知である。図７５は、特許文献１記載の地図情報作成装置の処理の全体の流れを整理して表した図である（特許文献１，図２７参照）。
【０００３】
この地図情報作成装置では、まず、二次元地図情報を読み出し（Ｓ１００１）、次に、地形情報を読み出す（Ｓ１００２）。
【０００４】
ここでいう二次元地図情報とは、道路をノードとリンクの集合からなるグラフとして表した情報である。各ノードは、ノード番号，二次元座標，ノード高さ属性（絶対高さ属性及び相対高さ属性），ノード種別等からなるノード情報を有している。また、各リンクは、始点及び終点のノード番号，リンク高さ属性（絶対高さ属性及び相対高さ属性），リンク種別等からなるリンク情報を有する。各リンクは、ノードの二次元座標と始点ノード番号と終点ノード番号とを用いて表される。
【０００５】
ここで、「二次元座標」は、二次元位置を緯度と経度を用いて表したものである。「絶対高さ属性」とは、リンク又はノードが「高架」や「地表」や「地下」にあることを表す属性である。「相対高さ属性」とは、交差するリンクの上下関係を表す属性値をいい、「オーバーパス」や「アンダーパス」で表される。「ノード種別」とは、「交差点」，「高速道路」，「国道」等のようなノードの種別である。
【０００６】
また、地形情報は、ＤＥＭ（Digital elevation model）データのように、地上を一定の経緯方眼として区画して、各区画の頂点の｛緯度、経度、標高｝の組の集合からなる情報である。以下、この各区画を「地域メッシュ」という。
【０００７】
次に、屈曲点追加処理（Ｓ１００３）において、地域メッシュの境界を跨ぐリンクに対して、そのリンクが地域メッシュの一辺と交差する点にノードを追加する。例えば、図７６（ａ）に示すように、リンクａｂが異なる地域メッシュに跨って存在する場合、リンクａｂと地域メッシュの辺とが交差する点にノードｐが追加される。これにより、図７６（ｂ）に示すように、リンクａｂを三次元化する際に、リンクが地表面に沿って張られるように屈曲させることが可能となる。
【０００８】
次に、高さ情報付加処理（Ｓ１００４）において、二次元地図情報に含まれる道路網情報の属性情報の一部を用いて、高さ情報を生成し、生成した高さ情報を道路網情報に対して新たな属性情報として付加する。図７７は高さ情報付加処理を表すフローチャートである。
【０００９】
図７７において、まず、リンク高さ属性生成処理（Ｓ１０１０）において、二次元地図情報の各リンクに与えられた絶対高さ属性に基づき、すべてのリンクの絶対高さ属性を求める。この場合、交差するリンクＡ，Ｂの絶対高さ属性がいずれも地下である場合、相対高さ属性が下側のリンクＡの絶対高さ属性をリンクＢよりも１つ下側の絶対高さ属性に修正する。また、交差するリンクＡ，Ｂの絶対高さ属性がいずれも高架である場合、相対高さ属性が上側のリンクＡの絶対高さ属性をリンクＢよりも１つ上側の絶対高さ属性に修正する。また、交差するリンクＡ，Ｂの絶対高さ属性がいずれも地表である場合、相対高さ属性に応じて、いずれか一方の絶対高さ属性を地下又は高架に変更する。
【００１０】
例えば、図７８（ａ）のように、リンクａｂとリンクｃｄとが交差しており、各リンクの｛絶対高さ属性，相対高さ属性｝が、それぞれ｛高架，オーバーパス｝、｛高架，アンダーパス｝であった場合、リンクｃｄの絶対高さ属性はリンクａｂよりも一つ上の高架に修正される。例えば、リンクａｂの絶対高さ属性が「１層目の高架」であった場合には、リンクｃｄの絶対高さ属性は「２層目の高架」に設定される。このようにして、交差するリンクの絶対高さ属性を互い違いの高さとして、リンク同士が衝突しないように設定する。
【００１１】
次に、ノード高さ属性生成処理（Ｓ１０１１）においては、絶対高さ属性が未定義のノードについて、絶対高さ属性を設定する。この場合、絶対高さ属性が未定義のノードａに接続するすべてのリンクの絶対高さ属性を調べて、その最頻値を当該ノードａの絶対高さ属性に設定する。
【００１２】
次に、ノード挿入処理処理（Ｓ１０１２）において、リンクとそのリンクの両端のノードの間で絶対高さ属性の矛盾が生じた場合、そのリンク内に新たなノードを追加することによって矛盾の解消が行われる。例えば、図７９（ａ）のように、絶対高さ属性が「高架」であるリンクａｂの端のノードａ，ｂについて、ノードａの絶対高さ属性が「地上」、ノードｂの絶対高さ属性が「地下」の場合、リンクと各ノード間で絶対高さ属性が矛盾している。このような場合、図７９（ｂ）のように、リンクａｂの適当な位置にノードｐ，ｑを追加し、ノードｐ，ｑの絶対高さ属性を「高架」とすることによって矛盾を解消させる。
【００１３】
最後に、ノード高さ情報生成処理（Ｓ１０１３）において、各ノードの絶対高さ属性に従って、高さ情報を生成する。ここで、ノードの絶対高さ属性が「地表」又は「高さ属性なし」の場合、当該ノードの高さ情報は０ｍに設定される。ノードの絶対高さ属性が「第１層目の地下」，「第２層目の地下」，…の場合、当該ノードの高さ情報はそれぞれ−７ｍ，−１４ｍ，…に設定される。ノードの絶対高さ属性が「第１層目の高架」，「第２層目の高架」，…の場合、当該ノードの高さ情報はそれぞれ７ｍ，１４ｍ，…に設定される。
【００１４】
図７５に戻って、次に、高さ情報修正処理（Ｓ１００５）において、勾配が不自然に急なリンクの勾配を緩やかに修正し、勾配がきわめて緩やかなリンクの勾配をある程度急な勾配に修正する処理が行われる。
【００１５】
例えば、図８０（ａ）のように、リンクｅｆが不自然に急な勾配であった場合、図８０（ｂ）のように、勾配が一定の閾値以下となるように修正される。
【００１６】
また、図８１（ａ）のように、リンクａｂの勾配が一定の閾値以下のきわめて緩やかな勾配であった場合、図８１（ｂ）のように、リンクａｂにノードｃを追加して、リンクａｃを平坦としリンクｃｂを傾斜とすることで、勾配を一定の閾値以上とする。これは、きわめて緩やかな勾配は、３次元表示した場合に勾配の視認が困難であるため、勾配の見栄えをはっきりさせ視認性を向上させる目的でなされる処理である。
【００１７】
次に、標高算出処理（Ｓ１００６）において、地域メッシュに基づいて、各ノードの標高情報を算出する。標高情報の算出方法は、ノードがトンネル内又は橋上に存在するか、又はそれ以外の場所に存在するかによって異なる。後者の場合、各ノードについて、当該ノードが属する地域メッシュの三次元面を求め、その三次元面上における当該ノードの位置の標高を計算することによって、当該ノードの標高情報が算出される。一方、前者の場合、トンネル又は橋の両端のノードについて、まず、前述の方法で標高情報を求め、次に、トンネル内又は橋上のノードの標高情報は、トンネル又は橋の両端のノードの三次元空間上の点を直線で結んだ場合のその直線上の標高値に設定される。
【００１８】
次に、標高／高さ修正処理（Ｓ１００７）において、各ノードについて、当該ノードの標高情報と高さ情報から合成結果を算出する。この場合も、合成結果の算出方法は、ノードがトンネル内又は橋上に存在するか、又はそれ以外の場所に存在するかによって異なる。前者の場合、合成結果は標高情報そのものに設定される。一方、後者の場合、合成結果は、標高情報に高さ情報を加えた値に設定される。
【００１９】
例えば、図８２に合成結果の算出方法の一例を示す。図８２（ａ）は標高情報、図８２（ｂ）は高さ情報、図８２（ｃ）は合成結果である。標高情報は、トンネル内又は橋上以外のノードは図８２（ａ）に示すように地表面の標高を表す。また、高さ情報は、そのノードの絶対高さ属性に従って、高架であれば、図８２（ｂ）に示すように、一定の高さが与えられる。そして、合成結果は、図８２（ｃ）に示すように、標高情報に高さ情報を加えた値に設定される。
【００２０】
次に、水平座標修正処理（Ｓ１００８）を行う。この水平座標修正処理においては、交差点付近のノード挿入処理、道路間の距離を狭める処理、及び道路間の距離を広げる処理が実行される。
【００２１】
交差点付近のノード挿入処理は、交差点付近での道路の過剰な重なりを解消するために新たなノードを追加する処理である。例えば、図８３（ａ）のように道路が小さな角度で交差する交差点に道幅をつけて表示すると図８３（ｂ）のように、長い距離に亘って重ねて表示され、視認性が悪くなる。そこで、交差点付近のノード挿入処理では、かかる場合に、図８３（ｃ）のように新たにノードｐ，ｑを追加することにより、交差点付近での重なりを解消する。新たなノードを追加するか否かの判定は、交差点のノードｂと、重なり領域内でノードｂから最も遠い点ｇとの距離が所定の閾値以上か否かで判定される。
【００２２】
道路間の距離を狭める処理は、リンク属性情報に基づき近くに位置すべきリンク組が求められ、道路間の距離が狭められる。例えば、高架道路と高架下道路とは本来近くに位置すべきであるが、２本のリンクが離れた位置に置かれる場合がある。道路間の距離を狭める処理では、このような道路間の距離が狭められる。
【００２３】
道路間の距離を広げる処理では、道路の重なり表示を解消するため、道路間の距離が広げられる。
【００２４】
以上の処理が終わる路、最後に、作成された三次元地図情報を記録装置に記録して（Ｓ１００９）、終了する。
【特許文献１】特開２００１−３０５９５３公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
上記従来の地図情報作成装置は、主として、カーナビゲーション用に提供された二次元地図を三次元地図に変換するための技術として発明されたものである。従って、この技術を、一般的な二次元電子地図を三次元電子地図に変換する場合に適用した場合、次のような問題が生じる。
【００２６】
〔１〕上記従来の地図情報作成装置は、地図管理上の図（以下「図葉」という。）の概念がなく、ごく狭い範囲を三次元化するリアルタイム処理向けの技術である。ここで、「図葉」とは、ある一定の地理的範囲を一図として表す場合の区画図をいう。例えば、国土地理院発行の１／２５，０００地形図の場合、１枚の図葉の区画は経度差７’３０”，緯度差５”とされている。一般に、二次元電子地図も、全国を一図のデータとして構成されているわけではなく、複数の図葉に区分されて、それぞれの図葉ごとに管理されている。一方、上記従来の地図情報作成装置は、図又は一定の表示エリア単位で、二次元地図情報を三次元化することを前提として処理されている。従って、複数の図葉に亘って広範囲に二次元地図情報の三次元化を行おうとした場合、隣接する図葉同士の整合がなされていないため破綻を生じる。例えば、隣接する図葉に跨るリンクがあった場合、一方の図葉におけるリンクの高さと他方の図葉におけるリンクの高さとが異なってくる場合が生じる。
【００２７】
〔２〕上記従来の地図情報作成装置では、屈曲点追加処理（Ｓ１００３，図７６参照）において、地域メッシュを跨ぐリンクには、地域メッシュの辺と交差する部分にノードが追加される。このように、すべての地域メッシュとの交点にノードを追加していくと、ノード数が非常に多くなり、三次元地図情報のデータ量が巨大化するという問題がある。特に、地形情報により細かい地域メッシュ（例えば、５ｍメッシュのＤＥＭデータ等）を使用した場合、無駄なノードが極めて多く生成され、広範囲の三次元地図情報を作成するには不適となる。
【００２８】
〔３〕上記従来の地図情報作成装置における高さ情報付加処理（図７５のＳ１００４，図７７，図７８参照）を行った場合、特に長いリンク（高速道路等）が絡むと、高さに無理が生じる場合がある。例えば、図８４（ａ）のように、絶対高さ属性が「高架」であるリンク（１）〜リンク（５）が交差していた場合、高さ情報付加処理を行うことによって、それぞれのリンクは図８４（ｂ）のような５階層の絶対高さ属性が与えられることになる。しかしながら、この場合、一般的な経験則に照らしても、Ａ区域のリンク（１）の高さとＢ区域のリンク（２）の高さとが同じと考えるのは不自然である。また、リンク（１）〜リンク（５）の高さ方向の間隔ｄがすべて同じであると考えるのも、一般的な経験則に照らして不自然である。この場合、図８４（ｃ）のように、リンク（１）が勾配を持っており、それぞれのリンクの間隔がまちまちであると考える方が現実的である。
【００２９】
〔４〕上記従来の地図情報作成装置では、高さ情報付加処理（Ｓ１００４）において、交差する道路の相対高さ属性から絶対高さ属性を修正し、ノード高さ情報生成処理（Ｓ１０１３）において、各ノードの絶対高さ属性に従って高さ情報を一律に与えている。しかしながら、立体交差の高さ間隔は、一律の値を単純に与えるだけでは現実的であるとはいえない。この場合、測量による実測値が利用できなければ、周囲のリンクの状況から判断する必要がある。すなわち、周囲の道路の交差関係や距離、勾配などを評価して総合的に決定する必要がある。
【００３０】
〔５〕上記従来の地図情報作成装置における高さ情報修正処理（図７５のＳ１００５，図８０参照）の勾配が不自然に急なリンクの勾配を緩やかに修正する場合において、連続するリンクの高架区間と地下区間とが接近している場合に、勾配調整で矛盾が発生する。例えば、図８５（ａ）のように、リンクｘａが地下、リンクｄｙが高架、リンクｂｃが地表となっており、リンクａｂ及びリンクｃｄの勾配が一定の閾値以上であったとする。リンクｂｃが短い場合、高さ情報修正処理（Ｓ１００５）において、不自然に急なリンクの勾配を緩やかに修正する処理が行われるが、図８５（ｂ）のようにリンクａｂにノードｅを追加してリンクｅｂ，ｂｃ，ｃｄの勾配を緩やかに修正するとリンクａｅの勾配がさらに急勾配となる。一方、図８５（ｃ）のようにリンクｃｄにノードｆを追加してリンクａｂ，ｂｃ，ｃｆの勾配を緩やかに修正するとリンクｆｄの勾配がさらに急勾配となる。従って、勾配調整処理で解決不能な矛盾が発生することとなる。
【００３１】
〔６〕上記従来の地図情報作成装置における高さ情報修正処理（図７５のＳ１００５，図８１参照）においては、勾配が一定の閾値以下のきわめて緩やかな勾配を、見栄えがはっきりするように一定の閾値以上の勾配に修正する。しかし、緩い勾配は現実においても多数存在する。このような勾配を見栄えをはっきりさせる目的であえて排除することは現実世界から遠ざかる可能性を高めてしまうこととなる。
【００３２】
〔７〕同様に、上記従来の地図情報作成装置における水平座標修正処理（図７５のＳ１００８，図８３参照）における水平方向の位置調整も、測量等で厳密な周囲の状況を把握できていない限り、地図精度の低下につながる。
【００３３】
〔８〕上記従来の地図情報作成装置における標高／高さ修正処理（図７５のＳ１００７，図８２参照）では、高さ情報付加処理（Ｓ１００４）及び高さ情報修正処理（Ｓ１００５）の後に、各ノードの高さ情報に標高情報が加算されるため、その結果、リンクの勾配が許容範囲を超えてしまう場合が生じる。例えば、高さ情報付加処理（Ｓ１００４）及び高さ情報修正処理（Ｓ１００５）の結果、各ノードの高さ情報（地表面を考慮しない高さ）が図８６（ａ）のように勾配のない水平な高架であったとする。これに、地表面の標高情報を単純に加算すると、図８６（ｂ）のようになり、一部のリンク（リンクｄｅ）において許容範囲を超える勾配が発生してしまうことがある。また、通常、このような高架は図８６（ｃ）のようにできる限り上下に波打つことがないように建設されているのが通常であり、地表面を考慮してすべてのリンクにおいて勾配を調整する必要があると考えられる。また、実際の現実の道路では、図８６（ｄ）のように、長い区間は地表面の起伏に沿いながらも無理な勾配が発生しないように高さが調整されているが、上記従来の地図情報作成装置における標高／高さ修正処理では、このような起伏勾配を繰り入れることができない。
【００３４】
そこで、本発明の目的は、以上のような従来の問題点を解決し、一般的な二次元電子地図を三次元電子地図に変換する場合にも適用することが可能な、二次元地図情報を三次元地図情報に自動変換する地図情報作成技術を提供することにある。
【課題を解決するための手段】
【００３５】
本発明に係る地図情報作成装置の第１の構成は、二次元位置座標が与えられた複数の構成点により平面形状が規定されたリンク、及びリンクの接続点であるノードを用いて表現される二次元地図情報から、三次元地図情報を作成する地図情報生成装置であって、前記各リンクの各構成点の二次元位置座標、及び前記各ノードに対し当該ノードにおいて接続するリンクを特定する接続道路情報を含む二次元地図情報を記憶する二次元地図記憶手段と、前記各リンクに対して、少なくとも当該リンクの始終点を含む複数の相対高付与点を設定するとともに、当該相対高付与点に対し地表面又は他のリンクとの相対的な高さ関係を表す相対高さを設定する相対高付与手段と、前記各リンクを、前記各相対高付与点において地表又は他のリンクとの相対高さが局所的に規定された直線、折線、又は曲線として、各相対高付与点における相対高さに整合するように当該リンク上の各相対高付与点又は各構成点の高度を決定する三次元化処理手段と、を備えたことを特徴とする。
【００３６】
この構成によれば、各リンクの相対高さは、相対高付与点に対して局所的に規定され、各リンクは、それぞれの相対高付与点において相対高さに整合するように直線、折線、又は曲線として与えられる。従って、複数のリンクが複雑に立体交差する場合であっても、各リンクの相対高さはそれぞれの立体交差点において独立に決めることができ、上記〔発明が解決しようとする課題〕の欄の〔３〕に指摘したように、リンクに不自然な相対高さが設定されることを防止できる。
【００３７】
ここで、リンクの「構成点」とは、リンクの始点，終点，及び始点と終点の間に設けられる点であって、そのリンクが通る位置座標を指定する点をいう。
【００３８】
本発明に係る地図情報作成装置の第２の構成は、前記第１の構成において、前記二次元地図記憶手段に記憶された二次元地図情報は、さらに各リンク上の一部区間又は全区間における構造種別を規定する構造種別情報を含むものであり、前記相対高付与手段は、前記リンクの構造種別に応じて規定された位置に前記相対高付与点を設定することを特徴とする。
【００３９】
この構成によれば、構造種別に応じて規定された位置に相対高付与点が設定されるため、構造種別に対応した適切な三次元化を行うことが可能となる。
【００４０】
ここで、「構造種別」とは、道路構造による道路の分類をいい、例えば、‘橋’，‘高架’，‘トンネル’，‘切取’，‘盛土’，‘雪覆い’などの種別をいう。
【００４１】
本発明に係る地図情報作成装置の第３の構成は、前記第２の構成において、前記相対高付与手段は、１つのリンク上又は複数の連続するリンク上の一部区間又は全区間に、前記構造種別が‘高架’又は‘盛土’の区間が存在する場合において、当該区間の始点及び終点に地表と同じ相対高さの相対高付与点を設定し、当該区間の始点及び終点の近傍の所定位置に相対高さが地表よりも高い相対高付与点をそれぞれ設定するとともに、両者の間の区間に存在するノードの位置に相対高さが地表よりも高い相対高付与点を設定することを特徴とする。
【００４２】
この構成によれば、‘高架’又は‘盛土’の区間の道路を実際の道路形状に近くなるように適切に三次元化することが可能となる。
【００４３】
ここで、「高架」とは、高架道路、すなわち一般的に河川・湖沼・谷・海以外の場所で連続的な橋梁構造になっている道路をいう。「盛土」とは、土砂を盛った上に道路や鉄道を通した部分をいう。
【００４４】
本発明に係る地図情報作成装置の第４の構成は、前記第２の構成において、前記相対高付与手段は、１つのリンク上又は複数の連続するリンク上の一部区間又は全区間に、前記構造種別が‘切取’の区間が存在する場合において、当該区間の始点及び終点に地表と同じ相対高さの相対高付与点を設定し、両者の間の区間に存在するノードの位置に相対高さが地表と同じ相対高付与点を設定することを特徴とする。
【００４５】
この構成によれば、‘切取’の区間の道路を実際の道路形状に近くなるように適切に三次元化することが可能となる。
【００４６】
ここで、「切取」とは、岩石や土砂を切り取って道路や鉄道を通した部分をいう。
【００４７】
本発明に係る地図情報作成装置の第５の構成は、前記第１乃至４の何れか一の構成において、３以上のリンクが接続するノードにおいて、前記相対高付与手段により各リンクの当該ノードに接続する側の端点（以下「接続端点」という。）に付与された相対高さが整合していない場合、各接続端点の相対高さを、各接続端点の相対高さの最頻値に整合させる道路間相対高さ整合手段を備えていることを特徴とする。
【００４８】
この構成によれば、接続端点での相対高さの不整合を解消し、三次元化処理手段によりリンク上の各点の高度を設定する際に矛盾が生じることを防止できる。
【００４９】
ここで、「ノード」と「接続端点」とは区別される。「ノード」は、リンクの接続端点に位置する抽象的な点を表し、特定のリンクには属さない。一方、「接続端点」は、リンク上の点であって、３以上のリンクが接続されたノードに接続する側のリンクの端点をいう。従って、接続端点は特定のリンクに属する。例えば、３つのリンクが接続するノードの場合、当該ノードと同じ２次元座標上の点には、それぞれのリンクに属する３つの接続端点が重なって存在する。この場合、３つの接続端点は、２次元座標は常に同一の値が与えられるが、高さ（相対高さ又は高度）については必ずしも常に同一の値が与えられるとは限らない。同一のノードに位置する複数の接続端点の相対高さが一致していない場合を「相対高さが整合していない」又は「相対高さが不整合である」といい、同一のノードに位置する複数の接続端点の相対高さがすべて一致する場合を「相対高さが整合している」という。
【００５０】
本発明に係る地図情報作成装置の第６の構成は、前記第５の構成において、前記二次元地図記憶手段に記憶された二次元地図情報は、さらに各リンク上の一部区間又は全区間における道路種別，道路の形状，又は用途（以下「カテゴリ」という。）を規定するカテゴリ情報を含むものであり、前記道路間相対高さ整合手段は、３以上のリンクが接続するノードにおいて、前記相対高付与手段により各リンクの接続端点に付与された相対高さが整合していない場合であっても、当該ノードに接続するリンクの中に、当該接続端点における前記構造種別が‘高架’又は‘盛土’で前記カテゴリが‘ランプ’のリンクが少なくとも一つ含まれ、且つ当該接続端点における前記構造種別が‘切取’又は‘構造種別なし’のリンクが少なくとも一つ含まれている場合、当該ノードにおける各接続端点の相対高さを地表と同じ高さに設定することを特徴とする。
【００５１】
この構成によれば、ランプ（取り付け道路）のように、高架・盛土区間の道路と地上に道路とを接続するような道路について、適切な相対高さを設定することが可能となる。
【００５２】
ここで、「道路種別」とは、高速自動車道、一般国道（指定区間、指定区間外）、主要地方道（都道府県道、市道）、一般都道府県道、一般市道（一級、二級、その他）、町村道、自転車歩行者専用路、認定外道路、都市計画道路等の種別をいう。「道路の形状，又は用途」とは、例えば、‘上下線分離道路’，‘本線’，‘本線渡り線’，‘ランプ（取り付け道路）’，‘側線’等をいう。尚、「ランプ」とは、立体交差における道路相互の連絡、または高さの異なる道路間のための車道をいう。また、「構造種別なし」とは、道路の構造種別が特に設定されていないことをいう。
【００５３】
また、リンクの「接続端点における構造種別」とは、接続端点を含むリンク内の区間に規定された構造種別をいう。例えば、点ａ，ｂ，ｃを通る１つのリンク（ａ，ｃ）に対して、区間［ａ，ｂ］に構造種別‘切取’が規定され、区間［ｂ，ｃ］には構造種別‘盛土’が規定されていた場合、「接続端点ａにおける構造種別」は‘切取’、「接続端点ｃにおける構造種別」は‘盛土’である。
【００５４】
本発明に係る地図情報作成装置の第７の構成は、前記第５の構成において、前記道路間相対高さ整合手段は、前記構造種別が‘高架’又は‘盛土’のリンクと前記構造種別が‘橋’のリンクとが接続するノードにおいて、各リンクの接続端点の相対高さを地表よりも高い高さに設定することを特徴とする。
【００５５】
この構成によれば、橋区間が高架・盛土区間と接続している箇所の相対高さを適切に設定することが可能となる。
【００５６】
ここで、「橋」とは、一般的に河川・湖沼・谷・海に架け渡された橋梁構造になっている道路をいう。
【００５７】
本発明に係る地図情報作成装置の第８の構成は、前記第１乃至７の何れか一の構成において、前記相対高付与手段により前記相対高付与点が３つ以上設定されたリンクにおいて、同一の相対高さを有する相対高付与点が３つ以上連続する場合において、前記構造種別が‘切取’の区間の始点又は終点に位置しない相対高付与点を削除する道路内相対高さ整合手段を備えたことを特徴とする。
【００５８】
この構成によれば、無用な相対高設定点を削除して三次元地図情報のデータ量を削減することが可能となる。
【００５９】
本発明に係る地図情報作成装置の第９の構成は、前記第１乃至８の何れか一の構成において、前記二次元地図記憶手段に記憶された二次元地図情報は、さらに各リンクに対して各リンクの上下関係を規定する値である高さレベルを含むものであり、前記相対高付与手段は、２以上のリンクが互いに立体交差する場合において、それらの各リンク上の立体交差点に相対高付与点を設定するとともに、前記立体交差点における各リンクの相対高付与点の相対高さを、前記高さレベルに従って決定することを特徴とする。
【００６０】
この構成によれば、立体交差点における各リンクの上下関係を適切に設定することが可能となる。
【００６１】
ここで、「高さレベル」は、二次元地図情報において道路の立体交差部分や高架部分のように複数の道路が重なった地点において、何れの道路を上側に表示するかを特定するためのパラメータである。従って、高さレベルは、値の大小関係のみに意味があり、その値の大きさ自体に意味はない。
【００６２】
本発明に係る地図情報作成装置の第１０の構成は、前記第１乃至９の何れか一の構成において、前記相対高付与手段により相対高付与点が設定された各リンクに対し、１つのリンク内又は二差路で接続された２つのリンクにおいて、連続して並ぶ３つの相対高付与点のうち、両側の相対高付与点の相対高さが地表よりも高く、両側の相対高付与点の相対高さに対して中央の相対高さが低く、且つ中央の相対高付与点と同地点に当該相対高付与点よりも高い相対高さを有する他の相対高付与点が存在しない場合、当該中央の相対高付与点の相対高さを、両側の相対高付与点の相対高さの何れか一方又は両者の中間の値に設定する道路内相対高さ補正手段を備えていることを特徴とする。
【００６３】
この構成によれば、高架・盛土区間の途中に不自然に凹んだ相対高付与点が設定されている場合、その凹みを平坦化し、より現実の状態に近い形で三次元化することが可能となる。
【００６４】
本発明に係る地図情報作成装置の第１１の構成は、前記第１乃至９の何れか一の構成において、前記相対高付与手段により相対高付与点が設定された各リンクに対し、１つのリンク内又は二差路で接続された２つのリンクにおいて、連続して並ぶ３つの相対高付与点のうち、両側の相対高付与点の相対高さが地表よりも低く、両側の相対高付与点の相対高さに対して中央の相対高さが高く、且つ中央の相対高付与点と同地点に当該相対高付与点よりも低い相対高さを有する他の相対高付与点が存在しない場合、当該中央の相対高付与点の相対高さを、両側の相対高付与点の相対高さの何れか一方又は両者の中間の値に設定する道路内相対高さ補正手段を備えていることを特徴とする。
【００６５】
この構成によれば、地表下の切取区間の途中に不自然に凸出した相対高付与点が設定されている場合、その凸出部分を平坦化し、より現実の状態に近い形で三次元化することが可能となる。
【００６６】
本発明に係る地図情報作成装置の第１２の構成は、前記第１乃至８の何れか一の構成において、前記二次元地図情報は、ある一定の地理的範囲を一図として表す場合の区画図（以下「図葉」という。）を単位として、それぞれの図葉ごとに構成されたものであり、前記相対高付与手段により各リンク上に相対高付与点が設定された場合において、各図葉間で相対高付与点の不整合が生じている場合、各図葉間で相対高付与点を整合させる相対高さ整合手段を備えていることを特徴とする。
【００６７】
この構成によれば、図葉間で相対高さの不整合が生じた場合にそれを整合させることにより、広域の地図を三次元化する場合でも図葉間での矛盾が生じることを防止できる。
【００６８】
本発明に係る地図情報作成装置の第１３の構成は、前記第１乃至１２の何れか一の構成において、前記三次元化処理手段は、少なくとも前記リンク上の前記構成点及び前記相対高付与点に対して高度を決定することを特徴とする。
【００６９】
この構成によれば、構成点及び前記相対高付与点に対して高度を決定することで、道路の三次元形状を適切に表現することができる。
【００７０】
本発明に係る地図情報作成装置の第１４の構成は、前記第１乃至１３の何れか一の構成において、地上を一定の経緯方眼として区画したときの各区画の頂点の｛緯度、経度、標高｝の組の情報であるＤＥＭ（Digital elevation model）データが記憶されたＤＥＭデータ記憶手段を備え、前記三次元化処理手段は、前記ＤＥＭデータ記憶手段に記憶されたＤＥＭデータに基づき、前記各リンク上の各相対高付与点及びその他の構成点の標高値を算出し、各相対高付与点及びその他の構成点の標高として設定する標高値設定手段と、前記各リンクの各相対高付与点について、各相対高付与点に設定された相対高さに応じて地表面に対する高さ（以下「比高」という。）を決定し、当該相対高付与点の標高に前記比高を加えた値を当該相対高付与点の高度に設定するとともに、各相対高付与点を補間する所定の補間曲線を計算し、相対高付与点以外の構成点の高度を同地点の前記補間曲線上の高さに設定する３Ｄ化手段と、を備えていることを特徴とする。
【００７１】
この構成によれば、ＤＥＭデータにより与えられる標高値を、各リンク上の各相対高付与点及びその他の構成点の高度に適切に反映させることができる。また、従来のようにリンクと経緯方眼線との交点にすべて屈曲点を設定するのではなく、最小限必要な点にのみＤＥＭデータの標高値を反映させるため、三次元地図情報のデータ量の増加を抑えることができる。
【００７２】
本発明に係る地図情報作成装置の第１５の構成は、前記第１４の構成において、前記３Ｄ化手段は、高度を設定した前記各相対高付与点を補間する場合において、前記所定の補間曲線としてＳ字曲線を用いることを特徴とする。
【００７３】
この構成によれば、補間曲線にＳ字曲線を使用することで、現実の道路勾配に近い勾配を実現することができる。
【００７４】
ここで、「Ｓ字曲線」としては、例えば、ボルツマン(Boltzmann)関数，シグモイドRichards関数，シグモイドWeibull関数，シグモイド・ロジスティック関数等のシグモイド曲線などを使用することができる。
【００７５】
本発明に係る地図情報作成装置の第１６の構成は、前記第１４又は１５の構成において、前記３Ｄ化手段は、
１つのリンク内又は二差路で接続された２つのリンクの構造種別が‘トンネル’に設定されている場合において、当該構造種別が設定された区間（以下「トンネル区間」という。）の始点及び終点の間を補間する所定の補間曲線を計算するとともに、当該トンネル区間における相対高付与点又は構成点の高度を同地点の前記補間曲線上の高さに設定することを特徴とする。
【００７６】
この構成によれば、トンネル区間における道路の高度を、現実に近いように適切に設定することができる。
【００７７】
本発明に係る地図情報作成装置の第１７の構成は、前記第１乃至１６の何れか一の構成において、前記三次元化処理手段は、前記３Ｄ化手段により、各相対高付与点及びその他の構成点（以下「構成点等」という。）に高度が設定された各リンクについて、当該リンク内の各構成点等の間の区間の勾配を計算し、勾配が所定の閾値を超える区間がある場合には、当該区間の勾配が所定の閾値以下となるように、当該リンク並びに当該リンクと同一の構造種別及びリンク種別を有し当該リンクから二差路によって連続して連なるリンク内の各構成点等の高度を補正する勾配調整手段を備えていることを特徴とする。
【００７８】
この構成によれば、道路構造令等の法令に規定された勾配以上の勾配が生じていた場合などに、勾配を緩和させるように各リンクの構成点等の高度を適切に調整することができる。
【００７９】
本発明に係る地図情報作成装置の第１８の構成は、前記第１７の構成において、前記三次元化処理手段は、前記各リンクの端点のうち、前記勾配調整手段により高度の補正がされた端点（以下「勾配調整後端点」という。）について、当該勾配調整後端点に接続する他のリンクの端点の高度を当該勾配調整後端点に再設定するとともに、端点の高度が再設定されたリンクに対し、前記勾配調整後端点に接続する端点の高度を固定した状態で、前記勾配調整手段による各構成点等の高度の補正を行う接続道路線調整手段を備えたことを特徴とする。
【００８０】
この構成によれば、勾配調整手段により高度の補正がされた際に、接続するリンク間で接続端点の高度にずれが生じた場合、そのずれを補正し、高度の矛盾が生じることが防止される。
【００８１】
本発明に係る地図情報作成装置の第１９の構成は、前記第１乃至１８の何れか一の構成において、前記三次元化処理手段は、２つ以上のリンクが立体交差する点（以下「立体交差点」という。）に位置するそれぞれのリンクの相対高付与点の高度及び相対高さを比較し、２つの相対高付与点の相対高さと高度が整合し且つ両者の高度の差が所定の閾値未満の場合、又は２つの相対高付与点の相対高さに対して高度が逆転している場合、両者の高度が相対高さと整合し且つ両者の高度の差が所定の閾値以上となるように高度を補正する近接逆転調整手段を備えたことを特徴とする。
【００８２】
この構成によれば、勾配調整手段により高度の補正がされた際に、立体交差するリンク間の距離が接近しすぎた場合や、相対高さに対して設定された高度が逆転した場合に、適切な高度の補正を行うことができる。
【００８３】
本発明に係る地図情報作成装置の第２０の構成は、前記第１乃至１９の何れか一の構成において、二次元地図上の特定の地点における標高値に関する情報が記憶された標高点情報記憶手段を備え、前記三次元化処理手段は、前記標高値が与えられた点（以下「標高点」という。）を前記各リンク上の点に対応づけた道路標高点を設定する標高点取り込み手段と、前記道路標高点が設定された各リンクについて、前記道路標高点の高度を前記道路標高点に対応する前記標高点の標高値に設定し、当該リンク並びに当該リンクと同一の構造種別及びリンク種別を有し当該リンクから二差路によって連続して連なるリンク（以下「マルチリンク」という。）内の各構成点等の高度を、当該マルチリンクの両端点及び道路標高点を通る補間曲線に従って再設定する標高点調整手段と、を備えたことを特徴とする。
【００８４】
この構成によれば、標高点の標高値を各リンクの高度に取り込むことが可能となる。
【００８５】
本発明に係る地図情報作成装置の第２１の構成は、前記第１乃至２０の何れか一の構成において、前記三次元化処理手段は、前記各ノードのうち、当該ノードに接続する各リンク（以下「接続リンク」という。）の端点（以下「接続端点」という。）が、前記標高点調整手段により高度が再設定されたことにより高度の不整合が生じた場合、各接続リンク上における接続端点に最も近い道路標高点のうち高度が最大のものと最小のものとを抽出し、抽出された２つの道路標高点（以下「抽出道路標高点」という。）間の区間を各接続リンクに沿って所定の補間曲線で補間し、当該区間における構成点等（接続端点を含む。）の高度を同地点の前記補間曲線上の高さに設定し、前記各抽出道路標高点が存在する接続リンク以外の接続リンクの接続端点の高度を、前記各抽出道路標高点が存在する接続リンクの接続端点の高度に設定する交差点調整手段を備えたことを特徴とする。
【００８６】
この構成によれば、標高点調整手段により標高点の標高値をリンクの高度に取り込んだ際に、接続するリンク間の高度に不整合が生じた場合、適切な高度の補正を行うことにより整合させることができる。
【００８７】
本発明に係る地図情報作成装置の第２２の構成は、前記第１乃至２１の何れか一の構成において、前記三次元化処理手段は、各リンクについて、当該リンク内の各構成点における勾配の変化量が所定の閾値以上の区間を抽出し、抽出された区間における構成点の高度を勾配の変化量が所定の閾値未満となるように補正するピーク除去手段
を備えたことを特徴とする。
【００８８】
この構成によれば、各リンクにおいて勾配が不自然に急変化する区間が存在する場合、そのような不自然な急変化を緩和してより現実に近い道路形状に補正することができる。
【００８９】
本発明に係る地図情報作成装置の第２３の構成は、前記第１乃至２２の何れか一の構成において、連続位置記録装置によって採取した道なりの三次元座標点列からなる走行軌跡データを記憶する走行軌跡データ記憶手段を備え、前記三次元化処理手段は、前記走行軌跡データを前記各リンクと対応づける走行軌跡関連付け手段と、前記走行軌跡関連付け手段により関連づけられた各リンク内における各相対高付与点及びその他の構成点の高度を、前記走行軌跡データにより与えられる高度に補正する走行軌跡データの取り込み手段と、を備えたことを特徴とする。
【００９０】
この構成によれば、走行軌跡データをそれに対応する各リンクの高度に反映させ、より正確な三次元化を行うことが可能となる。
【００９１】
本発明に係る地図情報作成装置の第２４の構成は、前記第１乃至２３の何れか一の構成において、前記二次元地図情報は、ある一定の地理的範囲を一図として表す場合の区画図（以下「図葉」という。）を単位として構成されており、前記三次元化処理手段は、複数の図葉に跨るリンクが存在する場合、当該リンクの各相対高付与点又はその他の構成点の高度を変更した場合、当該リンクが存在する他の図葉における当該リンクの各相対高付与点又はその他の構成点の高度も変更する他図整合処理手段を備えていることを特徴とする。
【００９２】
この構成によれば、図葉を跨るリンクにおいて高度が設定された場合や、図葉間を跨いでリンクの勾配調整が行われた場合に、構成点等の高度の変更を行った図葉に加えて、高度変更がされたリンクが存在するすべての図葉に対して同じリンクに対する高度変更を行うことにより、各図葉でリンクの高度の不整合が生じることが防止される。
【００９３】
本発明に係るプログラムは、コンピュータに読み込ませて実行することにより、コンピュータを前記第１乃至２４の何れか一の構成の地図情報作成装置として機能させることを特徴とする。
【００９４】
また、本発明に係る地図情報生成方法は、二次元位置座標が与えられた複数の構成点により平面形状が規定されたリンク、及び前記各ノードに対し当該ノードにおいて接続するリンクを特定する接続道路情報を含む二次元地図情報から、三次元地図情報を作成する地図情報生成方法であって、前記二次元地図情報に含まれる前記各リンクに対して、少なくとも当該リンクの始終点を含む複数の相対高付与点を設定し、当該相対高付与点に対し地表面又は他のリンクとの相対的な高さ関係を表す相対高さを設定する相対高さ生成処理、及び、前記各リンクを、前記各相対高付与点において地表又は他のリンクとの相対高さが局所的に規定された直線、折線、又は曲線として、各相対高付与点における相対高さに整合するように当該リンク上の各相対高付与点又は各構成点の高度を決定する三次元化処理を実行することを特徴とする。
【００９５】
これにより、上述したように、複数のリンクが複雑に立体交差する場合であっても、各リンクの相対高さはそれぞれの立体交差点において独立に決めることができるため、リンクに不自然な相対高さが設定されることを防止できる。
【発明の効果】
【００９６】
以上のように、本発明によれば、各リンクの相対高さは、相対高付与点に対して局所的に規定され、各リンクは、それぞれの相対高付与点において相対高さに整合するように直線、折線、又は曲線として与えられるため、複数のリンクが複雑に立体交差する場合であっても、各リンクの相対高さはそれぞれの立体交差点において独立に決めることができる。従って、より現実に近い三次元化を行うことが可能となる。
【００９７】
また、図葉間で相対高さの不整合が生じた場合にそれを整合させることにより、広域の地図を三次元化する場合でも図葉間での矛盾が生じることを防止できる。
【００９８】
また、従来のようにリンクと経緯方眼線との交点にすべて屈曲点を設定するのではなく、最小限必要な点（各相対高付与点及びその他の構成点）にのみＤＥＭデータの標高値を反映させるため、三次元地図情報のデータ量の増加を抑えることができる。
【００９９】
また、走行軌跡データの取り込み手段により、走行軌跡データをそれに対応する各リンクの高度に反映させ、より正確な三次元化を行うことが可能となる。
【０１００】
また、他図整合処理手段により、図葉を跨るリンクにおいて高度が設定された場合や、図葉間を跨いでリンクの勾配調整が行われた場合に、構成点等の高度の変更を行った図葉に加えて、高度変更がされたリンクが存在するすべての図葉に対して同じリンクに対する高度変更を行うことにより、各図葉でリンクの高度の不整合が生じることが防止される。従って、広域な二次元地図情報の三次元化に適用することが可能となる。
【発明を実施するための最良の形態】
【０１０１】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例１】
【０１０２】
〔１〕地図情報作成装置の全体構成
図１は本発明の実施例１に係る地図情報作成装置１０のハードウェア構成を表すブロック図である。本実施例の地図情報作成装置は、ハードウェアとしては、中央演算装置（ＣＰＵ）１、メモリ２、外部記憶装置３、入力デバイス４、ディスプレイ５、通信インタフェース６、可換記憶媒体７、及び内部バス８を備えている。これらは、通常のコンピュータと同様のシステム構成である。
【０１０３】
外部記憶装置３に記憶された地図情報作成プログラム又は可換記憶媒体７から読み込まれる地図情報作成プログラム、若しくは通信インタフェースを介して外部データベースから読み込まれる地図情報作成プログラムをメモリ２に読み出しＣＰＵ１によって実行することにより、このコンピュータシステムは本実施例の地図情報作成装置として機能する。外部記憶装置３又は可換記憶媒体７には、二次元地図情報である交差点関連テーブル、交差点間道路関連テーブル、標高点テーブル、走行軌跡テーブル、及びメッシュ標高点テーブルが予め記憶されている。尚、これらのテーブルについての詳細は、後ほど説明する。入力デバイス４は、キーボードやマウス等により構成されており、地図情報作成プログラムの実行の際の指示や対話処理を行う際の入力装置として使用される。また、ディスプレイ５は、プログラムの実行状況や対話処理の際の入力選択の表示等を行う出力装置として使用される。
【０１０４】
図２は実施例１に係る地図情報作成装置の機能的な構成を表すブロック図である。
【０１０５】
機能構成においては、地図情報作成装置１０は、標高点情報記憶手段１１、二次元地図記憶手段１２、走行軌跡データ記憶手段１３、ＤＥＭデータ記憶手段１４、抽出処理手段１５、走行軌跡関連付手段１６、中間テーブル記憶手段１７、走行軌跡記憶手段１８、三次元化処理手段１９、及び三次元地図記憶手段２０の構成を備えている。
【０１０６】
標高点情報記憶手段１１は、１万分の１地形図、１／５０００や１／２５００国土基本図、１／２５００都市計画図、公共測量地図などによって与えられている各種の標高点を格納したテーブルである標高点テーブルを記憶する。二次元地図記憶手段１２は、三次元地図情報の作成の基礎となる二次元地図情報である交差点関連テーブル及び交差点間道路関連テーブルを記憶する。
【０１０７】
走行軌跡データ記憶手段１３は、走行軌跡データが格納された走行軌跡テーブルを記憶する。ここで、「走行軌跡データ」とは、POS LV（商標名）（Position and Orientation System for Land Vehicles）のような連続位置記録装置によって採取した道なりの三次元座標点列からなるデータをいう。
【０１０８】
ＤＥＭデータ記憶手段１４は、５ｍメッシュ，５０ｍメッシュ，２５０ｍメッシュ等のＤＥＭデータが格納されたメッシュ標高点テーブルを記憶する。これらの各記憶手段に記憶された各テーブルのデータ構造の詳細については後述する。
【０１０９】
抽出処理手段１５は、二次元地図記憶手段１２に記憶された交差点関連テーブル及び交差点間道路関連テーブル、並びに標高点テーブルから三次元情報を生成し、中間テーブル記憶手段１７に保存する。中間テーブル記憶手段１７には、この生成された三次元情報が追加された地図情報が、３Ｄ空間テーブル及び３Ｄ属性テーブルとして記憶される。
【０１１０】
走行軌跡関連付手段１６は、走行軌跡テーブルの各座標点と、交差点間道路関連テーブルに格納された各道路情報との対応付けを行う。走行軌跡記憶手段１８には、道路情報と関連づけられた走行軌跡の各座標点が走行軌跡関連テーブルとして記憶される。
【０１１１】
三次元化処理手段１９は、中間テーブル記憶手段１７に記憶された３Ｄ空間テーブル及び３Ｄ属性テーブル、ＤＥＭデータ記憶手段１４に記憶されたメッシュ標高点テーブル、並びに走行軌跡記憶手段１８に記憶された走行軌跡関連テーブルの各情報に基づいて、３Ｄ空間テーブル及び３Ｄ属性テーブルの修正を行い、修正された３Ｄ空間テーブル及び３Ｄ属性テーブルを三次元地図記憶手段２０に出力する。
【０１１２】
〔２〕各種地図情報のデータ構造
〔２−１〕地図に関する各情報と現実の地図の構造との関係
上述の各種地図情報を格納する各テーブルのデータ構造の詳細について説明する前に、地図に関する各情報と実際の地図の構造との関連について説明する。
【０１１３】
図３は二次元地図情報の構成要素を図形的に表した図である。本発明では二次元地図情報のうち、道路ネットワーク（以下「道路ＮＷ」という。）のみを扱うものとする。道路ＮＷは、交差点（Ｎ１，Ｎ２，…）及び交差点間道路（Ｌ１，Ｌ２，…）から構成される。以下では、交差点のことを「ノード」といい、ノード間を結ぶ交差点間道路のことを「リンク」という。尚、各リンクの両端点のうちの一方を始点，他方を終点とする。また、‘橋’及び‘トンネル’の始点及び終点は、交差点でなくてもノードが設定されるものとする（例えば、図３のノードＮ３．Ｎ４）。ここで、ノードＮ３，Ｎ４のように２本のリンクが接続されたノードは一般的には交差点とは呼ばないが、電子地図を取り扱う上では、これも便宜上、交差点の一種とみなし、このような交差点を「二差路」と呼ぶ。
【０１１４】
図３においては、ノード（交差点）は○で記し、リンク（交差点間道路）は２つのノード間を結ぶ太線で記し、構成点は△で記す。
【０１１５】
ここで、「構成点」とは、１つのリンクの始点，終点，及び始点と終点の間に設けられる点であって、そのリンクが通る位置座標を指定する点をいう。各リンクの二次元形状は、各構成点を通る二次元ポリラインとして表現される。また、１つのリンクはそれぞれ１つのオブジェクトとして取り扱われる。１つの図葉内において、それぞれのリンクは、オブジェクトＩＤにより識別される。
【０１１６】
（１）構造種別
さらに、各リンクには道路属性として構造種別が与えられる。「構造種別」とは、指定された区間における道路構造をいう。
【０１１７】
構造種別としては、例えば、‘橋’，‘高架’，‘トンネル’，‘切取’，‘盛土’，‘雪覆い’などがある。構造種別は、１つのリンクの内部に区間ごとに複数設定することが可能である。例えば、図４（ａ）のように、リンクａｂにおいて、区間ｐ１ｐ２に高架，区間ｐ３ｐ４に切取，区間ｐ５ｐ６に盛土があった場合、図４（ｂ）のように、リンクａｂのそれぞれの対応する区間の構造種別が、それぞれ、高架，切取，盛土に設定される。
【０１１８】
また、構造種別はリンクの両側もしくは、サイドごとに設定される。例えば、リンクの両側に切取があった場合には、リンクの‘両側’が‘切取’と設定され、リンクの右側のみ切取があった場合には、そのリンクの‘右側’が‘切取’に設定される。尚、リンクの始点から終点に向かって右側を「リンクの右側」、向かって左側を「リンクの左側」という。
【０１１９】
（２）相対高さ
本実施例１において用いられる「相対高さ」は、上記特許文献１において用いられる「リンクの相対高さ」とは概念的に異なるので、以下、相対高さについて説明する。
【０１２０】
図５（ａ）は、特許文献１に記載されたリンクの相対高さを図示したものである。図５（ａ）は３本のリンクが互い違いに交差している状態を表しており、リンクＬ１はリンクＬ２のアンダーパス，リンクＬ２はリンクＬ３のアンダーパスのように相対高さが与えられている。この場合、すべてのリンク間の相対高さに対して矛盾なくリンクの高さ（特許文献１にいう「絶対高さ」）を定めると、図５（ａ）に示したように３層に亘ってリンクＬ１，Ｌ２，Ｌ３が水平区間として配置される。
【０１２１】
このように、各リンクが高さを持った水平区間として与えられた場合、水平区間の範囲内の他のリンクに影響を及ぼすことになる。図５（ａ）の例では、リンクＬ２が範囲を持った水平区間として表されることによって、リンクＬ１とリンクＬ２との相対高さ関係が、リンクＬ３の高さに影響を与えている。
【０１２２】
そこで、本実施例１においては、リンクの相対高さを、リンク全体の相対高さとして与えるのではなく、図５（ｂ）のように、リンク内の特定の点（リンクの交差する点やリンクの端点など）の相対高さとして与える。そして、相対高さが与えられた点をリンクに沿ってなめらかにつながるように高さを調整することにより、広範囲に亘って無理や矛盾の少ない三次元道路ネットワークの作成が可能となる。尚、相対高さが与えられた点（以下「相対高付与点」という。）と上述の構成点とは必ずしも一致する必要はない。
【０１２３】
次に、上述の各種地図情報を格納する各テーブルのデータ構造の詳細について説明する。
【０１２４】
〔２−２〕三次元地図情報の作成の元となる各種情報テーブルのデータ構造
（１）交差点間道路関連テーブル
交差点間道路関連テーブルは、図葉内の各リンクに関する情報が格納されるテーブルである。図６は、交差点間道路関連テーブルのデータ構造を表す図である。
【０１２５】
交差点間道路関連テーブルは、“図葉範囲”，“図葉内リンク数（ｎ１）”，及びｎ１個の“道路関連情報”によって構成されている。ここで、「図葉範囲」とは、当該交差点間道路関連テーブルに対応する図葉の範囲をいい、図葉の左下及び右上の座標（緯度，経度）からなる。「図葉内リンク数」は、当該図葉内のリンクの数である。「道路関連情報」は、当該図葉内の各リンクに関する各種情報が格納されるレコードである。この“道路関連情報”は、図葉内のそれぞれのリンクに一対一に対応して設けられる。
【０１２６】
“道路関連情報”は、“オブジェクトＩＤ”，“カテゴリ”，“存在領域情報”，“高さレベル”，“構成点数（ｍｉ）”，ｍｉ個の“構成点位置情報”，“構造種別数（ｒｉ）”，ｒｉ個の“構造種別情報”から構成されている。
【０１２７】
「オブジェクトＩＤ」とは、当該道路関連情報に対応するリンク（以下「道路関連情報対応リンク」という。）のオブジェクトＩＤ（以下「ＯＩＤ」という。）である。
【０１２８】
「カテゴリ」とは、道路関連情報対応リンクの道路種別や道路の形状などの情報であり、“道路種別コード”及び“リンク種別コード”からなる。「道路種別コード」は、道路種別を表し、例えば、‘未定義’，‘高速’，‘都市高速’，‘一般国道’，‘主要地方道’，‘指定市道’，‘一般都道府県道’，…のように定められる。「リンク種別コード」は、道路の形状や種別による分類を表し、例えば、‘上下線分離道路’，‘本線’，‘本線渡り線’，‘ランプ（取り付け道路）’，‘側線’，…のように定められる。
【０１２９】
「存在領域情報」は、道路関連情報対応リンクが存在する地図内の矩形領域（存在領域）に関する情報であり、当該存在領域の左下及び右上の座標（緯度，経度）からなる。
【０１３０】
「高さレベル」とは、道路関連情報対応リンクと道路関連情報対応リンクに交差する他のリンクとの相対的な高さ関係を表す情報である。これは、二次元地図を描画する際に交差するリンクの上下関係を判定するために使用される情報であり、例えば、−１２７〜１２８までの数値とされる。交差する２つのリンクがあった場合、“高さレベル”が大きい方のリンクが上側とされる。
【０１３１】
「構成点数」は、道路関連情報対応リンク内の構成点の数を表す。「構成点位置情報」は、各構成点の二次元の位置座標（緯度，経度）を表す。ここで、“構成点位置情報”は、道路関連情報対応リンクの始点から終点に向かって配列されている。すなわち、“構成点数”の次にくる“構成点位置情報”は、道路関連情報対応リンクの始点の位置情報であり、最後の“構成点位置情報”は、道路関連情報対応リンクの終点の位置情報である。
【０１３２】
「構造種別数」は、当該道路関連情報対応リンク内に設定されている構造種別の数を表す。ここで、「構造種別」とは、道路構造の種類をいい、例えば、‘種別なし’，‘橋’，‘高架’，‘トンネル’，‘切取’，‘盛土’，‘雪覆い’などである。
【０１３３】
「構造種別情報」とは、道路関連情報対応リンクの所定区間における構造種別の情報である。構造種別情報は、“構造種別コード”，“対象サイド”，“区間開始位置”，及び“区間終了位置”の組から構成される。
【０１３４】
「対象サイド」とは、当該構造種別情報によって構造種別が指定される道路関連情報対応リンクのサイド（始点から終点に向かって見たときのサイド）を表し、‘両側’，‘左側’，‘右側’のいずれかの値を採る。
【０１３５】
「区間開始位置」及び「区間終了位置」は、当該構造種別情報によって構造種別が指定される道路関連情報対応リンクの区間の開始位置及び終了位置を表す。開始位置及び終了位置は、道路関連情報対応リンクの長さを１（１００％）として、道路関連情報対応リンクの始点から開始位置又は終了位置までの長さ（％）で表される。尚、“区間開始位置”及び“区間終了位置”は、必ずしも構成点の位置と一致する必要はない。
【０１３６】
「構造種別コード」とは、対象区間，対象サイドにおける道路関連情報対応リンクの構造種別を表すコードである。“構造種別コード”は、例えば、‘種別なし’，‘橋’，‘高架’，‘トンネル’，‘切取’，‘盛土’，‘雪覆い’，…のような値を採る。
【０１３７】
（２）交差点関連テーブル
交差点関連テーブルは、図葉内の各ノードに関する情報が格納されるテーブルである。図７は、交差点関連テーブルのデータ構造を表す図である。
【０１３８】
交差点関連テーブルは、“図葉範囲”，“図葉内交差点数（ｎ２）”，及びｎ２個の“交差点関連情報”によって構成されている。ここで、「図葉範囲」とは、当該交差点関連テーブルに対応する図葉の範囲をいい、図葉の左下及び右上の座標（緯度，経度）からなる。「図葉内交差点数」は、当該図葉内のノード（交差点）の数である。「交差点関連情報」は、当該図葉内の各ノードに関する各種情報が格納されるレコードである。この“交差点関連情報”は、図葉内のそれぞれのノードに一対一に対応して設けられる。
【０１３９】
“交差点関連情報”は、“ノード位置情報”，“接続道路数（ｓｊ）”，及びｓｊ個の“接続道路情報”から構成されている。
【０１４０】
「ノード位置情報」は、当該接続位相レコードに対応するノード（以下「交差点関連情報対応ノード」という。）の二次元位置座標（緯度，経度）を表す情報である。
【０１４１】
「接続道路数」は、交差点関連情報対応ノードを始点又は終点とするリンク（以下「接続リンク」という。）の数を表す。
【０１４２】
「接続道路情報」は、上記接続リンクのそれぞれに対応して設けられており、“オブジェクトＩＤ”，“始点／終点フラグ”，及び“メッシュ内フラグ”の組からなる。「オブジェクトＩＤ」は、当該接続リンクのオブジェクトＩＤである。「始点／終点フラグ」は、交差点関連情報対応ノードに対し当該接続リンクが始点側又は終点側のいずれで接続しているかを表すフラグであり、０が‘始点側’，１が‘終点側’を表す。「メッシュ内フラグ」は、接続リンクが図葉内に属するか否かを示すフラグであり、０は‘属さない’，１は‘属す’を表す。
【０１４３】
（３）標高点テーブル
標高点テーブルは、各種標高点の置かれている位置とその標高値を格納するテーブルである。ここで、「標高点」とは、都市計画図や国土地理院が提供する情報等によって標高値が与えられる、標高が既知の地点をいう。標高点の種類としては、例えば、‘三角点’，‘水準点’，‘多角点及び標石のある図根点’等がある。
【０１４４】
図８は、標高点テーブルのデータ構造を表す図である。標高点テーブルは、“標高点数（ｎ３）”，及びｎ３個の“標高点レコード”から構成されている。ここで、「標高点数」は、図葉内に含まれる標高点の数を表す。「標高点レコード」は、各標高点に対して一対一に設けられており、その標高点に関する情報を格納するレコードである。
【０１４５】
各“標高点レコード”は、“標高点座標”，“標高値”，及び“地物区別”の組からなる。「標高点座標」は、当該標高点レコードに対応する標高点（以下「対象標高点」という。）の二次元位置座標（緯度，経度）を表す情報である。「標高値」は、対象標高点の標高値（海抜）である。「地物区別」は、対象標高点が置かれている地物を表し、‘地表’又は‘高架’の値を採る。すなわち、標高点は必ずしも地表に置かれているとは限られず、高架上に置かれている場合もある。従って、“地物区別”によって、標高点が地表に置かれているか高架上に置かれているかを区別する。
【０１４６】
（４）走行軌跡テーブル
走行軌跡テーブルは、全地球測位システム（ＧＰＳ）や慣性計測ユニット‘ＩＭＵ’（一般にジャイロ）などを統合したシステムを用いて自動車で道路を走行しながら実測された三次元位置データのデータ列からなる走行軌跡データを格納するテーブルである。
【０１４７】
図９は、走行軌跡テーブルのデータ構造を表す図である。走行軌跡テーブルは、“軌跡レコード数（ｎ４）”，及びｎ４個の“軌跡レコード”から構成される。「軌跡レコード数」は走行軌跡テーブル内の軌跡レコードの数を表す。「軌跡レコード」は、走行軌跡データを格納するレコードであり、“テーブルＩＤ”，“レコードＩＤ”，“計測点数（ｕｉ）”，及びｕｉ個の“計測点位置情報”から構成されている。
【０１４８】
「テーブルＩＤ」は、走行軌跡テーブルのＩＤであり、「レコードＩＤ」は、走行軌跡テーブル内の各レコードのＩＤである。「計測点数」は、その走行軌跡データに含まれる三次元座標点（以下「計測点」という。）の数を表す。「計測点位置情報」は、各計測点の三次元座標を表し、“ＧＰＳ時刻”，“標高”，“緯度”，“経度”から構成される。「ＧＰＳ時刻」は、その計測点の位置の計測が行われた時刻である。
【０１４９】
（５）メッシュ標高点テーブル
メッシュ標高点テーブルはＤＥＭデータにより与えられる図葉内のメッシュ点の標高を格納するテーブルである。ここで、「メッシュ点」とは、地上を一定の経緯方眼として区画した際の区画の各頂点をいう。
【０１５０】
図１０は、メッシュ標高点テーブルのデータ構造を表す図である。ＤＥＭデータは、１つの図葉をＭｍ行×Ｎｍ列のメッシュ点からなる経緯方眼として表したときの各メッシュ点上の標高値からなる。経緯方眼の行数と列数は定められており、例えば、国土地理院が提供する５０メートルメッシュの場合、１／２５，０００地形図の図葉（経度差７’３０”，緯度差５”）に対し２００×２００の経緯方眼とされる。従って、メッシュ標高点テーブルは、図１０のように、Ｍｍ×Ｎｍの標高値の行列（Ｚｉｊ）として与えられている。
【０１５１】
〔２−３〕三次元地図情報の各種情報テーブルのデータ構造
（１）３Ｄ空間テーブル
図１１は、３Ｄ空間テーブルのデータ構造を表す図である。３Ｄ空間テーブルは“３Ｄ空間レコード数（ｎ５）”及びｎ５個の“３Ｄ空間レコード”によって構成されている。「３Ｄ空間レコード」とは、リンクの種別及びその三次元ポリライン形状に関する情報が格納されたレコードである。この“３Ｄ空間レコード”は、図葉内のリンクと一対一に対応して設けられている。
【０１５２】
３Ｄ空間レコードは、“オブジェクトＩＤ”，“カテゴリ”，“構成点数（ｍｉ）”，及びｍｉ個の“構成点情報”により構成されている。
【０１５３】
「オブジェクトＩＤ」は、当該３Ｄ空間レコードに対応するリンク（以下「３Ｄ空間レコード対応リンク」という。）のＯＩＤである。
【０１５４】
「カテゴリ」は、３Ｄ空間レコード対応リンクの道路種別や道路の形状などの情報であり、“道路種別コード”及び“リンク種別コード”からなる。これは、交差点間道路関連テーブルの各“道路関連情報”の“カテゴリ”と一対一に対応し、対応するもの同士が同一の値とされる。
【０１５５】
「構成点数」は、３Ｄ空間レコード対応リンク内の構成点の数を表す。「構成点位置情報」は、各構成点の三次元の位置情報を表す。ここで、“構成点位置情報”は、３Ｄ空間レコード対応リンクの始点から終点に向かって配列されている。すなわち、“構成点数”の次にくる“構成点位置情報”は、３Ｄ空間レコード対応リンクの始点の位置情報であり、最後の“構成点位置情報”は、３Ｄ空間レコード対応リンクの終点の位置情報である。
【０１５６】
“構成点位置情報”は、“経度”，“緯度”，“高度”，及び“標高”から構成される。ここでいう“標高”は構成点の緯度，経度における地表面の標高をいい、“高度”は、地表面の標高に地表面から道路までの高さ（比高）を加えた値をいう。
【０１５７】
（２）３Ｄ属性テーブル
図１２は、３Ｄ属性テーブルのデータ構造を表す図である。３Ｄ属性テーブルは、“レコード数（ｎ１＋ｎ２＋ｎ３）”，ｎ１個の“道路属性レコード”，ｎ２個の“接続位相レコード”，及びｎ３個の“標高点レコード”から構成されている。
【０１５８】
「レコード数」は、３Ｄ属性テーブル内の道路属性レコードの数，接続位相レコードの数，及び標高点レコードの数の総数を表す。
【０１５９】
「道路属性レコード」は、図葉内の各リンクに関する情報が格納されたレコードである。この道路属性レコードは、図葉内の各リンクに一対一に対応して設けられている。従って、道路属性レコードは、３Ｄ空間テーブル内の“３Ｄ空間レコード”及び交差点間道路テーブル内の“道路関連情報”とも一対一に対応している。
【０１６０】
「接続位相レコード」は、図葉内の各ノードに関する情報が格納されたレコードである。この接続位相レコードは、図葉内の各ノードに一対一に対応して設けられている。従って、接続位相レコードは、交差点関連テーブル内の“交差点関連情報”とも一対一に対応している。尚、三次元地図情報においては、ノードも一つのオブジェクトとして取り扱われる。
【０１６１】
「標高点レコード」は、標高点テーブル内の各標高点から得られるリンク上の標高点に関する情報が格納されたレコードである。
【０１６２】
（２−１）道路属性レコード
各“道路属性レコード”は、“レコード種別”，“オブジェクトＩＤ”，“始点オブジェクトＩＤ”，“終点オブジェクトＩＤ”，“相対高さ情報数（ｑｉ）”，“構造種別数（ｒｉ）”，ｑｉ個の“相対高さ情報”，ｒｉ個の“構造種別情報”から構成される。
【０１６３】
「レコード種別」は、そのレコードの種類を表すものであり、‘道路属性レコード’の値を採る。
【０１６４】
「オブジェクトＩＤ」は、当該道路属性レコードに対応するリンク（以下「道路属性レコード対応リンク」という。）のＯＩＤである。「始点オブジェクトＩＤ」及び「終点オブジェクトＩＤ」は、道路属性レコード対応リンクの始点及び終点のノードのＯＩＤである。
【０１６５】
「相対高さ情報数」及び「構造種別数」は、当該道路属性レコード対応リンク内の“相対高さ情報”の数及び“構造種別情報”の数を表す。
【０１６６】
「相対高さ情報」とは、当該道路属性レコード対応リンクの地表又は他のリンクに対する相対高さに関する情報である。尚、「相対高さ」については、上記〔２〕（２）において説明したとおりであり、リンク上の点に対して与えられる。
【０１６７】
“相対高さ情報”は、“付与点位置”，“相対高さ”，“立体交差フラグ”，“構造種別コード”，及び“メッシュ内フラグ”から構成される。「付与点位置」は、道路属性レコード対応リンク上における相対高さが付与された点（以下「相対高付与点」という。）の位置であり、道路属性レコード対応リンクの長さを１（１００％）として、道路属性レコード対応リンクの始点から相対高付与点までの長さ（％）で表される。「相対高さ」は、当該相対高付与点における相対高さである。「立体交差フラグ」は、当該相対高付与点が立体交差点か否かを表すフラグであり、立体交差点の場合は１，立体交差点でない場合は０が設定される。「構造種別コード」は、当該相対高付与点における構造種別コード（〔２−２〕（１）参照）である。「メッシュ内フラグ」は、当該相対高付与点が図葉内か否かを示すフラグであり、図葉内の場合は‘１’、図葉内にない場合は‘０’が設定される。これは、複数の図葉に跨るリンクがあることを考慮したものである。
【０１６８】
尚、「構造種別情報」は、上記〔２−２〕（１）で説明した交差点間道路関連テーブル内の“道路関連情報”における“構造種別情報”と同じものであり、説明は省略する。
【０１６９】
（２−２）接続位相レコード
各“接続位相レコード”は、“レコード種別”，“ノード位置情報”，“オブジェクトＩＤ”，“接続道路数（ｓｊ）”，及びｓｊ個の“接続道路情報から構成される。
【０１７０】
「レコード種別」は、そのレコードの種類を表すものであり、‘接続位相レコード’の値を採る。「ノード位置情報」は、当該接続位相レコードに対応するノード（以下「接続位相レコード対応ノード」という。）の位置座標（経度，緯度）である。「オブジェクトＩＤ」は、当該接続位相レコード対応ノードのＯＩＤである。「接続道路数」とは、当該接続位相レコード対応ノードを始点又は終点とするリンクの数である。「接続道路情報」とは、当該接続位相レコード対応ノードを始点又は終点とするリンク（以下「接続リンク」という。）に関する情報である。
【０１７１】
この“接続道路情報”は、“リンクＯＩＤ”，“始点／終点フラグ”，及び“メッシュ内フラグ”から構成されている。「リンクＯＩＤ」は、当該接続リンクのＯＩＤである。「始点／終点フラグ」は、当該接続位相レコード対応ノードに対し当該接続リンクが始点側又は終点側のいずれで接続しているかを表すフラグであり、０が‘始点側’，１が‘終点側’を表す。「メッシュ内フラグ」は、接続リンクが図葉内に属するか否かを示すフラグであり、０は‘属さない’，１は‘属す’を表す。尚、図葉内に‘属する’，‘属さない’の意味については、上記（２−１）において説明した通りである。
【０１７２】
（２−３）標高点レコード
標高点レコードは、リンク上に標高点が設定された場合に作成されるものである。各“標高点レコード”は、“レコード種別”，“リンクＯＩＤ”，“標高点数（ｖｋ）”，及びｖｋ個の“標高点情報”から構成される。
【０１７３】
“レコード種別”は、そのレコードの種類を表すものであり、‘標高点レコード’の値を採る。「リンクＯＩＤ」は、当該標高点レコードに対応するリンク（以下「標高点レコード対応リンク」という。）のＯＩＤである。標高点数は、標高点レコード対応リンク上に設定された標高点の数である。「標高点情報」は、標高点レコード対応リンク上の各標高点に関する情報である。“標高点情報”は、“標高点位置”，“標高値”，及び“地物区分”から構成される。「標高点位置」とは、標高点レコード対応リンク上における当該標高点の位置であり、当該標高点レコード対応リンクの長さを１（１００％）として、当該標高点レコード対応リンクの始点から当該標高点までの長さ（％）で表される。「標高値」は、当該標高点の標高値である。「地物区分」は、標高点が地表に設置されているか高架上に設置されているかの区分を表す情報である。
【０１７４】
〔３〕地図情報作成処理の概要
以下では、本実施例１に係る地図情報作成装置による地図情報作成処理について説明する。
【０１７５】
地図情報作成装置の全体的な処理の流れとしては、まず、抽出処理手段１５が、図葉ごとに、二次元地図記憶手段１２に記憶された二次元地図情報に対し、リンク上に相対高さを付けたデータを作成し、これを中間テーブル記憶手段１７に出力する。各リンク上の相対高さは、高架やトンネルのような構造種別と交差するリンク同士の上下関係から生成される。この抽出処理手段１５による処理を「道路ネットワーク抽出処理」と呼ぶ。道路ネットワーク抽出処理は、三次元化を行おうとするすべての図葉に対して行う。
【０１７６】
また、各図葉に対して道路ネットワーク抽出処理を実行する場合、同時に、走行軌跡関連付手段１６が、当該図葉内のリンクに対応する走行軌跡データが走行軌跡データ記憶手段１３内に存在するか否かを検索し、存在する場合には当該リンクに走行軌跡データを関連づける。この処理を「走行軌跡関連付処理」と呼ぶ。
【０１７７】
最後に、三次元地図記憶手段２０は、ＤＥＭデータ記憶手段１４に記憶されたＤＥＭデータ、から地表面の標高値を求め、相対高さが付された各リンクを地表面に載せるとともに現実に近付けるべく標高点データや走行軌跡データを用いて補正することにより三次元地図情報を生成し、三次元地図記憶手段２０に出力する。この三次元地図記憶手段２０による処理を「三次元化処理」と呼ぶ。
【０１７８】
〔４〕道路ネットワーク抽出処理
最初に、道路ネットワーク抽出処理について説明する。道路ネットワーク抽出処理は、ユーザーにより選択される図葉ごとに実行される。図葉の選択は対話方式によって行われる。選択された図葉について道路ネットワーク抽出処理が実行されると、３Ｄ属性テーブル及び３Ｄ空間テーブルが生成される。これらのテーブルは、中間テーブル記憶手段１７に格納される。
【０１７９】
〔４−１〕イベント処理
図１３は、抽出処理手段１５によるイベント処理を表すフローチャートである。本実施例１の抽出処理手段１５は、対話処理により、複数の図葉からなる二次元地図の一覧からユーザーが図葉を選択し、選択された図葉に対して３Ｄ空間テーブル及び３Ｄ属性テーブルを作成するという作業を繰り返す。
【０１８０】
まず、ステップＳ１において、抽出処理手段１５は、二次元地図記憶手段１２に記憶されている二次元地図の図葉の一覧をディスプレイ５に表示することにより、図葉選択メニューを表示する。この場合、図葉の名称をリスト形式に表示してもよいし、図葉の一覧を広域地図上の経緯メッシュとしてグラフィックスで表示してもよい。
【０１８１】
次に、ステップＳ２において、抽出処理手段１５は、入力デバイス４からユーザーによる入力イベントが発生するのを待つ。この状態において、ユーザーは、キーボードやマウス等の入力デバイス４から、入力イベントとして各図葉の選択指示又は終了指示を入力することができる。
【０１８２】
ユーザーによる入力デバイス４からの入力イベントが検出されると、抽出処理手段１５は、ステップＳ３において、その入力イベントが終了指示か否かを判定する。終了指示であれば、抽出処理手段１５は、終了処理を行って動作を終了する。
【０１８３】
一方、入力イベントが終了指示でない場合、抽出処理手段１５は、ステップＳ４において、入力イベントが処理対象図の選択指示かそれ以外かを判定する。後者の場合は、再びステップＳ１に戻る。
【０１８４】
前者の場合、抽出処理手段１５は、ステップＳ５において、選択された図葉に対して、以下に説明する道路ネットワーク抽出処理を実行し、再びステップＳ１に戻る。
【０１８５】
〔４−２〕道路ネットワーク抽出処理
（１）処理全体の流れ
抽出処理手段１５による道路ネットワーク抽出処理の全体の流れを図１４に示す。
【０１８６】
まず、ステップＳ１１において、相対高さ生成処理を行う。相対高さ生成処理においては、図葉内の各リンクの端点及びリンク内の点（相対高付与点）に相対高さが与えられる。
【０１８７】
ステップＳ１２において、道路間相対高さ整合処理を行う。道路間相対高さ整合処理では、同一のノードで接続する複数のリンク間で相対高さに矛盾が生じている場合、その矛盾を解消すべく、相対高さの補正を行う。
【０１８８】
ステップＳ１３において、道路内相対高さ整合処理を行う。道路内相対高さ整合処理では、図葉内の各リンクにおいて、リンク内部の相対高付与点に不自然な相対高さが付与されている場合、それを補正する。
【０１８９】
ステップＳ１４において、非交差テーブル作成処理を行う。ここでは、図葉内のリンクのうち、互いに立体交差しているリンクを探索し、その立体交差している点（以下「非交差点」という。）のテーブル（非交差テーブル）を生成する。
【０１９０】
ステップＳ１５において、非交差地点相対高さ設定処理を行う。非交差地点相対高さ設定処理においては、非交差点における複数のリンクの相対高さを設定する処理を行う。
【０１９１】
ステップＳ１６において、道路内相対高さ補正処理を行う。道路内相対高さ補正処理では、図葉内の各リンクにおいて、非交差点の相対高さの設定を行った結果、不自然な相対高さとなって相対高付与点の相対高さを補正する。
【０１９２】
ステップＳ１７において、道路間相対高さ補正処理を行う。道路間相対高さ補正処理では、同一のノードで接続する複数のリンク間で相対高さに不自然さが生じている場合、その不自然さを解消すべく、相対高さの補正を行う。
【０１９３】
ステップＳ１８において、標高点取り込み処理を行う。標高点取り込み処理では、標高点テーブル内の各標高点の標高値を、リンク上の標高点の標高値として取り込む処理を行う。
【０１９４】
最後に、ステップＳ１９において、３Ｄ属性テーブル出力処理を行い、ステップＳ２０において、３Ｄ空間テーブル出力処理を行い、道路ネットワーク抽出処理が終了する。
【０１９５】
以下、それぞれのステップにおける処理内容について詳細に説明する。
【０１９６】
（２）相対高さ生成処理
相対高さ生成処理においては、図葉内の各リンクに対し、リンク上の特定の点に相対高さを与える。図１５は、相対高さ生成処理（Ｓ１１）を表すフローチャートである。
【０１９７】
まず、ステップＳ３１において、交差点間道路テーブル内のすべてのリンクに対して処理が終了したかを判定する。未処理のリンクがあれば、そのリンクに対して次のステップＳ３２，Ｓ３３の処理を実行し、すべてのリンクの処理が終了すると、相対高さ生成処理を終了する。
【０１９８】
ステップＳ３２において、処理対象のリンク内の構造種別及びその区間に従って、相対高付与点を決定し、相対高付与点に対して相対高さを付与する。具体的な相対高さの付与の方法については後述する。
【０１９９】
ステップＳ３３において、付与された相対高さに関する情報を、図１６に示したように、交差点間道路関連テーブル内の“道路関連情報”の末尾に追加する。
【０２００】
図１６において、交差点間道路関連テーブル内の“道路関連情報”には、“構造種別情報”の後ろに、“相対高付与点数（ｑｉ）”及びｑｉ個の“相対高さ情報”が追加されている。「相対高付与点数」は、道路関連情報対応リンク内における相対高付与点の数である。「相対高さ情報」は、各相対高付与点における相対高さに関する情報である。
【０２０１】
“相対高さ情報”は、“相対高付与点位置”，“相対高さ”，“立体交差フラグ”，“構造種別コード”，及び“メッシュ内フラグ”から構成される。
【０２０２】
「相対高付与点位置」は、道路関連情報対応リンク内における当該相対高付与点の位置であり、道路関連情報対応リンクの長さを１（１００％）として、道路関連情報対応リンクの始点から開始位置又は終了位置までの長さ（％）で表される。「相対高さ」は、当該相対高付与点の相対高さである。
【０２０３】
「立体交差フラグ」は、当該相対高付与点が非交差点（他のリンクと立体交差する点）か否かを示すフラグであり、非交差点の場合は‘１’，それ以外の場合は‘０’に設定される。「構造種別コード」は、当該相対高付与点における構造種別コード（〔２−２〕（１）参照）である。「メッシュ内フラグ」は、当該相対高付与点が図葉内か否かを示すフラグであり、図葉内の場合は‘１’，図葉内にない場合は‘０’が設定される。これは、複数の図葉に跨るリンクがあることを考慮したものである。
【０２０４】
以上のステップＳ３３の処理が終わると、再びステップＳ３１に戻り、図葉内のすべてのリンクについての勝利が終わるまで繰り返される。
【０２０５】
次に、ステップＳ３２における相対高付与点の位置及び相対高さの決定方法について、具体的に説明する。
【０２０６】
（Ａ）相対高さ付与規則１
最初に、図１７（ａ）に示すように、リンクの始点及び終点の位置を相対高付与点とし、それぞれ相対高さ０を与える。
【０２０７】
この場合、交差点間道路関連テーブル内の当該リンクに対応する“道路関連情報”の“構造種別情報”の後に、“相対高さ情報数”として２を保存し、“相対高さ情報”としてリンクの始点及び終点の相対高さに関する情報を保存する。ここで、“相対高さ情報”の“相対高付与点位置”には、リンクの始点では０（０％），リンクの終点では１（１００％）が保存される。 “相対高さ”には０が保存される。“立体交差フラグ”には０が保存される。“構造種別コード”には、リンクの始点及び終点における構造種別コードが保存される。この構造種別コードは、当該“道路関連情報”内の“構造種別情報”を参照することによって得ることができる。また、“メッシュ内コード”には、リンクの始点又は終点が図葉内にあるときには‘１’が、図葉外にあるときには‘０’が保存される。
【０２０８】
（Ｂ）相対高さ付与規則２
次に、図１７（ｂ）のように、リンクが‘高架’又は‘盛土’の構造種別区間を持つ場合には、当該構造種別区間の始点及び終点位置を相対高付与点としてそれぞれ相対高さ０を与える。また、当該構造種別区間内の所定の２点（ここでは、当該構造種別区間の始点から３０％及び７０％の点とする。）を相対高付与点とし、相対高さ１を与える。これは、図１７（ｃ）に示したように、三次元化する際に高架部分や盛土部分において道路の高さがなめらかに推移するようにするため、相対高付与点を追加したものである。
【０２０９】
この場合、交差点間道路関連テーブル内の当該リンクに対応する“道路関連情報”の “相対高さ情報数”に追加する相対高付与点の数を加算し、“相対高さ情報”として上記構造種別区間の始点及び終点，３０％点，７０％点の相対高さに関する情報を保存する。ここで、“相対高さ情報”の“相対高付与点位置”には、構造種別区間の始点及び終点，３０％点，７０％点のリンク始点からの距離をリンク長で割った値が保存される。“相対高さ”には、構造種別区間の始点及び終点では０が、３０％点，７０％点では１が保存される。“立体交差フラグ”には０が保存される。“構造種別コード”には、各相対高付与点における構造種別コードが保存される。また、“メッシュ内コード”には、各相対高付与点が図葉内にあるときには‘１’が、図葉外にあるときには‘０’が保存される。
【０２１０】
尚、当該構造種別区間内の相対高さ１を追加する２点の位置は、当該構造種別区間の始点から３０％及び７０％の位置に限られるものではなく、適宜に変えて設定してもよい。
【０２１１】
また、‘高架’又は‘盛土’の構造種別区間が、複数のリンクに跨って設定されている場合、相対高さはリンク単位に分断する。この場合、図１７（ｄ）に示すように、構造種別区間の始点側リンクでは、構造種別区間の始点位置に相対高さ０、構造種別区間の始点位置から次のリンクに接続する端点までの３０％及び１００％の位置に相対高さ１の相対高付与点を設定する。また、中間のリンクでは、リンクの始点及び終点の位置に相対高さ１の相対高付与点を設定する。構造種別区間の終点側リンクでは、前のリンクに接続する端点から構造種別区間の終点までの０％及び７０％の位置に相対高さ１，構造種別区間の終点位置に相対高さ０の相対高付与点を設定する。
【０２１２】
（Ｃ）相対高さ付与規則３
リンクが、‘切取’の構造種別区間を持つときは、図１８（ａ）に示したように、構造種別区間の始点及び終点位置に相対高さ０の相対高付与点を設定する。
【０２１３】
この場合、交差点間道路関連テーブル内の当該リンクに対応する“道路関連情報”の “相対高さ情報数”に追加する相対高付与点の数を加算し、“相対高さ情報”として上記切取区間の始点及び終点の相対高さに関する情報を保存する。ここで、“相対高さ情報”の“相対高付与点位置”には、切取区間の始点及び終点のリンク始点からの距離をリンク長で割った値が保存される。“相対高さ”には、０が保存される。“立体交差フラグ”には０が保存される。“構造種別コード”には、‘切取’が保存される。また、“メッシュ内コード”には、各相対高付与点が図葉内にあるときには‘１’が、図葉外にあるときには‘０’が保存される。
【０２１４】
また、‘切取’の構造種別区間が複数のリンクに跨る場合、図１８（ｂ）に示したように、構造種別区間の始点側のリンクでは、構造種別区間の始点位置に相対高さ０，次のリンクに接続する端点に相対高さ０の相対高付与点を設定し、中間のリンクでは、リンクの始点及び終点位置に相対高さ０の相対高付与点を設定する。構造種別区間の終点側リンクでは、前のリンクに接続する端点に相対高さ０、構造種別区間の終点位置に相対高さ０の相対高付与点を設定する。
【０２１５】
（３）道路間相対高さ整合処理
道路間相対高さ整合処理では、同一のノードで接続する複数のリンク間で相対高さに矛盾が生じている場合、その矛盾を解消すべく、相対高さの補正を行う。
【０２１６】
図１９は、道路間相対高さ整合処理を表すフローチャートである。
【０２１７】
まず、ステップＳ４１において、交差点関連テーブル内のすべてのノードに対して道路間相対高さ整合処理が終了したかを判定する。未処理のノードがあれば、そのノード（以下、この処理説明において「処理対象ノード」という。）に関して次のステップＳ４２，Ｓ４３の処理を実行する。すべてのノードの処理が終了すると、道路間相対高さ整合処理を終了する。
【０２１８】
ステップＳ４２において、交差点関連テーブルの接続道路情報を参照することにより、処理対象ノードに接続するすべてのリンク（以下、この処理説明において「接続リンク」という。）のＯＩＤを取得する。そして、取得した各ＯＩＤに基づいて、各接続リンクの処理対象ノードにおける“構造種別コード”，“リンク種別コード”を、交差点間道路関連テーブルから読み出す。
【０２１９】
ステップＳ４３において、読み出した各“構造種別コード”及び“リンク種別コード”に応じて、各接続リンクの処理対象ノードにおける相対高さが整合する。この整合により処理対象ノードにおける相対高さが変更された接続リンクについては、交差点間道路関連テーブル内の相対高さの値（図１６参照）を変更後の値に更新し、ステップＳ４１に戻る。
【０２２０】
ここで、ステップＳ４３における処理対象ノードにおける相対高さの整合処理は次のように行われる。
【０２２１】
（Ａ）整合処理規則１
構造種別区間として橋区間，高架区間，又は盛土区間が複数のリンクに跨って設定されている場合、通常は、これらの連続する構造種別区間の道路は途中の交差点で落ち込むことなく平坦に建設されていると考えられる。そこで、かかる場合には連続する構造種別区間の中間にあるノードにおける相対高さを高い位置に整合させることとする。
【０２２２】
まず、処理対象ノードにおける各接続リンクの“構造種別コード”をカウントする。そして、２以上の接続リンクの処理対象ノードにおける“構造種別コード”が‘橋’，‘高架’，‘盛土’のいずれかの場合、すべての接続リンクの処理対象ノードにおける相対高さを‘１’とする。
【０２２３】
例えば、図２０（ａ）のように、処理対象ノードａに、３つの接続リンクａｂ，ａｃ，ａｄが接続していたとする。接続リンクａｂ，ａｃには構造種別区間として高架区間又は盛土区間が設定されており、接続リンクａｂ，ａｃの処理対象ノードａにおける“構造種別コード”は‘高架’又は‘盛土’である。また、接続リンクａｄの処理対象ノードａにおける“構造種別コード”は‘橋’，‘高架’，‘盛土’のいずれでもない。前述の相対高さ生成処理によれば、各接続リンクには、図２０（ｂ）に示したように相対高さが設定されている。
【０２２４】
この場合、２つの接続リンクａｂ，ａｃの処理対象ノードａにおける“構造種別コード”が‘高架’又は‘盛土’であるため、すべての接続リンクａｂ，ａｃ，ａｄの処理対象ノードａにおける相対高さは‘１’に整合される（図２０（ｃ）参照）。その結果、図２０（ｄ）に示したように、連続する高架・盛土区間の相対高さが処理対象ノードａにおいて‘０’に落ち込むことなく、連続的に‘１’となるように修正される。
【０２２５】
逆に、例えば、図２０（ｅ）のように、処理対象ノードａにおいて接続リンクａｂのみ“構造種別コード”が‘高架’又は‘盛土’であり、他の接続リンクａｃ，ａｄの処理対象ノードａにおける“構造種別コード”は‘橋’，‘高架’，‘盛土’のいずれでもないとすると、この場合は、処理対象ノードａにおける相対高さの修正は行われない。かかる場合、接続リンクａｂの高架・盛土区間は処理対象ノードａにおいて終了しているからである。
【０２２６】
（Ｂ）整合処理規則２
構造種別区間として橋区間，高架区間，又は盛土区間が複数のリンクに跨って設定されている場合であっても、その一つがランプであり、他の一つが地上道路である場合も考えられる。例えば、高速道路のインターチェンジなどではこのような場合が起こりえると考えられる。
【０２２７】
例えば、図２１（ａ）に示したように、合流点ａにおいて２本の高架道路ａｂ，ａｃが１本の一般道路ａｄに接続している場合、上述の（整合処理規則１）に従うと、合流点ａは相対高さ‘１’に上げられる。しかしながら、高架道路ａｂ，ａｃが本線ではなく、ランプなどの取り付け道路の場合、むしろ、図２１（ｂ）のように、合流点ａは地上に置かれる場合の方が一般的である。
【０２２８】
そこで、処理対象ノードにおける各接続リンクの“構造種別コード”をカウントした結果、２以上の接続リンクの処理対象ノードにおける“構造種別コード”が‘橋’，‘高架’，‘盛土’のいずれかであったとしても、接続リンク中に、“リンク種別コード”が‘ランプ’の接続リンクが少なくとも１つ存在し、且つ“構造種別コード”が‘種別なし’の接続リンクが少なくとも１つ存在する場合、各接続リンクの当該処理対象ノードにおける相対高さは‘０’に整合する。
【０２２９】
例えば、図２０（ｇ）のように、処理対象ノードａに、３つの接続リンクａｂ，ａｃ，ａｄが接続しており、接続リンクａｂ，ａｃの処理対象ノードａにおける“構造種別コード”は‘高架’又は‘盛土’あり、接続リンクａｄの処理対象ノードａにおける“構造種別コード”は‘構造種別なし’であったとする。また、接続リンクａｂの処理対象ノードａにおける“リンク種別コード”は‘ランプ’であったとする。このような場合には、各接続リンクの処理対象ノードａにおける相対高さは‘０’に整合される。
【０２３０】
（Ｃ）整合処理規則３
川や谷に架かる橋の場合、図２２（ａ）に示すように、橋の両端は地上であるのが一般的である。また、図２２（ｂ）に示すように、橋区間の一端が高架・盛土区間と接続している場合、その接続端は空中にあり他端は地上にあるのが通常である。
【０２３１】
そこで、処理対象ノードにおける各接続リンクの“構造種別コード”をカウントした結果、１又は２以上の‘橋’がありその他が ‘高架’，‘盛土’のいずれでもない場合、各接続リンクの当該処理対象ノードにおける相対高さは‘０’に整合する（図２０（ｉ）参照）。また、１又は２以上の‘橋’がありその他の接続リンクの少なくとも１つが‘高架’又は‘盛土’の場合、各接続リンクの当該処理対象ノードにおける相対高さは‘１’に整合する（図２０（ｊ）参照）。
【０２３２】
（４）道路内相対高さ整合処理
道路内相対高さ整合処理では、図葉内の各リンクにおいて、リンク内部の相対高付与点に不自然な相対高さが付与されている場合、それを補正する処理が行われる。
【０２３３】
図２３は、道路内相対高さ整合処理を表すフローチャートである。
【０２３４】
まず、ステップＳ５１において、交差点間道路関連テーブル内のすべてのリンクに対して道路内相対高さ整合処理が終了したかを判定する。未処理のリンクがあれば、そのリンク（以下、この処理説明において「処理対象リンク」という。）に関して次のステップＳ５２の処理を実行する。すべてのリンクの処理が終了すると、道路内相対高さ整合処理を終了する。
【０２３５】
ステップＳ５２において、交差点間道路関連テーブル（図１６参照）内の処理対象リンクに対応する“道路関連情報”内の“相対高さ情報”を参照し、３つの相対高付与点が同じ相対高さを有する箇所を探索する。処理対象リンク内の連続する３つの相対高付与点が同じ相対高さを有する場合、中間の相対高付与点の“構造種別コード”を参照し、それが切取区間により発生したもの（図１８参照）か否かを検査する。中間の相対高付与点が切取区間により発生したものでなければ、その中間の相対高付与点を削除する。これを、処理対象リンク内のすべての連続する３つの相対高付与点に対して実行する。以上の処理が終わると、ステップＳ５１に戻る。
【０２３６】
例えば、上述の道路間相対高さ整合処理を行った結果、図２４（ａ）に示したように、連続する３つの相対高付与点の相対高さが１であるような場合が生じる。かかる場合、３つの相対高付与点のうち中間の相対高付与点は不必要なものである。従って、道路内相対高さ整合処理において、図２４（ｂ）のように、不要な中間の相対高付与点が削除される。
【０２３７】
一方、上述の相対高さ生成処理において、切り取り区間の開始点及び終了点に相対高さ０の相対高付与点が挿入される（図２４（ｃ）参照）。この相対高付与点は、切り取り区間が地表を掘削して設置されている場合等において、道路の高さ方向の変化の開始点・終了点として必要となるために挿入されたものである。従って、図２４（ｃ）のように、連続する３つの相対高付与点が同じ相対高さを有する場合であっても、中間の相対高付与点が切取区間の開始位置又は終了位置により発生したものであれば、当該中間の相対高付与点は削除しない（図２４（ｄ）参照）。
【０２３８】
（５）非交差テーブル作成処理
非交差テーブル作成処理では、図葉内のリンクのうち、互いに立体交差しているリンクを探索し、その立体交差している点（以下「非交差点」という。）のテーブル（非交差テーブル）を生成する。
【０２３９】
図２５は、非交差テーブル作成処理を表すフローチャートである。
【０２４０】
まず、ステップＳ６１において、交差点間道路関連テーブル内のすべてのリンクに対して非交差テーブル作成処理が終了したかを判定する。未処理のリンクがあれば、そのリンク（以下、この処理説明において「処理対象リンク」という。）に関して次のステップＳ６２の処理を実行する。すべてのリンクの処理が終了すると、ステップＳ６５に移る。
【０２４１】
ステップＳ６２において、処理対象リンクの構造種別がトンネルか否かを判定する。‘トンネル’の場合はステップＳ６１に戻り、それ以外の場合はステップＳ６３に進む。これは、構造種別が‘トンネル’の場合、標高値の付与の仕方として特別な方法が採られるために、通常の非交差点とは区別して取り扱うためである。
【０２４２】
ステップＳ６３において、非交差点間道路関連テーブルの各“道路関連情報”を検索することにより、処理対象リンクとノード以外で交差（立体交差）するリンク（立体交差リンク）を検出する。立体交差リンクの検索は、まず、“道路関連情報”内の“存在領域”を参照し、処理対象リンクの存在領域と重なる存在領域を有するリンクを抽出する。そして、抽出されたリンクについて、各“構成点情報”を参照することによって、処理対象リンクと交差する立体交差リンクを検出する。
【０２４３】
ステップＳ６４において、立体交差リンクが検出された場合、処理対象リンクと立体交差リンクとの立体交差に関する情報を非交差テーブルに保存する。
【０２４４】
図２６は、非交差テーブルの構成を表した図である。非交差テーブルは、“非交差点レコード数（ｎ７）”，及びｎ７個の“非交差点レコード”から構成される。「非交差点レコード数」は、非交差テーブル内の非交差点レコードの数である。「非交差点レコード」は、１つの非交差点に関する情報を格納するレコードである。
【０２４５】
“非交差点レコード”は、“非交差点位置座標”，“高さレベル”，“リンクＯＩＤ”，“相手リンクＯＩＤ”，“非交差相対位置”，及び“相手高さレベル”からなる。「非交差点位置座標」は、非交差点の位置座標（経度，緯度）である。「高さレベル」は、立体交差する一方のリンク（処理対象リンク）の“高さレベル”であり、「リンクＯＩＤ」はそのリンクのＯＩＤである。尚、“高さレベル”には、交差点間道路関連テーブル（図１６参照）内の処理対象リンクに対応する“道路関連情報”の“高さレベル”の値が保存される。
【０２４６】
また、「相手リンクＯＩＤ」は、前記処理対象リンクに立体交差する他方のリンク（立体交差リンク）のＯＩＤであり、「非交差相対位置」は当該処理対象リンクに対する立体交差リンクの相対位置である。“非交差相対位置”は、立体交差リンクが処理対象リンクの上側の場合‘上側’，下側の場合は‘下側’の値に設定される。「相手高さレベル」は、立体交差リンクの“高さレベル”である。尚、“高さレベル”には、交差点間道路関連テーブル（図１６参照）内の立体交差リンクに対応する“道路関連情報”の“高さレベル”の値が保存される。
【０２４７】
図２５に戻って、上記ステップＳ６１〜Ｓ６４までの操作が図葉内のすべてのリンクについて終了すると、次に、ステップＳ６５において、非交差テーブル内の非交差点レコードを、“非交差位置点座標”を最優先キー，“高さレベル”を第２優先キーとして昇順でソートし、非交差テーブル作成処理を終了する。
【０２４８】
（６）非交差地点相対高さ設定処理
非交差地点相対高さ設定処理では、非交差点における複数のリンクの相対高さを設定する処理を行う。非交差地点相対高さ設定は、次のように行われる。
【０２４９】
（ａ）非交差テーブルより、地点ごとに最も高さレベルが低い非交差点（以下「最下位非交差点」という。）の構造種別で相対高さの基準値を決定する。
【０２５０】
ここで、各非交差点の上下関係は、“高さレベル”によって判断することができる。従って、この高さレベルを比較することによって各地点の最下位非交差点を見つけることができる。非交差テーブル内の各非交差点レコードは、上述のソート処理により、非交差点位置座標が同じものが並ぶように格納されており、また、非交差点位置座標が同じ非交差点レコードの並び（以下、この“非交差点位置座標”の値が同じ処理対象レコードの集合を処理対象レコードの「クラスタ」という。）の中では、高さレベルが低いものから順に並べられた状態で格納された状態にある。従って、地点ごとの最下位非交差点は、クラスタの先頭にある非交差点レコード（以下「クラスタ先頭レコード」という。）に対応する。
【０２５１】
例えば、図２８（ａ）のように、最下位非交差点におけるリンク（道路）の構造種別が‘高架’，‘盛土’，高架に接続する‘橋’のいずれでもない場合、最下位非交差点の相対高さは０に設定され、これが基準値となる。また、最下位非交差点におけるリンク（道路）の構造種別が‘高架’，‘盛土’，高架に接続する‘橋’のいずれかの場合、最下位非交差点の相対高さは１に設定され、これが基準値となる。
【０２５２】
（ｂ）非交差テーブルより、地点ごとに地表の要素の有無により相対高さの基準値を修正する。
【０２５３】
例えば、図２８（ｃ）のように、最下位非交差点のリンクの構造種別が‘切取’の場合において、その地点の最下位非交差点以外の非交差点のリンクの一つが地表にある場合、実際の道路構造は図２９（ａ）のように、最下位非交差点のあるリンクが地下に潜って立体交差した状態にあると考えられる。従って、最下位非交差点の相対高さは−１に修正され、これが基準値となる。
【０２５４】
一方、図２８（ｄ）のように、最下位非交差点のリンクの構造種別が‘切取’の場合において、その地点の最下位非交差点以外の非交差点のリンクの中に地表にあるものがない場合、すなわち、その地点における高さレベルが２番目に低い非交差点のリンクの構造種別が‘盛土’，‘高架’，又は‘橋’の場合、実際の道路構造は図２９（ｂ）のように、高さレベルが２番目に低い非交差点のリンクが、最下位のリンクの上を空中で跨いで立体交差した状態にあると考えられる。従って、この場合には最下位非交差点の相対高さは０とされる。
【０２５５】
（ｃ）非交差テーブルより、地点ごとに最も高さレベルが低い非交差点の相対高さを基準値とし、それ以外の非交差点については、高さレベルの低いものから順に基準値に１ずつ加算しながら相対高さを設定する。
【０２５６】
例えば、図２８（ａ）〜（ｄ）に示したように、最下位の非交差点の相対高さが基準値として決まると、同地点において高さレベルが２番目に低い非交差点の相対高さは基準値に１を加えたもの，同地点において高さレベルが３番目に低い非交差点の相対高さは基準値に２を加えたもの，…のように順次決定される。
【０２５７】
図２７は、以上のような非交差地点相対高さ設定処理をまとめてフローチャートに表したものである。
【０２５８】
まず、ステップＳ７１において、非交差テーブル内のすべての非交差点レコードに対して処理が終了したかを判定する。未処理の非交差点レコードがあれば、その非交差点レコード（以下、この処理説明において「処理対象レコード」という。）に関して次のステップＳ７２〜Ｓ７５の処理を実行する。すべての非交差点レコードの処理が終了すると、非交差地点相対高さ設定処理を終了する。
【０２５９】
ステップＳ７２において、処理対象レコードが最初に読み出されたレコード（テーブル先頭レコード）又は前回読み出されたレコードと“非交差点位置座標”の値が異なるレコード（クラスタ先頭レコード）か否かを判定する。テーブル先頭レコード又はクラスタ先頭レコードの場合には、ステップＳ７３に移行し、それ以外の場合にはステップＳ７４に移行する。
【０２６０】
ステップＳ７３において、処理対象レコードがテーブル先頭レコード又はクラスタ先頭レコードの場合、当該処理対象レコードに対応する非交差点の相対高さを、上記（ａ），（ｂ）の規則に従って決定する。また、その決定された相対高さを、最も下位の相対高さとして設定する。そして、ステップＳ７５に移行する。
【０２６１】
ステップＳ７４において、処理対象レコードがテーブル先頭レコード及びクラスタ先頭レコード以外の場合、先に処理した非交差点レコードの相対高さに１を加算した値を、当該処理対象レコードに対応する非交差点の相対高さに決定する。そして、ステップＳ７５に移行する。
【０２６２】
ステップＳ７５において、当該処理対象レコードの“リンクＯＩＤ”で指定されるリンク（以下、この処理説明において「処理対象リンク」という。）を交差点間道路関連テーブル（図１６参照）から検索する。そして、交差点間道路関連テーブル内の処理対象リンクに対応する“道路関連情報”の“相対高付与点数”に１を加算するとともに、処理対象レコードに対応する非交差点を相対高付与点として、“相対高さ情報”のリストに追加する。この場合、“相対高付与点位置”は当該処理対象レコードの“非交差点位置座標”が設定される。“相対高さ”は前記ステップＳ７３又はＳ７４で決定された相対高さが設定される。“立体交差フラグ”には‘１’が設定される。“構造種別コード”には、当該非交差点における処理対象リンクの“構造種別コード”が設定される。また、“メッシュ内フラグ”には、当該非交差点が図葉内にある場合には‘１’が、図葉外の場合には‘０’が設定される。
【０２６３】
尚、上述のように、非交差地点相対高さ設定処理においては、各地点における非交差点の高さレベルを、各非交差点が属するリンクの“道路関連情報”から取得し、同地点における非交差点の上下関係が判定される。しかしながら、二次元地図情報においてリンクの高さレベルが設定されていないなどの理由により、非交差点における高さレベルが取得できない場合もある。かかる場合、次のようにして非交差地点の高さレベルを発生させる。
【０２６４】
まず、或る地点においてリンクαとリンクβとが立体交差しているとし、リンクαについては高さレベルが取得できたが、リンクβについては高さレベルが取得できなかったと仮定する。この場合、各リンクの非交差点における構造種別を、図３０の上下関係判定表に照らすことによってリンクα，βの上下関係を取得する。
【０２６５】
図３０の上下関係判定表において、α＝βの場合には、リンクβの高さレベルをリンクαの高さレベルに設定する。α＜βの場合には、リンクβの高さレベルをリンクαの高さレベルに適当な正値（例えば１０）を加えた値に設定する。α＞βの場合には、リンクβの高さレベルをリンクαの高さレベルから適当な正値（例えば１０）を引いた値に設定する。また、ＷＡＲＮの場合、合理的に高さレベルを定めることができないので、リンクβの高さレベルを０に設定するとともに、ワーニングメッセージを出力し、ユーザーによる高さレベルの入力を促す。
【０２６６】
一方、両方のリンクの高さレベルが取得できなかった場合には、一方をリンクα，他方をリンクβとして、両方の高さレベルを０に設定し、上記と同様に処理を行う。
【０２６７】
以上の操作によって、各非交差点の高さレベルを決定し、相対高さを設定することができる。
【０２６８】
（７）道路内相対高さ補正処理
道路内相対高さ補正処理では、図葉内の各リンクにおいて、非交差点の相対高さの設定を行った結果、不自然な相対高さとなって相対高付与点の相対高さを補正する。
【０２６９】
例えば、上記非交差地点相対高さ設定処理の結果、図３２（ａ），（ｃ）に示したような状態に相対高さが設定される場合が生じる。
【０２７０】
図３２（ａ）は場合、リンクＡに対してリンクＢ，Ｃ，Ｄが立体交差している場合を表している。リンクＣ以外はすべて地表より高い位置にある（すなわち、構造種別が‘高架’，‘盛土’，‘橋’のいずれか）。リンクＡとリンクＢとが立体交差する地点におけるリンクＡ，Ｂ上の相対高付与点を、それぞれａ１，ｂ１とする。リンクＡとリンクＣとが立体交差する地点におけるリンクＡ，Ｃ上の相対高付与点を、それぞれａ２，ｃ２とする。リンクＡとリンクＤとが立体交差する地点におけるリンクＡ，Ｄ上の相対高付与点を、それぞれａ３，ｄ３とする。リンクＡ上では、相対高付与点ａ１，ａ２，ａ３は、この順序で隣り合って並んでいるものとする。
【０２７１】
この場合、上記非交差地点相対高さ設定処理の結果、相対高付与点ｂ１には相対高さ‘１’，相対高付与点ａ１には相対高さ‘２’が設定される。相対高付与点ｃ２には相対高さ‘０’，相対高付与点ａ２には相対高さ‘１’が設定される。相対高付与点ｄ３には相対高さ‘１’，相対高付与点ａ３には相対高さ‘２’が設定される。
【０２７２】
リンクＡに着目すると、高架区間の中央位置（相対高付与点ａ２）において凹みがある道路形状に設定されている。しかしながら、一般の道路では、特段の事情がない限りは、このように上下に波打つ高架に設計されることはなく、図３２（ｂ）のように高架区間の高さは全体に亘ってほぼ一定の高さとなるように設計されている。ただし、相対高付与点ａ２の上にさらに別のリンクが通っている場合には、高架区間の中央に凹部ができる場合もあり得ると考えられる。
【０２７３】
そこで、図３２（ａ）のように、同一リンクにおいて連続する３つの相対高付与点ａ１，ａ２，ａ３が地表に対して上方向にあり、これらのうち中央の相対高付与点ａ２の相対高さが、両端の相対高付与点ａ１，ａ３の相対高さよりも低く、且つ、中央の相対高付与点ａ２が、当該相対高付与点ａ２と同地点に設定されたすべての相対高付与点｛ｃ２｝の相対高さよりも高い場合、中央の相対高付与点ａ２の相対高さを、前後の相対高付与点ａ１，ａ３の相対高さに合わせてリンクＡが平滑化するように修正する。この場合、前後の相対高付与点ａ１，ａ３の相対高さのいずれかに合わせればよいが、本実施例１では、できるだけ高架の高さは低い方がより現実に近いであろうと予想されるため、中央の相対高付与点ａ２の相対高さを、前後の相対高付与点ａ１，ａ３の相対高さの低い方の値に修正することとする。
【０２７４】
一方、図３２（ｃ）も、リンクＡに対してリンクＢ，Ｃ，Ｄが立体交差している場合を表している。この場合、リンクＣは地表より高い位置にある（すなわち、構造種別が‘高架’，‘盛土’，‘橋’のいずれか）。また、リンクＣ，Ｂは地表にある。また、リンクＡの構造種別は‘切取’であるとし、高さレベルはリンクＢ，Ｃ，Ｄよりも小さいものとする。リンクＡとリンクＢとが立体交差する地点におけるリンクＡ，Ｂ上の相対高付与点を、それぞれａ１，ｂ１とする。リンクＡとリンクＣとが立体交差する地点におけるリンクＡ，Ｃ上の相対高付与点を、それぞれａ２，ｃ２とする。リンクＡとリンクＤとが立体交差する地点におけるリンクＡ，Ｄ上の相対高付与点を、それぞれａ３，ｄ３とする。リンクＡ上では、相対高付与点ａ１，ａ２，ａ３は、この順序で隣り合って並んでいるものとする。
【０２７５】
この場合、上記非交差地点相対高さ設定処理の結果、相対高付与点ｂ１には相対高さ‘０’，相対高付与点ａ１には相対高さ‘−１’が設定される。相対高付与点ｃ２には相対高さ‘１’，相対高付与点ａ２には相対高さ‘０’が設定される。相対高付与点ｄ３には相対高さ‘０’，相対高付与点ａ３には相対高さ‘−１’が設定される。
【０２７６】
リンクＡに着目すると、切取区間の中央位置（相対高付与点ａ２）において凸出がある道路形状に設定されている。しかしながら、一般の道路では、特段の事情がない限りは、このように上下に波打つ高架に設計されることはなく、図３２（ｄ）のように切取区間の高さは全体に亘ってほぼ一定の高さとなるように設計されている。ただし、相対高付与点ａ２の下にさらに別のリンクが通っている場合には、切取区間の中央に凸部ができる場合もあり得ると考えられる。
【０２７７】
そこで、図３２（ｃ）のように、同一リンクにおいて連続する３つの相対高付与点ａ１，ａ２，ａ３が地表に対して下方向にあり、これらのうち中央の相対高付与点ａ２の相対高さが、両端の相対高付与点ａ１，ａ３の相対高さよりも高く、且つ、中央の相対高付与点ａ２が、当該相対高付与点ａ２と同地点に設定されたすべての相対高付与点｛ｃ２｝の相対高さよりも低い場合、中央の相対高付与点ａ２の相対高さを、前後の相対高付与点ａ１，ａ３の相対高さに合わせてリンクＡが平滑化するように修正する。この場合、前後の相対高付与点ａ１，ａ３の相対高さのいずれかに合わせればよいが、本実施例１では、できるだけ地下部分の深さは浅い方がより現実に近いであろうと予想されるため、中央の相対高付与点ａ２の相対高さを、前後の相対高付与点ａ１，ａ３の相対高さの高い方の値に修正することとする。
【０２７８】
以上のような道路内相対高さ補正処理をまとめると次のようになる。図３１は、道路内相対高さ補正処理を表すフローチャートである。
【０２７９】
まず、ステップＳ８１において、交差点間道路関係テーブル内のすべてのリンクに対して処理が終了したかを判定する。未処理のリンクがあれば、そのリンク（以下、この処理説明において「処理対象リンク」という。）に関して次のステップＳ８２〜Ｓ８６の処理を実行する。すべてのリンクの処理が終了すると、道路内相対高さ補正処理を終了する。
【０２８０】
ステップＳ８２において、リンク内の連続する３つの相対高付与点の組を抽出し、抽出した相対高付与点の相対高さが地表に対して上方向（中央の相対高さが０以上且つ両側の相対高さが１以上）か否かを判定する。上方向の場合、ステップＳ８４に移行し、それ以外の場合にはステップＳ８３に移行する。
【０２８１】
ステップＳ８３において、連続する３つの相対高付与点のうち中央の相対高付与点の相対高さが、両端の相対高付与点の相対高さよりも低く、且つ、中央の相対高付与点が、当該中央の相対高付与点と同地点に設定されたすべての相対高付与点（同地点の他のリンク上の相対高付与点）の相対高さよりも高い場合、中央の相対高付与点の相対高さを、前後の相対高付与点の相対高さのうちの低い方の値に修正する。そして、ステップＳ８６に移行する。
【０２８２】
一方、ステップＳ８４においては、抽出した相対高付与点の相対高さが地表に対して下方向（中央の相対高さが０以下且つ両側の相対高さが−１以下）か否かを判定する。下方向の場合、ステップＳ８５に移行し、それ以外の場合にはステップＳ８６に移行する。
【０２８３】
ステップＳ８５において、抽出した３つの相対高付与点のうちの中央の相対高付与点の相対高さが、その前後の相対高付与点の高さよりも高く、且つ、中央の相対高付与点が、当該中央の相対高付与点と同地点に設定されたすべての相対高付与点（同地点の他のリンク上の相対高付与点）の相対高さよりも低い場合、中央の相対高付与点の相対高さを、前後の相対高付与点の相対高さのうちの高い方の値に修正する。そして、ステップＳ８６に移行する。
【０２８４】
ステップＳ８６においては、処理対象リンク内の連続する３つの相対高付与点のすべての組み合わせについて上記ステップＳ８２〜Ｓ８５の処理が終了したか否かを判定する。終了していなければステップＳ８２に戻って他の組み合わせの処理を行う。終了したならば、ステップＳ８１に戻る。
【０２８５】
（８）道路間相対高さ補正処理
上記道路内相対高さ補正処理では、同一リンク内で不自然な相対高さの設定がされている場合にそれを解消する補正処理を行ったが、道路間相対高さ補正処理では、ノードとそれに接続する２つのリンク間で相対高さの設定に不自然な箇所が生じている場合、その不自然さを解消すべく、相対高さの補正を行う。
【０２８６】
道路間相対高さ補正処理の基本的な考え方は、上記道路内相対高さ補正処理の場合と同様である。
【０２８７】
すなわち、図３４（ａ）のように、二差路（接続道路数が２）のノードｎ０に接続する２本のリンクＡ，Ｂにおいて、ノードｎ０に隣接する相対高付与点（以下「隣接相対高付与点」という。）をａ１，ｂ１とする。ノードｎ０の相対高さが０以上であって、ノードｎ０の相対高さに対して、隣接相対高付与点ａ１，ｂ１の相対高さが高い場合、ノードｎ０を介して接続するマルチリンク（Ａ，Ｂ）は、ノードｎ０の部分において不自然に落ち込んだ形状となる。そこで、上記道路内相対高さ補正処理と同様、ノードｎ０の相対高さがその両側の隣接相対高付与点ａ１，ｂ１の相対高さよりも低く、且つ、ノードｎ０が、当該ノードｎ０と同地点に設定されたすべての相対高付与点｛ｃ０｝の相対高さよりも高い場合、ノードｎ０の相対高さを、両側の隣接相対高付与点ａ１，ｂ１の相対高さに合わせてマルチリンク（Ａ，Ｂ）が平滑化するように修正する。この場合、両側の隣接相対高付与点ａ１，ｂ１の相対高さのいずれかに合わせればよいが、本実施例１では、できるだけ高架の高さは低い方がより現実に近いであろうと予想されるため、ノードｎ０の相対高さを、両側の相対高付与点ａ１，ｂ１の相対高さのうち低い方の値に修正することとする（図３４（ｂ））。
【０２８８】
また、図３４（ｃ）のように、二差路のノードｎ０に接続する２本のリンクＡ，Ｂにおいて、ノードｎ０に隣接相対高付与点をａ１，ｂ１とする。ノードｎ０の相対高さが０以下であって、ノードｎ０の相対高さに対して、隣接相対高付与点ａ１，ｂ１の相対高さが低い場合、ノードｎ０を介して接続するマルチリンク（Ａ，Ｂ）は、ノードｎ０の部分において不自然に凸出した形状となる。そこで、上記道路内相対高さ補正処理と同様、ノードｎ０の相対高さがその両側の隣接相対高付与点ａ１，ｂ１の相対高さよりも高く、且つ、ノードｎ０が、当該ノードｎ０と同地点に設定されたすべての相対高付与点｛ｃ０｝の相対高さよりも低い場合、ノードｎ０の相対高さを、両側の隣接相対高付与点ａ１，ｂ１の相対高さに合わせてマルチリンク（Ａ，Ｂ）が平滑化するように修正する。この場合、両側の隣接相対高付与点ａ１，ｂ１の相対高さのいずれかに合わせればよいが、本実施例１では、できるだけ切取の深さは浅い方がより現実に近いであろうと予想されるため、ノードｎ０の相対高さを、両側の相対高付与点ａ１，ｂ１の相対高さのうち高い方の値に修正することとする（図２４（ｄ））。
【０２８９】
尚、道路間相対高さ補正処理では、さらに、図３４（ｅ）のような場合にも相対高さの補正を行う。図３４（ｅ）では、地表にある二差路のノードｎ０に対して、リンクＡ，Ｂが接続されており、リンクＡ，Ｂの構造種別が‘切取’であるとする。そして、一方のリンクＢ上のノードｎ０に隣接する隣接相対高付与点ｂ１の相対高さ、ノードｎ０よりも低い値に設定されている。一方、リンクＡ側の相対高さは０に設定されている。かかる場合、リンクＡは切取区間であるにも関わらずその構造種別が相対高さに反映されていない。そこで、ノードｎ０が地表にあり、接続する２つのリンクの構造種別が‘切取’であって、当該ノードｎ０に隣接する２つの相対高付与点ａ１，ｂ１のうちの一方の相対高さのみが地表よりも低い場合には、当該ノードｎ０の相対高さは、地表よりも低い隣接する相対高付与点ｂ１の相対高さに修正する。これにより、図３４（ｆ）に示したように、リンクＡの構造種別を相対高さに反映させることができる。
【０２９０】
以上の道路間相対高さ補正処理をまとめると次のようになる。図３３は、道路間相対高さ補正処理を表すフローチャートである。
【０２９１】
まず、ステップＳ９１において、交差点関連テーブル内のすべてのノードに対して処理が終了したかを判定する。未処理のノードがあれば、そのノード（以下、この処理説明において「処理対象ノード」という。）に関して次のステップＳ９２〜Ｓ９６の処理を実行する。すべてのノードの処理が終了すると、道路間相対高さ補正処理を終了する。
【０２９２】
ステップＳ９２において、交差点関連テーブルの処理対象ノードに対する“交差点関連情報”の“接続道路数”を参照し、当該処理対象ノードが二差路か否かを判定する。二差路でない場合には、ステップＳ９１に戻る。二差路の場合には、ステップＳ９３に移行する。
【０２９３】
ステップＳ９３において、処理対象ノードの相対高さ及び処理対象ノードの両側の隣接する相対高付与点の相対高さが、地表に対して上方向（処理対象ノードの相対高さが０以上且つ両側の隣接する相対高付与点の相対高さが１以上）であるか否かを判定する。上方向の場合はステップＳ９４に移行し、それ以外の場合はステップＳ９５に移行する。
【０２９４】
ステップＳ９４において、処理対象ノードの相対高さが、その両側の相対高付与点の相対高さよりも低く、且つ、処理対象ノードが、当該処理対象ノードと同地点に設定されたすべての相対高付与点（同地点の他のリンク上の相対高付与点）の相対高さよりも高い場合、当該処理対象ノードの相対高さを、その両側の相対高付与点の相対高さのうちの低い方の値に修正する。そして、ステップＳ９１に戻る。
【０２９５】
一方、ステップＳ９５においては、当該処理対象ノード及び処理対象ノードの両側の隣接する相対高付与点の相対高さが地表に対して下方向（処理対象ノードの相対高さが０以下且つ両側の隣接する相対高付与点の相対高さが−１以下）か否かを判定する。下方向の場合、ステップＳ９６に移行し、それ以外の場合にはステップＳ９１に戻る。
【０２９６】
ステップＳ９６において、当該処理対象ノード及び処理対象ノードの両側の隣接する相対高付与点のうちの当該処理対象ノードの相対高さが、その両側の相対高付与点の相対高さよりも高く、且つ、処理対象ノードが、当該処理対象ノードと同地点に設定されたすべての相対高付与点（同地点の他のリンク上の相対高付与点）の相対高さよりも低い場合、処理対象ノードの相対高さを、その両側の相対高付与点の相対高さのうちの高い方の値に修正する。但し、当該処理対象ノードが地表にあり、接続する２つのリンクの構造種別が‘切取’であって、当該処理対象ノードに隣接する２つの相対高付与点のうちの一方の相対高さのみが地表よりも低い場合には、当該処理対象ノードの相対高さは、地表よりも低い隣接する相対高付与点の相対高さに修正される。以上の修正処理の後、ステップＳ９１に戻る。
【０２９７】
（９）標高点取り込み処理
標高点取り込み処理では、標高点テーブル内の各標高点の標高値を、リンク上の標高点の標高値として取り込む処理を行う。標高点は、メッシュ標高点テーブルで与えられる標高値や相対高さから推定される標高に比べて一般に精度がよいので、後の三次元化処理において優先的に標高値データとして利用される。
【０２９８】
標高点は点でありリンクは線である。従って、リンク上にちょうど標高点が載っている場合は希である。従って、標高点の情報を道路ＮＷの三次元化に取り入れるためには、標高点の情報を、その標高点の近傍のリンク上の点に取り入れる必要がある。これを標高点の取り込みという。以下、標高点取り込み処理の具体的内容を説明する。
【０２９９】
図３５は、標高点取り込み処理を表すフローチャートである。
【０３００】
まず、ステップＳ１０１において、標高点テーブル内のすべての標高点レコードに対して処理が終了したかを判定する。未処理の標高点レコードがあれば、その標高点レコード（以下、この処理説明において「処理対象レコード」という。）に関して次のステップＳ１０２〜Ｓ１０４の処理を実行する。すべての標高点レコードの処理が終了すると、標高点取り込み処理を終了する。
【０３０１】
ステップＳ１０２において、処理対象レコードの“標高点座標”を参照し、処理対象レコードに対応する標高点（以下、この処理説明において「処理対象標高点」という。）の座標（ｘ０，ｙ０）を取得する。そして、交差点間道路関連テーブル内の各“道路関連情報”の“存在領域”を検査することによって、処理対象標高点の近傍のリンクを抽出する。
【０３０２】
ここで、抽出方法としては、例えば、各“道路関連情報”の“存在領域”からリンクの存在領域の左下座標（ｘ１，ｙ１）及び右上座標（ｘ２，ｙ２）を取得する。この領域を、所定の上下線分離道路探索距離Ｌ２だけ広げ、探索領域の左下座標（ｘ１−Ｌ２，ｙ１−Ｌ２）及び右上座標（ｘ２＋Ｌ２，ｙ２＋Ｌ２）を求める。そして、処理対象標高点の座標（ｘ０，ｙ０）がこの領域に入っている場合（ｘ１−Ｌ２≦ｘ０≦ｘ２＋Ｌ２ ∧ ｙ１−Ｌ２≦ｙ０≦ｙ２＋Ｌ２）には、近傍のリンクとして抽出する。尚、上下線分離道路探索距離Ｌ２については、後で説明する。
【０３０３】
抽出したリンクについては、その“道路関連情報”内の“オブジェクトＩＤ”を取得し、これを探索チェック用テーブルに登録する。
【０３０４】
ステップＳ１０３において、探索チェック用テーブルに登録されたリンクの中から、後述の条件に合うリンクを探索し、発見されたリンク上における標高点（以下「道路設定標高点」という。）を設定する位置を計算する。
【０３０５】
最後に、ステップＳ１０４において、発見したリンクに対応する交差点間道路関連テーブル内の“道路関連情報”に、当該処理対象標高点の情報を追加して保存し、ステップＳ１０１に戻る。その結果、交差点間道路関連テーブルは図３６のような構成となる。図３６の交差点間道路関連テーブルは、図１６の交差点関連テーブルの“道路関連情報”に“標高点数（ｗｉ）”及びｗｉ個の“標高点情報”が追加された構成からなる。「標高点数」は、そのリンクに追加された道路設定標高点の数である。“標高点情報”は、“標高点位置”，“標高値”，及び“地物区分”から構成される。「標高点位置」は、リンク上における当該道路設定標高点の位置であり、当該リンクの長さを１（１００％）として、当該リンクの始点から当該道路設定標高点までの長さ（％）で表される。“標高値”，及び“地物区分”は、標高点ファイルに記憶された“標高値”，及び“地物区分”をコピーしたものである。
【０３０６】
最後に、ステップＳ１０３におけるリンクの探索方法について説明する。標高点は、設置される場所によって、地表標高点及び高架標高点に分類される。「地表標高点」は地表に設置された標高点をいい、「高架標高点」は橋上や高架上に設置された標高点をいう。
【０３０７】
標高点をリンクに対応づける場合、直近道路探索距離と上下線分離道路探索距離との２つのパラメータを用いる。「直近道路探索距離」とは、上下線分離のない道路に標高点を対応づける場合の標高点と道路との離間距離の最大許容値である。「上下線分離道路探索距離」とは、上下線分離道路に標高点を対応づける場合の、標高点と道路との離間距離の最大許容値である。これらの探索距離は、標高点座標の誤差等を考慮してユーザーにより適宜決められる。以下、直近道路探索距離をＬ１、上下線分離道路探索距離をＬ２と記す。
【０３０８】
また各リンクは“道路種別コード”，“リンク種別コード”を参照して、上下分類道路，非分離道路，地表道路，及び高架道路に分類される。
【０３０９】
〔リンク探索条件〕
（ａ）処理対象標高点が地表標高点であって、処理対象標高点から直近道路探索距離Ｌ１以内に道路がなく、且つ上下線分離道路探索距離Ｌ２以内に上下線分離道路が１つ存在する場合、当該上下線分離道路上の処理対象標高点からの最端点に道路設定標高点を設定する（図３７（ａ）参照）。
【０３１０】
（ｂ）処理対象標高点が地表標高点であって、直近道路探索距離Ｌ１以内に道路がなく、且つ上下線分離道路探索距離Ｌ２以内に上下線分離道路が２つ以上ある場合、まず、最も近い上下線分離道路Ａに道路設定標高点を設定する（図３７（ｂ−１）参照）。そして、さらに上下線分離道路Ａと同じ道路種別で次に近い上下線分離道路Ｂにも道路設定標高点を設定する（図３７（ｂ−２）参照）。例えば、上下線分離道路Ａとして‘国道’が見つかった場合、それと同じ種別（‘国道’）の相手の上下線分離道路Ｂを探し、相手の道路にも道路設定標高点を設定する。
【０３１１】
（ｃ）処理対象標高点が地表標高点であって、直近道路探索距離Ｌ１以内に非分離道路が１つ見つかった場合、その道路に道路設定標高点を設定する（図３７（ｃ）参照）。
（ｄ−１）処理対象標高点が地上標高点であって、直近道路探索距離Ｌ１以内に道路が２つ以上見つかった場合、高さレベルが最も高い道路に対し、道路設定標高点を設定する（図３７（ｄ−１）参照）。
【０３１２】
（ｄ−２）処理対象標高点が高架標高点であって、（ｄ−１）で設定した道路が上下線分離道路のとき、直近道路探索距離Ｌ１以上，上下線分離道路探索距離Ｌ２以内に上下線分離道路が１つ以上ある場合、道路種別が同じで最も近い道路に道路設定標高点を設定する（図３８（ｄ−２）参照）。
【０３１３】
（ｅ−１）処理対象標高点が地表標高点であって、直近道路探索距離Ｌ１以内に上下線分離道路Ａが１つある場合、その道路に道路設定標高点を設定する（図３８（ｅ−１）参照）。
【０３１４】
（ｅ−２）処理対象標高点が地表標高点であって、（ｅ−１）の場合で、且つ直近道路探索距離Ｌ１以上，上下線分離道路探索距離Ｌ２以内に上下線分離道路Ｂが１つある場合、その道路にも道路設定標高点を設定する（図３８（ｅ−２）参照）。
【０３１５】
（ｅ−３）処理対象標高点が地表標高点であって、（ｅ−１）の場合で、且つ直近道路探索距離Ｌ１以上，上下線分離道路探索距離Ｌ２以内に上下線分離道路が２つ以上ある場合、上下線分離道路Ａと道路種別が同じで最も近い道路にも道路設定標高点を設定する（図３８（ｅ−３）参照）。
【０３１６】
以上のリンク検索条件による道路標高点の設定事例を図３９に示した。
【０３１７】
（１０）３Ｄ空間テーブル及び３Ｄ属性テーブルへの書き出し処理
以上のように、ステップＳ１１〜Ｓ１８（図１４参照）の処理の結果として、図７の交差点関連テーブルと、図３６の交差点間道路関連テーブルが作成される。図１４のステップＳ１９及びＳ２０では、これを図１１に示した３Ｄ空間テーブル及び図１２に示した３Ｄ属性テーブルに書き出して、中間テーブル記憶手段１７に保存する。
【０３１８】
３Ｄ空間テーブル内の“３Ｄ空間レコード”は、交差点間道路関連テーブル内の“道路関連情報”と一対一に対応している。“３Ｄ空間レコード”の“オブジェクトＩＤ”には、“道路関連情報”の“オブジェクトＩＤ”が、“３Ｄ空間レコード”の“カテゴリ”には、“道路関連情報”の“カテゴリ”が、“３Ｄ空間レコード”の“構成点数”には、“道路関連情報”の“構成点数”が、“３Ｄ空間レコード”の“構成点情報”には、“道路関連情報”の“構成点位置情報”が、それぞれ格納される。
【０３１９】
尚、３Ｄ空間テーブルの各“構成点情報”は、“緯度”，“経度”のほかに、“高度”及び“標高”が追加されている。「標高」は、構成点情報が表す構成点の位置における地表の標高である。「高度」は、構成点情報が表す構成点の標高に地表から道路までの高さを加えた値である。道路ネットワーク抽出処理が終了した時点では、“高度”及び“標高”はまだ定まっていないため、ここには０が設定される。
【０３２０】
３Ｄ属性テーブル内の“道路属性レコード”は、交差点間道路関連テーブル内の“道路関連情報”と一対一に対応している。“道路属性レコード”の“オブジェクトＩＤ”には、“道路関連情報”の“オブジェクトＩＤ”が、“道路属性レコード”の“始点オブジェクトＩＤ”には、当該リンクの始点のノードのオブジェクトＩＤが、“道路属性レコード”の“終点オブジェクトＩＤ”には、当該リンクの終点のノードのオブジェクトＩＤが、“道路属性レコード”の“相対高さ情報数”には、“道路関連情報”の“相対高付与点数”が、“道路属性レコード”の“構造種別数”には、“道路関連情報”の“構造種別数”が、“道路属性レコード”の“相対高さ情報”には、“道路関連情報”の“相対高さ情報”が、“道路属性レコード”の“構造種別情報”には、“道路関連情報”の“構造種別情報”が、それぞれ格納される。
【０３２１】
３Ｄ属性テーブル内の“接続位相レコード”は、交差点関連テーブル内の“交差点関連情報”と一対一に対応している。“接続位相レコード”の“ノード位置情報”には“交差点関連情報”の“ノード位置情報”が、“接続位相レコード”の“オブジェクトＩＤ”には当該ノードのＯＩＤが、“接続位相レコード”の“接続道路数”には“交差点関連情報”の“接続道路数”が、“接続位相レコード”の“接続道路情報”には“交差点関連情報”の“接続道路情報”が、それぞれ格納される。
【０３２２】
〔５〕走行軌跡関連付け処理
走行軌跡関連付け処理は、図２の走行軌跡関連付手段１６により実行される処理である。この走行軌跡関連付け処理においては、図９の走行軌跡ファイルに格納された走行軌跡データを、図６の交差点間道路関連テーブルに格納された各リンクの情報に関連づける処理である。
【０３２３】
図４０は走行軌跡関連付け処理を表すフローチャートである。
【０３２４】
ステップＳ１１１において、走行軌跡関連付手段１６は、二次元地図記憶手段１２から二次元地図データ（交差点間道路関連テーブル（図６参照）及び交差点関連テーブル（図７参照））を読み込む。
【０３２５】
ステップＳ１１２において、走行軌跡関連付手段１６は、読み込んだ二次元地図データに基づいて、ディスプレイ５に二次元地図を表示する。
【０３２６】
次に、ステップＳ１１３において、走行軌跡関連付手段１６は、走行軌跡データ記憶手段１３から走行軌跡テーブル（図９参照）を読み込む。
【０３２７】
ステップＳ１１４において、走行軌跡データをディスプレイ５に表示された二次元地図に重ねて表示する。
【０３２８】
ステップＳ１１５において、入力デバイス４から入力されるユーザーによる指示に従って、走行軌跡データに関連付けられる道路ＮＷの範囲（以下「道路測位データ」という。）を特定する。これは、マウス等の入力デバイス４を用いて、ディスプレイ５上に表示された二次元地図上で範囲を指定することによって行われる。
【０３２９】
ステップＳ１１６において、走行軌跡関連付手段１６は、道路測位データに従って、走行軌跡データと道路ＮＷとの関連付けを自動的に行う。これは、道路ＮＷのノード及びリンク内の各構成点と、それらに最も近い走行軌跡データの各座標とを対応させることによって関連付けが行われる。
【０３３０】
ステップＳ１１７において、走行軌跡関連付手段１６は、関連付けが行われた走行軌跡をディスプレイ５上に表示された道路ＮＷに重ねて表示することにより、ユーザーによる関連付けの確認が行い得るようにする。
【０３３１】
そして、ステップＳ１１８において、ユーザーに対して、確認できたか否かの入力を促す表示を行う。ユーザーから確認ＮＧの入力がされた場合、ステップＳ１１９に移行し、確認ＯＫの指示が入力された場合、ステップＳ１２１へ移行する。
【０３３２】
ステップＳ１１９において、入力デバイス４から入力されるユーザーによる指示に従って、走行軌跡データと関連付けられる道路ＮＷの範囲（道路測位データ）の指定の訂正を行う。
【０３３３】
ステップＳ１２０において、走行軌跡関連付手段１６は、道路測位データに従って、走行軌跡データと道路ＮＷとの関連付けを自動的に行い、ステップＳ１１７に戻る。
【０３３４】
一方、ステップＳ１１８で確認ＯＫが入力された場合、ステップＳ１２１において、道路ＮＷと走行軌跡データとの関連付けに関する情報が、走行軌跡記憶手段１８に走行軌跡関連テーブルとして保存され、走行軌跡関連付け処理が終了する。
【０３３５】
図４１は、上記走行軌跡関連付け処理の結果作成された走行軌跡関連テーブルの構成を表す。走行軌跡関連テーブルは、“走行軌跡関連レコード数（ｎ８）”と、ｎ８個の“走行軌跡関連レコード”から構成される。
【０３３６】
各“走行軌跡関連レコード”は、“関連リンク数（ｐｉ）”，ｐｉ個の“関連リンクＯＩＤ”，“関連軌跡テーブルＩＤ”，“関連軌跡レコードＩＤ”，“範囲開始点ＧＰＳ時刻”，及び“範囲終了点ＧＰＳ時刻”から構成されている。
【０３３７】
“関連リンク数”及び“関連リンクＯＩＤ”は、関連付けを行うリンクに関する情報である。「関連リンク数」は、走行軌跡データとの関連付けが行われるリンク数である。一般に、走行軌跡データは、連続する複数のリンクに亘るため、これら連続する複数のリンク（マルチリンク）を指定する必要がある。“関連リンク数”はそのマルチリンクに含まれるリンク数である。「関連リンクＯＩＤ」は、マルチリンク内の各リンクのＯＩＤである。
【０３３８】
一方、“関連軌跡テーブルＩＤ”，“関連軌跡レコードＩＤ”，“範囲開始点ＧＰＳ時刻”，及び“範囲終了点ＧＰＳ時刻”は、関連付けが行われる走行軌跡データを指定する情報である。「関連軌跡テーブルＩＤ」及び「関連軌跡レコードＩＤ」は、走行軌跡テーブル内の走行軌跡データの格納場所を指定するＩＤである。この関連軌跡テーブルＩＤ及び関連軌跡レコードＩＤにより、一つの軌跡レコードが特定される。「範囲開始点ＧＰＳ時刻」及び「範囲終了点ＧＰＳ時刻」は、軌跡レコード内の計測点位置情報のうち、上記マルチリンクとの関連付けがされるデータの範囲を指定するものである。“ＧＰＳ時刻”が“範囲開始点ＧＰＳ時刻”である“計測点位置情報”から、“ＧＰＳ時刻”が“範囲終了点ＧＰＳ時刻”である“計測点位置情報”までのデータが、上記マルチリンクと関連づけられる。
【０３３９】
〔６〕道路ネットワーク三次元化処理
次に、道路ネットワーク三次元化処理の内容について説明する。道路ネットワーク三次元化処理は、図２の三次元化処理手段１９により実行される。道路ネットワーク三次元化処理では、道路ネットワーク抽出処理により作成された３Ｄ空間テーブル及び３Ｄ属性テーブルに対し情報の追加・修正を行うことによって三次元地図情報を完成させる。完成した三次元地図情報は、三次元地図記憶手段２０に格納される。
【０３４０】
〔６−１〕イベント処理
図４２は、三次元化処理手段１９によるイベント処理を表すフローチャートである。本実施例１の三次元化処理手段１９は、対話処理により、複数の図葉からなる中間テーブル記憶手段１７に記憶された地図データの一覧からユーザーが図葉を選択し、選択された図葉に対して３Ｄ空間テーブル及び３Ｄ属性テーブルの修正・追加を行い、三次元地図データを完成させるという作業を繰り返す。
【０３４１】
まず、ステップＳ１３１において、三次元化処理手段１９は、中間テーブル記憶手段１７に記憶されている図葉の一覧をディスプレイ５に表示することにより、図葉選択メニューを表示する。この場合、図葉の名称をリスト形式に表示してもよいし、図葉の一覧を広域地図上の経緯メッシュとしてグラフィックスで表示してもよい。
【０３４２】
次に、ステップＳ１３２において、三次元化処理手段１９は、入力デバイス４からユーザーによる入力イベントが発生するのを待つ。この状態において、ユーザーは、キーボードやマウス等の入力デバイス４から、入力イベントとして各図葉の選択指示又は終了指示を入力することができる。
【０３４３】
ユーザーによる入力デバイス４からの入力イベントが検出されると、三次元化処理手段１９は、ステップＳ１３３において、その入力イベントが終了指示か否かを判定する。終了指示であれば、三次元化処理手段１９は、終了処理を行って動作を終了する。
【０３４４】
一方、入力イベントが終了指示でない場合、三次元化処理手段１９は、ステップＳ１３４において、入力イベントが処理対象とする図葉（以下「処理対象図」という。）の選択指示かそれ以外かを判定する。後者の場合は、再びステップＳ１３１に戻る。
【０３４５】
前者の場合、三次元化処理手段１９は、ステップＳ１３５において、選択された処理対象図に対して、以下に説明する道路ネットワーク三次元化処理を実行し、ステップＳ１３１に戻る。
【０３４６】
〔６−２〕道路ネットワーク三次元化処理
（１）処理全体の流れ
三次元化処理手段１９による道路ネットワーク三次元化処理の全体的な流れを図４３に示す。
【０３４７】
まず、ステップＳ１４１において、相対高さ整合処理を行う。相対高さ整合処理においては、図葉の境界線上でのリンクの相対高さの合成・整合を行う。これにより、図葉間における相対高さの不整合の調整が図られる。
【０３４８】
ステップＳ１４２において、三次元化処理を行う。三次元化処理においては、３Ｄ空間テーブルの各“構成点情報”に標高及び高度を追加する処理が行われる。この際、標高を求めるための元情報として、ＤＥＭデータ記憶手段１４に格納されたＤＥＭデータ（メッシュ標高点テーブル），各３Ｄ属性テーブル内の各“相対高さ情報”が用いられる。まず、ＤＥＭデータから、各構成点の地点の標高が求められ、次に、“相対高さ情報”から各構成点の地表からの高度が決定される。
【０３４９】
ステップＳ１４３において、構造種別設定処理を行う。ここでは、各リンクの構造種別に特化した処理が行われる。本実施例では、リンクの構造種別が‘トンネル’の場合に対して、特別な処理が行われる。
【０３５０】
ステップＳ１４４において、道路線調整処理を行う。ここでは、以上の処理の結果、道路線に不自然な凹凸が生じたり、不自然な急勾配が生じる等した場合に、道路線を滑らかにする。また、その結果、立体交差するリンク間隔が異常に接近したり上下関係が逆転した場合にその補正を行う。また、道路標高点が設定されている場合、その標高点の標高情報を考慮して、リンクの高度や標高の補正を行う。
【０３５１】
次に、ステップＳ１４５において、後処理を行う。ここでは、道路線調整処理の調整により補正できなかった急勾配等の補正を行う。
【０３５２】
最後に、ステップＳ１４６において、走行軌跡データの取り込み処理を行う。ここでは、走行軌跡データにより、各リンクの高度補正が行われる。そして、中間テーブル記憶手段１７内の処理対象図の三次元化された３Ｄ空間テーブル及び３Ｄ属性テーブルを三次元地図記憶手段２０に保存して、道路ネットワーク三次元化処理を終了する。
【０３５３】
（２）相対高さ整合処理
相対高さ整合処理においては、図葉の境界線上でのリンクの相対高さの合成・整合を行う。相対高さ整合処理では、図枠上相対高さ整合処理と、相対高さ整合処理の２つの処理が行われる。
【０３５４】
図枠上相対高さ整合処理では、リンクの端点が図葉の境界線上に位置する場合、隣接する図葉間でのリンクの相対高さの整合を図る。図４６に、図枠上相対高さ合成処理の様子を示す。上述の道路ネットワーク抽出処理では、同じ図葉内における相対高さの整合は行っているが、異なる図葉間では行われていないため、図４６（ａ）に示したように、同地点のリンク端点に異なる相対高さが設定されている場合が起こる。そこで、図枠上相対高さ合成処理を行うことにより、図４６（ｂ）のように、同地点のリンク端点の相対高さの整合が図られる。
【０３５５】
注目する図葉を通るリンクが、当該注目図葉に隣接する又はさらに隣の図葉まで延びて存在している場合（例えば、図４７（ａ）参照）、それぞれの図葉内に当該リンクに対する“相対高さ情報”が存在する。しかしながら、上記道路ネットワーク抽出処理では、各図葉では独立に相対高さの設定がなされているため、同じリンクに対する“相対高さ情報”であるにもかかわらず、図葉間で異なる相対高さが設定されている場合がある。そこで、相対高さ整合処理では、当該リンクが通る図葉間で当該リンクの“相対高さ情報”の融合が図られる。
【０３５６】
以下、相対高さ整合処理の詳細を説明する。図４４は、相対高さ整合処理を表すフローチャートである。
【０３５７】
ます、ステップＳ１５１において、三次元化処理手段１９は、上記イベント処理において選択された処理対象図のデータ（３Ｄ属性ファイル及び３Ｄ空間ファイル）を中間テーブル記憶手段１７から読み出す。このとき、三次元化処理手段１９は、内部変数として、読み出した処理対象図のすべてのリンクに対して一対一に対応する処理済みフラグを生成し、すべて０（未処理）に初期化する。ここで、「処理済みフラグ」とは、対応するリンクについて相対高さ整合処理が終了しているかを表すフラグである。
【０３５８】
次に、ステップＳ１５２において、処理対象図に隣接する８つの隣接図のデータを、同じく中間テーブル記憶手段１７から読み出す。ここで、隣接する８つの隣接図とは、図４４の〔備考１〕に示したとおり、処理対象図に対して上，下，左，右，右上，右下，左上，左下にそれぞれ隣接する図葉である。ここで、地図上の北を「上」とした。
【０３５９】
次に、ステップＳ１５３において、当該図葉内の１つのリンクを選択する。そして、ステップＳ１５４において、処理済みフラグを参照することにより、選択したリンクはすでに相対高さ整合処理がなされているか否かを判定する。処理済みフラグが１（処理済）の場合は、次のリンクの処理に移るべく、ステップＳ１６０に移行する。一方、処理済みフラグが０（未処理）の場合は、処理済みフラグを１（処理済）にするとともに、ステップＳ１５５に移行する。
【０３６０】
ステップＳ１５５では、３Ｄ空間テーブル内の選択されたリンク（以下、この処理説明内において「選択リンク」という。）に対する“３Ｄ空間レコード”の各“構成点情報”を参照し、当該選択リンクの道路線形態を判定する。ここで、「道路線形態」とは、当該選択リンクの図葉内への収まり具合を表し、‘形態１’〜‘形態４’の何れかとされる。
【０３６１】
「形態１」は、図４５（ａ）に示したように、リンクがすべて処理対象図の図葉の境界線よりも内側に存在している形態をいう。形態１のリンク形状を「自図葉内道路線」と呼ぶ。「形態２」は、図４５（ｂ）に示したように、リンクが複数の図葉に跨っている形態をいう。形態２のリンク形状を「図跨り道路線」と呼ぶ。「形態３」は、図４５（ｃ）に示したように、リンクが複数の図葉に跨っており、且つリンクの端点の少なくとも一つが処理対象図の図葉の境界線上に位置する形態をいう。形態３のリンク形状を「端点図枠上図跨り道路線」と呼ぶ。「形態４」は、図４５（ｄ）に示したように、リンクがすべて処理対象図の図葉内に存在し、且つリンクの端点の少なくとも一つが処理対象図の図葉の境界線上に位置する形態をいう。形態４のリンク形状を「端点図枠上道路線」と呼ぶ。
【０３６２】
ステップＳ１５６，Ｓ１５７において、リンクの道路線形態を判定する。形態３，４の場合は以下の図枠上相対高さ合成処理（ステップＳ１５８），相対高さ整合処理（Ｓ１５９）を実行し、ステップＳ１６０に移行する。形態２の場合は、以下の相対高さ整合処理（ステップＳ１５９）のみを実行し、ステップＳ１６０に移行する。形態１の場合は、特に処理は行わず、ステップＳ１６０に移行する。
【０３６３】
図４６に示すように、ステップＳ１５８の図枠上相対高さ合成処理では、まず、選択リンクの端点（以下、この処理説明内において「対象端点」という。）ａ０が位置する図葉の境界線において処理対象図Ｆ０と隣接する８つの隣接図Ｆｎを選択する。そして、処理対象図Ｆ０及び８つの隣接図Ｆｎの３Ｄ空間ファイルを検索し、対象端点ａ０と同じ位置座標に端点を有するすべてのリンクを抽出する。次に、抽出された各リンクの端点のうち対象端点ａ０と同地点の端点｛ｂ１，…，ｂｎ｝、及び対象端点ａ０の相対高さ｛ｈｒ（ｂ１），…，ｈｒ（ｂｎ），ｈｒ（ａ０）｝を処理対象図及び隣接図の３Ｄ属性ファイルから取得する。そして、取得した相対高さのうち、絶対値が最大であるものを選択する。選択された相対高さをｈｒとする。最後に、抽出されたリンクの端点｛ｂ１，…，ｂｎ｝及び選択リンクの対象端点ａ０の相対高さをすべてｈｒに更新する。これにより、図葉の境界線上におけるリンク端点の相対高さの整合が図られる。
【０３６４】
ここで、相対高さの補正は、各端点の相対高さのうち絶対値が最大であるものを用いて行っているが、これは次のような理由による。上記道路ネットワーク抽出処理では、相対高さ生成処理（Ｓ１１）において、最初に一律に各端点に相対高さ０が与えられている。従って、相対高さ０は、その端点に対して相対高さの補正がされていない場合が多い。それに対して、相対高さの絶対値が大きくなるほど、その端点に対して相対高さの補正が多く行われたと考えられる。従って、相対高さの絶対値が大きいほど、その相対高さの値にはそれなりの意味があると考えられることから、各端点に相対高さは絶対値が最大のものを用いて行うこととしたものである。
【０３６５】
ステップＳ１５９の相対高さ整合処理では、まず、選択リンクが通るすべての図葉について、同じ選択リンクを表す“道路属性レコード”を３Ｄ属性テーブルから抽出する。
【０３６６】
例えば、図４７（ｂ），（ｃ）に示したように、選択リンクａｂが、図葉Ａと図葉Ｂに跨って存在していたとする。図葉Ａの３Ｄ属性テーブル内の“道路属性レコード”では、図４７（ｂ）のように“相対高さ情報”が設定されており、図葉Ｂの３Ｄ属性テーブル内の“道路属性レコード”では、図４７（ｃ）のように“相対高さ情報”が設定されている。このように、異なる図葉の３Ｄ属性テーブルでは、同一のリンクに対する“道路属性レコード”であっても“相対高さ情報”が異なる場合がある。
【０３６７】
次に、各図葉について、“相対高さ情報”の集合のうち自図に属する相対高付与点の“相対高さ情報”のみを残し、他図に属する相対高付与点の“相対高さ情報”は捨てる。そして、各図葉で残された“相対高さ情報”の集合をつなぎ合わせて合成し、これを選択リンクの“相対高さ情報”の集合として、各図葉の“道路属性テーブル”に保存する。
【０３６８】
例えば、図４７（ｂ）では、図葉Ａの“道路属性レコード”においては、相対高付与点ａ，ｐ１，ｐ２が設定されている。これらの相対高付与点はすべて図葉Ａに属すので残される。一方、図４７（ｃ）では、図葉Ｂの“道路属性レコード”においては、相対高付与点ｑ１，ｑ２，ｂが設定されている。これらの相対高付与点のうち、ｑ１は図葉Ｂに属さないので捨てられ、ｑ２，ｂは図葉Ｂに属すので残される。最後に、残された相対高付与点を合成することにより、リンクａｂの相対高付与点は図４７（ｄ）のように｛ａ，ｐ１，ｐ２，ｑ２，ｂ｝となり、図葉Ａ，Ｂのリンクａｂにたいする“道路属性レコード”内の“相対高さ情報”は、これらの相対高付与点に対する“相対高さ情報”の集合によって更新される。
【０３６９】
次に、ステップＳ１６０において、処理対象図内のすべてのリンクに対して、ステップＳ１５３〜Ｓ１５９の処理が終了したか否か判定する。未処理のリンクがあれば、ステップＳ１５３に戻り、すべて終了していれば、ステップＳ１６１に移行する。
【０３７０】
最後に、ステップＳ１６１において、図葉の境界線上でのリンクの相対高さの合成・整合によって修正された処理対象図及び８つの隣接図の３Ｄ属性テーブルを、中間テーブル記憶手段１７に保存して、相対高さ整合処理を終了する。
【０３７１】
（３）三次元化処理
三次元化処理では、各図葉に含まれるすべてのリンク内のすべての構成点に対して、標高値と高度を計算する。以下、三次元化処理について詳細に説明する。図４８は、三次元化処理を表すフローチャートである。
【０３７２】
まず、ステップＳ１７１において、三次元化処理手段１９は、上記イベント処理において選択された処理対象図のデータ（３Ｄ属性ファイル及び３Ｄ空間ファイル）を中間テーブル記憶手段１７から読み出す。
【０３７３】
次に、ステップＳ１７２において、処理対象図、及び処理対象図に隣接する８つの隣接図のＤＥＭデータ（メッシュ標高点テーブル）を、ＤＥＭデータ記憶手段１７から読み出す。
【０３７４】
次に、ステップＳ１７３において、処理対象図内の一つのリンクを処理対象リンクとして選択する。
【０３７５】
ステップＳ１７４において、処理対象リンクについて、標高値加算処理（後述）がすでに行われているか否かを判定する。すでに行われていれば、ステップＳ１７７に移行し、まだ行われていなければ、次のステップＳ１７５，Ｓ１７６を実行する。
【０３７６】
ステップＳ１７５において、処理対象リンクに対する“道路属性レコード”の“相対高さ情報”と、“３Ｄ空間レコード”の“構成点情報”とを参照し、処理対象リンクに設定されたすべての相対高付与点（始点，終点，構成点は除く。）の二次元位置座標を求める。そして、これらの相対高付与点を、既存の構成点と二次元位置で許容範囲内にない場合に構成点として、“３Ｄ空間レコード”の“構成点情報”のリストに追加する。
【０３７７】
ここで、３Ｄ属性テーブル内の“相対高さ情報”の“付与点位置”では、相対高付与点の位置は、リンクの始点からの距離（％）で与えられている（図４９（ａ）参照）。従って、相対高付与点の二次元位置座標を求めるには、３Ｄ空間テーブルから、当該リンクの各構成点の位置座標（緯度，経度）を取得し、これらの位置座標と“付与点位置”から、相対高付与点の二次元位置座標を計算する。
【０３７８】
例えば、処理対象リンクａｂが図４９（ａ）のような構造であったとする。この処理対象リンクの構成点は、｛ａ，ｃ１，ｃ２，ｃ３，ｃ４，ｂ｝である。この状態では、相対高付与点ｐ１，ｐ２は処理対象リンクの一属性として与えられているだけであり、構成点としては認識されていない。そこで、ステップＳ１７５において、各相対高付与点ｐ１，ｐ２に座標値を与えて、“３Ｄ空間レコード”の“構成点情報”のリストに相対高付与点ｐ１，ｐ２を追加する。その結果、図４９（ｂ）のように、相対高付与点も構成点として認識されるようになる。
【０３７９】
次に、ステップＳ１７６において、各構成点に対して、当該構成点の位置における標高値を与える標高値加算処理を行う。この標高値加算処理は、ＤＥＭメッシュデータを用いて行われる。具体的には、或る構成点ｃが、図５０に示したように、ＤＥＭデータの経緯方眼αβγδに属していたとすると、構成点ｃの標高値は、この経緯方眼αβγδをベジェ曲面で補間した際の構成点ｃの位置座標における曲面上の点の高さに設定される。計算により得られた各構成点の標高値は、３Ｄ空間テーブル内の“構成点情報”の“標高”に格納される。
【０３８０】
ステップＳ１７７において、処理対象図内のすべてのリンクに対してステップＳ１７５，Ｓ１７６の処理が行われたか否かを判定する。まだ行われていないリンクがある場合には、ステップＳ１７３に戻り、すべて行われた場合には、次のステップＳ１７８に移行する。
【０３８１】
ステップＳ１７８において、処理対象図内の一つのリンクを処理対象リンクとして選択する。
【０３８２】
ステップＳ１７９において、処理対象リンクについて、高さ加算処理（後述）がすでに行われているか否かを判定する。すでに行われていれば、ステップＳ１８１にとび、まだ行われていなければ、次のステップＳ１８０を実行する。
【０３８３】
ステップＳ１８０の高さ加算処理においては、処理対象リンク内の各構成点に対して、“高度”を与える処理が行われる。この場合、まず、相対高付与点（始点，終点も含む。）に対して、相対高さに応じて予め決められている比高を与える。「比高」とは、地表面から道路までの高さのことをいう。「相対高さ」と「比高」との対応関係は、相対高さ対照テーブルとして与えられる。この対応関係は、ユーザーにより任意に設定が可能とされている。また、相対高さ対照テーブルは、構造種別に応じて複数個用意されている。そして、相対高付与点における構造種別に応じて、相対高さ対照テーブルを切り替えて使用する。
【０３８４】
例えば、構造種別が‘盛土’の場合、相対高さ対照テーブルとしては｛（相対高さ０，比高０ｍ），（相対高さ１，比高４ｍ），（相対高さ２，比高８ｍ），…｝が使用され、その他の場合は｛…，（相対高さ−２，比高−１２．５ｍ），（相対高さ−１，比高−７．５ｍ），（相対高さ０，比高０ｍ），（相対高さ１，比高７．５ｍ），（相対高さ２，比高１２．５ｍ），…｝が使用されるといった具合である。
【０３８５】
各相対高付与点における“高度”は、先に与えられた“標高”にここで得られた“比高”を加算した値となる。
【０３８６】
次に、“高度”が与えられた相対高付与点間を補間し、まだ“高度”が与えられていない各構成点の高度は、当該構成点の位置に対応する補間線上の高度に設定される。これにより、すべての構成点に対する“高度”が設定される。設定された各構成点の“高度”は、３Ｄ空間テーブル内の“構成点情報”の“高度”に保存される。
【０３８７】
ここで、上述の“高度”が与えられた相対高付与点間を補間する方法としては、直線補間、多項式補間、スプライン補間等、種々の方法を使用することが可能であるが、本実施例１においては、Ｓ字スムージングによる補間を行う。
【０３８８】
図５２は、Ｓ字スムージング補間のアルゴリズムを表すフローチャートである。Ｓ字スムージング補間においては、隣接する２つの相対高付与点間の区間（図５１（ｃ）参照）を１区間として補間を行う。まず、補間点の二次元座標を設定する（Ｓ１９１）。次に、この区間の開始点と終了点の間に高度差はあるか否かを判定する（Ｓ１９２）。高度差がない場合には、補間点の高度は開始点の高度に設定する（Ｓ１９５）。一方、高度差がある場合は、まず、開始点から補間点までの二次元距離（ＸＹ平面上の距離）を計算し（Ｓ１９３）、その二次元距離に応じて補間点の高度を計算する（Ｓ１９４）。補間点の高度の計算は、シグモイド曲線のようなＳ字型の曲線関数が使用される（図５３参照）。以上の演算を、区間の開始点から終了点まで補間点を移動させながら行う（Ｓ１９６）。
【０３８９】
図４８に戻って、ステップＳ１８１において、処理対象図内のすべてのリンクに対してステップＳ１８０の処理が行われたか否かを判定する。まだ行われていないリンクがある場合には、ステップＳ１７８に戻り、すべて行われた場合には、次のステップＳ１８２に移行する。
【０３９０】
ステップＳ１８２において、すべてのリンクの全構成点に対する標高値及び高度のデータを、処理対象図の３Ｄ空間テーブルに保存し、これを中間テーブル記憶手段１７に格納して、三次元化処理を終了する。
【０３９１】
（４）構造種別設定処理
構造種別設定処理においては、図葉内のリンクのうち、構造種別が‘トンネル’のリンクに対して、高度の補正を行う。図５４は、構造種別設定処理を表すフローチャートである。
【０３９２】
まず、ステップＳ２０１において、三次元化処理手段１９は、上記イベント処理において選択された処理対象図のデータ（３Ｄ属性ファイル及び３Ｄ空間ファイル）を中間テーブル記憶手段１７から読み出す。
【０３９３】
次に、ステップＳ２０２において、三次元化処理手段１９は、処理対象図に含まれるすべてのリンクの中から、構造種別として‘トンネル’が設定されているリンクを抽出する。
【０３９４】
次に、ステップＳ２０３において、三次元化処理手段１９は、処理対象図に隣接する８つの隣接図のデータ（３Ｄ属性ファイル及び３Ｄ空間ファイル）を中間テーブル記憶手段１７から読み出す。
【０３９５】
ステップＳ２０４において、構造種別がトンネルであるリンクを選択する。この選択されたリンクを以下この処理説明においては「選択リンク」と呼ぶ。
【０３９６】
ステップＳ２０５において、選択したリンクについて、以下のステップＳ２０６〜Ｓ２０９のトンネル処理がすでになされているか否かを判定する。トンネル処理がすでになされている場合、ステップＳ２１０に飛び、トンネル処理がまだされていない場合は、以下のステップＳ２０６〜Ｓ２０９のトンネル処理を行う。
【０３９７】
ステップＳ２０６において、三次元化処理手段１９は、処理対象図及び各隣接図の３Ｄ属性テーブルを検索することにより、選択リンクから連続するトンネル区間のすべてのリンクを抽出する。これは、複数リンクに跨って構造種別‘トンネル’が設定されている場合もあるので（図５５（ａ）参照）、かかる場合、連続するすべてのトンネル区間のリンクを取得するようにしたものである。以下、このように連続するトンネル区間に属するリンクの集合を「トンネルグループ」という。
【０３９８】
ステップＳ２０７において、トンネルグループのソートにより、先頭リンクを決定する。具体的には、まず、トンネルグループのリンクのうち、一方の端点が他のトンネルグループのリンクと接続していないリンクを抽出する。例えば、図５５（ｂ）の例では、リンクａｂ，ｆｇ，ｊｋが抽出される。最後に、これら抽出されたリンクのトンネル区間の長さを計算し、最も長いリンクを「先頭リンク」とする。例えば、図５５（ｂ）の例では、リンクａｂが最も長いので、これが先頭リンクに決定される。
【０３９９】
ステップＳ２０８において、トンネルグループのスムージングを行う。具体的には、まず、トンネル区間内で分岐ノードがある場合、分岐するリンクの何れが本流かを判定する。この場合、分岐ノードの前後のリンクの方向ベクトルの成す角を比較し、角度が小さい方のリンクを本流と判断する。
【０４００】
例えば、図５５（ｃ）において、先頭リンクａｂの終点側のノードｂが分岐ノードとなっている。この場合、リンクａｂの方向ベクトルとリンクｂｈの方向ベクトルの成す角をθ１，リンクａｂの方向ベクトルとリンクｂｃの方向ベクトルの成す角をθ２とする。この場合、θ１＜θ２なので、リンクｂｈのほうが本流、リンクｂｃのほうが支流と判断される。
【０４０１】
同様に、他の分岐交差点についても本流，支流の判断を行うことにより、トンネルグループ内の各リンクを本流と支流に分類する。例えば、図５５の例において本流と支流のグループ分けを行うと、図５５（ｄ）のようになる。
【０４０２】
以上のグループ分けが終わると、次に、本流のリンクグループについて、トンネル区間の始点とトンネル区間の終点の間を１区間として、上述のＳ字スムージング補間（図５２，図５３参照）を実行する。そして、この補間曲線に沿って、本流のリンクグループの中間の各ノード及び構成点の高度を決定する。例えば、図５５（ｄ）の場合、ノードａとノードｇの間の区間を１区間としてＳ字スムージング補間を行い、ノードｂ，ｈ，ｆの高度を決定する。
【０４０３】
一方、支流に属するリンクについては、本流の各ノードの決定後、本流の場合と同様、支流のトンネルグループの両端のノード間を１区間としてＳ字スムージング補間を実行し、この補間曲線に沿って、支流のリンクグループの中間の各ノード及び構成点の高度を決定する。
【０４０４】
以上のようにして決定された各構成点（ノードを含む）の高度は、各リンクに対する３Ｄ空間ファイル内の“３Ｄ空間レコード”に保存される。
【０４０５】
尚、本実施例１においては、補間曲線としてＳ字スムージング曲線を使用するが、これに限らず、他の補間曲線，直線，折線等を使用することも可能である。
【０４０６】
ステップＳ２０９において、隣接図整合処理を行う。すなわち、トンネルグループが複数の図葉に跨っている場合、隣接図において、同じＯＩＤのリンクに対する各構成点の高度を、前記ステップＳ２０８で求めた高度に更新する。更新された各構成点（ノードを含む）の高度は、当該隣接図の３Ｄ空間ファイル内の各リンクに対する“３Ｄ空間レコード”に保存される。
【０４０７】
次に、ステップＳ２１０において、処理対象図のすべての‘トンネル’属性のリンクに対してトンネル処理が終了したか否かを判定する。まだ未処理の‘トンネル’属性のリンクがあれば、ステップＳ２０４に戻り、すべて終了したのであれば、ステップＳ２１１に移行する。
【０４０８】
最後に、ステップＳ２１１において、各図葉の３Ｄ空間テーブルのうち、データが更新されたテーブルを中間テーブル記憶手段１７に格納し、構造種別設定処理を終了する。
【０４０９】
（５）道路線調整処理
道路線調整処理は、“道路種別コード”により道路線を７種類に分類して、各道路種別に対して、道路の凹凸や急勾配の平滑化、相対高さと高度の矛盾の補正、道路標高点を考慮した高度の補正を行う。
【０４１０】
図５６は、道路線調整処理を表すフローチャートである。
【０４１１】
まず、ステップＳ２２１において、三次元化処理手段１９は、上記イベント処理において選択された処理対象図のデータ（３Ｄ属性ファイル及び３Ｄ空間ファイル）を中間テーブル記憶手段１７から読み出す。
【０４１２】
次に、ステップＳ２２２において、三次元化処理手段１９は、処理対象図に隣接する８つの隣接図のデータ（３Ｄ属性ファイル及び３Ｄ空間ファイル）を中間テーブル記憶手段１７から読み出す。
【０４１３】
次に、ステップＳ２２３において、三次元化処理手段１９は、３Ｄ空間テーブル内の各リンクの“道路種別コード”によりリンクを、‘高速’，‘都市高速’，‘一般国道’，‘主要地方道’，‘指定市道’，‘一般都道府県道’，‘その他’の７種類に分類する。
【０４１４】
次に、ステップＳ２２４，Ｓ２２５において、各道路種別に対して、後述の勾配調整処理を行う。これは、道路種別に応じて、急勾配の区間に対して勾配を緩やかにする補正を行う処理である。
【０４１５】
次に、ステップＳ２２６において、後述の近接逆転調整処理を行う。これは、立体交差するリンク同士が異常に接近している場合に、その距離が適当となるように調整する処理である。
【０４１６】
次に、ステップＳ２２７，Ｓ２２８において、各道路種別に対して、後述の標高点調整処理を行う。これは、各リンクに設定された道路標高点に従って、各リンクの高度の補正を行う処理である。
【０４１７】
次に、ステップＳ２２９において、後述の交差点調整処理を行う。これは、上記各処理の結果、各相対高付与点に付与された「相対高さ」と「高度」との間に矛盾が生じた場合に、その矛盾が解消するように、各構成点の「高度」の補正を行う処理である。
【０４１８】
最後に、データが更新された図葉の３Ｄ空間レコードを、中間テーブル記憶手段１７に保存して、道路線調整処理を終了する。
【０４１９】
次に、上記の勾配調整処理、近接逆転調整処理、標高点調整処理、及び交差点調整処理について、順次、詳細に説明する。
【０４２０】
（５−１）勾配調整処理
図５７は、勾配調整処理を表すフローチャートである。
【０４２１】
まず、ステップＳ２４１において、複数リンク一括処理を行う。「複数リンク一括処理」とは、二差路のノードで接続する同一道路種別，同一リンク種別のリンクを１つの道路線として取り扱う処理をいう。ここでは、まず、三次元化処理手段１９は、処理対象図内の各リンクのうち勾配調整処理が済んでいないリンクについて、“道路種別コード”及び“リンク種別コード”が同一で二差路接続するリンクを検索し、マルチリンク集合とする。また、二差路のリンクが続く限り、処理対象図又は隣接図を超えて検索し、検索の結果得られたリンクをマルチリンク集合に追加する。尚、隣接図を超えた場合は、必要な図葉のデータを読み込む。以上のようにして得られる各マルチリンク集合を結合して１本のダミーリンクとする。
【０４２２】
図５８は、ステップＳ２４１の複数リンク一括処理のアルゴリズムを表すフローチャートである。まず、処理対象図内からリンクを選択し、この選択されたリンクを要素とするマルチリンク集合を生成する（Ｓ２６１）。次に、このリンクに対して勾配調整処理がすでになされているかいなかを判定する（Ｓ２６２）。勾配調整処理がなされている場合は、次のリンク選択に移るべく、ステップＳ２６６に移行する。一方、勾配調整処理がなされていない場合は、始点側リンク結合処理（Ｓ２６３）及び終点側リンク結合処理（Ｓ２６４）を行うことによりマルチリンク集合を抽出し、抽出されたマルチリンク集合を結合して１本のダミーリンクとする（Ｓ２６５）。
【０４２３】
以上の処理の後、処理対象図内のすべてのリンクについてステップＳ２６１〜Ｓ２６５の処理を行ったか否かを判定し、未処理のリンクがあればステップＳ２６１に戻り、すべて終了であれば、複数リンク一括処理を終了する。
【０４２４】
ここで、ステップＳ２６３（Ｓ２６４）の始点（終点）側リンク結合処理のアルゴリズムは、図５９のフローチャートのようになる。まず、選択されたリンク（以下、この処理説明内において「選択リンク」という。）の始点（終点）ノードが二差路であるか否かを判定する（Ｓ２７１）。二差路でなければ、始点（終点）側リンク結合処理を終了する。
【０４２５】
次に、選択リンクの始点（終点）ノードに接続するリンク（以下、この処理説明内において「接続リンク」という。）の“道路種別コード”及び“リンク種別コード”が選択リンクと同じか否かを判定する（Ｓ２７２）。異なる場合は始点（終点）側リンク結合処理を終了する。
【０４２６】
次に、接続リンクをマルチリンク集合に追加する（Ｓ２７３）。そして、当該接続リンクを選択リンクとして（Ｓ２７４）、始点（終点）側リンク結合処理を再帰的に実行し（Ｓ２７５）、終了する。
【０４２７】
例えば、図６０（ａ）のように、リンクａｂ，ｂｃ，ｃｄ，ｃｅがあり、ノードｂは二差路、ノードｃは三差路、ノードａ，ｄ，ｅは端点であったとする。また、各リンクａｂ，ｂｃ，ｃｄ，ｃｅの（道路種別，リンク種別）は、（‘道路種別１’，‘リンク種別ａ’），（‘道路種別１’，‘リンク種別ａ’），（‘道路種別１’，‘リンク種別ｂ’），（‘道路種別２’，‘リンク種別ａ’）であったとする。この場合、上記複数リンク一括処理により、リンクａｂ，ｂｃがマルチリンク集合Ａ，リンクｃｄがマルチリンク集合Ｂ，リンクｃｅがマルチリンク集合Ｃに類別され、各マルチリンク集合のリンクは結合して１本のダミーリンクとされる。この場合、マルチリンク集合Ａのリンクａｂ，ｂｃが結合されて、ダミーリンクａｃとされる。
【０４２８】
図５７に戻って、次に、ステップＳ２４２において、処理対象図のリンクのうち、所定の分類のリンク（ダミーリンク）を一つ選択する。以下、この処理説明において、この選択されたリンク（ダミーリンク）を「選択リンク」という。
【０４２９】
ステップＳ２４３において、選択リンクの構造種別を検査し、選択リンクにトンネル区間があるか否かを判定する。トンネル区間が見つかった場合は、ステップＳ２５２に移行し、トンネル区間が見つからなかった場合は、ステップＳ２４４に移行する。
【０４３０】
ステップＳ２４４において、選択リンクが調整対象であるか否かの判定を行う。この場合、選択リンクの“道路種別コード”が‘高速’又は‘都市高速’であれば、無条件に調整対象とされる。また、“道路種別コード”が‘高速’及び‘都市高速’以外の場合には、当該選択リンクの構成点の“相対高さ”に０以外の点があれば調整対象とされる。これ以外の場合は、調整対象ではないとされる。選択リンクが調整対象でない場合、ステップＳ２５２に移行し、調整対象の場合には、次のステップＳ２４５に移行する。
【０４３１】
ステップＳ２４５において、選択リンクが両端において“構造種別コード”が‘トンネル’であるリンク（トンネル区間のリンク）と接続しているか否かを判定する。選択リンクの両端がトンネル区間のリンクと接続している場合、ステップＳ２５６に移行し、それ以外の場合は、ステップＳ２４６に移行する。
【０４３２】
ステップＳ２５６においては、選択リンクの始点と終点間を１区間として、上述のＳ字スムージング補間（図５２参照）により始点と終点間をＳ字曲線で補間する。この補間曲線に沿って選択リンク上の各構成点の高度を補正する。そして、ステップＳ２５７に移行する。
【０４３３】
一方、ステップＳ２４６においては、選択リンク内の相対高付与点をキーとして、処理対象区間を作成する。この場合、３Ｄ属性テーブルを参照することにより、選択リンク内の各相対高付与点の“相対高さ”を取得し、“相対高さ”の絶対値が最大である相対高付与点を抽出する。そして、この相対高付与点を境界点として、選択リンクを２つの処理対象区間に分割する。絶対値が最大である相対高付与点が複数ある場合は、絶対値が最大である相対高付与点の連続する区間も一つの処理対象区間とする。
【０４３４】
例えば、図６１（ａ）において、選択リンクａｂは６つの構成点（始点，終点，相対高付与点以外の構成点）ａ，ｂ，ｑ１，ｑ２，ｑ３，ｑ４と、４つの相対高付与点ａ，ｂ，ｐ１，ｐ２を有する（尚、始点ａ及び終点ｂは、構成点であり相対高付与点でもある）。これらは、（ａ，ｑ１，ｐ１，ｑ２，ｑ３，ｐ２，ｑ４，ｂ）の順序で並んでいる。始点ａ，相対高付与点ｐ１，相対高付与点ｐ２，終点ｂには、それぞれ、相対高さ０，１，２，０が付与されている。この場合、相対高さの絶対値が最大の相対高付与点はｐ２である。従って、リンクａｂは、２つの処理対象区間（ａ，ｑ１，ｐ１，ｑ２，ｑ３，ｐ２）及び（ｐ２，ｑ４，ｂ）に分割される。
【０４３５】
また、例えば、図６１（ｄ）において、選択リンクａｂは９つの構成点（始点，終点，相対高付与点以外の構成点）ａ，ｂ，ｑ１〜ｑ７と、７つの相対高付与点ａ，ｂ，ｐ１〜ｐ５を有する（尚、始点ａ及び終点ｂは、構成点であり相対高付与点でもある）。これらは、（ａ，ｑ１，ｑ２，ｐ１，ｑ３，ｐ２，ｑ４，ｐ３，ｑ５，ｐ４，ｑ６，ｐ５，ｑ７，ｂ）の順序で並んでいる。始点ａ，終点ｂには、相対高さ０が付与されている。また、相対高付与点ｐ１〜ｐ５には相対高さ１が付与されている。この場合、相対高さの絶対値が最大の相対高付与点はｐ１〜ｐ５である。従って、リンクａｂは、３つの処理対象区間（ａ，ｑ１，ｑ２，ｐ１），（ｐ１，ｑ３，ｐ２，ｑ４，ｐ３，ｑ５，ｐ４，ｑ６，ｐ５），（ｐ５，ｑ７，ｂ）に分割される。
【０４３６】
次に、ステップＳ２４７において、選択リンクの相対高さの最大値及び最小値を求める。
【０４３７】
次に、ステップＳ２４８において、ステップＳ２４７で求めた相対高さの最大値が正の値の場合、最大値をキーに処理対象区間のグループ化を行う。グループ化された当該処理対象区間で、高度の高い方の端点（相対高付与点）を固定し、その反対側の端点の高度を、固定した方の端点との高度差が所定の勾配値の範囲（例えば、法律（「道路構造令」等）に基づく勾配値の範囲）内となるように修正する。そして、当該処理対象区間を１区間として、上述のＳ字スムージング補間（図５２参照）により当該処理対象区間の始点と終点間をＳ字曲線で補間する。この補間曲線に沿って当該処理対象区間上の各構成点の高度を補正する。
【０４３８】
例えば、図６１（ａ）において、処理対象区間ａｐ２では相対高さの絶対値が最大の相対高付与点はｐ２である。そこで、相対高付与点ｐ２を固定する。次に、始点ａと相対高付与点ｐ２との高度差Ｈａと処理対象区間ａｐ２の長さＬを計算する。そして、処理対象区間ａｐ２の勾配Ｈａ／Ｌの値が所定の範囲を超えていた場合、始点ａの高度を修正することによって始点ａと相対高付与点ｐ２との高度差をＨｂとし、勾配Ｈａ／Ｌの値が所定の範囲内となるようにする（図６１（ｂ）参照）。そして、処理対象区間ａｐ２を１区間として、Ｓ字スムージング補間により処理対象区間ａｐ２の始点ａと終点ｐ２間をＳ字曲線で補間し、この補間曲線に沿って処理対象区間ａｐ２上の各構成点ｑ１，ｐ１，ｑ２，ｑ３の高度を補正する（図６１（ｃ）参照）。また、処理対象区間ｐ２ｂについても同様な修正を行う。この処理により、各リンクの勾配は、現実の道路の勾配により近いものに修正がされる。
【０４３９】
次に、ステップＳ２４９において、ステップＳ２４７で求めた相対高さの最小値が負の値の場合、最小値をキーに処理対象区間のグループ化を行う。グループ化された当該処理対象区間で、高度の低い方の端点（相対高付与点）を固定し、その反対側の端点の高度を、固定した方の端点との高度差が所定の勾配値の範囲（例えば、法律（「道路構造令」等）に基づく勾配値の範囲）内となるように修正する。そして、当該処理対象区間を１区間として、上述のＳ字スムージング補間（図５２参照）により当該処理対象区間の始点と終点間をＳ字曲線で補間する。この補間曲線に沿って当該処理対象区間上の各構成点の高度を補正する。
【０４４０】
次に、ステップＳ２５０において、処理対象区間両端の相対高さが正と負であるものについて、上述のＳ字スムージング補間（図５２参照）により始点と終点間をＳ字曲線で補間する。この補間曲線に沿って当該処理対象区間上の各構成点の高度を補正する。
【０４４１】
次に、ステップＳ２５２において、ランプ接続処理を行う。ランプ接続処理においては、まず、選択リンクの“リンク種別コード”が‘ランプ’及び‘側線’のリンクかどうかを判定する。選択リンクが‘ランプ’及び‘側線’の場合、次に、選択リンクの“道路種別コード”を取得するとともに、選択リンクの端点のノードに接続するリンク（以下、この処理説明内において「接続リンク」という。）を抽出しその“道路種別コード”を取得する。そして、接続リンクの道路種別が選択リンクの道路種別よりも下位である場合（例えば、選択リンクが‘高速’で接続リンクが‘一般国道’の場合等）、当該接続リンクが接続するノードの高度は保持して、選択リンクに対して上述のＳ字スムージング処理による各構成点の高度の補正を行う。ここで、道路種別の順位は、上位から‘高速’，‘都市高速’，‘一般国道’，‘主要地方道’，‘指定市道’，‘一般都道府県道’，‘その他の道路’の順とされる。
【０４４２】
次に、ステップＳ２５３において、接続道路線調整処理を行う。上述のステップＳ２４６〜Ｓ２５０の勾配調整を行った結果、リンクの始終点で高度が変化した場合、同じノードに接続するリンク間で高度の値に不整合が生じ、不連続となる場合がある（図６２（ａ）参照）。接続道路線調整処理では、そのような不整合の補正を行う。
【０４４３】
具体的には、まず選択リンクの始終点で高度が変更されたか否かを判定する。高度が変更された場合、高度が変更された端点（以下、この処理説明内において「接続交差点」という。）に接続するリンク（以下、この処理説明内において「接続リンク」という。）を抽出する（図６２（ａ））。抽出された各接続リンクの接続交差点における高度を、選択リンクの接続交差点における高度に変更する（図６２（ｂ））。そして、各接続リンクに対して、始終点を固定して、上述のＳ２４６〜Ｓ２５０と同様の処理による各構成点の高度の補正を行う（図６２（ｃ））。これにより、接続交差点における高度の不整合が補正され、各ノードにおける連続性が保証される。
【０４４４】
次に、ステップＳ２５４において、隣接図整合処理を行う。すなわち、高度の調整がされたリンク（選択リンクや接続リンク）が複数の図葉に跨っている場合、隣接図において、同じＯＩＤのリンクに対する各構成点の高度を、上記各処理で求めた高度に更新する。更新された各構成点（ノードを含む）の高度は、当該隣接図の３Ｄ空間ファイル内の各リンクに対する“３Ｄ空間レコード”に保存される。尚、この際、勾配補正を行う前の３Ｄ空間テーブルを、中間テーブル記憶手段１７内に別途残しておく。
【０４４５】
次に、ステップＳ２５５において、ステップＳ２４１でマルチリンク集合の合成により生成したダミーリンクを分離して、元のリンクに復元する。そして、更新された各構成点（ノードを含む）の高度は、当該処理対象図の３Ｄ空間ファイル内の各リンクに対する“３Ｄ空間レコード”に保存される。尚、この際、勾配補正を行う前の３Ｄ空間テーブルを、中間テーブル記憶手段１７内に別途残しておく。
【０４４６】
最後に、処理対象図のすべてのリンクについて、ステップＳ２４２〜Ｓ２５５の処理が終了したか否かを判定する。終了していないリンクがあれば、ステップＳ２４２に戻り、すべてのリンクについて終了したならば、道路線調整処理を終了する。
【０４４７】
（５−２）近接逆転調整処理
近接逆転調整処理においては、道路線調整処理により各リンクの高度調整がされた結果、立体交差点における交差するリンク同士の高度が異常に接近又は反転した場合、それを補正する処理を行う。
【０４４８】
図６３は、近接逆転調整処理を表すフローチャートである。
【０４４９】
まず、ステップＳ２８１において、立体交差点情報のテーブル（以下「立体交差点テーブル」という。）の作成を行う。ここで、「立体交差点情報」とは、立体交差する２つのリンクのＯＩＤ，及びそれぞれのリンクにおける立体交差する位置（構成点順位）からなる情報である。具体的には、処理対象図の３Ｄ属性テーブル内の各“道路属性レコード”の各“相対高さ情報”の“立体交差フラグ”を参照することにより、当該“相対高さ情報”に対応する構成点が立体交差点か否かを判定することによって、立体交差点である構成点を検索する。立体交差点の構成点が発見された場合、その構成点が属するリンクの“オブジェクトＩＤ”，及び当該構成点の“相対高さ”を立体交差点情報として抽出し、立体交差点テーブルに登録する。また、当該構成点の“付与点位置”から当該構成点に対応する“構成点情報”（経度，緯度，高度，標高）を３Ｄ空間テーブル内から取得し、立体交差点テーブルに登録する。これを、すべての“道路属性レコード”のすべての“相対高さ情報”について実行することにより、処理対象図内のすべての立体交差点が立体交差点テーブルに登録される。最後に、立体交差点テーブルを、リンクの“オブジェクトＩＤ”を最１優先キー，構成点の“相対高さ”を第２優先キーとして昇順にソートする。
【０４５０】
ステップＳ２８２において、各立体交差位置の相対高さ及び高度を立体交差点テーブルから読み出し、各交差点の相対高さ及び高度を比較することによって、当該立体交差位置において立体交差の近接又は逆転が生じているか否かを判定する。ここで、「近接」とは、２つの立体交差点の高度の上下関係が相対高さの上下関係と一致し、且つそれらの立体交差点の高度の差が所定の閾値以下のことをいう（図６４（ａ））。この閾値は、ユーザーにより適宜設定される。「逆転」とは、２つの立体交差点の高度の上下関係が相対高さの上下関係と一致しないことをいう（図６４（ｂ））。立体交差の近接又は逆転が生じている場合、ステップＳ２８４に移行し、生じていない場合はステップＳ２８５に移行する。
【０４５１】
ステップＳ２８３においては、近接又は逆転が生じている立体交差点に対して、近接逆転高度補正処理を行う。そして、ステップＳ２８２に戻る。
【０４５２】
ここで、近接逆転高度補正処理では、近接又は逆転が生じている各立体交差点の高度（勾配調整前高度）ｈ０を標高値と相対高さより計算される比高の合計値より設定する。また、当該立体交差点の上記道路線調整処理を行った後の高度（勾配調整後高度）ｈ１を立体交差点テーブルから読み出す。上記道路線調整処理を行った後と前の高度の差（変更量）ｈ１−ｈ０を計算する。そして、各立体交差点の高度を、勾配調整前高度ｈ０に変更量（ｈ１−ｈ０）の１／２を加えた値ｈ０＋（ｈ１−ｈ０）／２に補正する（図６４（ｃ））。そして、補正後の各立体交差点の高度を、立体交差点テーブルに保存する。
【０４５３】
各立体交差点位置における立体交差点の近接・逆転がすべて補正されると、３Ｄ空間テーブル内の立体交差点に対応する“構成点情報”の“高度”を、立体交差点テーブルの各立体交差点の高度で更新する。
【０４５４】
次に、ステップＳ２８４において、隣接図整合処理が行われる。すなわち、高度補正された立体交差点が属するリンクが複数の図葉に跨っている場合、隣接図において、同じＯＩＤのリンクに対する各立体交差点の高度を、処理対象図における当該立体交差点の高度に更新する。更新された各立体交差点の高度は、当該隣接図の３Ｄ空間ファイル内の各リンクに対する“３Ｄ空間レコード”に保存される。
【０４５５】
次に、ステップＳ２８５において、近接逆転高度補正処理において高度の補正が行われた立体交差点が属するリンクに対して、当該立体交差点及びそのリンクの始点，終点を固定して、上述のＳ２４６〜Ｓ２５０と同様の処理による各構成点の高度の補正を行う。
【０４５６】
最後に、ステップＳ２８６において、隣接図整合処理を行い、近接整合処理を終了する。すなわち、ステップＳ２８５で勾配調整されたリンクが複数の図葉に跨っている場合、隣接図において、同じＯＩＤのリンクに対する各構成点の高度を、処理対象図における当該構成点の高度に更新する。更新された各立体交差点の高度は、当該隣接図の３Ｄ空間ファイル内の各リンクに対する“３Ｄ空間レコード”に保存される。
【０４５７】
（５−３）標高点調整処理
標高点調整処理は、道路標高点の標高値を、各リンクの高さに反映させる処理である。
【０４５８】
図６５は、標高点調整処理を表すフローチャートである。
【０４５９】
まず、ステップＳ２９１において、複数リンク一括処理（図５８参照）を行い、“道路種別コード”及び“リンク種別コード”が同一で二差路接続するリンクを結合して１本のダミーリンクとする。
【０４６０】
次に、ステップＳ２９２において、処理対象図の３Ｄ属性テーブル内の“標高点レコード”を１つ読み出し、その“標高点レコード”に対応するリンク（ダミーリンク）（以下、この処理説明内において「選択リンク」という。）の“３Ｄ空間レコード”を読み出す（図６６（ａ））。
【０４６１】
次に、ステップＳ２９３において、標高点データの合成を行う。ここでは、まず、選択リンクの“標高点レコード”の各“標高点情報”の“リンク上相対位置”と、“３Ｄ空間レコード”の“構成点情報”に基づき、各“標高点情報”に対応する道路標高点の位置座標を計算する。そして、この道路標高点の位置座標及び高度を道路標高点の“構成点情報”として、選択リンクの“３Ｄ空間レコード”の“構成点情報”に追加したレコードを作成し、これを「幾何演算用道路線データ」とする（図６６（ｂ））。
【０４６２】
次に、ステップＳ２９４において、幾何演算用道路線データに対して標高点調整を行う。この場合、始点と最初の標高点，標高点のそれに最も近い次の標高点，及び最後の標高点と終点をそれぞれ「調整対象区間」とする（図６６（ｃ））。そして、これらの調整対象区間に対して上述のＳ字スムージング処理による各構成点の高度の補正を行う（図６６（ｄ））。
【０４６３】
次に、ステップＳ２９５において、標高点調整後の幾何演算用道路線データから、各道路標高点に対応する構成点を削除したレコードにより“３Ｄ空間レコード”を更新することでデータの復元を行う（図６６（ｅ））。ここで、標高点に対しては新たな構成点は発生させないこととしたのは、三次元地図情報のデータ量の増大をできるだけ抑えるためである。
【０４６４】
次に、ステップＳ２９６において、交差点情報を保存する。このときステップＳ２９１でマルチリンク集合の合成により生成したダミーリンクを分離して、元のリンクに復元する。そして、更新された各構成点（ノードを含む）の高度は、当該処理対象図の３Ｄ空間ファイル内の各リンクに対する“３Ｄ空間レコード”に保存される。
【０４６５】
次に、ステップＳ２９７において、隣接図整合処理を行う。すなわち、ステップＳ２９４で標高点調整されたリンクが複数の図葉に跨っている場合、隣接図において、同じＯＩＤのリンクに対する各構成点の高度を、処理対象図における当該構成点の高度に更新する。更新された各構成点の高度は、当該隣接図の３Ｄ空間ファイル内の各リンクに対する“３Ｄ空間レコード”に保存される。
【０４６６】
最後に、ステップＳ２９８において、すべての“標高点レコード”に対応するリンク（ダミーリンク）に対して標高点調整を行ったか否かを判定する。標高点調整が行われていないリンクがある場合、ステップＳ２９２に戻る。すべてのリンクで標高点調整がされた場合は、標高点調整処理を終了する。
【０４６７】
（５−４）交差点調整処理
上記標高点調整処理において、道路標高点の情報を取り込むことにより高度を補正することで、各ノードに接続する各リンクの端点の高さに不整合が生じる。そこで、交差点調整処理においては、各ノードにおける各リンクの端点の高度の補正を行う。
【０４６８】
図６７は、交差点調整処理を表すフローチャートである。
【０４６９】
まず、ステップＳ３０１において、前記標高点調整処理によって保存された交差点情報よりノードを一つ選択する。以下、この処理説明において、選択されたノードを「選択ノード」と呼ぶ。選択ノードに接続された各リンクを「接続リンク」と呼ぶ。各接続リンクの２つの端点のうち選択ノードに接続する側の端点を「接続端点」という。また、接続端点の高度を「交差点高度」という。
【０４７０】
次に、ステップＳ３０２において、３Ｄ属性テーブルの“接続位相レコード”の“接続道路情報”を参照することにより、接続リンクを抽出する。
【０４７１】
次に、ステップＳ３０３において、それぞれの接続リンクに対して、当該接続リンクから連続して二差路のノードで接続する同一道路種別，同一リンク種別のリンク集合を抽出する。
【０４７２】
次に、ステップＳ３０４において、３Ｄ属性テーブルから、各接続リンクの“標高点レコード”の“標高点情報”、及び３Ｄ空間テーブルの各接続リンクの“３Ｄ空間レコード”の“構成点情報”を参照し、各接続リンクの選択ノードに道のりで最も近い道路標高点の位置座標を計算する。また、各接続リンクにおいて、選択ノードに最も近い道路標高点（以下「近傍道路標高点」という。）の高度を抽出する。そして、各近傍道路標高点を高度の昇順にソートする。
【０４７３】
例えば、図６８（ａ）のように、選択ノードａに対し、３つの接続リンクＬ１，Ｌ２，Ｌ３が存在している場合において、上述の標高点調整処理によって、各接続リンクＬ１，Ｌ２，Ｌ３の選択ノードａの側の端点に再び不整合が生じる。各接続リンクＬ１，Ｌ２，Ｌ３上の選択ノードａに最も近い近傍道路標高点ｐ１，ｐ２，ｐ３の高度ｈ１，ｈ２，ｈ３は、ｈ２＞ｈ１＞ｈ３であったとする。この場合、接続リンクＬ２，Ｌ１，Ｌ３の順にソートされる。
【０４７４】
さらに、近傍道路標高点が存在するリンク集合（接続リンクから連続して二差路のノードで接続する同一道路種別，同一リンク種別のリンク集合）の数をカウントする。
【０４７５】
例えば、図６８（ａ）の例では、近傍道路標高点が存在するリンク集合の数は３である。
【０４７６】
次に、ステップＳ３０５において、近傍道路標高点が存在するリンク集合の数（以下「グループ数」という。）が１以下か否かを判定する。１以下の場合はステップＳ３０９（単独道路標高点に対する交差点調整処理）に移行し、１より大きい場合はステップＳ３０６〜Ｓ３０８（複数道路標高点に対する交差点調整処理）に移行する。
【０４７７】
ステップＳ３０９においては、近傍道路標高点が存在する接続リンクの接続端点の交差点高度に、他の接続リンクの接続端点の交差点高度を合わせる。次いで、交差点高度が変更されたそれぞれの接続リンクが属するリンク集合に対して、勾配調整（〔６−２〕（５−１），図５７参照）を行う。そして、ステップＳ３１０に移行する。
【０４７８】
一方、ステップＳ３０６においては、まず、上記ステップＳ３０４において抽出された各リンク集合のうち、近傍道路標高点の高度が最大のもの（以下「最高リンク集合」という。）及び最小のもの（以下「最低リンク集合」という。）を抽出する。そして、抽出された２つのリンク集合からダミーリンクを生成する。
【０４７９】
次に、ステップＳ３０７において、各ダミーリンクについて、接続ノードを挟んだ道路標高点間でＳ字スムージングによる補間（〔６〕（３），図５２参照）を行う。そして、各ダミーリンク上の構成点（接続ノードを含む。）の高度を、補間曲線に合わせて修正する。
【０４８０】
次に、ステップＳ３０８において、最高リンク集合及び最低リンク集合以外のリンク集合について、接続端点の交差点高度を、ステップＳ３０７で修正された接続ノードの高度に合わせる。そして、これらのリンク集合に対して勾配調整（〔６−２〕（５−１），図５７参照）を行い、ステップＳ３１０に移行する。
【０４８１】
例えば、図６８（ｂ）では、接続リンクＬ１の近傍道路標高点ｐ１の標高値が１５ｍ，接続リンクＬ２の近傍道路標高点ｐ２の標高値が２０ｍ，接続リンクＬ３の近傍道路標高点ｐ３の標高値が１０ｍである。従って、接続リンクＬ２が属するリンク集合が最高リンク集合、接続リンクＬ３が属するリンク集合が最低リンク集合である。従って、近傍道路標高点ｐ２と近傍道路標高点ｐ３の間で、接続リンクＬ２，Ｌ３に沿ったリンク（道路）をダミーリンクとする。そして、このダミーリンクを１区間としてＳ字スムージングによる補間を行い、ダミーリンク上の構成点の高度を補間曲線に合わせて修正する。その結果、図６８（ｃ）のように、接続リンクＬ２，Ｌ３の間において、接続端点ａ２，ａ３における高度が整合される。最後に、最高リンク集合及び最低リンク集合以外のリンク集合、すなわち、接続リンクＬ１が属するリンク集合について、接続リンクＬ１の接続端点ａ１の高度値を、接続端点ａ２，ａ３の高度に合わせる。その結果、図６８（ｄ）に示すように、選択ノードのすべての接続リンク間において、接続端点ａ１，ａ２，ａ３における高度が整合される。
【０４８２】
ステップＳ３１０において、隣接図整合処理を行う。すなわち、上記ステップＳ３０６〜Ｓ３０８及びステップＳ３０９の処理において、構成点の高度が変更されたリンクが処理対象図以外の図葉内に存在する場合、その図葉に対する３Ｄ空間テーブル内の当該リンクの各構成点の高度の修正を行う。
【０４８３】
最後に、ステップＳ３１１において、前記標高点調整処理によって高度が変更されたすべてのノードについて、ステップＳ３０６〜Ｓ３０８又はＳ３０９の処理が終了したか否かを判定する。まだ処理済みでないリンクがある場合には、ステップＳ３０１に戻る。すべてのリンクに対して処理が終了したならば、補正された各構成点の高度が格納された３Ｄ空間テーブルを、中間テーブル記憶手段１７に格納して、交差点調整処理を終了する。
【０４８４】
（６）後処理
以上の処理により、処理対象図内のリンクは、ほぼ滑らかに修正される。しかしながら、これらの処理を行った後でもなお急勾配なリンクが存在する場合がある。そこで、後処理では、このような勾配修正しきれなかったリンクを探し、その勾配を補正する処理が行われる。
【０４８５】
図６９は、後処理の全体的な処理の流れを表すフローチャートである。
【０４８６】
まず、ステップＳ３２１において、中間テーブル記憶手段１７から、処理対象図の３Ｄ空間テーブル及び３Ｄ属性テーブルの読み込みを行う。
【０４８７】
次に、ステップＳ３２２において、処理対象図に隣接する８つの隣接図について、中間テーブル記憶手段１７から、３Ｄ空間テーブル及び３Ｄ属性テーブルの読み込みを行う。
【０４８８】
次に、ステップＳ３２３において、処理対象図内の各リンクのうち、３Ｄ属性テーブル内の“道路属性レコード”の“構造種別”に‘トンネル’が設定されていないリンクを抽出する。
【０４８９】
次に、ステップＳ３２４において、抽出リンクについてピーク除去法による勾配調整処理を行う。この処理については、後で詳細に説明する。
【０４９０】
最後に、ステップＳ３２５において、高度データが更新された図葉に対して、中間テーブル記憶手段１７内の３Ｄ空間テーブルを更新した後に、後処理を終了する。
【０４９１】
次に、ステップＳ３２４におけるピーク除去法による勾配調整処理について説明する。図７０は、ピーク除去法による勾配調整処理のフローチャートである。
【０４９２】
まず、ステップＳ３３１において、抽出リンクについて複数リンク一括処理を行う（〔６〕（５−１），図５８参照）。これにより、抽出リンクに対して“道路種別コード”及び“リンク種別コード”が同一で二差路接続するリンクの集合（マルチリンク集合）が１つのダミーリンクとされる。
【０４９３】
次に、ステップＳ３３２において、前記ダミーリンクの各構成点間の勾配及び各構成点における勾配の変化量を計算する。また、これらの勾配変化量の平均値と標準偏差を求める。そして、勾配変化量が標準偏差値を超えるものが存在する場合には、その箇所をピークとして検出する。
【０４９４】
次に、ステップＳ３３３において、勾配変化量のピークが検出されたか否かを判定する。ピークが発見されなかった場合には、勾配調整処理を終了する。一方、ピークが発見された場合には、次のステップＳ３３４に移行する。
【０４９５】
ステップＳ３３４において、前記ダミーリンクの構成点数が３であるか否かを判定する。ダミーリンクの構成点数が３の場合、当該ダミーリンクを１区間としてＳ字スムージング補間（図５２参照）により始点と終点間をＳ字曲線で補間し、この補間曲線に沿って選択リンク上の各構成点の高度を補正する（Ｓ３３９）。そして、ステップＳ３４０に移行する。一方、ダミーリンクの構成点数が３以上の場合は、次のステップＳ３３５に移行する。
【０４９６】
ステップＳ３３５において、前記ダミーリンクの各構成点間の勾配及び各構成点における勾配の変化量を計算する。
【０４９７】
次に、ステップＳ３３６において、これらの勾配変化量の平均値と標準偏差σ（θ）を求める。
【０４９８】
次に、ステップＳ３３７において、勾配変化量の標準偏差σ（θ）が所定の閾値（例えば、０．８％）より小さいか否かを判定する。ここで、勾配の単位は、１００ｍあたりの高度の上昇距離ｘ（ｍ）を比率ｘ／１００（％）で表す。従って、相隣接する構成点ｑ１，ｑ２の勾配をθ１（％），θ２（％）とした場合、構成点ｑ２における勾配変化量はΔθ２＝θ２−θ１（％）で表される。
【０４９９】
勾配変化量の標準偏差σ（θ）が前記所定の閾値より小さい場合には、ステップＳ３４０に移行する。一方、勾配変化量の標準偏差σ（θ）が前記所定の閾値以上の場合には、次のステップＳ３３８において高度補正処理を行った後、ステップＳ３３５に戻る。
【０５００】
ここで、ステップＳ３３８における高度補正について、図７１を参照しながら説明する。まず、ダミーリンクの各構成点における勾配変化量を検査して、勾配変化量の絶対値が、勾配変化量の標準偏差σ（θ）よりも大きくなる区間（以下「勾配急変化区間」という。）を検出する。
【０５０１】
例えば、図７１（ａ）では、ダミーリンク（ａ，ｑ１，ｑ２，ｑ３，ｂ）の各構成点における勾配はθ０，θ１，θ２，θ３，θ４である。内部の構成点ｑ１，ｑ２，ｑ３における勾配変化量は、Δθ１＝θ１−θ０，Δθ２＝θ３−θ２，Δθ３＝θ４−θ３で表される。勾配変化量の絶対値｜Δθ１｜，｜Δθ２｜，｜Δθ３｜が所定の閾値を超えていた場合、勾配急変化区間は区間［ｑ１，ｑ２，ｑ３］とされる。
【０５０２】
次に、勾配急変化区間の端点を直線で結ぶ仮想リンクを考え、その仮想リンクの勾配θｉｊを求める。
【０５０３】
例えば、例えば、図７１（ｂ）の場合、勾配急変化区間［ｑ１，ｑ２，ｑ３］の端点ｑ１，ｑ３の間を直線で結ぶ仮想リンク（ｑ１，ｑ３）を考える。この場合、仮想リンク（ｑ１，ｑ３）の勾配はθ１３である。
【０５０４】
次に、勾配急変化区間の始点を調整構成点とする。そして、勾配調整点とその次の構成点について、高さ方向に両者が接近する向きに同じ量だけ移動させ、勾配調整点の勾配の絶対値が仮想リンクの勾配θｉｊに等しくなるように勾配調整点とその次の構成点の高度を変更する。この処理を、調整構成点を勾配急変化区間の始点から終点の一つ前の構成点まで移動させながら順次繰り返し実行する。その結果、設定された各構成点の高度を、ダミーリンクの各構成点の高度と決定する。
【０５０５】
例えば、図７１（ｂ）の場合、仮想リンク（ｑ１，ｑ３）の勾配はθ１３である。そこで、まず、勾配急変化区間［ｑ１，ｑ２，ｑ３］の始点ｑ１を調整構成点とする。そして、勾配調整点ｑ１とその次の構成点ｑ２について、高さ方向に両者が接近する向きに同じ量だけ移動させ、勾配調整点ｑ１の勾配の絶対値｜θ１｜が仮想リンクの勾配θ１３に等しくなるように勾配調整点ｑ１とその次の構成点ｑ２の高度を変更する（図７１（ｃ））。同様に、今度は次の構成点ｑ２を調整構成点とし、勾配調整点ｑ２とその次の構成点ｑ３について、高さ方向に両者が接近する向きに同じ量だけ移動させ、勾配調整点ｑ２の勾配の絶対値｜θ２｜が仮想リンクの勾配θ１３に等しくなるように勾配調整点ｑ２とその次の構成点ｑ３の高度を変更する（図７１（ｄ））。以上の結果、ダミーリンクａｂの各構成点の高度は図７１（ｅ）のように決定され、ダミーリンクの急勾配のピークが除かれる。
【０５０６】
図７０に戻って、ステップＳ３４０において、接続点高度補正を行う。この接続点高度補正処理においては、ダミーリンクの両端点の高度が変化した場合、ダミーリンクの両端点の高度をもとの高度に戻すとともに、当該ダミーリンク内で高度差を吸収するように、接続点の高度補正を行う。
【０５０７】
次に、ステップＳ３４１において、ダミーリンクを元のマルチリンク集合に分解し、マルチリンク集合の各リンクの構成点の高度を、３Ｄ空間テーブル内の各“３Ｄ空間レコード”の各“構成点情報”に保存する。
【０５０８】
最後に、ステップＳ３４２において、マルチリンク集合内のリンクが隣接図に存在する場合には、それらのリンクの構成点の高度を、隣接図の３Ｄ空間テーブル内の各“３Ｄ空間レコード”の各“構成点情報”に保存し、ピーク除去法による勾配調整処理を終了する。
【０５０９】
（７）走行軌跡データの取り込み処理
最後に、ステップＳ１４６において、走行軌跡データの取り込み処理を行う。ここでは、走行軌跡関連テーブル内の各走行軌跡データの高度情報により、処理対象図内の各リンクの各構成点の高度の補正を行う。
【０５１０】
図７２は、走行軌跡データの取り込み処理を表すフローチャートである。
【０５１１】
まず、ステップＳ３５１において、中間テーブル記憶手段１７から、処理対象図の３Ｄ属性テーブル及び３Ｄ空間テーブルを読み出し、走行軌跡記憶手段１８から、処理対象図内のリンクに関連づけられた走行軌跡関連テーブルを読み出す。
【０５１２】
次に、ステップＳ３５２において、ディスプレイ５に、走行軌跡の関連付けを行うリンクを選択する選択画面を表示することによって、ユーザーによるリンクの選択を促す。これにより、ユーザーが入力デバイス４により走行軌跡の関連付けを行うリンクを選択する。以下、この処理説明において、この選択されたリンクのことを「選択リンク」という。
【０５１３】
次に、ステップＳ３５３において、選択されたリンクと関連づけられた走行軌跡データを走行軌跡関連テーブルから検索する。検索によって得られた走行軌跡データ（以下、この処理説明において「抽出走行軌跡データ」という。）は、選択リンクのほかにも、選択リンクに連なる複数のリンクと関連づけられている。以下、この処理説明において、抽出走行軌跡データに関連づけられているすべてのリンクの集合を「関連リンク集合」と呼ぶ。また、関連リンク集合に属する各リンクの端点に位置するノードの集合を「関連ノード集合」という。
【０５１４】
次に、関連リンク集合内の各リンクの各構成点について、その構成点の位置座標に最も近い位置座標を有する計測点を走行軌跡データから抽出する。そして、走行軌跡データから抽出した計測点の標高を当該構成点の高度とする。これにより、関連リンク集合内の各リンクの各構成点の高度は、すべて走行軌跡データの計測点の高さ情報に合わせ込まれる。
【０５１５】
次に、ステップＳ３５４において、関連ノード集合に属するノード（関連ノード）を一つ選択する。
【０５１６】
次に、ステップＳ３５５において、関連リンク集合内の各リンクが接続する各ノードについて、それぞれのノードに接続するリンクに対して複数リンク一括処理（〔６〕（５−１），図５８参照）を行い、当該リンクを含むマルチリンク集合を抽出する。
【０５１７】
次に、ステップＳ３５６において、抽出した各マルチリンク集合のリンクに対して、ピーク除去法による勾配調整処理（〔６〕（６），図７０参照）を行う。
【０５１８】
次に、ステップＳ３５７において、関連リンク集合内の各リンクの各構成点の高度の変更によって、関連リンク集合内の各リンクの端点において、それに接続するリンクとの高度の不整合が生じた場合、その高度調整を行う。この高度調整処理の詳細に関しては後述する。
【０５１９】
次に、ステップＳ３５８において、高度調整が行われた構成点について、３Ｄ空間テーブル内の構成点情報を更新する。
【０５２０】
最後に、関連ノード集合に属するすべてのノードに対して、上記ステップＳ３５４〜Ｓ３５８の処理が終了したか否かを判定する。未処理のノードがあれば、ステップＳ３５４に戻り、すべてのノードの処理が終了したならば、走行軌跡データの取り込み処理を終了する。
【０５２１】
上記ステップＳ３５７における高度調整処理は、次のように行われる。図７３（ａ）は、ステップＳ３５３の処理が行われた直後の状態を示している。図７３（ａ）は、リンクＬ１は走行軌跡データとの関連付けがされており、走行軌跡データにより構成点の高度調整がされた区間を表している。一方、リンクＬ２，Ｌ３，Ｌ４は、走行軌跡データによる高度調整がされなかった区間を示す。このとき、リンクＬ１とそれに接続するリンクＬ２との間において両者の接続点におけるノード（以下、この処理説明においては「第１接続ノード」という。）ａにおいて、リンクＬ１の端点とリンクＬ２の端点との間で高度の不整合が生じている。
【０５２２】
この場合、まず、図７３（ｂ）のように、リンクＬ１に接続するリンク（以下「第１接続リンク」という。）の各構成点の高度を修正することにより、第１接続ノードａにおける不整合を解消する。ここで、修正量は、第１接続ノードａではリンクＬ１の端点ａ１の高度ｈ１と第１接続リンクＬ２の端点ａ２の高度ｈ１との高度差ｈ１２＝ｈ１−ｈ２とされる。端点ａ１を固定した状態で、第１接続リンクＬ２の側の端点ａ２の高度に高度差ｈ１２だけ加えることにより、第１接続リンクＬ２の側の端点ａ２の高度を端点ａ１の高度に合わせる。また、第１接続リンクＬ２の端点ａ２以外の構成点については、高度差ｈ１２と端点ａ２からの距離ｌの関数ｈ（ｌ，ｈ１２）に基づいて定められる。ここで、関数ｈ（ｌ，ｈ１２）は、ｌ＝０でｈ１２となり距離ｌが増加するにつれて０に減衰する関数である。これにより、第１接続リンクＬ２の各構成ａ２，ｑ１，ｑ２，ｑ３，ｂは図７３（ｂ）のように高度が修正され、図７３（ｃ）のようになる。
【０５２３】
この修正を行うと、図７３（ｃ）のように、今度は、第１接続リンクの第１接続ノードとは反対側のノード（以下、この処理説明においては「第２接続ノード」という。）ｂにおいて、第１接続リンクＬ２の端点ｂ１とリンクＬ３，Ｌ４（以下、この処理説明においては「第２接続リンク」という。）の端点ｂ２との間で高度の不整合が生じる。この場合も、第２接続リンクについても第１接続リンクの場合と同様に、高度の補正を行う。以下、同様に、高度の修正量（ｌ，ｈ１２）が０となるまで同様の補正を行う。
【０５２４】
また、図７４（ａ）のように、走行軌跡データにより構成点の高度調整がされたリンクＬ１の端点に、高度調整がされていないループ状のリンクＬ２が接続されている場合において、接続ノードａにおけるリンクＬ１の端点ａ１の高度ｈ１とリンクＬ２の端点ａ２の高度ｈ２とが相違する場合、端点ａ２の高度ｈ２にｈ１−ｈ２を加えることによって、端点ａ２の高度を端点ａ１の高度に合わせる。また、リンクＬ２の端点ａ２以外の構成点についても、それら端点の高度にｈ１−ｈ２を一律に加えることによって高度補正を行う。
【０５２５】
さらに、図７４（ｂ）のような場合も想定される。図７４（ｂ）では、リンクＬ１，Ｌ３は、走行軌跡データによる構成点の高度調整がされたリンクである。また、リンクＬ１，Ｌ３の間を接続するリンクＬ２は、走行軌跡データによる構成点の高度調整がされていないリンクである。この場合、リンクＬ２の端点ａ２の高度をリンクＬ１の端点ａ１の高度に合わせるとともに、リンクＬ２の各構成点に対して図７３（ｂ）で説明した手法と同様に高度の補正を行う。このとき、補正後のリンクＬ２の端点ｂ２の高度とリンクＬ３の端点ｂ３の高度とが一致しない場合がある。このような場合、今度は逆に、リンクＬ２の端点ｂ２の高度をリンクＬ３の端点ｂ３の高度に合わせるとともに、リンクＬ２の各構成点に対して図７３（ｂ）で説明した手法と同様に高度の補正を行う。このとき、リンクＬ２の各構成点の補正量は、端点ｂ２と端点ｂ３の高度差ｈ３２と端点ｂ２からの距離ｌの関数ｈ（ｌ，ｈ３２）に基づいて定められる。ここで、関数ｈ（ｌ，ｈ３２）は、ｌ＝０でｈ３２となり距離ｌが増加するにつれて０に減衰する関数である。これにより、リンクＬ２の各構成は図７４（ｃ）のように高度が補正される。
【図面の簡単な説明】
【０５２６】
【図１】実施例１に係る地図情報作成装置のハードウェア構成を表すブロック図である。
【図２】実施例１に係る地図情報作成装置の機能的な構成を表すブロック図である。
【図３】二次元地図情報の構成要素を図形的に表した図である。
【図４】一つのリンク内に複数の構造種別が設定される例を示す図である。
【図５】リンクの相対高さの概念について説明する図である。
【図６】交差点間道路関連テーブルのデータ構造を表す図である。
【図７】交差点関連テーブルのデータ構造を表す図である。
【図８】標高点テーブルのデータ構造を表す図である。
【図９】走行軌跡テーブルのデータ構造を表す図である。
【図１０】メッシュ標高点テーブルのデータ構造を表す図である。
【図１１】３Ｄ空間テーブルのデータ構造を表す図である。
【図１２】３Ｄ属性テーブルのデータ構造を表す図である。
【図１３】抽出処理手段１５によるイベント処理を表すフローチャートである。
【図１４】道路ネットワーク抽出処理の全体の流れを表すフローチャートである。
【図１５】相対高さ生成処理を表すフローチャートである。
【図１６】相対高さ情報が追加された交差点間道路関連テーブルの構成を表す図である。
【図１７】高架・盛土区間における相対高付与点の位置及び相対高さの決定方法について説明する図である。
【図１８】切取区間における相対高付与点の位置及び相対高さの決定方法について説明する図である。
【図１９】道路間相対高さ整合処理を表すフローチャートである。
【図２０】道路間相対高さ整合処理における処理対象ノードでの相対高さの決定方法について説明する図である。
【図２１】高架道路が本線に合流する場合の処理対象ノードでの相対高さの決定方法について説明する図である。
【図２２】橋区間が設定された接続リンクにおける処理対象ノードでの相対高さの決定方法について説明する図である。
【図２３】道路内相対高さ整合処理を表すフローチャートである。
【図２４】道路内相対高さ整合処理を説明する図である。
【図２５】非交差テーブル作成処理を表すフローチャートである。
【図２６】非交差テーブルの構成を表す図である。
【図２７】非交差地点相対高さ設定処理を表すフローチャートである。
【図２８】非交差地点相対高さ設定処理の説明図である。
【図２９】非交差地点相対高さ設定処理の説明図である。
【図３０】非交差点の高さレベルを発生させるための上下関係判定表である。
【図３１】道路内相対高さ補正処理を表すフローチャートである。
【図３２】道路内相対高さ補正処理を説明する図である。
【図３３】道路間相対高さ補正処理を表すフローチャートである。
【図３４】道路間相対高さ補正処理を説明する図である。
【図３５】標高点取り込み処理を表すフローチャートである。
【図３６】標高点取り込み処理の結果、標高点データが追加された交差点間道路関連テーブルの構成を表す図である。
【図３７】リンク探索条件を表す表である。
【図３８】リンク探索条件を表す表である（続き）。
【図３９】リンク探索の例を表す図である。
【図４０】走行軌跡関連付け処理を表すフローチャートである。
【図４１】走行軌跡関連付け処理の結果作成された走行軌跡関連テーブルの構成を表す。
【図４２】三次元化処理手段１９によるイベント処理を表すフローチャートである。
【図４３】三次元化処理手段１９による道路ネットワーク三次元化処理の全体的な流れを表す図である。
【図４４】相対高さ整合処理を表すフローチャートである。
【図４５】各種の道路線形態を表す図である。
【図４６】図枠上相対高さ合成処理の様子を示す図である。
【図４７】相対高さ整合処理を説明する図である。
【図４８】三次元化処理を表すフローチャートである。
【図４９】相対高付与点から構成点を生成する処理を説明する図である。
【図５０】標高値加算処理を説明する図である。
【図５１】高さ加算処理を説明する図である。
【図５２】Ｓ字スムージング補間のアルゴリズムを表すフローチャートである。
【図５３】Ｓ字スムージング補間で使用されるＳ字曲線を示す図である。
【図５４】構造種別設定処理を表すフローチャートである。
【図５５】構造種別設定処理を説明する図である。
【図５６】道路線調整処理を表すフローチャートである。
【図５７】勾配調整処理を表すフローチャートである。
【図５８】ステップＳ２４１の複数リンク一括処理のアルゴリズムを表すフローチャートである。
【図５９】始点（終点）側リンク結合処理のアルゴリズムを表すフローチャートである。
【図６０】複数リンク一括処理を説明する図である。
【図６１】ステップＳ２４６における処理対象区間の作成方法を説明する図である。
【図６２】ステップＳ２５３における接続道路線調整処理を説明する図である。
【図６３】近接逆転調整処理を表すフローチャートである。
【図６４】近接逆転調整処理を説明する図である。
【図６５】標高点調整処理を表すフローチャートである。
【図６６】標高点調整処理を説明する図である。
【図６７】交差点調整処理を表すフローチャートである。
【図６８】交差点調整処理を説明する図である。
【図６９】後処理の全体的な処理の流れを表すフローチャートである。
【図７０】ピーク除去法による勾配調整処理のフローチャートである。
【図７１】ピーク除去法による勾配調整処理を説明する図である。
【図７２】走行軌跡データの取り込み処理を表すフローチャートである。
【図７３】走行軌跡データの取り込み処理を説明する図である。
【図７４】走行軌跡データの取り込み処理を説明する図である。
【図７５】特許文献１記載の地図情報作成装置の処理の全体の流れを整理して表した図である。
【図７６】特許文献１記載の屈曲点追加処理の説明図である。
【図７７】特許文献１記載の高さ情報付加処理のフローチャートである。
【図７８】特許文献１記載のリンク高さ属性生成処理の説明図である。
【図７９】特許文献１記載のノード挿入処理の説明図である。
【図８０】特許文献１記載の高さ変化範囲拡大処理の説明図である。
【図８１】特許文献１記載の高さ変化範囲制限処理の説明図である。
【図８２】特許文献１記載の合成結果の算出方法の一例を示す図である。
【図８３】特許文献１記載の交差点付近のノード挿入処理の説明図である。
【図８４】高さ情報付加処理における問題点を説明する図である。（ａ）２次元地図情報における交差するリンクの例を表す。（ｂ）各リンクに対して生成された絶対高さ属性の例を表す。（ｃ）各リンクの現実的な相対高さの例を表す。
【図８５】高さ情報修正処理における問題点を説明する図である。（ａ）高さ情報付加処理がなされた連続するリンクの例を表す図である。（ｂ）（ｃ）高さ情報修正処理を実行した場合に生じるエラーを表す図である。
【図８６】標高／高さ修正処理における問題点を説明する図である。
【符号の説明】
【０５２７】
１  中央演算装置
１  ＣＰＵ
２  メモリ
３  外部記憶装置
４  入力デバイス
５  ディスプレイ
６  通信インタフェース
７  可換記憶媒体
８  内部バス
１０  地図情報作成装置
１１  標高点情報記憶手段
１２  二次元地図記憶手段
１３  走行軌跡データ記憶手段
１４  ＤＥＭデータ記憶手段
１５  抽出処理手段
１６  走行軌跡関連付手段
１７  中間テーブル記憶手段
１８  走行軌跡記憶手段
１９  三次元化処理手段
２０  三次元地図記憶手段
【図１】
2006349872.tif 000003
【図２】
2006349872.tif 000004
【図３】
2006349872.tif 000005
【図４】
2006349872.tif 000006
【図５】
2006349872.tif 000007
【図６】
2006349872.tif 000008
【図７】
2006349872.tif 000009
【図８】
2006349872.tif 000010
【図９】
2006349872.tif 000011
【図１０】
2006349872.tif 000012
【図１１】
2006349872.tif 000013
【図１２】
2006349872.tif 000014
【図１３】
2006349872.tif 000015
【図１４】
2006349872.tif 000016
【図１５】
2006349872.tif 000017
【図１６】
2006349872.tif 000018
【図１７】
2006349872.tif 000019
【図１８】
2006349872.tif 000020
【図１９】
2006349872.tif 000021
【図２０】
2006349872.tif 000022
【図２１】
2006349872.tif 000023
【図２２】
2006349872.tif 000024
【図２３】
2006349872.tif 000025
【図２４】
2006349872.tif 000026
【図２５】
2006349872.tif 000027
【図２６】
2006349872.tif 000028
【図２７】
2006349872.tif 000029
【図２８】
2006349872.tif 000030
【図２９】
2006349872.tif 000031
【図３０】
2006349872.tif 000032
【図３１】
2006349872.tif 000033
【図３２】
2006349872.tif 000034
【図３３】
2006349872.tif 000035
【図３４】
2006349872.tif 000036
【図３５】
2006349872.tif 000037
【図３６】
2006349872.tif 000038
【図３７】
2006349872.tif 000039
【図３８】
2006349872.tif 000040
【図３９】
2006349872.tif 000041
【図４０】
2006349872.tif 000042
【図４１】
2006349872.tif 000043
【図４２】
2006349872.tif 000044
【図４３】
2006349872.tif 000045
【図４４】
2006349872.tif 000046
【図４５】
2006349872.tif 000047
【図４６】
2006349872.tif 000048
【図４７】
2006349872.tif 000049
【図４８】
2006349872.tif 000050
【図４９】
2006349872.tif 000051
【図５０】
2006349872.tif 000052
【図５１】
2006349872.tif 000053
【図５２】
2006349872.tif 000054
【図５３】
2006349872.tif 000055
【図５４】
2006349872.tif 000056
【図５５】
2006349872.tif 000057
【図５６】
2006349872.tif 000058
【図５７】
2006349872.tif 000059
【図５８】
2006349872.tif 000060
【図５９】
2006349872.tif 000061
【図６０】
2006349872.tif 000062
【図６１】
2006349872.tif 000063
【図６２】
2006349872.tif 000064
【図６３】
2006349872.tif 000065
【図６４】
2006349872.tif 000066
【図６５】
2006349872.tif 000067
【図６６】
2006349872.tif 000068
【図６７】
2006349872.tif 000069
【図６８】
2006349872.tif 000070
【図６９】
2006349872.tif 000071
【図７０】
2006349872.tif 000072
【図７１】
2006349872.tif 000073
【図７２】
2006349872.tif 000074
【図７３】
2006349872.tif 000075
【図７４】
2006349872.tif 000076
【図７５】
2006349872.tif 000077
【図７６】
2006349872.tif 000078
【図７７】
2006349872.tif 000079
【図７８】
2006349872.tif 000080
【図７９】
2006349872.tif 000081
【図８０】
2006349872.tif 000082
【図８１】
2006349872.tif 000083
【図８２】
2006349872.tif 000084
【図８３】
2006349872.tif 000085
【図８４】
2006349872.tif 000086
【図８５】
2006349872.tif 000087
【図８６】
2006349872.tif 000088