JP2012215869A - 地図描画データ生成方法 - Google Patents
地図描画データ生成方法 Download PDFInfo
- Publication number
- JP2012215869A JP2012215869A JP2012072130A JP2012072130A JP2012215869A JP 2012215869 A JP2012215869 A JP 2012215869A JP 2012072130 A JP2012072130 A JP 2012072130A JP 2012072130 A JP2012072130 A JP 2012072130A JP 2012215869 A JP2012215869 A JP 2012215869A
- Authority
- JP
- Japan
- Prior art keywords
- road
- dislocation
- route
- width
- map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
【解決手段】 地図を描画する際に、道路同士、道路と線路など、重なり合う路線を抽出し、重要な側を基準路線とする。他方の路線には、その中心線が基準路線の中心線に近い区間から順に、多段階の転位を実施し、描画する。ただし、転位は、一定長さ以上、連続して転位条件を満たす部分について制限して行う。
このように一定長さ以上連続した部分に制限し、かつ多段階で転位させることにより、現実の状態からの乖離を抑制しつつ、基準路線に隠れた部分が視認できる地図を描画することができる。
【選択図】 図4
Description
特許文献1は、デフォルメ地図の描画において、高架道路の下に道路が重なっている場合には、上側の道路をずらして描く技術を開示する。
特許文献2は、デフォルメ地図の描画において、路線同士の間隔が狭く両者の識別が困難となるときには、重要度の低い側をずらして描き、路線間に所定の最小間隔を確保する技術を開示する。
特許文献3は、重なり合って描画される道路について、両者をそれぞれ道路の半幅ずつ横にずらすことによって、両者を識別して描画する技術を開示する。
しかし、道路をずらして描くことは、本来とは異なる位置に道路を描くことになり、現実の状態からの乖離が生じる。従来は、この乖離について何ら検討されておらず、例えば、道路の一部が重なっているに過ぎない場合であっても、道路全体がずらして描かれるため、現実の状態から大きな乖離が生じるおそれがあった。かかる課題は、道路同士が重なり合う場合だけでなく、道路と鉄道など、種々の路線同士が重なり合う場合に共通であった。また、重なり合いは、2本間だけでなく、3本以上の路線間についても生じることがあった。
本発明は、かかる課題に鑑み、地図を描画する際に、重なり合う路線について、現実の状態からの乖離を抑えつつ視認性を向上させることを目的とする。
(a) 少なくとも一部で重なり合う路線の位置および形状を表す路線データを読み込む工程と、
(b) 前記路線の一方を基準路線とした場合に、他方の路線が該基準路線からはみ出して描かれるべき見せ幅を前記路線同士の重なり量に応じて変化させて設定する工程と、
(c) 前記設定された見せ幅を実現するように前記他方の路線の位置を前記基準路線に対して幅方向にずらす転位処理を施して、該路線を描画するための地図描画データを生成する工程と、
を備える地図描画データ生成方法として構成することができる。
本発明によれば、重なり量に応じて見せ幅を変化させることができる。転位とは、一例をあげると、地図上で路線が本来存在する位置から路線を幅方向にずらすことを言い、転位をした結果、転位した路線が基準路線からはみ出して描かれる幅を見せ幅と言う。この見せ幅を画一的な値とするのではなく、重なり量に応じて変化させることによって、無用に大きい転位がなされることを回避でき、現実の状態からの乖離を抑えて地図を描画するための地図描画データを生成することができる。そして、この地図描画データを用いれば、現実の状態からの乖離を抑え、路線の視認性を向上した地図を描画することができる。
路線とは、道路および鉄道などの総称である。路線同士の重なり合いとしては、道路同士、鉄道同士、道路と鉄道の重なりなどが挙げられる。
基準路線は、オペレータが指示してもよいし、予め設定された路線の重要度に基づき、重要度の高い側を選択するものとしてもよい。例えば、重要度が高い順に鉄道、高速道路、国道、県道、一般道などとすることができる。
見せ幅は、予め設定された段階的な値を用いても良いし、路線同士の位置関係に応じて算出される値としてもよい。
見せ幅と路線同士の間隔との関係としては、例えば、見せ幅は、基準となる路線の中心線と、転位させる側の路線の中心線の間隔に応じて設定することができ、間隔が小さい場合には見せ幅を小さく、間隔が大きい場合には見せ幅を大きく設定することができる。間隔とは、路線の中心線間の距離を言う。つまり、これは、路線同士の間隔が小さい場合(換言すれば重なりが多い場合)には見せ幅を小さく、間隔が大きい場合(つまり重なりが小さい場合)には見せ幅を大きくする設定である。視認性だけを考慮するのであれば、重なりが大きい場合も画一的な見せ幅を用いればよいが、上述の態様をとることによって、重なりが大きい場合には、現実の状態、つまり重なり合っている状態を表現しつつ、隠れる側の路線の視認性を向上することができる。
地図描画データは、コンピュータなどのディスプレイへの表示用のデータ、媒体への印刷用のデータなど種々の態様のデータが含まれる。
前記工程(c)は前記路線の区間ごとに前記路線の位置を決定し、該区間ごとに前記転位を行うものとしてもよい。
こうすることによって、路線の一部が重なっている場合はその区間だけを転位させることができる。また、区間ごとに重なり合いが異なる場合は、区間ごとに見せ幅を異ならせることができる。この結果、無用な転位を回避でき、現実の状態からの乖離を抑制できる。
上述の態様において、転位させた区間とその他の区間、および見せ幅が異なる区間同士は、適宜、スプラインなど滑らかな曲線で結合することが好ましい。
上記区間は、予め設定された所定長の区間に限るものではなく、区間は、重なり状態に応じて任意に設定可能である。例えば、路線を構成する点列を求め、点ごとに見せ幅を決定する方法をとることができる。この場合において、点列の密度が偏っている場合には、路線に沿ってほぼ均一な密度で点列を設定するリサンプリング処理を前処理として施しても良い。
前記工程(c)は、
前記基準路線の中心線から前記見せ幅に応じた幅を有した占有領域と、前記他方の路線との重なりに応じて前記路線を転位させるか否かを該占有領域の幅が小さいものから順に判定する工程であり、
該転位は、前記他方の路線のうち転位がなされていない区間のうち、前記占有領域内にあるという第1条件と、該区間の中心線が第1の所定長以上にわたって前記基準路線の中心線の両側の内いずれか一方に位置するという第2条件とを満たす部分について行うようにしてもよい。
この態様では、占有領域を予め決めておき、それに応じて転位させる区間を決めることによって、区間ごとに異なる見せ幅での転位を実現することができる。占有領域とは、上述のように路線を転位させるか否かを判定するために用いられる処理上の仮想的な領域である。占有領域と他方の路線との重なりは、例えば、他方の路線の中心線が占有領域内にあるか否かで判定する方法を採ることができる。
この処理において、上記態様では、転位する側の路線が、基準路線の中心線の両側の内一方に第1の所定長以上にわたって存在することを条件とする。こうすることにより、例えば、転位する路線が、基準路線の中心線を頻繁に交差するように蛇行している場合を転位対象から外すことができ、転位による路線形状への影響を抑制することができる。
第1の所定長は、このように蛇行している箇所が安易に転位対象となることを避けるため、任意の値を設定可能であるが、例えば、転位する側の路線の線幅を基準として定めることができ、その2〜3倍程度とすることができる。
なお、前記条件の代替条件として、該転位は、前記他方の路線のうち転位がなされていない区間のうち、前記占有領域内で第1の所定長以上にわたって連続しているという条件を用いても良い。また、上記態様における条件と、代替条件とを、路線の線幅に応じて使い分けても良い。
前記工程(c)は、さらに、前記第1条件を満たす部分のうち、第2の所定長以上にわたって前記第2条件を満たさないという第3条件に該当する部分について、前記転位を行うようにしてもよい。
この態様によれば、転位対象とならない部分が第2の所定長以上になると、転位対象とすることができる。従って、長い区間、転位されず隠れたままの状態になる部分が生じることを回避できる。
転位させるか否かの基準となる第2の所定長は、例えば、地図中に描画される路線の線幅の最大値よりも十分に大きい値、例えば、5倍程度とすることができる。こうすることによって、他の路線が直交しているだけに過ぎない部分が無用に転位されることを回避できる。
(d) 前記他方の路線のうち、前記地図を描画する描画範囲の端部において前記基準路線に隠れている路線、および該他方の路線の全長の所定割合以上において前記基準路線に隠れている路線の一方または双方に対し、無条件に転位を行う工程を備えてもよい。
他方の路線が、描画範囲の端部において基準路線に隠れている場合、その地点で隠れた路線が存在するのか否かを判断できなくなってしまうが、かかる路線を転位させることにより、容易に認識することができるようになる。描画範囲の端部とは、例えば、地図を印刷したり、ディスプレイ等に表示したりして描画する場合には、実際に、印刷または表示される範囲の端部とすることができる。
他方の路線が、全長の所定割合以上において基準路線に隠れている場合も同様に、大部分が隠れてしまうと、形状やつながり具合はおろか、その存在すら把握できなくなってしまうが、かかる路線を転位させることにより、こうした課題を回避できる。この処理は、他方の路線の全長が任意に設定可能な第3の所定値以下となる路線にのみ適用するようにしてもよい。
上述した工程(d)における転位は、種々の態様で行うことができ、例えば、現実からの乖離を抑えるという意味で、他の処理における最小の見せ幅に相当する転位を行うものとしてもよい。また、工程(d)の転位は、他の転位処理を行った後に後処理として施すものとしてもよいし、前処理または他の処理と並行する処理として行ってもよい。
例えば、前記路線には、前記基準路線の中心線の両側のうち少なくとも一方側に該基準路線以外の2以上の路線が存在する状態にある場合には、
前記工程(b)および工程(c)は、前記基準路線に近接する路線から順に処理を施すものとしてもよい。
このように基準路線以外に2本以上の路線が存在する場合、転位処理を施す順序としては、路線の重要度の順に施す方法や、全くランダムに施す方法など、種々の方法が考えられる。ただし、方法によっては、路線に転位処理を施す際に、路線間の位置関係が逆転したり、転位済みの路線を完全に隠してしまうなど、不適切な結果を生じる場合がある。上記態様によれば、基準路線に近い路線から順に転位処理を施すため、こうした不適切な結果を抑制することが可能となる。
(e) 前記路線に対して、前記基準路線に対して該路線よりも外側に位置する他の路線を越える転位処理が施された場合、該越えられた側の路線を前記転位処理が施された路線位置と一致またはそれよりも外側に転位させる工程を備えるものとしてもよい。
3本以上の路線が重なっている場合には、外側に他の路線が存在する状態で、転位処理が施されることがあり、その結果によっては、他の路線を越える形で転位処理がなされることがある。こうした転位が施された部分では、転位処理前後で、2本の路線の位置関係が逆転してしまうことになり、現実と乖離してしまう。上述の態様によれば、こうした転位が生じたときに、それを解消するための転位を施すことができるため、現実との乖離を回避することができる。
前記工程(b)における見せ幅、および工程(c)におけるずらし量の少なくとも一方は、処理済みの転位処理の結果に基づいて定まることが好ましい。
こうすることによって、処理済みの路線を完全に隠してしまう状態を回避することができる。例えば、次の処理対象路線の見せ幅、ずらし量を設定する際に、転位処理済みの路線の位置を考慮する方法、先の転位処理におけるずらし量を考慮する方法など種々の方法をとることができる。また、直前に施した転位処理のみを考慮してもよいし、従前の全ての転位処理を考慮してもよい。
前記工程(b)および工程(c)は、前記転位処理の対象となる路線と、該路線よりも前記基準路線に対して外側に隣接する路線との間で、所定の基準に基づく重要度を比較し、該重要度の関係に基づき、前記転位処理の方法を切り替えるようにしてもよい。
複数の路線が重なり合っている領域では、全路線を本来の線幅で描くことは困難であり、路線によって描画される線幅を変える必要が出てくる。例えば、地図の利便性を高めるためには、重要度の高い路線の線幅を太くした方が好ましく、路線が重なり合う領域で転位処理を施す場合には、重要度の高い路線の見せ幅が十分に確保される方法をとることが好ましい。このように地図は、路線の重要度を反映した描画態様とすることが好ましい。上記態様によれば、重要度の高い路線の外側に重要度が低い路線が存在する場合と、逆の場合とで転位処理の方法を切り替えることができる。従って、例えば、重要度の高い路線の線幅を十分に確保可能な転位処理を行うなど、路線の重要度を反映させた地図描画を実現することが可能となる。
ここで、路線の重要度は、種々の方法で設定可能である。例えば、オペレータが予め各路線の重要度を設定しておく方法、各路線について国道・県道などの道路種別に基づき重要度を決定する方法、各路線の車線数・幅員などによって重要度を決定する方法などが挙げられる。これらの方法を組み合わせて重要度を設定してもよい。
本発明は、上述の方法で生成された地図描画データを用いて地図を印刷する地図印刷方法、または地図印刷装置として構成してもよい。
本発明の地図描画データ生成方法は、コンピュータが自動的に実行する方法として構成してもよい。また、上述の方法で地図を描画するための地図描画データを生成する地図描画データ生成装置として構成してもよい。
上述の地図描画または地図データの生成をコンピュータに実行させるためのコンピュータプログラムや、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。記録媒体としては、フレキシブルディスクやCD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
図1は、地図描画装置の構成を示す説明図である。本実施例の装置は、CPU,メモリとしてのRAM,ROMを備えたパーソナルコンピュータおよびその他のコンピュータに、図示する各機能を実現するためのコンピュータプログラムをインストールすることによって構成されている。地図の描画は、コンピュータのディスプレイへの表示、プリンタでの印刷などの方法を採ることができる。
地図描画装置には、地図データベース120、地図描画データベース130が備えられている。地図データベース120は、地物の形状等を表すポリラインデータやポリゴンデータ、地物の属性などを地図データとして格納しており、路線の位置及び形状を表す路線データを保存している。地図データベース120に格納されているデータは、描画時に地物同士が重なり合って隠れてしまうことを考慮せず、各地物の位置、形状を正確に記録したものである。これに対し、地図描画データベース130は、表示に用いるために地図データベース120の一部のデータを修正したポリラインデータやポリゴンデータを格納している。本実施例では、道路、鉄道などの路線同士が重なっている場合に、一方の路線を他方の路線に対して路線の幅方向にずらす転位処理を施して、路線が隠れてしまう状態を抑制している。このように修正されたデータが地図描画データとして地図描画データベース130には格納されている。本実施例では、地図描画データベース130には、転位処理が施された路線部分だけを格納するものとしたが、転位処理を施さない地物のデータ全般を格納してもよい。
地図描画データ生成部100には、路線の転位処理を施すため、リサンプリング処理部102、転位処理部104、後処理部106が備えられている。
リサンプリング処理部102は、地図データベース120に格納されている路線を構成する点列の密度が所定値以上となるよう、その間隔を整える。転位処理部104は、路線を表す地図データを、幅方向にずらす転位処理を実行する。後処理部106は、転位処理部104によって転位されなかった部分について、所定の条件下で後処理としての転位処理を施す。これらの各処理の処理内容は、後述する。
本実施例では、地図描画データ生成部100が実行する地図描画データ生成のための処理は、コンピュータが自動的に実行するものとして説明するが、この処理をオペレータの指示に応じて手動で実行するものとしてもよい。かかる場合には、コマンド入力部110は、地図描画データ生成のための処理に必要な指示も入力することになる。
次に2本の道路同士が重なっている場合の地図描画データ生成処理の内容を示す。まず、全体の処理の流れを説明した後、個別の処理について具体例に基づいて説明する。
図2は、地図描画データ生成処理のフローチャートである。地図描画データ生成部100の機能に相当する処理である。
CPUは、処理対象道路を選択する(ステップS10)。処理対象道路とは、高架道路や並走する道路のように、地図上で重なって描画される道路である。本実施例では、更に、図3に示す処理対象道路選択条件を満たすものを選択するようにした。
条件aは、「重要度の低い道路」という条件である。重要度は、任意に設定可能である。例えば、重要度が高い順に高速道路、国道、県道、一般道などとすることができる。鉄道を対象に加える場合には、これらより更に重要度が高いものとして位置づけても良い。
条件bは、「重要度の高い道路全体が描かれている区間」という条件である。重要度が高い道路が描画順として上位にあるとともに、重要度が高い側が他の地物で隠されていたりせず、全体が描かれているという意味である。重要度が高い道路を、以下、「基準道路」ということもある。
条件cは、「WL−WH<WV1」である。WLは重要度が低い道路の線幅、WHは重要度が高い道路の線幅である。WV1は最小見せ幅を意味する。見せ幅とは、隠れる側の道路について、描画時に視認できるように確保すべき線幅であり、転位の段階に応じてその量を変化させるものである。線幅とは、当該道路の描画時の幅であり、実際の道路の幅員や車線数とは必ずしも一致しない。最小見せ幅とは、隠れる側の道路について、描画時に視認できるように最小限確保すべき線幅である。最小見せ幅は、任意に設定可能である。
右上側に条件cの判断例を示した。ハッチングを付した側が優先度の低い道路であり、線幅は20ポイントである。白抜きで示した側が優先度の高い道路であり、線幅は15ポイントである。従って、WL−WH=5となる。仮に、「最小見せ幅WV1=5」と設定していれば条件cは不成立となるし、「WV1=6」と設定していれば条件cは成立となる。このように、条件cは、重要度の低い道路の線幅(WL)の方が、重要度が高い道路の線幅(WH)よりも、最小見せ幅WV1以上、太い場合には処理対象からはずすことを意味している。かかる場合には、重要度の低い道路が十分に視認可能であり、転位処理を施すまでないからである。
条件dは、「WL>WV1」である。つまり、優先度の低い道路の線幅(WL)が最小見せ幅(WV1)よりも大きいことである。右下側に判断例を示した。最小見せ幅WV1=5ポイントとすると、優先度の低い道路(ハッチングを付した側)の線幅が3ポイントであれば条件dは不成立となり、線幅が6ポイントであれば条件dは成立となる。重要度の高い道路(白抜き)の線幅は条件dには無関係である。優先度の低い道路の線幅が最小見せ幅よりも小さい場合には、その道路全体を描いたとしても最小見せ幅を確保できないからである。
実施例では、条件a〜dの全てを満たすものを選択するようにしたが、一部を満たすものを選択するようにしてもよい。また、処理対象道路選択条件は、上述の一部の条件を省略してもよいし、他の条件を追加してもよい。
図中に処理例を示した。路線は、黒丸で示す複数の構成点からなる点列で表されているとする。構成点P1、P2の区間D1、および構成点P3、P4の区間D2は、構成点の密度が低い。リサンプリング処理では、かかる箇所に、新たに構成点PA1〜PA3を追加し、構成点の密度を所定値以上とする。
ここで、構成点の密度は、例えば、「構成点間の距離が所定値以下となる」という条件で設定することができる。リサンプリング処理は、上述の密度に関する要件を満たさない部分を特定し、その区間を、要件を満たすまで2等分、3等分…と分割することによって新たな構成点の位置を決定する方法をとることができる。図中の区間D2は2等分によって構成点PA3が設定され、区間D1は3等分することで構成点PA1、PA2が設定された例である。
本実施例では、リサンプリング処理を施した後の構成点単位で、占有領域を3段階に変更して転位処理を施す。
・微転位について
図4(a)は微転位における占有領域幅を示している。占有領域の半幅WC1は、次式で定まる。
WC1=(WH−WL)/2+WV1;
WH:重要度の高い道路(基準道路)の線幅;
WL:重要度の低い道路の線幅;
WV1:最小見せ幅(本実施例では3ポイントとした);
図中に破線で示した幅WC1が占有領域の半幅となる。重要度の低い道路R1の中心線を矢印Aに示すように、占有領域の境界まで転位させると、基準道路よりもWV1の幅だけ道路R1aがはみ出すことになる。なお、図中では図の煩雑化を回避するため、道路の幅方向に対して斜めに転位させた状態を示したが(矢印A)、実際の転位処理では、道路R1を、その幅方向に平行移動させている。
・半転位について
図4(b)は半転位における占有領域幅を示している。占有領域の半幅WC2は、次式で定まる。
WC2=(WH−WL)/2+WV2;
WV2:半転位での見せ幅(本実施例では、WL/2とした);
図中に破線で示した幅WC2が占有領域の半幅となる。重要度の低い道路R1の中心線を矢印Bに示すように、占有領域の境界まで転位させると、基準道路よりもWV2の幅だけ道路R1bがはみ出すことになる。
・全転位について
図4(c)は全転位における占有領域幅を示している。占有領域の半幅WC3は、次式で定まる。
WC3=(WH+WL)/2;
図中に破線で示した幅WC3が占有領域の半幅となる。重要度の低い道路R1の中心線を矢印Cに示すように、占有領域の境界まで転位させると、道路R1cに示すように、重要度の低い道路全体がはみ出すことになる。
CPUは、こうして付された点数を用いて、転位対象構成点を決定する(ステップS14)。転位対象構成点とするためには、以下の条件C1または条件C2を満たすことを要する。
(条件C1) |前後3点の点数の合計値|>3 かつ 占有領域内にあること かつ 基準路線の中心線で分割された占有領域の2つの領域の内いずれか一方の領域の中で所定距離L1以上連続していること;
(条件C2) 条件C1を満たさない構成点である非転位対象構成点が占有領域内で所定距離L2以上連続していること;
なお、条件C1は例えば、構成点が|前後3点の点数の合計値|>3 かつ 占有領域内で所定距離L1以上連続するという条件でも良い。
以下、具体例に基づき、転位対象構成点の決定処理の内容を示す。
図中の黒丸P[1]〜P[13]は、重要度の低い側の道路の構成点である。各構成点が属する領域AR1〜AR4に応じて、図中の点数欄に示すように点数が定まる。条件C1では、前後3点の点数の合計値を評価点数として求める。構成点P[1]については、前の構成点が存在しないため、構成点P[1]、P[1]、P[2]の合計点である−4点が評価点数となる。構成点P[2]については、構成点P[1]〜P[3]の合計点である−1点が評価点数となる。他の構成点も同様にして、図中に示す評価点数が求められる。
そして、評価点数の絶対値が3より大きくなる構成点を選択する。図中の例では、構成点P[1]、P[4]、P[5]、P[8]、P[9]、P[10]、P[11]が選択される。
条件C1は、前後3個の構成点を結ぶ線が、基準道路の中心線と交差しないという条件である。上述のように点数で評価する方法に代えて、中心線と交差するか否かを直接、解析するようにしてもよい。このように、前後3個の構成点を結ぶ線が基準道路の中心線と交差する箇所を特定し、転位対象から外すことによって、転位結果がなだらかになり、見栄えが向上するという効果がある。
所定距離L1は、蛇行している箇所が安易に転位対象となることを避けるために設定されるものであり、任意の値を設定可能である。例えば、転位する側の道路の線幅を基準の2〜3倍程度とすることができる。
従って、所定距離L2(第2の所定長に相当)は、例えば、道路の線幅の最大値よりも十分に大きい値、例えば、5倍程度とすることができる。こうすることによって、例えば、他の道路RDAが基準道路RDCにほぼ直交しているだけに過ぎない部分AAが無用に転位されることを回避できる。
CPUは、以上の処理を、微転位、半転位、全転位の3回繰り返し(ステップS16)、転位処理を終了する。
図7(b)は、半転位の処理例である。この時点では、微転位の処理によって一部の構成点は転位済みである。半転位の場合も図5、6に示したのと同様の手順で処理が行われる。まずCPUは、道路中心線CL1に対して、半転位用の占有領域を設定する。そして、重要度の低い道路の中心線CL2を規定する各構成点に点数を付ける。図7(b)は、占有領域内の点を黒丸、領域外の点を×で示した。
CPUは、これらの各構成点について評価点数(図5参照)を求め、占有領域内で所定距離L1以上連続している構成点を求めると、転位対象構成点(図中で白丸を付した構成点、図中絵領域PP1に対応)を定めることができる。所定距離L1は、微転位の処理時とは異なる値としてもよい。こうして設定された各転位対象構成点は、半転位の占有領域の境界線まで転位される。
図7(c)は、全転位の処理例である。半転位までの処理によって転位済みの構成点(図7(b)の領域PP1に対応)は大きい黒丸で示した。この処理では、他の構成点が処理対象となる。CPUは、道路中心線CL1に対して、全転位用の占有領域を設定する。そして、重要度の低い道路の中心線CL3を規定する各構成点に点数を付ける。図7(c)は、占有領域内の点を黒丸、領域外の点を×で示した。
CPUは、これらの各構成点について評価点数(図5参照)を求め、所定距離L1以上連続している構成点を求めると、転位対象構成点(図中で白丸を付した構成点、図中PP2に対応)を定めることができる。所定距離L1は、微転位の処理時とは異なる値としてもよい。こうして設定された各転位対象構成点は、全転位の占有領域の境界線まで転位される。
図7(d)は、転位処理の具体例を示している。図示する構成点PB[1]〜PB[3]が転位対象となる構成点であるとする。転位時には、CPUは、基準道路の中心線CL1に対し、各構成点を通過する垂線M[1]〜M[3]を求める。そして、それぞれの垂線と占有領域の境界線との交点に、転位後の構成点PA[1]〜PA[3]を設定する。転位は、基準道路の中心線に対し、構成点と同じ側に位置する境界側に行う。図の例では、いずれの構成点も、中心線CL1よりも下側に位置するため、下側の境界に転位している。中心線CL1よりも上側に位置する構成点があれば、上側の境界に転位される。
以上の処理手順による具体的処理例を図8〜図11で示す。
図8(a)は、処理前の道路の状態を示している。図示するように、重要度の低い道路は、基準道路に隠れて描画され、形状やつながり具合が把握できなくなっている部分がある。
図8(b)は、微転位の転位処理経過を示している。図の煩雑化を回避するため、それぞれの道路の外形は省略した。CPUは、基準道路の中心線CL1に、微転位の占有領域が設定する。(図4(a)参照)。CPUは、この占有領域に基づき、重要度の低い道路の中心線CL2の各構成点について、点数を評価する。占有領域内の点を黒丸で示し、領域外の点を×で示した。また、この中で転位対象となる点に、白丸を付して示した。
図8(c)は、これらの点に対して、CPUの指令により、転位処理を施した状態を示している。これによって、転位対象構成点は、それぞれ微転位の占有領域の境界に転位される。転位後の点は、大きい黒丸で示した。
図9(b)は、これらの点に対して、CPUの指令により、半転位処理を施した状態を示している。これによって、転位対象構成点は、それぞれ半転位の占有領域の境界に転位される。
図10(b)は、これらの点に対して、CPUの指令により、全転位処理を施した状態を示している。これによって、転位対象構成点は、それぞれ全転位の占有領域の境界に転位される。
このように本実施例の転位処理によれば、重要度の低い道路が表れるようになり、形状およびつながり具合が把握できるようになっている。また、微転位、半転位、全転位という3段階の占有領域を併用することにより、現実の状態からの乖離を抑制することができる。
図12は、後処理例を示す説明図である。図4〜11で説明した転位処理によって転位されなかった部分を対象とする処理である。
図12(a)は、地図の図枠での処理例である。左側に示すように、図枠に至る点で重要度の低い道路が基準道路に隠れている箇所がある場合には、右側に示すようにCPUは無条件で微転位の転位処理を施す。微転位としたのは、過度の転位によって現実の状態から乖離してしまうことを抑制するためである。このように図枠に至る点で転位させることにより、重要度の低い道路が存在することを容易に認識することができ、利用者が異なる図枠間で地図の照合しやすくなる。
図12(b)は、道路全長が短い場合の処理である。左側には処理前を示した。重要度が低い道路が基準道路に隠れているが、上述した転位処理では、所定長以上連続している場合にのみ転位対象とするため(図2のステップS14参照)、道路の全長が短い場合には転位処理が施されない。短い道路については、大部分が隠れてしまうと、形状やつながり具合はおろか、その存在すら把握できなくなり、図の例では、途中で行き止まりになっているのか、右側の道路までつながっているのか全く分からない。そこで、後処理では、道路の所定割合(本実施例では70%とした)以上が隠れている場合は、CPUは無条件で微転位を施す。右側は処理後の状態を示している。こうすることによって、短い道路も、存在が容易に把握できるようになり、形状、つながり具合を認識できるようになる。
以上で説明した転位処理によれば、基準道路に隠れている道路を、視認可能な状態に描画することができる。この際、微転位、半転位、全転位という占有領域を複数段階に変化させ、転位量を求めることによって、現実の状態からの乖離を抑制することができる。なお、転位量とは処理対象道路を転位処理によって基準道路の幅方向にずらした量を表す。
図13は、3本の道路間での転位処理方法を示す説明図である。転位処理は、実施例1と同様、基準道路に対して、他の道路を転位させる方法で行う。基準道路とは、重要度が最も高い道路である。基準道路以外の道路の配置は、図13(a)〜図13(c)に示すように3通りが考えられる。
図13(a)は、基準道路の両側に他の道路が存在する例である。図の例では、基準道路の上側の道路が、下側の道路よりも重要度が高い場合を例示したが、その逆であってもよい。図中における重要度高、重要度低という記載は、基準道路以外の2本の道路の重要度の高低を表している。かかる配置では、両側の道路を、矢印a1、a2に示すように、それぞれ外側に転位する。外側とは、基準道路から遠ざかる方向を意味する。この配置では、基準道路の中心線を境に上側、下側の領域に分けて考えれば、それぞれ2本(基準道路と他の一本の道路)との間の転位処理であるため、実施例1で説明した転位処理を適用すればよい。
図13(b)は、基準道路の一方側に、内側から重要度高、重要度低の順で2本の道路が存在する例である。かかる配置においては、内側にある重要度高の道路を矢印b1のように外側に転位した後、外側にある重要度低の道路を矢印b2のように外側に転位する。ただし、重要度高の道路については、重要度低の道路よりも広い見せ幅を確保するよう転位させる。一方、重要度低の道路については、重要度高の道路の内側に入らず、かつ重要度高の道路に隠れないように転位させる。「重要度高の道路の内側に入らず」とは、内側から重要度高、重要度低の位置関係が逆転することがないように、転位させるという意味である。それぞれの道路の転位量を求める詳細な転位処理については、後述する。
図13(c)は、基準道路の一方側に、内側から重要度低、重要度高の順で2本の道路が存在する例である。かかる配置においても、まず内側にある重要度低の道路を矢印c1のように外側に転位した後、外側にある重要度高の道路を矢印c2のように外側に転位する。ただし、重要度低の道路については、最小限の見せ幅を確保するように転位させる。重要度高の道路については、重要度低の道路の内側に入らず、重要度低の道路を隠さず、また十分な見せ幅を確保するよう転位させる。
図13(a)〜図13(c)の処理は、各道路をこれらの配置に従って処理領域に区分し、各処理領域ごとに施される。
領域Aは、高速道路と国道とが近接しているため、2本間での転位処理が行われる。一般道は、国道と十分間隔が開いているため、転位処理の必要はない。転位処理の要否は、各道路間の間隔が所定値以下となっているか否かで判断することができる。転位処理を施す道路の本数が多い場合、転位処理を施した結果、転位前は十分に間隔が開いている他の道路に近接することも生じるため、かかる事態を考慮して、転位処理の要否の判断基準は、十分に余裕を持った値に設定しておくことが好ましい。
領域Aは、重要度が高い高速道路が基準道路となり、これを基準として国道に転位処理が施される。本実施例では、図中に示すように、基準道路をその進行方向aに対して右側領域、左側領域に分け、それぞれの領域ごとに転位処理を行う。右側領域および左側領域のそれぞれでは、それぞれ白抜きの矢印で示すように、基準道路である高速道路から遠ざかる方向(外側方向ともいう)に国道が転位される。
領域Bは、国道と一般道が比較的近接している領域である。従って、この領域では、高速道路、国道、一般道の3本間で転位処理が施される。この領域では、重要度の高い高速道路が基準道路となり、その進行方向bの左側領域に、国道、一般道の順に配置している。かかる配置は、図13(b)に示した状態、即ち、基準道路に近い道路(内側の道路ともいう)である国道が、遠い道路(外側の道路ともいう)である一般道よりも重要度が高い配置であるから、図13(b)で説明した方法で転位が行われる。
領域Cは、高速道路と国道の間隔があいているため、高速道路は転位処理の対象とはならない。従って、この領域では、国道と一般道との間で2本間の転位処理が施される。重要度が高い国道が基準道路となる。一般道は、国道の進行方向cの左側領域に位置するため、左側領域で転位処理が行われ、右側領域では転位処理は行われない。
領域Dは、国道、一般道、県道の3本間で転位処理が施される。これらの3本の中では、最も重要度が高い国道が基準道路となり、その進行方向dの左側領域に、一般道、県道の順に配置している。かかる配置は、図13(c)に示した状態、即ち、内側の道路である一般道が、外側の道路である県道よりも重要度が低い配置であるから、図13(c)で説明した方法で転位が行われる。右側領域では、転位処理は行われない。
図13、14で説明した3本以上の道路間での転位を実現するための処理内容を説明する。
図15は、実施例2における地図描画データ生成処理のフローチャートである。処理を開始すると、CPUは、道路間の間隔に基づき、処理領域を設定する(ステップS100)。これは、図14で説明した処理に相当する。道路間の間隔が所定値以下となる道路同士が同一の処理領域に含まれることとなり、設定された一つの処理領域内に含まれる道路の本数および名称は処理中を通じて変化しない。図14で示したように、国道という一本の道路上であっても、転位処理の対象となる道路が異なる区間ごとに分けて処理領域は設定される。
転位処理は、基準道路の右側領域、左側領域に分けて行うため、まず右側領域を対象として、CPUは、転位処理モードを決定する(ステップS106)。図13(a)に示したように、2本の道路間での転位を行う場合には、転位処理(2本)を実行する(ステップS106、S9)。転位処理(2本)としては、実施例1で説明した地図描画データ生成処理(図2)を適用する。図13(b)、図13(c)に示したように、3本の道路間で転位を行う場合には、転位処理(マルチ)を行う(ステップS106、S20)。転位処理(マルチ)の内容は、後述する。いずれの道路との重複もない場合には、これらの転位処理はスキップされる。
CPUは、以上の転位処理(ステップS106、S9、S20)を、左側領域についても同様に行い(S110)、一つの処理領域に対する転位処理を完了する。
また、この処理を、全ての処理領域について終了するまで繰り返し(ステップS112)、地図描画データ生成処理を完了する。
図16は、転位処理(マルチ)のフローチャートである。3本以上の道路間での転位処理であり、図15のステップS20に相当する処理である。この処理は、各処理領域ごとに行われるものである。
処理を開始すると、CPUは、基準道路、転位処理が施された処理済道路に基づいて重複判定領域を設定する(ステップS21)。重複判定領域とは、他の道路について転位処理を行うか否か、即ち他の道路が基準道路および処理済道路に重なっているかどうかを判定するための領域である。
図中に重複判定領域の設定例を示した。処理済道路がない場合には、重複判定領域1は、基準道路の線幅に基づいて定められる。処理済道路がある場合、重複判定領域2は、基準道路および処理済道路の双方を覆う最大の線幅に基づいて設定される。
このように処理済道路も考慮する目的は、次の通りである。実施例2のように、3本以上の道路を対象として順次、転位処理を施すと、転位前の状態では、基準道路から十分離れた位置にある道路が、他の道路に転位処理を施した結果、処理済道路と重複を生じる場合がある。そこで、実施例2では、上述のように、処理済道路の位置も考慮して、重複判定領域を設定するのである。こうすることによって、処理済道路によって他の道路が隠れてしまうことを回避できる。
条件1は、未処理の道路という条件である。転位処理済みの道路に更に転位処理を施す必要はないからである。
条件2は、上述の条件1を満たすもののうち、基準道路に最も近いもの、即ち内側にあることである。このように基準道路に近い道路から順に転位処理を施すことにより、後に行われた転位処理によって、処理道路が隠れてしまうという事態や転位処理によって位置関係が逆転してしまうといった事態を回避することができる。
処理対象道路がある場合には(ステップS23)、転位モードを決定し(ステップS24)、実施例1で示したのと同様のリサンプリング処理を施す(図2のステップS11参照)。転位モードとは、図13(b)、図13(c)で説明したように、道路の重要度に応じた配置状態に基づいて定まる転位処理の方法を意味する。具体的な転位モードの内容については後述する。
CPUは、こうして設定された各転位モードで転位を行い(ステップS26)、位置関係修復処理を行う(ステップS27)。位置関係修復処理とは、処理対象道路について、他の道路を乗り越える転位が行われた場合に、乗り越えられた側の道路を転位させることによって、現実の状態から乖離してしまった位置関係を元に戻すための処理である。具体的な処理内容については後述する。
CPUは、以上の処理を処理領域内の全道路について繰り返し(ステップS28)、転位処理(マルチ)を終了する。
以下、転位モードの設定および各転位モードにおける処理内容、位置関係修復処理について順に説明する。
図17は、転位モードの設定方法を示す説明図である。転位処理(マルチ)(図16)のステップS24で設定されるモードである。本実施例では、転位モード1〜4の4通りを設定した。
転位モード1、2は外側の未処理道路が存在しない場合のモードである。つまり、基準道路に近い内側の道路から順に転位処理が施された後、最後に転位処理が施されるべき場合のモードに相当する。外側に他の道路が存在しない状態での転位処理であるから、他の道路との関係は重視する必要がないことになる。転位モード1、2では、処理対象道路と内側に存在する道路との重要度の関係によって転位処理を切り替える。
転位モード1は、処理対象道路の重要度が、内側の道路よりも高い場合である。図13(c)に示した重要度高の外側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、十分な見せ幅を確保するよう転位処理することになる。なお、各道路の最小見せ幅は、任意に設定可能であるが、次の条件をみたしているものとする。
重要度 内側の道路<処理対象道路のとき:
0 < WV1 < WO かつ(WI−WO)/2 ≦ WV1;
WV1:処理対象道路の最小見せ幅;
WO:処理対象道路の線幅;
WI:内側の道路の線幅;
転位モード2は、処理対象道路の重要度が、内側の道路よりも低い場合である。図13(b)に示した重要度低の外側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、必要な見せ幅を確保するよう転位処理することになる。なお、各道路の最小見せ幅は、任意に設定可能であるが、次の条件をみたしているものとする。
重要度 内側の道路>処理対象道路のとき:
0 < WV1 < WO かつ(WO−WI)/2 ≦ WV1;
転位モード3、4は外側の未処理道路が存在する場合のモードである。処理対象道路の内側に処理済道路が存在するか否かは問わない。このモードでは、外側に他の道路が存在する状態での転位処理であるから、処理対象道路と外側の道路との重要度の関係を考慮して転位処理を切り替える。なお、各道路の最小見せ幅は、任意に設定可能であるが、次の条件をみたしているものとする。
重要度 内側の道路<処理対象道路のとき:
0 < WV1 < WO かつ(WI−WO)/2 ≦ WV1;
重要度 内側の道路>処理対象道路のとき:
0 < WV1 < WO かつ(WO−WI)/2 ≦ WV1;
転位モード3は、処理対象道路の重要度が、外側の道路よりも高い場合である。図13(b)に示した重要度高の内側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、十分な見せ幅、つまり外側の道路よりも広い見せ幅を確保するよう転位処理することになる。
転位モード4は、処理対象道路の重要度が、外側の道路よりも低い場合である。図13(c)に示した重要度低の内側の道路を処理する場合に対応する。この転位モードでは、処理対象道路は、必要な見せ幅を確保するよう転位処理することになる。
以下、各転位モードにおける転位処理の内容を説明する。
図18は、転位モード1のフローチャートである。転位処理(マルチ)(図16)のステップS26で転位モードに応じて行われる処理の一つである。
CPUは、まず転位処理が必要か否かを判定する(ステップS30)。ここでは、次の2つの条件のいずれかを満たす場合に転位処理が必要であるとする。
第1の条件は、内側の道路の最小見せ幅WV1が確保されないことである。この条件は、次の条件式で表せる。
DIST−WO/2<WV1;
DIST:処理対象道路と内側の道路との間隔;
WO:処理対象道路の線幅;
WV1:内側の道路の最小見せ幅;
第1の条件を満たす場合には、内側の道路の最小見せ幅を確保するために転位処理が必要となる。
第2の条件は、内側の道路が処理対象道路の外側にはみ出すことである。この条件は、次の条件式で表せる。
DIST+WO/2<WI/2;
WI:内側の道路の線幅;
第2の条件を満たす場合には、内側の道路がはみ出さないようにするために転位処理が必要となる。
上述の条件に基づき、転位処理が不要と判断された場合には、CPUは、そのまま転位モード1の処理を終了する。
条件1を満たす場合の占有領域の半幅は、「(WI+WO)/2」となる。
これは、内側道路に隣接する位置まで処理対象道路を転位させるための占有領域に相当する(図4参照)。
条件2を満たす場合の占有領域の半幅は、「(WI−WO)/2」となる。
これは、内側の道路のはみ出しを解消するための占有領域幅に相当する。
また、転位処理の後、実施例1で示した後処理(例外的転位)(図12参照)も行う(ステップS34)。
図19は、転位モード2のフローチャートである。転位処理(マルチ)(図16)のステップS26で転位モードに応じて行われる処理の一つである。
CPUは、まず転位処理が必要か否かを判定する(ステップS40)。ここでは、次の2つの条件の双方を満たす場合に転位処理が必要であるとする。
第1の条件は、処理対象道路が最小見せ幅分だけ見えていないことである。この条件は、次の条件式で表せる。
DIST+WO/2−WI/2<WV1;
DIST:処理対象道路と内側の道路との間隔;
WO:処理対象道路の線幅;
WI:内側の道路の線幅;
WV1:処理対象道路の最小見せ幅;
第2の条件は、処理対象道路の線幅が最小見せ幅よりも太いことである。最小見せ幅よりも狭い場合には、転位処理を施しても、最小見せ幅を確保することができないからである。
上述の条件に基づき、転位処理が不要と判断された場合には、CPUは、そのまま転位モード2の処理を終了する。
そして、CPUは、拡張された占有領域を用いて、処理対象道路の構成点を転位することにより転位処理を行う(ステップS43)。この処理の具体的な方法は実施例1と同様である。以上の処理を3回繰り返した後(ステップS44)、CPUは、実施例1で示した後処理(例外的転位)(図12参照)も行う(ステップS45)。
図20は、転位モード3、4のフローチャートである。転位処理(マルチ)(図16)のステップS26で転位モードに応じて行われる処理の一つである。
CPUは、まず転位処理が必要か否かを判定する(ステップS50)。ここでは、転位モード2と同様、次の2つの条件の双方を満たす場合に転位処理が必要であるとする。
第1の条件は、処理対象道路が最小見せ幅分だけ見えていないことである。この条件は、次の条件式で表せる。
DIST+WO/2−WI/2<WV1;
DIST:処理対象道路と内側の道路との間隔;
WO:処理対象道路の線幅;
WV1:最小見せ幅;
第2の条件は、処理対象道路の線幅が最小見せ幅よりも太いことである。最小見せ幅よりも狭い場合には、転位処理を施しても、最小見せ幅を確保することができないからである。
上述の条件に基づき、転位処理が不要と判断された場合には、CPUは、そのまま転位モード3、4の処理を終了する。
転位モード3の場合には、処理対象道路について十分な見せ幅を確保するため、実施例1と同様、3回の処理によって転位幅を段階的に変化させて転位を行う。従って、1回目の処理では微転位、2回目の処理では半転位、3回目の処理では全転位の占有領域を設定する。それぞれの占有領域の設定方法は、実施例1(図4参照)で説明した通りである。
転位モード4の場合には、処理対象道路について最小限の見せ幅を確保するため、微転位の占有領域を設定する。
そして、CPUは、拡張された占有領域を用いて、処理対象道路の構成点を転位することにより転位処理を行う(ステップS53)。この処理の具体的な方法は実施例1と同様である。
転位モード3の場合には以上の処理を3回繰り返し(ステップS54、S55)、転位モード4の場合には1回で処理を終える(ステップS54)。これらの転位処理が終了すると、CPUは、実施例1で示した後処理(例外的転位)(図11、12参照)も行う(ステップS56)。
図21は、位置関係修復処理のフローチャートである。転位処理(マルチ)(図16)のステップS27に相当する処理である。位置関係修復処理は、外側に位置する道路を越える転位がなされたときに、越えられた側の道路を転位させることによって、位置関係を修復するための処理である。
CPUは、処理対象道路の構成点のうち、従前の処理において、外側の道路を越えて転位されたものを抽出する(ステップS60)。図中に処理の例を示した。図中に○で示した処理対象道路の各構成点について矢印で示すように転位処理が施された結果、●で示した点P1〜P3が外側の道路を越えて転位されたものとする。ステップS60では、この点P1〜P3が抽出されることになる。
上述の転位処理を施せば、このように内外の位置関係が逆転した道路について、外側の道路をさらに転位させることによって、位置関係を修復することができ、現実との乖離を解消することができる。
図22は、転位モード4の処理例を示す説明図である。ここでは、図の煩雑化を回避するため、それぞれの道路の中心線のみを描いた状態で転位処理の内容を例示し、最後に、転位結果を示す形をとった。道路の線の太さは、その道路の重要度を表している。
図22(a)は、転位前の状態を示している。この例では、基準道路に対し、内側から重要度の低い道路L1、重要度の高い道路L2が位置する例を示している。この状態で、まず内側にある道路L1が転位処理の対象となる。道路L1の外側には重要度の高い道路L2が存在するから、この転位は、転位モード4(図17)に相当する。従って、道路L1に対しては、微転位の転位処理が行われる。図中には、微転位、半転位、全転位の占有領域の境界線を破線で示した。道路L1のうち、微転位の占有領域内にある転位区間に相当する部分について転位が行われることになる。
図22(b)は、道路L1の転位の様子を示している。転位区間内の道路が、矢印で示すように、微転位の占有領域の境界まで転位される。
道路L1の転位が完了すると、次は、外側に位置する道路L2の転位処理である。
道路L2は、その外側に道路が存在せず、内側には重要度の低い道路L1が存在する状態であるから、この転位は、転位モード1(図17)に相当する。従って、道路L2に対しては、全転位の転位処理が行われる。図22(c)には、全転位の占有領域を破線で示した。矢印でシフトと示してあるのは、道路L1の転位処理における微転位幅分だけ全転位の占有領域を拡張したことを表している。
図22(d)は、道路L2の転位の様子を示している。道路L2全体について、全転位の占有領域の境界まで転位が行われる。
図22(e)は、上述の転位処理の結果を示している。基準道路、道路L1、L2の中心線は破線で示し、それぞれの道路の線幅分をハッチングで示した。図示する通り、転位処理の結果、道路L1については、最も狭い部分でも最小見せ幅が確保されており、道路L2については、十分な見せ幅が確保されて、描かれている。
図23(a)は、転位前の状態を示している。この例では、基準道路に対し、内側から重要度の高い道路L1、重要度の低い道路L2が位置する例を示している。この状態で、まず内側にある道路L1が転位処理の対象となる。道路L1の外側には重要度の低い道路L2が存在するから、この転位は、転位モード3(図17)に相当する。従って、道路L1に対しては、3段階の転位処理が行われる。図中には、微転位、半転位、全転位の占有領域の境界線を破線で示した。道路L1のうち、各占有領域内にある区間に応じて転位が行われる。つまり、図中の微転位区間では微転位が行われ、半転位区間では半転位、全転位区間では全転位が行われる。
図23(b)は、道路L1の転位の様子を示している。上述した区間ごとに、微転位、半転位、全転位の各占有領域の境界に道路L1が転位される。この処理では、道路L1が道路L2を越えて転位される区間がある。図中の反転区間1および反転区間2である。これらの区間については、道路L1、L2の内外の位置関係が反転しているため、位置関係修復処理が必要である。図23(c)中の矢印で示した修復1、修復2は、位置関係修復処理によって道路L2が転位された状態を示している。それぞれ、道路L2が道路L1の位置まで転位されることによって、内外の位置関係の反転が解消される。
道路L1の転位が完了すると、次は、外側に位置する道路L2の転位処理である。
道路L2は、その外側に道路が存在せず、内側には重要度の高い道路L1が存在する状態であるから、この転位は、転位モード2(図17)に相当する。従って、道路L2に対しては、段階的な転位処理が行われる。図23(c)には、各占有領域の境界線を破線で示した。矢印でシフトと示してあるのは、道路L1の転位処理における微転位幅分だけ各段階の占有領域を拡張したことを表している。
図23(d)は、道路L2の転位の様子を示している。道路L2について、微転位区間、半転位区間、全転位区間のそれぞれについて、各占有領域の境界まで転位が行われる。
図23(e)は、上述の転位処理の結果を示している。基準道路、道路L1、L2の中心線は破線で示し、それぞれの道路の線幅分をハッチングで示した。図示する通り、転位処理の結果、道路L1については、十分な見せ幅が確保されており、道路L2については、必要な見せ幅が確保されて、描かれている。
実施例2では、道路間の間隔によって予め処理領域に分け(図14参照)、処理領域ごとに転位処理を施す例を示した(図15参照)。3本以上の道路間の転位処理については、予め処理領域に分けるのではなく、転位処理の中で、随時、道路間の間隔によって処理対象を選択しながら進める方法をとることもできる。以下、かかる処理内容について変形例として示す。
ただし、このように処理をしていくと、必ずしも選択された道路が、全区間にわたって基準道路として適切ではない場合が生じ得る。例えば、図14の例で、国道を基準道路として選択した場合、領域A、領域Bでは、先に高速道路を基準道路として既に国道について転位処理が施されているはずである。このような状態で、国道を基準道路として再度、転位処理を施すと、無用かつ不適切な転位処理が施されるおそれがある。
そこで、ステップS202の基準点列の設定時には、基準道路の構成点のうち、転位処理が施されていないもののみを抽出して、基準点列とするのである。この処理は、図14における処理領域に区分するのと同様の作用を奏することになる。
CPUは、まず処理対象道路を選択する(ステップS212)。処理対象道路とは、重複道路のうち、基準道路に最も近い(内側の)未処理の道路である。この道路に対する転位処理が、1回目の場合(ステップS214)、CPUは、転位モード3、4の転位処理(図20参照)を施す(ステップS216)。転位モード3、4の処理内容は、実施例2と同様である。転位処理が終了すると、CPUは、重複判定区間ごとに、転位履歴を保持させる(ステップS228)。保持されるべき転位履歴としては、処理対象となった道路のID、重要度、線幅などが上げられる。転位量や占有領域幅などを含めても良い。
そして、位置関係修復処理を行う(ステップS220)。処理内容は、実施例2で説明した通りである(図21参照)。
その後、処理対象道路と、その内側の道路との重要度に応じて、転位モードを判定し(ステップS222)、判定結果に応じて転位モード1(ステップS224)または転位モード2(ステップS226)の転位処理を行う。それぞれの転位処理の内容は実施例2で説明した通りである(図18、19参照)。これらの転位処理を終えた後も、CPUは、重複判定区間ごとに転位履歴を保持させる(ステップS228)。
以上の処理を繰り返し実行することによって、実施例2で説明したのと同様の転位処理を実現することができる。
変形例:
以上で説明した実施例2の転位処理によれば、3本以上の道路の間で、転位処理を実現することができる。この際、基準道路に近い内側の道路から転位処理を施すことによって、外側の道路の転位処理の結果が内側の道路に影響を与えることを回避することができる。また、内側、外側の道路の重要度に応じて転位処理の方法を切り替えることにより、それぞれの道路について適切な見せ幅を確保することができる。
実施例では、3段階の占有領域としたが、占有領域を、2つの道路の重なり状態に応じて算出するようにしてもよい。
実施例では、道路同士の転位処理を説明したが、鉄道と道路との転位も同様に処理可能である。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
102…リサンプリング処理部
104…転位処理部
106…後処理部
110…コマンド入力部
120…地図データベース
130…地図描画データベース
140…地図描画部
Claims (9)
- コンピュータが、地図を描画するための地図描画データを生成する地図描画データ生成方法であって、
(a) 少なくとも一部で重なり合う路線の位置および形状を表す路線データを地図データベースからメモリへ読み込む工程と、
(b) 前記路線の一方を基準路線とした場合に、他方の路線が該基準路線からはみ出して描かれるべき見せ幅を前記路線同士の重なり量に応じて変化させて設定する工程と、
(c) 前記設定された見せ幅を実現するように前記他方の路線の位置を前記基準路線に対して幅方向にずらす転位処理を施して、該路線を描画するための地図描画データを生成する工程と、
を備える地図描画データ生成方法。 - 請求項1記載の地図描画データ生成方法であって、
前記工程(c)は、
前記基準路線の中心線から前記見せ幅に応じた幅を有した占有領域と、前記他方の路線との重なりに応じて前記路線を転位させるか否かを該占有領域の幅が小さいものから順に判定する工程であり、
該転位は、前記他方の路線のうち転位がなされていない区間のうち、前記占有領域内にあるという第1条件と、該区間の中心線が第1の所定長以上にわたって前記基準路線の中心線の両側の内いずれか一方に位置するという第2条件とを満たす部分について行う地図描画データ生成方法。 - 請求項2記載の地図描画データ生成方法であって、
前記工程(c)は、さらに、前記第1条件を満たす部分のうち、第2の所定長以上にわたって前記第2条件を満たさないという第3条件に該当する部分について、前記転位を行う工程である地図描画データ生成方法。 - 請求項1〜3いずれか記載の地図描画データ生成方法であって、さらに、
(d) 前記他方の路線のうち、前記地図を描画する描画範囲の端部において前記基準路線に隠れている路線、および該他方の路線の全長の所定割合以上において前記基準路線に隠れている路線の一方または双方に対し、無条件に転位を行う工程を備える地図描画データ生成方法。 - 請求項1〜4いずれか記載の地図描画データ生成方法であって、
前記路線には、前記基準路線の中心線の両側のうち少なくとも一方側に該基準路線以外の2以上の路線が存在する状態にあり、
前記工程(b)および工程(c)は、前記基準路線に近接する路線から順に処理を施す地図描画データ生成方法。 - 請求項5記載の地図描画データ生成方法であって、さらに、
(e) 前記路線に対して、前記基準路線に対して該路線よりも外側に位置する他の路線を越える転位処理が施された場合、該越えられた他の路線を前記転位処理が施された路線位置と一致または該路線位置よりも外側に転位させる工程を備える地図描画データ生成方法。 - 請求項5または6記載の地図描画データ生成方法であって、
前記工程(b)における見せ幅、および工程(c)におけるずらし量の少なくとも一方は、処理済みの転位処理の結果に基づいて定まる地図描画データ生成方法。 - 請求項5〜7いずれか記載の地図描画データ生成方法であって、
前記工程(b)および工程(c)は、前記転位処理の対象となる路線と、該路線よりも前記基準路線に対して外側に隣接する路線との間で、所定の基準に基づく重要度を比較し、該重要度の関係に基づき、前記転位処理の方法を切り替える地図描画データ生成方法。 - 請求項1〜8いずれか記載の地図描画データ生成方法によって生成された地図描画データを用いて、地図を印刷する地図印刷方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012072130A JP6067237B2 (ja) | 2011-03-28 | 2012-03-27 | 地図描画データ生成方法 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011071234 | 2011-03-28 | ||
| JP2011071234 | 2011-03-28 | ||
| JP2012072130A JP6067237B2 (ja) | 2011-03-28 | 2012-03-27 | 地図描画データ生成方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012215869A true JP2012215869A (ja) | 2012-11-08 |
| JP6067237B2 JP6067237B2 (ja) | 2017-01-25 |
Family
ID=47268627
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012072130A Active JP6067237B2 (ja) | 2011-03-28 | 2012-03-27 | 地図描画データ生成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6067237B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10054460B2 (en) | 2016-03-28 | 2018-08-21 | Microsoft Technology Licensing, Llc | Processing map-related user input to detect route requests |
| JP2020166068A (ja) * | 2019-03-28 | 2020-10-08 | 株式会社 ミックウェア | 地図表示装置、地図表示システム、プログラムおよび地図データ生成装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10177338A (ja) * | 1996-10-15 | 1998-06-30 | Matsushita Electric Ind Co Ltd | 交通情報表示装置 |
| JP2003058981A (ja) * | 2001-08-09 | 2003-02-28 | Canon Inc | 経路情報提供システム、画像形成装置およびサーバ、並びに経路情報提供方法 |
| JP2004361828A (ja) * | 2003-06-06 | 2004-12-24 | Nagoya Electric Works Co Ltd | 地図型情報表示板の地図作成方法 |
| JP2006113013A (ja) * | 2004-10-18 | 2006-04-27 | Xanavi Informatics Corp | 要約地図表示装置 |
-
2012
- 2012-03-27 JP JP2012072130A patent/JP6067237B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10177338A (ja) * | 1996-10-15 | 1998-06-30 | Matsushita Electric Ind Co Ltd | 交通情報表示装置 |
| JP2003058981A (ja) * | 2001-08-09 | 2003-02-28 | Canon Inc | 経路情報提供システム、画像形成装置およびサーバ、並びに経路情報提供方法 |
| JP2004361828A (ja) * | 2003-06-06 | 2004-12-24 | Nagoya Electric Works Co Ltd | 地図型情報表示板の地図作成方法 |
| JP2006113013A (ja) * | 2004-10-18 | 2006-04-27 | Xanavi Informatics Corp | 要約地図表示装置 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10054460B2 (en) | 2016-03-28 | 2018-08-21 | Microsoft Technology Licensing, Llc | Processing map-related user input to detect route requests |
| JP2020166068A (ja) * | 2019-03-28 | 2020-10-08 | 株式会社 ミックウェア | 地図表示装置、地図表示システム、プログラムおよび地図データ生成装置 |
| JP7145807B2 (ja) | 2019-03-28 | 2022-10-03 | 株式会社 ミックウェア | 地図表示装置、地図表示システム、プログラムおよび地図データ生成装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6067237B2 (ja) | 2017-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Grüne | Asymptotic behavior of dynamical and control systems under pertubation and discretization | |
| Alvarez-Valdés et al. | Reactive GRASP for the strip-packing problem | |
| US20110221846A1 (en) | Stack edge image formation | |
| JP6067237B2 (ja) | 地図描画データ生成方法 | |
| CN103186894A (zh) | 一种自适应分块的多聚焦图像融合方法 | |
| Fox | Halliburton II: it all depends on what defendants need to show to establish no impact on price | |
| Adler | Heat expands all things: The proliferation of greenhouse gas regulation under the Obama administration | |
| Marjanović et al. | Can acceptance of urban shrinkage shift planning strategies of shrinking cities from growth to de-growth | |
| US20150055146A1 (en) | Image variable magnification device and image variable magnification method | |
| JP2012070269A (ja) | 画像処理装置および画像処理方法 | |
| JP7559824B2 (ja) | 学習システム、学習方法、及びコンピュータプログラム | |
| Dalhuisen | Custom and its revival in transnational private law | |
| JP5206525B2 (ja) | 画像処理装置、画像読取装置、画像形成装置及びプログラム | |
| US20160110631A1 (en) | Apparatus and method for detecting object using multi-directional integral image | |
| JP5063166B2 (ja) | ナビゲーション用地図データ作成装置 | |
| Hosny | Heuristic techniques for solving the vehicle routing problem with time windows | |
| JP7745327B2 (ja) | 経路生成装置、経路生成方法、および経路生成プログラム | |
| Hinloopen et al. | In defense of trusts: R&D cooperation in global perspective | |
| JP7772108B2 (ja) | 学習モデル生成方法、イラスト変換方法、学習モデル生成装置、イラスト変換装置、学習モデル生成プログラム、およびイラスト変換プログラム | |
| JPH1038595A (ja) | 最適経路探索回路 | |
| CN101751665A (zh) | 检测当前像素是否位于多边形中的方法和系统 | |
| Antón | Literature Review: Rebecca M. Kysar,‘Unraveling the Tax Treaty’, Vol. 104, Minnesota Law Review, Issue 4, 1755-1837, 2020 & Ruth Mason,‘The Transformation of International Tax’, Vol. 114, American Journal of International Law, issue 3, 353-402, 2020 | |
| Dennison | A Cost-Benefit Analysis-Based Interpretation of Reciprocity Under Clean Air Act Section 115 (c) | |
| JP4635621B2 (ja) | 車両用ボディーパネルの構造解析モデル作成システム | |
| Tan | Globalized Coercion: The Strategic Logic and Structural Consequences of Economic Sanctions |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150319 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160606 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160729 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161205 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161221 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6067237 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |