(57)【要約】【課題】  地図を描画する際に、重なり合う路線について、現実の状態からの乖離を抑えつつ視認性を向上させる。【解決手段】  地図を描画する際に、道路同士、道路と線路など、重なり合う路線を抽出し、重要な側を基準路線とする。他方の路線には、その中心線が基準路線の中心線に近い区間から順に、多段階の転位を実施し、描画する。ただし、転位は、一定長さ以上、連続して転位条件を満たす部分について制限して行う。  このように一定長さ以上連続した部分に制限し、かつ多段階で転位させることにより、現実の状態からの乖離を抑制しつつ、基準路線に隠れた部分が視認できる地図を描画することができる。【選択図】  図４
2012215869.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、地図を描画するための地図描画データを生成する地図描画データ生成方法であって、
（ａ）  少なくとも一部で重なり合う路線の位置および形状を表す路線データを地図データベースからメモリへ読み込む工程と、
（ｂ）  前記路線の一方を基準路線とした場合に、他方の路線が該基準路線からはみ出して描かれるべき見せ幅を前記路線同士の重なり量に応じて変化させて設定する工程と、
（ｃ）  前記設定された見せ幅を実現するように前記他方の路線の位置を前記基準路線に対して幅方向にずらす転位処理を施して、該路線を描画するための地図描画データを生成する工程と、
を備える地図描画データ生成方法。
【請求項２】
請求項１記載の地図描画データ生成方法であって、
前記工程（ｃ）は、
前記基準路線の中心線から前記見せ幅に応じた幅を有した占有領域と、前記他方の路線との重なりに応じて前記路線を転位させるか否かを該占有領域の幅が小さいものから順に判定する工程であり、
該転位は、前記他方の路線のうち転位がなされていない区間のうち、前記占有領域内にあるという第１条件と、該区間の中心線が第１の所定長以上にわたって前記基準路線の中心線の両側の内いずれか一方に位置するという第２条件とを満たす部分について行う地図描画データ生成方法。
【請求項３】
請求項２記載の地図描画データ生成方法であって、
前記工程（ｃ）は、さらに、前記第１条件を満たす部分のうち、第２の所定長以上にわたって前記第２条件を満たさないという第３条件に該当する部分について、前記転位を行う工程である地図描画データ生成方法。
【請求項４】
請求項１〜３いずれか記載の地図描画データ生成方法であって、さらに、
（ｄ）  前記他方の路線のうち、前記地図を描画する描画範囲の端部において前記基準路線に隠れている路線、および該他方の路線の全長の所定割合以上において前記基準路線に隠れている路線の一方または双方に対し、無条件に転位を行う工程を備える地図描画データ生成方法。
【請求項５】
請求項１〜４いずれか記載の地図描画データ生成方法であって、
前記路線には、前記基準路線の中心線の両側のうち少なくとも一方側に該基準路線以外の２以上の路線が存在する状態にあり、
前記工程（ｂ）および工程（ｃ）は、前記基準路線に近接する路線から順に処理を施す地図描画データ生成方法。
【請求項６】
請求項５記載の地図描画データ生成方法であって、さらに、
（ｅ）  前記路線に対して、前記基準路線に対して該路線よりも外側に位置する他の路線を越える転位処理が施された場合、該越えられた他の路線を前記転位処理が施された路線位置と一致または該路線位置よりも外側に転位させる工程を備える地図描画データ生成方法。
【請求項７】
請求項５または６記載の地図描画データ生成方法であって、
前記工程（ｂ）における見せ幅、および工程（ｃ）におけるずらし量の少なくとも一方は、処理済みの転位処理の結果に基づいて定まる地図描画データ生成方法。
【請求項８】
請求項５〜７いずれか記載の地図描画データ生成方法であって、
前記工程（ｂ）および工程（ｃ）は、前記転位処理の対象となる路線と、該路線よりも前記基準路線に対して外側に隣接する路線との間で、所定の基準に基づく重要度を比較し、該重要度の関係に基づき、前記転位処理の方法を切り替える地図描画データ生成方法。
【請求項９】
請求項１〜８いずれか記載の地図描画データ生成方法によって生成された地図描画データを用いて、地図を印刷する地図印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図を描画する際に、路線同士が重なり合う部分の視認性を向上させる技術に関する。
【背景技術】
【０００２】
地図は二次元の平面上に描画されるため、高架道路の下を他の道路が通過している場合には、両者の位置関係によっては、下の道路が高架道路に隠れてしまうことがある。また、地図は種々の縮尺で描かれるため、描画時に道路種別等に応じて定めた道路幅で描画しようとすると、縮尺によっては、併走する２本またはそれ以上の道路が相互に重なり合ってしまうことがある。重なり合いが、道路のごく一部分で生じる場合には、ユーザは道路の概ねの形状、つながり具合を把握できるが、長距離にわたって重なると、隠れた側の道路の形状、つながり具合が把握できなくなり、地図の有用性が損なわれるおそれがある。かかる課題の対策として、特許文献１〜３記載の技術がある。
特許文献１は、デフォルメ地図の描画において、高架道路の下に道路が重なっている場合には、上側の道路をずらして描く技術を開示する。
特許文献２は、デフォルメ地図の描画において、路線同士の間隔が狭く両者の識別が困難となるときには、重要度の低い側をずらして描き、路線間に所定の最小間隔を確保する技術を開示する。
特許文献３は、重なり合って描画される道路について、両者をそれぞれ道路の半幅ずつ横にずらすことによって、両者を識別して描画する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１７７３３８号公報
【特許文献２】特開２００４−３６１８２８号公報
【特許文献３】特開２００６−１１３０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、重なり合いが生じる道路の双方が、隠れずに地図上に表れるよう地図を描画することが可能となる。
しかし、道路をずらして描くことは、本来とは異なる位置に道路を描くことになり、現実の状態からの乖離が生じる。従来は、この乖離について何ら検討されておらず、例えば、道路の一部が重なっているに過ぎない場合であっても、道路全体がずらして描かれるため、現実の状態から大きな乖離が生じるおそれがあった。かかる課題は、道路同士が重なり合う場合だけでなく、道路と鉄道など、種々の路線同士が重なり合う場合に共通であった。また、重なり合いは、２本間だけでなく、３本以上の路線間についても生じることがあった。
本発明は、かかる課題に鑑み、地図を描画する際に、重なり合う路線について、現実の状態からの乖離を抑えつつ視認性を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、地図を描画するための地図描画データを生成する地図描画データ生成方法であって、
（ａ）  少なくとも一部で重なり合う路線の位置および形状を表す路線データを読み込む工程と、
（ｂ）  前記路線の一方を基準路線とした場合に、他方の路線が該基準路線からはみ出して描かれるべき見せ幅を前記路線同士の重なり量に応じて変化させて設定する工程と、
（ｃ）  前記設定された見せ幅を実現するように前記他方の路線の位置を前記基準路線に対して幅方向にずらす転位処理を施して、該路線を描画するための地図描画データを生成する工程と、
を備える地図描画データ生成方法として構成することができる。
本発明によれば、重なり量に応じて見せ幅を変化させることができる。転位とは、一例をあげると、地図上で路線が本来存在する位置から路線を幅方向にずらすことを言い、転位をした結果、転位した路線が基準路線からはみ出して描かれる幅を見せ幅と言う。この見せ幅を画一的な値とするのではなく、重なり量に応じて変化させることによって、無用に大きい転位がなされることを回避でき、現実の状態からの乖離を抑えて地図を描画するための地図描画データを生成することができる。そして、この地図描画データを用いれば、現実の状態からの乖離を抑え、路線の視認性を向上した地図を描画することができる。
路線とは、道路および鉄道などの総称である。路線同士の重なり合いとしては、道路同士、鉄道同士、道路と鉄道の重なりなどが挙げられる。
基準路線は、オペレータが指示してもよいし、予め設定された路線の重要度に基づき、重要度の高い側を選択するものとしてもよい。例えば、重要度が高い順に鉄道、高速道路、国道、県道、一般道などとすることができる。
見せ幅は、予め設定された段階的な値を用いても良いし、路線同士の位置関係に応じて算出される値としてもよい。
見せ幅と路線同士の間隔との関係としては、例えば、見せ幅は、基準となる路線の中心線と、転位させる側の路線の中心線の間隔に応じて設定することができ、間隔が小さい場合には見せ幅を小さく、間隔が大きい場合には見せ幅を大きく設定することができる。間隔とは、路線の中心線間の距離を言う。つまり、これは、路線同士の間隔が小さい場合（換言すれば重なりが多い場合）には見せ幅を小さく、間隔が大きい場合（つまり重なりが小さい場合）には見せ幅を大きくする設定である。視認性だけを考慮するのであれば、重なりが大きい場合も画一的な見せ幅を用いればよいが、上述の態様をとることによって、重なりが大きい場合には、現実の状態、つまり重なり合っている状態を表現しつつ、隠れる側の路線の視認性を向上することができる。
地図描画データは、コンピュータなどのディスプレイへの表示用のデータ、媒体への印刷用のデータなど種々の態様のデータが含まれる。
【０００６】
本発明において、
前記工程（ｃ）は前記路線の区間ごとに前記路線の位置を決定し、該区間ごとに前記転位を行うものとしてもよい。
こうすることによって、路線の一部が重なっている場合はその区間だけを転位させることができる。また、区間ごとに重なり合いが異なる場合は、区間ごとに見せ幅を異ならせることができる。この結果、無用な転位を回避でき、現実の状態からの乖離を抑制できる。
上述の態様において、転位させた区間とその他の区間、および見せ幅が異なる区間同士は、適宜、スプラインなど滑らかな曲線で結合することが好ましい。
上記区間は、予め設定された所定長の区間に限るものではなく、区間は、重なり状態に応じて任意に設定可能である。例えば、路線を構成する点列を求め、点ごとに見せ幅を決定する方法をとることができる。この場合において、点列の密度が偏っている場合には、路線に沿ってほぼ均一な密度で点列を設定するリサンプリング処理を前処理として施しても良い。
【０００７】
区間ごとに転位する場合
前記工程（ｃ）は、
前記基準路線の中心線から前記見せ幅に応じた幅を有した占有領域と、前記他方の路線との重なりに応じて前記路線を転位させるか否かを該占有領域の幅が小さいものから順に判定する工程であり、
該転位は、前記他方の路線のうち転位がなされていない区間のうち、前記占有領域内にあるという第１条件と、該区間の中心線が第１の所定長以上にわたって前記基準路線の中心線の両側の内いずれか一方に位置するという第２条件とを満たす部分について行うようにしてもよい。
この態様では、占有領域を予め決めておき、それに応じて転位させる区間を決めることによって、区間ごとに異なる見せ幅での転位を実現することができる。占有領域とは、上述のように路線を転位させるか否かを判定するために用いられる処理上の仮想的な領域である。占有領域と他方の路線との重なりは、例えば、他方の路線の中心線が占有領域内にあるか否かで判定する方法を採ることができる。
この処理において、上記態様では、転位する側の路線が、基準路線の中心線の両側の内一方に第１の所定長以上にわたって存在することを条件とする。こうすることにより、例えば、転位する路線が、基準路線の中心線を頻繁に交差するように蛇行している場合を転位対象から外すことができ、転位による路線形状への影響を抑制することができる。
第１の所定長は、このように蛇行している箇所が安易に転位対象となることを避けるため、任意の値を設定可能であるが、例えば、転位する側の路線の線幅を基準として定めることができ、その２〜３倍程度とすることができる。
なお、前記条件の代替条件として、該転位は、前記他方の路線のうち転位がなされていない区間のうち、前記占有領域内で第１の所定長以上にわたって連続しているという条件を用いても良い。また、上記態様における条件と、代替条件とを、路線の線幅に応じて使い分けても良い。
【０００８】
上述の態様において、
前記工程（ｃ）は、さらに、前記第１条件を満たす部分のうち、第２の所定長以上にわたって前記第２条件を満たさないという第３条件に該当する部分について、前記転位を行うようにしてもよい。
この態様によれば、転位対象とならない部分が第２の所定長以上になると、転位対象とすることができる。従って、長い区間、転位されず隠れたままの状態になる部分が生じることを回避できる。
転位させるか否かの基準となる第２の所定長は、例えば、地図中に描画される路線の線幅の最大値よりも十分に大きい値、例えば、５倍程度とすることができる。こうすることによって、他の路線が直交しているだけに過ぎない部分が無用に転位されることを回避できる。
【０００９】
本発明においては、さらに、
（ｄ）  前記他方の路線のうち、前記地図を描画する描画範囲の端部において前記基準路線に隠れている路線、および該他方の路線の全長の所定割合以上において前記基準路線に隠れている路線の一方または双方に対し、無条件に転位を行う工程を備えてもよい。
他方の路線が、描画範囲の端部において基準路線に隠れている場合、その地点で隠れた路線が存在するのか否かを判断できなくなってしまうが、かかる路線を転位させることにより、容易に認識することができるようになる。描画範囲の端部とは、例えば、地図を印刷したり、ディスプレイ等に表示したりして描画する場合には、実際に、印刷または表示される範囲の端部とすることができる。
他方の路線が、全長の所定割合以上において基準路線に隠れている場合も同様に、大部分が隠れてしまうと、形状やつながり具合はおろか、その存在すら把握できなくなってしまうが、かかる路線を転位させることにより、こうした課題を回避できる。この処理は、他方の路線の全長が任意に設定可能な第３の所定値以下となる路線にのみ適用するようにしてもよい。
上述した工程（ｄ）における転位は、種々の態様で行うことができ、例えば、現実からの乖離を抑えるという意味で、他の処理における最小の見せ幅に相当する転位を行うものとしてもよい。また、工程（ｄ）の転位は、他の転位処理を行った後に後処理として施すものとしてもよいし、前処理または他の処理と並行する処理として行ってもよい。
【００１０】
本発明は、３本以上の路線が重なり合っている場合でも適用可能である。
例えば、前記路線には、前記基準路線の中心線の両側のうち少なくとも一方側に該基準路線以外の２以上の路線が存在する状態にある場合には、
前記工程（ｂ）および工程（ｃ）は、前記基準路線に近接する路線から順に処理を施すものとしてもよい。
このように基準路線以外に２本以上の路線が存在する場合、転位処理を施す順序としては、路線の重要度の順に施す方法や、全くランダムに施す方法など、種々の方法が考えられる。ただし、方法によっては、路線に転位処理を施す際に、路線間の位置関係が逆転したり、転位済みの路線を完全に隠してしまうなど、不適切な結果を生じる場合がある。上記態様によれば、基準路線に近い路線から順に転位処理を施すため、こうした不適切な結果を抑制することが可能となる。
【００１１】
３本以上の路線が重なり合っている場合は、さらに、
（ｅ）  前記路線に対して、前記基準路線に対して該路線よりも外側に位置する他の路線を越える転位処理が施された場合、該越えられた側の路線を前記転位処理が施された路線位置と一致またはそれよりも外側に転位させる工程を備えるものとしてもよい。
３本以上の路線が重なっている場合には、外側に他の路線が存在する状態で、転位処理が施されることがあり、その結果によっては、他の路線を越える形で転位処理がなされることがある。こうした転位が施された部分では、転位処理前後で、２本の路線の位置関係が逆転してしまうことになり、現実と乖離してしまう。上述の態様によれば、こうした転位が生じたときに、それを解消するための転位を施すことができるため、現実との乖離を回避することができる。
【００１２】
３本以上の路線が重なり合っている場合においては、
前記工程（ｂ）における見せ幅、および工程（ｃ）におけるずらし量の少なくとも一方は、処理済みの転位処理の結果に基づいて定まることが好ましい。
こうすることによって、処理済みの路線を完全に隠してしまう状態を回避することができる。例えば、次の処理対象路線の見せ幅、ずらし量を設定する際に、転位処理済みの路線の位置を考慮する方法、先の転位処理におけるずらし量を考慮する方法など種々の方法をとることができる。また、直前に施した転位処理のみを考慮してもよいし、従前の全ての転位処理を考慮してもよい。
【００１３】
３本以上の路線が重なり合っている場合には、
前記工程（ｂ）および工程（ｃ）は、前記転位処理の対象となる路線と、該路線よりも前記基準路線に対して外側に隣接する路線との間で、所定の基準に基づく重要度を比較し、該重要度の関係に基づき、前記転位処理の方法を切り替えるようにしてもよい。
複数の路線が重なり合っている領域では、全路線を本来の線幅で描くことは困難であり、路線によって描画される線幅を変える必要が出てくる。例えば、地図の利便性を高めるためには、重要度の高い路線の線幅を太くした方が好ましく、路線が重なり合う領域で転位処理を施す場合には、重要度の高い路線の見せ幅が十分に確保される方法をとることが好ましい。このように地図は、路線の重要度を反映した描画態様とすることが好ましい。上記態様によれば、重要度の高い路線の外側に重要度が低い路線が存在する場合と、逆の場合とで転位処理の方法を切り替えることができる。従って、例えば、重要度の高い路線の線幅を十分に確保可能な転位処理を行うなど、路線の重要度を反映させた地図描画を実現することが可能となる。
ここで、路線の重要度は、種々の方法で設定可能である。例えば、オペレータが予め各路線の重要度を設定しておく方法、各路線について国道・県道などの道路種別に基づき重要度を決定する方法、各路線の車線数・幅員などによって重要度を決定する方法などが挙げられる。これらの方法を組み合わせて重要度を設定してもよい。
【００１４】
本発明は、上述した特徴の全てを備えている必要はなく、適宜、一部を省略したり組み合わせたりして構成することができる。
本発明は、上述の方法で生成された地図描画データを用いて地図を印刷する地図印刷方法、または地図印刷装置として構成してもよい。
本発明の地図描画データ生成方法は、コンピュータが自動的に実行する方法として構成してもよい。また、上述の方法で地図を描画するための地図描画データを生成する地図描画データ生成装置として構成してもよい。
上述の地図描画または地図データの生成をコンピュータに実行させるためのコンピュータプログラムや、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【図面の簡単な説明】
【００１５】
【図１】地図描画装置の構成を示す説明図である。
【図２】地図描画データ生成処理のフローチャートである。
【図３】処理対象道路選択条件を示す説明図である。
【図４】占有領域幅を示す説明図である。
【図５】条件Ｃ１による転位処理例を示す説明図である。
【図６】条件Ｃ２による転位処理例を示す説明図である。
【図７】半転位、全転位処理例を示す説明図である。
【図８】具体的処理例（１）を示す説明図である。
【図９】具体的処理例（２）を示す説明図である。
【図１０】具体的処理例（３）を示す説明図である。
【図１１】処理前後の比較例を示す説明図である。
【図１２】後処理例を示す説明図である。
【図１３】３本の道路間での転位処理方法を示す説明図である。
【図１４】処理領域の設定方法を示す説明図である。
【図１５】実施例２における地図描画データ生成処理のフローチャートである。
【図１６】転位処理（マルチ）のフローチャートである。
【図１７】転位モードの設定方法を示す説明図である。
【図１８】転位モード１のフローチャートである。
【図１９】転位モード２のフローチャートである。
【図２０】転位モード３、４のフローチャートである。
【図２１】位置関係修復処理のフローチャートである。
【図２２】転位モード４の処理例を示す説明図である。
【図２３】転位モード３の処理例を示す説明図である。
【図２４】変形例の地図描画データ生成処理のフローチャート（１）である。
【図２５】変形例の地図描画データ生成処理のフローチャート（２）である。
【発明を実施するための形態】
【実施例１】
【００１６】
Ａ．システム構成：
図１は、地図描画装置の構成を示す説明図である。本実施例の装置は、ＣＰＵ，メモリとしてのＲＡＭ，ＲＯＭを備えたパーソナルコンピュータおよびその他のコンピュータに、図示する各機能を実現するためのコンピュータプログラムをインストールすることによって構成されている。地図の描画は、コンピュータのディスプレイへの表示、プリンタでの印刷などの方法を採ることができる。
地図描画装置には、地図データベース１２０、地図描画データベース１３０が備えられている。地図データベース１２０は、地物の形状等を表すポリラインデータやポリゴンデータ、地物の属性などを地図データとして格納しており、路線の位置及び形状を表す路線データを保存している。地図データベース１２０に格納されているデータは、描画時に地物同士が重なり合って隠れてしまうことを考慮せず、各地物の位置、形状を正確に記録したものである。これに対し、地図描画データベース１３０は、表示に用いるために地図データベース１２０の一部のデータを修正したポリラインデータやポリゴンデータを格納している。本実施例では、道路、鉄道などの路線同士が重なっている場合に、一方の路線を他方の路線に対して路線の幅方向にずらす転位処理を施して、路線が隠れてしまう状態を抑制している。このように修正されたデータが地図描画データとして地図描画データベース１３０には格納されている。本実施例では、地図描画データベース１３０には、転位処理が施された路線部分だけを格納するものとしたが、転位処理を施さない地物のデータ全般を格納してもよい。
【００１７】
地図描画部１４０は、地図描画データベース１３０および地図データベース１２０を参照して、地図を描画する。地図の描画方法としては、コンピュータディスプレイへの表示、紙などの印刷媒体への印刷などが挙げられる。
【００１８】
地図描画データ生成部１００は、地図データベース１２０に格納された地図データに転位処理を施して地図描画データを生成し、地図描画データベース１３０に格納する処理を行う。地図描画データ生成部１００が実行する処理が、地図描画データ生成方法に相当し、地図描画データ生成部１００が地図描画データ生成装置を構成することになる。
地図描画データ生成部１００には、路線の転位処理を施すため、リサンプリング処理部１０２、転位処理部１０４、後処理部１０６が備えられている。
リサンプリング処理部１０２は、地図データベース１２０に格納されている路線を構成する点列の密度が所定値以上となるよう、その間隔を整える。転位処理部１０４は、路線を表す地図データを、幅方向にずらす転位処理を実行する。後処理部１０６は、転位処理部１０４によって転位されなかった部分について、所定の条件下で後処理としての転位処理を施す。これらの各処理の処理内容は、後述する。
【００１９】
コマンド入力部１１０は、地図描画データ生成部１００、地図描画部１４０に対して、オペレータの操作を介して、それぞれ処理に必要な指示を入力する。
本実施例では、地図描画データ生成部１００が実行する地図描画データ生成のための処理は、コンピュータが自動的に実行するものとして説明するが、この処理をオペレータの指示に応じて手動で実行するものとしてもよい。かかる場合には、コマンド入力部１１０は、地図描画データ生成のための処理に必要な指示も入力することになる。
【００２０】
Ｂ．地図描画データ生成処理（２本間の重なりの場合）：
次に２本の道路同士が重なっている場合の地図描画データ生成処理の内容を示す。まず、全体の処理の流れを説明した後、個別の処理について具体例に基づいて説明する。
図２は、地図描画データ生成処理のフローチャートである。地図描画データ生成部１００の機能に相当する処理である。
ＣＰＵは、処理対象道路を選択する（ステップＳ１０）。処理対象道路とは、高架道路や並走する道路のように、地図上で重なって描画される道路である。本実施例では、更に、図３に示す処理対象道路選択条件を満たすものを選択するようにした。
【００２１】
図３は、処理対象道路選択条件を示す説明図である。左側に示す条件ａ〜条件ｄを全て満たす道路が処理対象道路となる。
条件ａは、「重要度の低い道路」という条件である。重要度は、任意に設定可能である。例えば、重要度が高い順に高速道路、国道、県道、一般道などとすることができる。鉄道を対象に加える場合には、これらより更に重要度が高いものとして位置づけても良い。
条件ｂは、「重要度の高い道路全体が描かれている区間」という条件である。重要度が高い道路が描画順として上位にあるとともに、重要度が高い側が他の地物で隠されていたりせず、全体が描かれているという意味である。重要度が高い道路を、以下、「基準道路」ということもある。
条件ｃは、「ＷＬ−ＷＨ＜ＷＶ１」である。ＷＬは重要度が低い道路の線幅、ＷＨは重要度が高い道路の線幅である。ＷＶ１は最小見せ幅を意味する。見せ幅とは、隠れる側の道路について、描画時に視認できるように確保すべき線幅であり、転位の段階に応じてその量を変化させるものである。線幅とは、当該道路の描画時の幅であり、実際の道路の幅員や車線数とは必ずしも一致しない。最小見せ幅とは、隠れる側の道路について、描画時に視認できるように最小限確保すべき線幅である。最小見せ幅は、任意に設定可能である。
右上側に条件ｃの判断例を示した。ハッチングを付した側が優先度の低い道路であり、線幅は２０ポイントである。白抜きで示した側が優先度の高い道路であり、線幅は１５ポイントである。従って、ＷＬ−ＷＨ＝５となる。仮に、「最小見せ幅ＷＶ１＝５」と設定していれば条件ｃは不成立となるし、「ＷＶ１＝６」と設定していれば条件ｃは成立となる。このように、条件ｃは、重要度の低い道路の線幅（ＷＬ）の方が、重要度が高い道路の線幅（ＷＨ）よりも、最小見せ幅ＷＶ１以上、太い場合には処理対象からはずすことを意味している。かかる場合には、重要度の低い道路が十分に視認可能であり、転位処理を施すまでないからである。
条件ｄは、「ＷＬ＞ＷＶ１」である。つまり、優先度の低い道路の線幅（ＷＬ）が最小見せ幅（ＷＶ１）よりも大きいことである。右下側に判断例を示した。最小見せ幅ＷＶ１＝５ポイントとすると、優先度の低い道路（ハッチングを付した側）の線幅が３ポイントであれば条件ｄは不成立となり、線幅が６ポイントであれば条件ｄは成立となる。重要度の高い道路（白抜き）の線幅は条件ｄには無関係である。優先度の低い道路の線幅が最小見せ幅よりも小さい場合には、その道路全体を描いたとしても最小見せ幅を確保できないからである。
実施例では、条件ａ〜ｄの全てを満たすものを選択するようにしたが、一部を満たすものを選択するようにしてもよい。また、処理対象道路選択条件は、上述の一部の条件を省略してもよいし、他の条件を追加してもよい。
【００２２】
処理対象道路が選択されると、ＣＰＵは、リサンプリング処理を施す（図２のステップＳ１１）。リサンプリング処理とは、地図データベース１２０に格納されている路線を構成する点列の密度が所定値以上となるよう、その間隔を整える処理である。
図中に処理例を示した。路線は、黒丸で示す複数の構成点からなる点列で表されているとする。構成点Ｐ１、Ｐ２の区間Ｄ１、および構成点Ｐ３、Ｐ４の区間Ｄ２は、構成点の密度が低い。リサンプリング処理では、かかる箇所に、新たに構成点ＰＡ１〜ＰＡ３を追加し、構成点の密度を所定値以上とする。
ここで、構成点の密度は、例えば、「構成点間の距離が所定値以下となる」という条件で設定することができる。リサンプリング処理は、上述の密度に関する要件を満たさない部分を特定し、その区間を、要件を満たすまで２等分、３等分…と分割することによって新たな構成点の位置を決定する方法をとることができる。図中の区間Ｄ２は２等分によって構成点ＰＡ３が設定され、区間Ｄ１は３等分することで構成点ＰＡ１、ＰＡ２が設定された例である。
本実施例では、リサンプリング処理を施した後の構成点単位で、占有領域を３段階に変更して転位処理を施す。
【００２３】
転位処理を実行するために、ＣＰＵは占有領域を設定する（ステップＳ１２）。占有領域とは、基準道路の中心線から両側に所定幅を設けて作られる範囲で、構成点ごとに転位対象とするか否かを判断するための領域である。本実施例では、占有領域を順に大きくしながら３段階に変化させてこの処理を実行する。１回目の転位処理を「微転位」、２回目を「半転位」、３回目を「全転位」と称する。
【００２４】
図４は、各転位処理における所定幅すなわち占有領域幅を示す説明図である。
・微転位について
図４（ａ）は微転位における占有領域幅を示している。占有領域の半幅ＷＣ１は、次式で定まる。
ＷＣ１＝（ＷＨ−ＷＬ）／２＋ＷＶ１；
ＷＨ：重要度の高い道路（基準道路）の線幅；
ＷＬ：重要度の低い道路の線幅；
ＷＶ１：最小見せ幅（本実施例では３ポイントとした）；
図中に破線で示した幅ＷＣ１が占有領域の半幅となる。重要度の低い道路Ｒ１の中心線を矢印Ａに示すように、占有領域の境界まで転位させると、基準道路よりもＷＶ１の幅だけ道路Ｒ１ａがはみ出すことになる。なお、図中では図の煩雑化を回避するため、道路の幅方向に対して斜めに転位させた状態を示したが（矢印Ａ）、実際の転位処理では、道路Ｒ１を、その幅方向に平行移動させている。
・半転位について
図４（ｂ）は半転位における占有領域幅を示している。占有領域の半幅ＷＣ２は、次式で定まる。
ＷＣ２＝（ＷＨ−ＷＬ）／２＋ＷＶ２；
ＷＶ２：半転位での見せ幅（本実施例では、ＷＬ／２とした）；
図中に破線で示した幅ＷＣ２が占有領域の半幅となる。重要度の低い道路Ｒ１の中心線を矢印Ｂに示すように、占有領域の境界まで転位させると、基準道路よりもＷＶ２の幅だけ道路Ｒ１ｂがはみ出すことになる。
・全転位について
図４（ｃ）は全転位における占有領域幅を示している。占有領域の半幅ＷＣ３は、次式で定まる。
ＷＣ３＝（ＷＨ＋ＷＬ）／２；
図中に破線で示した幅ＷＣ３が占有領域の半幅となる。重要度の低い道路Ｒ１の中心線を矢印Ｃに示すように、占有領域の境界まで転位させると、道路Ｒ１ｃに示すように、重要度の低い道路全体がはみ出すことになる。
【００２５】
こうして占有領域を設定すると、ＣＰＵは、未転位の各構成点の点数付けを行う（図２のステップＳ１３）。点数は、占有領域内の構成点を絶対値２、占有領域外の構成点を絶対値１とし、構成点の点列の配列方向に向かって中心線より左側を負、右側を正と定める。点数付けは、未転位の構成点を対象とするため、１回目の微転位の処理時には全ての構成点が対象となり、２回目以降は従前の処理で転位されなかった構成点が対象となる。
ＣＰＵは、こうして付された点数を用いて、転位対象構成点を決定する（ステップＳ１４）。転位対象構成点とするためには、以下の条件Ｃ１または条件Ｃ２を満たすことを要する。
（条件Ｃ１）  ｜前後３点の点数の合計値｜＞３  かつ  占有領域内にあること  かつ  基準路線の中心線で分割された占有領域の２つの領域の内いずれか一方の領域の中で所定距離Ｌ１以上連続していること；
（条件Ｃ２）  条件Ｃ１を満たさない構成点である非転位対象構成点が占有領域内で所定距離Ｌ２以上連続していること；
なお、条件Ｃ１は例えば、構成点が｜前後３点の点数の合計値｜＞３  かつ  占有領域内で所定距離Ｌ１以上連続するという条件でも良い。
以下、具体例に基づき、転位対象構成点の決定処理の内容を示す。
【００２６】
図５は、条件Ｃ１による転位処理例を示す説明図である。基準道路の中心線ＣＬを中心として占有領域が設定されている。基準道路が曲線状になっている部分では、中心線および占有領域も、それぞれ曲線状に設定されることになる。そして、この道路の進行方向左側に位置する占有領域外の領域ＡＲ１は−１点、占有領域内の領域ＡＲ２は−２点、進行方向右側に位置する占有領域内の領域ＡＲ３は２点、占有領域外の領域ＡＲ４は１点と点数を割り当てる。
図中の黒丸Ｐ［１］〜Ｐ［１３］は、重要度の低い側の道路の構成点である。各構成点が属する領域ＡＲ１〜ＡＲ４に応じて、図中の点数欄に示すように点数が定まる。条件Ｃ１では、前後３点の点数の合計値を評価点数として求める。構成点Ｐ［１］については、前の構成点が存在しないため、構成点Ｐ［１］、Ｐ［１］、Ｐ［２］の合計点である−４点が評価点数となる。構成点Ｐ［２］については、構成点Ｐ［１］〜Ｐ［３］の合計点である−１点が評価点数となる。他の構成点も同様にして、図中に示す評価点数が求められる。
そして、評価点数の絶対値が３より大きくなる構成点を選択する。図中の例では、構成点Ｐ［１］、Ｐ［４］、Ｐ［５］、Ｐ［８］、Ｐ［９］、Ｐ［１０］、Ｐ［１１］が選択される。
条件Ｃ１は、前後３個の構成点を結ぶ線が、基準道路の中心線と交差しないという条件である。上述のように点数で評価する方法に代えて、中心線と交差するか否かを直接、解析するようにしてもよい。このように、前後３個の構成点を結ぶ線が基準道路の中心線と交差する箇所を特定し、転位対象から外すことによって、転位結果がなだらかになり、見栄えが向上するという効果がある。
【００２７】
条件Ｃ１では、上述の評価点数に基づく判定だけでなく、「占有領域内にあること  かつ  基準路線の中心線で分割された占有領域の２つの領域の内いずれか一方の領域の中で所定距離Ｌ１（第１の所定長に相当）以上連続していること」も条件とされている。構成点Ｐ［１］、Ｐ［５］、Ｐ［１０］は、この条件を満たさない。構成点Ｐ［８］、Ｐ［９］の距離が、所定距離Ｌ１以上であれば、この条件を満たすため転位対象構成点となる。図中には、この意味で、構成点Ｐ［８］、Ｐ［９］に白丸を付した。
所定距離Ｌ１は、蛇行している箇所が安易に転位対象となることを避けるために設定されるものであり、任意の値を設定可能である。例えば、転位する側の道路の線幅を基準の２〜３倍程度とすることができる。
【００２８】
図６は、条件Ｃ２による転位処理例を示す説明図である。条件Ｃ２は、「条件Ｃ１を満たさない構成点である非転位対象構成点が占有領域内で所定距離Ｌ２（第２の所定長に相当）以上連続していること」という条件である。これは、図中の領域ＢＢに示すように、長い区間にわたって、非転位対象構成点が連続していると、重要度の低い道路ＲＤＢが基準道路ＲＤＣに隠れる部分が長くなり、形状やつながり具合が把握できなくなることを回避するための条件である。
従って、所定距離Ｌ２（第２の所定長に相当）は、例えば、道路の線幅の最大値よりも十分に大きい値、例えば、５倍程度とすることができる。こうすることによって、例えば、他の道路ＲＤＡが基準道路ＲＤＣにほぼ直交しているだけに過ぎない部分ＡＡが無用に転位されることを回避できる。
【００２９】
ＣＰＵは、こうして転位対象構成点が定まると、これらの転位対象構成点を占有領域の境界まで転位させる（図２のステップＳ１５）。転位は、基準道路の中心線に直交する方向に各構成点を平行移動させる方法で行う。中心線よりも左側に位置する構成点は左側の境界へ、右側に位置する右側の境界へそれぞれ移動させる。
ＣＰＵは、以上の処理を、微転位、半転位、全転位の３回繰り返し（ステップＳ１６）、転位処理を終了する。
【００３０】
図７は、半転位、全転位処理例を示す説明図である。図７（ａ）に示すように、基準道路と重要度の低い道路が重ねて描かれる箇所に対する処理例を示した。
図７（ｂ）は、半転位の処理例である。この時点では、微転位の処理によって一部の構成点は転位済みである。半転位の場合も図５、６に示したのと同様の手順で処理が行われる。まずＣＰＵは、道路中心線ＣＬ１に対して、半転位用の占有領域を設定する。そして、重要度の低い道路の中心線ＣＬ２を規定する各構成点に点数を付ける。図７（ｂ）は、占有領域内の点を黒丸、領域外の点を×で示した。
ＣＰＵは、これらの各構成点について評価点数（図５参照）を求め、占有領域内で所定距離Ｌ１以上連続している構成点を求めると、転位対象構成点（図中で白丸を付した構成点、図中絵領域ＰＰ１に対応）を定めることができる。所定距離Ｌ１は、微転位の処理時とは異なる値としてもよい。こうして設定された各転位対象構成点は、半転位の占有領域の境界線まで転位される。
図７（ｃ）は、全転位の処理例である。半転位までの処理によって転位済みの構成点（図７（ｂ）の領域ＰＰ１に対応）は大きい黒丸で示した。この処理では、他の構成点が処理対象となる。ＣＰＵは、道路中心線ＣＬ１に対して、全転位用の占有領域を設定する。そして、重要度の低い道路の中心線ＣＬ３を規定する各構成点に点数を付ける。図７（ｃ）は、占有領域内の点を黒丸、領域外の点を×で示した。
ＣＰＵは、これらの各構成点について評価点数（図５参照）を求め、所定距離Ｌ１以上連続している構成点を求めると、転位対象構成点（図中で白丸を付した構成点、図中ＰＰ２に対応）を定めることができる。所定距離Ｌ１は、微転位の処理時とは異なる値としてもよい。こうして設定された各転位対象構成点は、全転位の占有領域の境界線まで転位される。
図７（ｄ）は、転位処理の具体例を示している。図示する構成点ＰＢ［１］〜ＰＢ［３］が転位対象となる構成点であるとする。転位時には、ＣＰＵは、基準道路の中心線ＣＬ１に対し、各構成点を通過する垂線Ｍ［１］〜Ｍ［３］を求める。そして、それぞれの垂線と占有領域の境界線との交点に、転位後の構成点ＰＡ［１］〜ＰＡ［３］を設定する。転位は、基準道路の中心線に対し、構成点と同じ側に位置する境界側に行う。図の例では、いずれの構成点も、中心線ＣＬ１よりも下側に位置するため、下側の境界に転位している。中心線ＣＬ１よりも上側に位置する構成点があれば、上側の境界に転位される。
【００３１】
Ｃ．処理例：
以上の処理手順による具体的処理例を図８〜図１１で示す。
図８（ａ）は、処理前の道路の状態を示している。図示するように、重要度の低い道路は、基準道路に隠れて描画され、形状やつながり具合が把握できなくなっている部分がある。
図８（ｂ）は、微転位の転位処理経過を示している。図の煩雑化を回避するため、それぞれの道路の外形は省略した。ＣＰＵは、基準道路の中心線ＣＬ１に、微転位の占有領域が設定する。（図４（ａ）参照）。ＣＰＵは、この占有領域に基づき、重要度の低い道路の中心線ＣＬ２の各構成点について、点数を評価する。占有領域内の点を黒丸で示し、領域外の点を×で示した。また、この中で転位対象となる点に、白丸を付して示した。
図８（ｃ）は、これらの点に対して、ＣＰＵの指令により、転位処理を施した状態を示している。これによって、転位対象構成点は、それぞれ微転位の占有領域の境界に転位される。転位後の点は、大きい黒丸で示した。
【００３２】
図９（ａ）は、半転位の転位処理経過を示している。基準道路の中心線ＣＬ１には、ＣＰＵによって、半転位の占有領域が設定される（図４（ｂ）参照）。この占有領域に基づき、重要度の低い道路の中心線ＣＬ３の各構成点について、ＣＰＵは、点数を評価する。占有領域内の点を黒丸で示し、領域外の点を×で示した。また、微転位が施されていない構成点の中で、転位対象となる点に、白丸を付して示した。
図９（ｂ）は、これらの点に対して、ＣＰＵの指令により、半転位処理を施した状態を示している。これによって、転位対象構成点は、それぞれ半転位の占有領域の境界に転位される。
【００３３】
図１０（ａ）は、全転位の転位処理経過を示している。基準道路の中心線ＣＬ１には、ＣＰＵによって全転位の占有領域が設定される（図４（ｃ）参照）。この占有領域に基づき、重要度の低い道路の中心線ＣＬ４の各構成点について、ＣＰＵは、点数を評価する。占有領域内の点を黒丸で示し、領域外の点を×で示した。また、微転位、半転位が施されていない構成点の中で、転位対象となる点に、白丸を付して示した。
図１０（ｂ）は、これらの点に対して、ＣＰＵの指令により、全転位処理を施した状態を示している。これによって、転位対象構成点は、それぞれ全転位の占有領域の境界に転位される。
【００３４】
図１１は、処理前後の比較例を示す説明図である。図１１（ａ）は処理前の状態、図１１（ｂ）は微転位が終了した状態、図１１（ｃ）は、半転位、全転位処理が終了した状態である。
このように本実施例の転位処理によれば、重要度の低い道路が表れるようになり、形状およびつながり具合が把握できるようになっている。また、微転位、半転位、全転位という３段階の占有領域を併用することにより、現実の状態からの乖離を抑制することができる。
【００３５】
Ｄ．後処理：
図１２は、後処理例を示す説明図である。図４〜１１で説明した転位処理によって転位されなかった部分を対象とする処理である。
図１２（ａ）は、地図の図枠での処理例である。左側に示すように、図枠に至る点で重要度の低い道路が基準道路に隠れている箇所がある場合には、右側に示すようにＣＰＵは無条件で微転位の転位処理を施す。微転位としたのは、過度の転位によって現実の状態から乖離してしまうことを抑制するためである。このように図枠に至る点で転位させることにより、重要度の低い道路が存在することを容易に認識することができ、利用者が異なる図枠間で地図の照合しやすくなる。
図１２（ｂ）は、道路全長が短い場合の処理である。左側には処理前を示した。重要度が低い道路が基準道路に隠れているが、上述した転位処理では、所定長以上連続している場合にのみ転位対象とするため（図２のステップＳ１４参照）、道路の全長が短い場合には転位処理が施されない。短い道路については、大部分が隠れてしまうと、形状やつながり具合はおろか、その存在すら把握できなくなり、図の例では、途中で行き止まりになっているのか、右側の道路までつながっているのか全く分からない。そこで、後処理では、道路の所定割合（本実施例では７０％とした）以上が隠れている場合は、ＣＰＵは無条件で微転位を施す。右側は処理後の状態を示している。こうすることによって、短い道路も、存在が容易に把握できるようになり、形状、つながり具合を認識できるようになる。
【００３６】
Ｅ．効果：
以上で説明した転位処理によれば、基準道路に隠れている道路を、視認可能な状態に描画することができる。この際、微転位、半転位、全転位という占有領域を複数段階に変化させ、転位量を求めることによって、現実の状態からの乖離を抑制することができる。なお、転位量とは処理対象道路を転位処理によって基準道路の幅方向にずらした量を表す。
【実施例２】
【００３７】
実施例２として、３本以上の道路間で転位処理を施す例について説明する。かかる転位処理を実現するための地図描画装置の構成としては、実施例１（図１）と同様である。以下、３本の道路間での転位処理を例にとって、実施例２における転位処理方法を説明する。
【００３８】
Ｆ．転位処理方法：
図１３は、３本の道路間での転位処理方法を示す説明図である。転位処理は、実施例１と同様、基準道路に対して、他の道路を転位させる方法で行う。基準道路とは、重要度が最も高い道路である。基準道路以外の道路の配置は、図１３（ａ）〜図１３（ｃ）に示すように３通りが考えられる。
図１３（ａ）は、基準道路の両側に他の道路が存在する例である。図の例では、基準道路の上側の道路が、下側の道路よりも重要度が高い場合を例示したが、その逆であってもよい。図中における重要度高、重要度低という記載は、基準道路以外の２本の道路の重要度の高低を表している。かかる配置では、両側の道路を、矢印ａ１、ａ２に示すように、それぞれ外側に転位する。外側とは、基準道路から遠ざかる方向を意味する。この配置では、基準道路の中心線を境に上側、下側の領域に分けて考えれば、それぞれ２本（基準道路と他の一本の道路）との間の転位処理であるため、実施例１で説明した転位処理を適用すればよい。
図１３（ｂ）は、基準道路の一方側に、内側から重要度高、重要度低の順で２本の道路が存在する例である。かかる配置においては、内側にある重要度高の道路を矢印ｂ１のように外側に転位した後、外側にある重要度低の道路を矢印ｂ２のように外側に転位する。ただし、重要度高の道路については、重要度低の道路よりも広い見せ幅を確保するよう転位させる。一方、重要度低の道路については、重要度高の道路の内側に入らず、かつ重要度高の道路に隠れないように転位させる。「重要度高の道路の内側に入らず」とは、内側から重要度高、重要度低の位置関係が逆転することがないように、転位させるという意味である。それぞれの道路の転位量を求める詳細な転位処理については、後述する。
図１３（ｃ）は、基準道路の一方側に、内側から重要度低、重要度高の順で２本の道路が存在する例である。かかる配置においても、まず内側にある重要度低の道路を矢印ｃ１のように外側に転位した後、外側にある重要度高の道路を矢印ｃ２のように外側に転位する。ただし、重要度低の道路については、最小限の見せ幅を確保するように転位させる。重要度高の道路については、重要度低の道路の内側に入らず、重要度低の道路を隠さず、また十分な見せ幅を確保するよう転位させる。
図１３（ａ）〜図１３（ｃ）の処理は、各道路をこれらの配置に従って処理領域に区分し、各処理領域ごとに施される。
【００３９】
図１４は、処理領域の設定方法を示す説明図である。一例として、高速道路、国道、県道、一般道が、近接して走っている状態を示した。道路の重要度は、高速道路＞国道＞県道＞一般道の順序であるものとする。
領域Ａは、高速道路と国道とが近接しているため、２本間での転位処理が行われる。一般道は、国道と十分間隔が開いているため、転位処理の必要はない。転位処理の要否は、各道路間の間隔が所定値以下となっているか否かで判断することができる。転位処理を施す道路の本数が多い場合、転位処理を施した結果、転位前は十分に間隔が開いている他の道路に近接することも生じるため、かかる事態を考慮して、転位処理の要否の判断基準は、十分に余裕を持った値に設定しておくことが好ましい。
領域Ａは、重要度が高い高速道路が基準道路となり、これを基準として国道に転位処理が施される。本実施例では、図中に示すように、基準道路をその進行方向ａに対して右側領域、左側領域に分け、それぞれの領域ごとに転位処理を行う。右側領域および左側領域のそれぞれでは、それぞれ白抜きの矢印で示すように、基準道路である高速道路から遠ざかる方向（外側方向ともいう）に国道が転位される。
領域Ｂは、国道と一般道が比較的近接している領域である。従って、この領域では、高速道路、国道、一般道の３本間で転位処理が施される。この領域では、重要度の高い高速道路が基準道路となり、その進行方向ｂの左側領域に、国道、一般道の順に配置している。かかる配置は、図１３（ｂ）に示した状態、即ち、基準道路に近い道路（内側の道路ともいう）である国道が、遠い道路（外側の道路ともいう）である一般道よりも重要度が高い配置であるから、図１３（ｂ）で説明した方法で転位が行われる。
領域Ｃは、高速道路と国道の間隔があいているため、高速道路は転位処理の対象とはならない。従って、この領域では、国道と一般道との間で２本間の転位処理が施される。重要度が高い国道が基準道路となる。一般道は、国道の進行方向ｃの左側領域に位置するため、左側領域で転位処理が行われ、右側領域では転位処理は行われない。
領域Ｄは、国道、一般道、県道の３本間で転位処理が施される。これらの３本の中では、最も重要度が高い国道が基準道路となり、その進行方向ｄの左側領域に、一般道、県道の順に配置している。かかる配置は、図１３（ｃ）に示した状態、即ち、内側の道路である一般道が、外側の道路である県道よりも重要度が低い配置であるから、図１３（ｃ）で説明した方法で転位が行われる。右側領域では、転位処理は行われない。
【００４０】
Ｇ．地図描画データ生成処理：
図１３、１４で説明した３本以上の道路間での転位を実現するための処理内容を説明する。
図１５は、実施例２における地図描画データ生成処理のフローチャートである。処理を開始すると、ＣＰＵは、道路間の間隔に基づき、処理領域を設定する（ステップＳ１００）。これは、図１４で説明した処理に相当する。道路間の間隔が所定値以下となる道路同士が同一の処理領域に含まれることとなり、設定された一つの処理領域内に含まれる道路の本数および名称は処理中を通じて変化しない。図１４で示したように、国道という一本の道路上であっても、転位処理の対象となる道路が異なる区間ごとに分けて処理領域は設定される。
【００４１】
次にＣＰＵは、処理領域のいずれかを選択し、各道路につき、処理領域内の区間を切り出す（ステップＳ１０２）。そして、処理領域内で最も重要度の高い道路を、基準道路として選択する（ステップＳ１０４）。
転位処理は、基準道路の右側領域、左側領域に分けて行うため、まず右側領域を対象として、ＣＰＵは、転位処理モードを決定する（ステップＳ１０６）。図１３（ａ）に示したように、２本の道路間での転位を行う場合には、転位処理（２本）を実行する（ステップＳ１０６、Ｓ９）。転位処理（２本）としては、実施例１で説明した地図描画データ生成処理（図２）を適用する。図１３（ｂ）、図１３（ｃ）に示したように、３本の道路間で転位を行う場合には、転位処理（マルチ）を行う（ステップＳ１０６、Ｓ２０）。転位処理（マルチ）の内容は、後述する。いずれの道路との重複もない場合には、これらの転位処理はスキップされる。
ＣＰＵは、以上の転位処理（ステップＳ１０６、Ｓ９、Ｓ２０）を、左側領域についても同様に行い（Ｓ１１０）、一つの処理領域に対する転位処理を完了する。
また、この処理を、全ての処理領域について終了するまで繰り返し（ステップＳ１１２）、地図描画データ生成処理を完了する。
【００４２】
Ｇ１．転位処理（マルチ）：
図１６は、転位処理（マルチ）のフローチャートである。３本以上の道路間での転位処理であり、図１５のステップＳ２０に相当する処理である。この処理は、各処理領域ごとに行われるものである。
処理を開始すると、ＣＰＵは、基準道路、転位処理が施された処理済道路に基づいて重複判定領域を設定する（ステップＳ２１）。重複判定領域とは、他の道路について転位処理を行うか否か、即ち他の道路が基準道路および処理済道路に重なっているかどうかを判定するための領域である。
図中に重複判定領域の設定例を示した。処理済道路がない場合には、重複判定領域１は、基準道路の線幅に基づいて定められる。処理済道路がある場合、重複判定領域２は、基準道路および処理済道路の双方を覆う最大の線幅に基づいて設定される。
このように処理済道路も考慮する目的は、次の通りである。実施例２のように、３本以上の道路を対象として順次、転位処理を施すと、転位前の状態では、基準道路から十分離れた位置にある道路が、他の道路に転位処理を施した結果、処理済道路と重複を生じる場合がある。そこで、実施例２では、上述のように、処理済道路の位置も考慮して、重複判定領域を設定するのである。こうすることによって、処理済道路によって他の道路が隠れてしまうことを回避できる。
【００４３】
ＣＰＵは、上述の重複判定領域を用いて、転位処理を施すべき処理対象道路を検出する（ステップＳ２２）。処理対象道路とするための条件は、次の通りである。
条件１は、未処理の道路という条件である。転位処理済みの道路に更に転位処理を施す必要はないからである。
条件２は、上述の条件１を満たすもののうち、基準道路に最も近いもの、即ち内側にあることである。このように基準道路に近い道路から順に転位処理を施すことにより、後に行われた転位処理によって、処理道路が隠れてしまうという事態や転位処理によって位置関係が逆転してしまうといった事態を回避することができる。
【００４４】
上記検出の結果、処理対象道路がない場合には（ステップＳ２３）、ＣＰＵは、転位処理（マルチ）を終了する。
処理対象道路がある場合には（ステップＳ２３）、転位モードを決定し（ステップＳ２４）、実施例１で示したのと同様のリサンプリング処理を施す（図２のステップＳ１１参照）。転位モードとは、図１３（ｂ）、図１３（ｃ）で説明したように、道路の重要度に応じた配置状態に基づいて定まる転位処理の方法を意味する。具体的な転位モードの内容については後述する。
ＣＰＵは、こうして設定された各転位モードで転位を行い（ステップＳ２６）、位置関係修復処理を行う（ステップＳ２７）。位置関係修復処理とは、処理対象道路について、他の道路を乗り越える転位が行われた場合に、乗り越えられた側の道路を転位させることによって、現実の状態から乖離してしまった位置関係を元に戻すための処理である。具体的な処理内容については後述する。
ＣＰＵは、以上の処理を処理領域内の全道路について繰り返し（ステップＳ２８）、転位処理（マルチ）を終了する。
以下、転位モードの設定および各転位モードにおける処理内容、位置関係修復処理について順に説明する。
【００４５】
Ｇ２．転位モード：
図１７は、転位モードの設定方法を示す説明図である。転位処理（マルチ）（図１６）のステップＳ２４で設定されるモードである。本実施例では、転位モード１〜４の４通りを設定した。
転位モード１、２は外側の未処理道路が存在しない場合のモードである。つまり、基準道路に近い内側の道路から順に転位処理が施された後、最後に転位処理が施されるべき場合のモードに相当する。外側に他の道路が存在しない状態での転位処理であるから、他の道路との関係は重視する必要がないことになる。転位モード１、２では、処理対象道路と内側に存在する道路との重要度の関係によって転位処理を切り替える。
転位モード１は、処理対象道路の重要度が、内側の道路よりも高い場合である。図１３（ｃ）に示した重要度高の外側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、十分な見せ幅を確保するよう転位処理することになる。なお、各道路の最小見せ幅は、任意に設定可能であるが、次の条件をみたしているものとする。
重要度  内側の道路＜処理対象道路のとき：  
０  ＜  ＷＶ１  ＜  ＷＯ  かつ（ＷＩ−ＷＯ）／２  ≦  ＷＶ１；
ＷＶ１：処理対象道路の最小見せ幅；
ＷＯ：処理対象道路の線幅；
ＷＩ：内側の道路の線幅；
転位モード２は、処理対象道路の重要度が、内側の道路よりも低い場合である。図１３（ｂ）に示した重要度低の外側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、必要な見せ幅を確保するよう転位処理することになる。なお、各道路の最小見せ幅は、任意に設定可能であるが、次の条件をみたしているものとする。
重要度  内側の道路＞処理対象道路のとき：
０  ＜  ＷＶ１  ＜  ＷＯ  かつ（ＷＯ−ＷＩ）／２  ≦  ＷＶ１；
転位モード３、４は外側の未処理道路が存在する場合のモードである。処理対象道路の内側に処理済道路が存在するか否かは問わない。このモードでは、外側に他の道路が存在する状態での転位処理であるから、処理対象道路と外側の道路との重要度の関係を考慮して転位処理を切り替える。なお、各道路の最小見せ幅は、任意に設定可能であるが、次の条件をみたしているものとする。
重要度  内側の道路＜処理対象道路のとき：  
０  ＜  ＷＶ１  ＜  ＷＯ  かつ（ＷＩ−ＷＯ）／２  ≦  ＷＶ１；
重要度  内側の道路＞処理対象道路のとき：
０  ＜  ＷＶ１  ＜  ＷＯ  かつ（ＷＯ−ＷＩ）／２  ≦  ＷＶ１；
転位モード３は、処理対象道路の重要度が、外側の道路よりも高い場合である。図１３（ｂ）に示した重要度高の内側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、十分な見せ幅、つまり外側の道路よりも広い見せ幅を確保するよう転位処理することになる。
転位モード４は、処理対象道路の重要度が、外側の道路よりも低い場合である。図１３（ｃ）に示した重要度低の内側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、必要な見せ幅を確保するよう転位処理することになる。
以下、各転位モードにおける転位処理の内容を説明する。
【００４６】
Ｇ３．転位モード１：
図１８は、転位モード１のフローチャートである。転位処理（マルチ）（図１６）のステップＳ２６で転位モードに応じて行われる処理の一つである。
ＣＰＵは、まず転位処理が必要か否かを判定する（ステップＳ３０）。ここでは、次の２つの条件のいずれかを満たす場合に転位処理が必要であるとする。
第１の条件は、内側の道路の最小見せ幅ＷＶ１が確保されないことである。この条件は、次の条件式で表せる。
ＤＩＳＴ−ＷＯ／２＜ＷＶ１；
ＤＩＳＴ：処理対象道路と内側の道路との間隔；
ＷＯ：処理対象道路の線幅；
ＷＶ１：内側の道路の最小見せ幅；
第１の条件を満たす場合には、内側の道路の最小見せ幅を確保するために転位処理が必要となる。
第２の条件は、内側の道路が処理対象道路の外側にはみ出すことである。この条件は、次の条件式で表せる。
ＤＩＳＴ＋ＷＯ／２＜ＷＩ／２；
ＷＩ：内側の道路の線幅；
第２の条件を満たす場合には、内側の道路がはみ出さないようにするために転位処理が必要となる。
上述の条件に基づき、転位処理が不要と判断された場合には、ＣＰＵは、そのまま転位モード１の処理を終了する。
【００４７】
次に、ＣＰＵは、占有領域を設定する（ステップＳ３１）。本実施例では、上述の条件１、２のいずれを満たすかに応じて、占有領域の幅を次の通り切り替える。なお、占有領域の設定は、これで完了ではない。内側の道路の最小見せ幅を確保するために、占有領域の拡張を後に示す処理で行う。
条件１を満たす場合の占有領域の半幅は、「（ＷＩ＋ＷＯ）／２」となる。
これは、内側道路に隣接する位置まで処理対象道路を転位させるための占有領域に相当する（図４参照）。
条件２を満たす場合の占有領域の半幅は、「（ＷＩ−ＷＯ）／２」となる。
これは、内側の道路のはみ出しを解消するための占有領域幅に相当する。
【００４８】
こうして占有領域を設定すると、ＣＰＵは、次にこの占有領域の拡張処理を行う（ステップＳ３２）。拡張幅は、転位処理済みの道路に対する総微転位幅である。総微転位幅とは転位処理に伴い合算された微転位幅のことである。例えば、１本の道路について転位処理が完了している場合には、その転位処理で用いられた微転位幅分だけ、ステップＳ３１で設定された占有領域を拡張する。２本の道路について転位処理が完了している場合には、それら２本の転位処理で用いられた微転位幅の和に相当する分だけ、ステップＳ３１で設定された占有領域を拡張する。このように、従前の転位処理に基づいて占有領域を拡張することにより、転位済みの道路それぞれについて、微転位に相当する見せ幅、即ち、最小見せ幅を確保して転位処理を行うことができる。
【００４９】
ＣＰＵは、拡張された占有領域を用いて、処理対象道路の構成点を転位することにより転位処理を行う（ステップＳ３３）。この処理の具体的な方法は実施例１と同様である。
また、転位処理の後、実施例１で示した後処理（例外的転位）（図１２参照）も行う（ステップＳ３４）。
【００５０】
Ｇ４．転位モード２：
図１９は、転位モード２のフローチャートである。転位処理（マルチ）（図１６）のステップＳ２６で転位モードに応じて行われる処理の一つである。
ＣＰＵは、まず転位処理が必要か否かを判定する（ステップＳ４０）。ここでは、次の２つの条件の双方を満たす場合に転位処理が必要であるとする。
第１の条件は、処理対象道路が最小見せ幅分だけ見えていないことである。この条件は、次の条件式で表せる。
ＤＩＳＴ＋ＷＯ／２−ＷＩ／２＜ＷＶ１；
ＤＩＳＴ：処理対象道路と内側の道路との間隔；
ＷＯ：処理対象道路の線幅；
ＷＩ：内側の道路の線幅；
ＷＶ１：処理対象道路の最小見せ幅；
第２の条件は、処理対象道路の線幅が最小見せ幅よりも太いことである。最小見せ幅よりも狭い場合には、転位処理を施しても、最小見せ幅を確保することができないからである。
上述の条件に基づき、転位処理が不要と判断された場合には、ＣＰＵは、そのまま転位モード２の処理を終了する。
【００５１】
次に、ＣＰＵは、占有領域を設定する（ステップＳ４１）。転位モード２では、実施例１と同様、３回の処理によって占有領域を段階的に変化させて転位を行う。従って、１回目の処理では微転位、２回目の処理では半転位、３回目の処理では全転位の占有領域幅にて設定する。それぞれの占有領域幅は、実施例１（図４参照）で説明した通りである。
【００５２】
こうして占有領域を設定すると、ＣＰＵは、転位モード１の場合と同様、この占有領域の拡張処理を行う（ステップＳ４２）。拡張幅は、転位処理済みの道路に対する総微転位幅である。このように、従前の転位処理に基づいて占有領域を拡張することにより、転位済みの道路それぞれについて、微転位幅に相当する見せ幅、即ち、最小見せ幅を確保して転位処理を行うことができる。
そして、ＣＰＵは、拡張された占有領域を用いて、処理対象道路の構成点を転位することにより転位処理を行う（ステップＳ４３）。この処理の具体的な方法は実施例１と同様である。以上の処理を３回繰り返した後（ステップＳ４４）、ＣＰＵは、実施例１で示した後処理（例外的転位）（図１２参照）も行う（ステップＳ４５）。
【００５３】
Ｇ５．転位モード３、４：
図２０は、転位モード３、４のフローチャートである。転位処理（マルチ）（図１６）のステップＳ２６で転位モードに応じて行われる処理の一つである。
ＣＰＵは、まず転位処理が必要か否かを判定する（ステップＳ５０）。ここでは、転位モード２と同様、次の２つの条件の双方を満たす場合に転位処理が必要であるとする。
第１の条件は、処理対象道路が最小見せ幅分だけ見えていないことである。この条件は、次の条件式で表せる。
ＤＩＳＴ＋ＷＯ／２−ＷＩ／２＜ＷＶ１；
ＤＩＳＴ：処理対象道路と内側の道路との間隔；
ＷＯ：処理対象道路の線幅；
ＷＶ１：最小見せ幅；
第２の条件は、処理対象道路の線幅が最小見せ幅よりも太いことである。最小見せ幅よりも狭い場合には、転位処理を施しても、最小見せ幅を確保することができないからである。
上述の条件に基づき、転位処理が不要と判断された場合には、ＣＰＵは、そのまま転位モード３、４の処理を終了する。
【００５４】
次に、ＣＰＵは、占有領域を設定する（ステップＳ５１）。
転位モード３の場合には、処理対象道路について十分な見せ幅を確保するため、実施例１と同様、３回の処理によって転位幅を段階的に変化させて転位を行う。従って、１回目の処理では微転位、２回目の処理では半転位、３回目の処理では全転位の占有領域を設定する。それぞれの占有領域の設定方法は、実施例１（図４参照）で説明した通りである。
転位モード４の場合には、処理対象道路について最小限の見せ幅を確保するため、微転位の占有領域を設定する。
【００５５】
こうして占有領域を設定すると、ＣＰＵは、転位モード１の場合と同様、この占有領域の拡張処理を行う（ステップＳ５２）。拡張幅は、転位処理済みの道路に対する総微転位幅である。このように、従前の転位処理に基づいて占有領域を拡張することにより、転位済みの道路それぞれについて、微転位幅に相当する見せ幅、即ち、最小見せ幅を確保して転位処理を行うことができる。
そして、ＣＰＵは、拡張された占有領域を用いて、処理対象道路の構成点を転位することにより転位処理を行う（ステップＳ５３）。この処理の具体的な方法は実施例１と同様である。
転位モード３の場合には以上の処理を３回繰り返し（ステップＳ５４、Ｓ５５）、転位モード４の場合には１回で処理を終える（ステップＳ５４）。これらの転位処理が終了すると、ＣＰＵは、実施例１で示した後処理（例外的転位）（図１１、１２参照）も行う（ステップＳ５６）。
【００５６】
以上で説明した転位モード１〜４における占有領域拡張（図１８のステップＳ３２、図１９のステップＳ４２、図２０のステップＳ５３  ）では、一律に総微転位幅分の拡張を行うものとしたが、占有領域の拡張幅は、種々の設定が可能である。例えば、総微転位幅ではなく、総半転位幅、総全転位幅のように設定してもよいし、転位モードに応じて、拡張幅を変えても良い。また、処理対象道路よりも内側の処理済み道路の方が重要度が低い場合には、拡張幅を内側の処理済道路の転位モードに応じた転位幅の合算にし、逆の場合には、総微転位にするというように、処理対象道路と内側の処理済み道路との重要度に応じて、拡張幅を変えても良い。ここで種々例示したように、拡張幅を多様な設定とすることにより、過剰な転位によって道路全体の幅が異様に広がることを抑制しつつ、内側の処理済み道路の見せ幅を確保することが可能となる。
【００５７】
Ｇ６．位置関係修復処理：
図２１は、位置関係修復処理のフローチャートである。転位処理（マルチ）（図１６）のステップＳ２７に相当する処理である。位置関係修復処理は、外側に位置する道路を越える転位がなされたときに、越えられた側の道路を転位させることによって、位置関係を修復するための処理である。
ＣＰＵは、処理対象道路の構成点のうち、従前の処理において、外側の道路を越えて転位されたものを抽出する（ステップＳ６０）。図中に処理の例を示した。図中に○で示した処理対象道路の各構成点について矢印で示すように転位処理が施された結果、●で示した点Ｐ１〜Ｐ３が外側の道路を越えて転位されたものとする。ステップＳ６０では、この点Ｐ１〜Ｐ３が抽出されることになる。
【００５８】
次に、ＣＰＵは、外側の道路の構成点のうち、ステップＳ６０で抽出された構成点の内側にあるものを転位させる（ステップＳ６１）。内側とは、基準道路側という意味である。図中に処理例を示した。×で示した外側の道路の構成点のうち、ステップＳ６０で抽出された点Ｐ１〜Ｐ３の内側にある３点が抽出され、点ｑ１〜ｑ３のように転位される。ここでの転位は、これらの点ｑ１〜ｑ３が、外側の点Ｐ１〜Ｐ３よりも、外側に位置するようになされる。点Ｐ１〜Ｐ３に重ねるよう転位させてもよいし、さらに外側に移動させてもよい。転位対象となる点ｑ１〜ｑ３は、必ずしもステップＳ６０で抽出された点Ｐ１〜Ｐ３と同数とは限らず、処理対象道路よりも内側に存在する全構成点が対象となる。
【００５９】
処理対象道路が、外側の道路を越えて転位された場合、その部分（ステップＳ６０で示した点Ｐ１〜Ｐ３）は、処理対象道路と外側の道路のいずれが内側に存在するかという意味での位置関係が現実と乖離することになる。本実施例の転位は、現実との乖離を回避しつつ、地図上での見せ幅を確保するために行うことを目的とするものであるから、こうした位置関係の逆転は解消しておく必要がある。
上述の転位処理を施せば、このように内外の位置関係が逆転した道路について、外側の道路をさらに転位させることによって、位置関係を修復することができ、現実との乖離を解消することができる。
【００６０】
Ｇ７．処理例：
図２２は、転位モード４の処理例を示す説明図である。ここでは、図の煩雑化を回避するため、それぞれの道路の中心線のみを描いた状態で転位処理の内容を例示し、最後に、転位結果を示す形をとった。道路の線の太さは、その道路の重要度を表している。
図２２（ａ）は、転位前の状態を示している。この例では、基準道路に対し、内側から重要度の低い道路Ｌ１、重要度の高い道路Ｌ２が位置する例を示している。この状態で、まず内側にある道路Ｌ１が転位処理の対象となる。道路Ｌ１の外側には重要度の高い道路Ｌ２が存在するから、この転位は、転位モード４（図１７）に相当する。従って、道路Ｌ１に対しては、微転位の転位処理が行われる。図中には、微転位、半転位、全転位の占有領域の境界線を破線で示した。道路Ｌ１のうち、微転位の占有領域内にある転位区間に相当する部分について転位が行われることになる。
図２２（ｂ）は、道路Ｌ１の転位の様子を示している。転位区間内の道路が、矢印で示すように、微転位の占有領域の境界まで転位される。
道路Ｌ１の転位が完了すると、次は、外側に位置する道路Ｌ２の転位処理である。
道路Ｌ２は、その外側に道路が存在せず、内側には重要度の低い道路Ｌ１が存在する状態であるから、この転位は、転位モード１（図１７）に相当する。従って、道路Ｌ２に対しては、全転位の転位処理が行われる。図２２（ｃ）には、全転位の占有領域を破線で示した。矢印でシフトと示してあるのは、道路Ｌ１の転位処理における微転位幅分だけ全転位の占有領域を拡張したことを表している。
図２２（ｄ）は、道路Ｌ２の転位の様子を示している。道路Ｌ２全体について、全転位の占有領域の境界まで転位が行われる。
図２２（ｅ）は、上述の転位処理の結果を示している。基準道路、道路Ｌ１、Ｌ２の中心線は破線で示し、それぞれの道路の線幅分をハッチングで示した。図示する通り、転位処理の結果、道路Ｌ１については、最も狭い部分でも最小見せ幅が確保されており、道路Ｌ２については、十分な見せ幅が確保されて、描かれている。
【００６１】
図２３は、転位モード３の処理例を示す説明図である。
図２３（ａ）は、転位前の状態を示している。この例では、基準道路に対し、内側から重要度の高い道路Ｌ１、重要度の低い道路Ｌ２が位置する例を示している。この状態で、まず内側にある道路Ｌ１が転位処理の対象となる。道路Ｌ１の外側には重要度の低い道路Ｌ２が存在するから、この転位は、転位モード３（図１７）に相当する。従って、道路Ｌ１に対しては、３段階の転位処理が行われる。図中には、微転位、半転位、全転位の占有領域の境界線を破線で示した。道路Ｌ１のうち、各占有領域内にある区間に応じて転位が行われる。つまり、図中の微転位区間では微転位が行われ、半転位区間では半転位、全転位区間では全転位が行われる。
図２３（ｂ）は、道路Ｌ１の転位の様子を示している。上述した区間ごとに、微転位、半転位、全転位の各占有領域の境界に道路Ｌ１が転位される。この処理では、道路Ｌ１が道路Ｌ２を越えて転位される区間がある。図中の反転区間１および反転区間２である。これらの区間については、道路Ｌ１、Ｌ２の内外の位置関係が反転しているため、位置関係修復処理が必要である。図２３（ｃ）中の矢印で示した修復１、修復２は、位置関係修復処理によって道路Ｌ２が転位された状態を示している。それぞれ、道路Ｌ２が道路Ｌ１の位置まで転位されることによって、内外の位置関係の反転が解消される。
道路Ｌ１の転位が完了すると、次は、外側に位置する道路Ｌ２の転位処理である。
道路Ｌ２は、その外側に道路が存在せず、内側には重要度の高い道路Ｌ１が存在する状態であるから、この転位は、転位モード２（図１７）に相当する。従って、道路Ｌ２に対しては、段階的な転位処理が行われる。図２３（ｃ）には、各占有領域の境界線を破線で示した。矢印でシフトと示してあるのは、道路Ｌ１の転位処理における微転位幅分だけ各段階の占有領域を拡張したことを表している。
図２３（ｄ）は、道路Ｌ２の転位の様子を示している。道路Ｌ２について、微転位区間、半転位区間、全転位区間のそれぞれについて、各占有領域の境界まで転位が行われる。
図２３（ｅ）は、上述の転位処理の結果を示している。基準道路、道路Ｌ１、Ｌ２の中心線は破線で示し、それぞれの道路の線幅分をハッチングで示した。図示する通り、転位処理の結果、道路Ｌ１については、十分な見せ幅が確保されており、道路Ｌ２については、必要な見せ幅が確保されて、描かれている。
【００６２】
Ｇ８．変形例：
実施例２では、道路間の間隔によって予め処理領域に分け（図１４参照）、処理領域ごとに転位処理を施す例を示した（図１５参照）。３本以上の道路間の転位処理については、予め処理領域に分けるのではなく、転位処理の中で、随時、道路間の間隔によって処理対象を選択しながら進める方法をとることもできる。以下、かかる処理内容について変形例として示す。
【００６３】
図２４、図２５は、変形例の地図描画データ生成処理のフローチャートである。ＣＰＵは、まず道路の重要度に基づいて基準道路を選択し（ステップＳ２００）、基準点列を設定する（ステップＳ２０２）。基準点列とは、基準道路の構成点のことである。実施例２では、処理領域ごとに基準道路を選択する例を示したが、変形例では、道路の重要度順に基準道路として選択するのである。図１４に示した状態に即して説明すれば、まず最初の処理では、この地図全体について、最も重要度の高い高速道路を基準道路として選択し、転位処理を施すことになる。その後、次に重要度の高い国道を基準道路として選択して、転位処理を施すのである。このように重要度を順次さげながら基準道路を選択していく。
ただし、このように処理をしていくと、必ずしも選択された道路が、全区間にわたって基準道路として適切ではない場合が生じ得る。例えば、図１４の例で、国道を基準道路として選択した場合、領域Ａ、領域Ｂでは、先に高速道路を基準道路として既に国道について転位処理が施されているはずである。このような状態で、国道を基準道路として再度、転位処理を施すと、無用かつ不適切な転位処理が施されるおそれがある。
そこで、ステップＳ２０２の基準点列の設定時には、基準道路の構成点のうち、転位処理が施されていないもののみを抽出して、基準点列とするのである。この処理は、図１４における処理領域に区分するのと同様の作用を奏することになる。
【００６４】
こうして基準点列を設定すると、ＣＰＵは、リサンプリング処理を行い（ステップＳ２０４）、重複判定領域を設定して（ステップＳ２０６）、重複道路を検出する（ステップＳ２０８）。重複判定領域の設定は、実施例２で説明した通りである（図１６のステップＳ２１参照）。つまり、従前の転位処理結果が施された道路の線幅も考慮して、重複判定領域を設定するのである。そして、この重複判定領域に重なる道路が重複道路として検出される。重複道路がない場合には（ステップＳ２１０）、転位処理を施す必要がないことを意味するから、ＣＰＵは、処理を終了する。
【００６５】
重複道路がある場合には（ステップＳ２１０）、図２５で示す転位処理を行うことになる。
ＣＰＵは、まず処理対象道路を選択する（ステップＳ２１２）。処理対象道路とは、重複道路のうち、基準道路に最も近い（内側の）未処理の道路である。この道路に対する転位処理が、１回目の場合（ステップＳ２１４）、ＣＰＵは、転位モード３、４の転位処理（図２０参照）を施す（ステップＳ２１６）。転位モード３、４の処理内容は、実施例２と同様である。転位処理が終了すると、ＣＰＵは、重複判定区間ごとに、転位履歴を保持させる（ステップＳ２２８）。保持されるべき転位履歴としては、処理対象となった道路のＩＤ、重要度、線幅などが上げられる。転位量や占有領域幅などを含めても良い。
【００６６】
一方、２回目以降の処理の場合（ステップＳ２１４）、ＣＰＵは、同一履歴区間を設定する（ステップＳ２１８）。即ち、保持されている転位履歴を参照し、複数の重複区間のうち、同一の履歴を保持している区間を一つのまとまりとするのである。
そして、位置関係修復処理を行う（ステップＳ２２０）。処理内容は、実施例２で説明した通りである（図２１参照）。
その後、処理対象道路と、その内側の道路との重要度に応じて、転位モードを判定し（ステップＳ２２２）、判定結果に応じて転位モード１（ステップＳ２２４）または転位モード２（ステップＳ２２６）の転位処理を行う。それぞれの転位処理の内容は実施例２で説明した通りである（図１８、１９参照）。これらの転位処理を終えた後も、ＣＰＵは、重複判定区間ごとに転位履歴を保持させる（ステップＳ２２８）。
以上の処理を繰り返し実行することによって、実施例２で説明したのと同様の転位処理を実現することができる。
変形例：  
【００６７】
Ｈ．効果および変形例：
以上で説明した実施例２の転位処理によれば、３本以上の道路の間で、転位処理を実現することができる。この際、基準道路に近い内側の道路から転位処理を施すことによって、外側の道路の転位処理の結果が内側の道路に影響を与えることを回避することができる。また、内側、外側の道路の重要度に応じて転位処理の方法を切り替えることにより、それぞれの道路について適切な見せ幅を確保することができる。
【００６８】
本発明は、必ずしも上述した実施例の全ての処理を施す必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の処理を設けてもよい。
実施例では、３段階の占有領域としたが、占有領域を、２つの道路の重なり状態に応じて算出するようにしてもよい。
実施例では、道路同士の転位処理を説明したが、鉄道と道路との転位も同様に処理可能である。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
【産業上の利用可能性】
【００６９】
本発明は、地図を描画する際に、路線同士が重なり合う部分の視認性を向上させるために利用可能である。
【符号の説明】
【００７０】
１００…地図描画データ生成部
１０２…リサンプリング処理部
１０４…転位処理部
１０６…後処理部
１１０…コマンド入力部
１２０…地図データベース
１３０…地図描画データベース
１４０…地図描画部
【図１】
2012215869.tif 000003
【図２】
2012215869.tif 000004
【図３】
2012215869.tif 000005
【図４】
2012215869.tif 000006
【図５】
2012215869.tif 000007
【図６】
2012215869.tif 000008
【図７】
2012215869.tif 000009
【図８】
2012215869.tif 000010
【図９】
2012215869.tif 000011
【図１０】
2012215869.tif 000012
【図１１】
2012215869.tif 000013
【図１２】
2012215869.tif 000014
【図１３】
2012215869.tif 000015
【図１４】
2012215869.tif 000016
【図１５】
2012215869.tif 000017
【図１６】
2012215869.tif 000018
【図１７】
2012215869.tif 000019
【図１８】
2012215869.tif 000020
【図１９】
2012215869.tif 000021
【図２０】
2012215869.tif 000022
【図２１】
2012215869.tif 000023
【図２２】
2012215869.tif 000024
【図２３】
2012215869.tif 000025
【図２４】
2012215869.tif 000026
【図２５】
2012215869.tif 000027