(57)【要約】【課題】  アルゴリズムの複雑化を回避しつつ、上位層で経路探索した場合の弊害を回避する階層構造をもつネットワークデータの作成方法を提供する。【解決手段】  位置情報を有するノードと、ノード同士をつなぐリンクから構成されるネットワークデータ（地図データ）を格納する層は階層構造で、下位層は、上位層に対応する地図データすべてとその他の地図データを格納しており、上位層及び下位層の双方に共通して存在するノードである接続ノードのうち、接続ノードにつながるリンクの数が、上位層では下位層より少なくなる端点ノードを抽出する工程と、下位層にのみ含まれるリンクのうち、端点ノード同士をつなぐ、１以上のリンクからなるリンク列を抽出する工程と、リンク列を上位層の地図データに追加する工程とを備える。【選択図】        図２
2004219999.tif 000002
【特許請求の範囲】
【請求項１】
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するネットワークデータ作成方法であって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層及び下位層の双方に共通して存在するノードである接続ノードのうち、前記接続ノードにつながる前記リンクの数が、上位層では下位層より少なくなる端点ノードを抽出する工程と、
（ｃ）前記下位層にのみ含まれるリンクのうち、前記端点ノード同士をつなぐ、１以上のリンクからなるリンク列を抽出する工程と、
（ｄ）前記リンク列を前記上位層のネットワークデータに追加する工程と
を備えたネットワークデータ作成方法。
【請求項２】
請求項１記載のネットワークデータ作成方法であって、
前記工程（ｂ）は、所定の制約を満たすノードを除いて、前記端点ノードを抽出するネットワークデータ作成方法。
【請求項３】
請求項１記載のネットワークデータ作成方法であって、
前記工程（ｃ）は、所定の制約を満たすリンクが１以上存在するリンク列を除いて、前記リンク列を抽出するネットワークデータ作成方法。
【請求項４】
請求項３記載のネットワークデータ作成方法であって、
前記所定の制約は、前記上位層において前記端点ノードに接続している１以上の接続リンクとの関係に関する制約であって、
前記工程（ｃ）は、少なくとも１つの前記接続リンクとの関係において、前記制約を満たすリンクが１以上存在するリンク列を除いて、前記リンク列を抽出するネットワークデータ作成方法。
【請求項５】
請求項１〜４のいずれか記載のネットワークデータ作成方法であって、
前記リンクは、リンクを評価する評価値を有し、
前記上位層に前記リンク列を追加した場合に、前記リンク列の端のうち一方の前記端点ノードから所定の範囲内にある第１のノードから、他方の前記端点ノードから所定の範囲内にある第２のノードまでの、前記リンク列を含むリンク軌跡の総評価値である追加総評価値を求める工程と、
前記上位層に前記リンク列を追加しない場合に、前記第１のノードから前記第２のノードまでのリンク軌跡の総評価値を求める工程と
を備え、
前記工程（ｄ）は、前記追加総評価値が前記総評価値より小さい場合に、前記リンク列を前記上位層のネットワークデータに追加する
ネットワークデータ作成方法。
【請求項６】
請求項５記載のネットワークデータ作成方法であって、
前記評価値は、距離または所要時間であるネットワークデータ作成方法。
【請求項７】
請求項１〜６のいずれか記載のネットワークデータ作成方法であって、
前記リンクは、距離，所要時間，種別に関する情報を有しており、
前記リンク列が複数抽出された場合、前記リンク列を前記情報のうち少なくとも１つにより評価して１つを選択する工程
を備えたネットワークデータ作成方法。
【請求項８】
請求項１記載のネットワークデータ作成方法であって、
前記工程（ｂ）は、前記上位層において他のリンクと交差する交差リンクの端のノード、及び前記上位層において交通規制が設定されているノードに連結されたリンクの端のノードのうち少なくとも一部を前記端点ノードとして抽出する
ネットワークデータ作成方法。
【請求項９】
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するネットワークデータ作成装置であって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層及び下位層の双方に共通して存在するノードである接続ノードのうち、前記接続ノードにつながる前記リンクの数が、上位層では下位層より少なくなる端点ノードを抽出する抽出部と、
（ｃ）前記下位層にのみ含まれるリンクのうち、前記端点ノード同士をつなぐ、１以上のリンクからなるリンク列を抽出するリンク列抽出部と、
（ｄ）前記リンク列を前記上位層のネットワークデータに追加する追加部と
を備えたネットワークデータ作成装置。
【請求項１０】
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するためのコンピュータプログラムであって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層及び下位層の双方に共通して存在するノードである接続ノードのうち、前記接続ノードにつながる前記リンクの数が、上位層では下位層より少なくなる端点ノードを抽出する機能と、
（ｃ）前記下位層にのみ含まれるリンクのうち、前記端点ノード同士をつなぐ、１以上のリンクからなるリンク列を抽出する機能と、
（ｄ）前記リンク列を前記上位層のネットワークデータに追加する機能と
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１１】
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータのデータ構造であって、
前記ネットワークデータを格納する層は、道路種別ないしは幅員に従って階層化されており、
下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
前記その他のネットワークデータのうち、所定の条件を満たすものを例外として上位層に追加した
ネットワークデータのデータ構造。
【請求項１２】
請求項１１記載のネットワークデータのデータ構造であって、
前記所定の条件は、道路規制に基づく条件であるネットワークデータのデータ構造。
【請求項１３】
請求項１１記載のネットワークデータのデータ構造であって、
前記ネットワークデータは、ネットワークデータを評価する評価値を有し、
前記所定の条件は、前記評価値が所定の範囲内であることである
ネットワークデータのデータ構造。
【請求項１４】
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するネットワークデータ作成方法であって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層において前記リンクが交差している地点、または、前記上位層において交通規制が設定されたノードから、所定範囲内にある、１以上のリンクからなるリンク列を、前記下位層にのみ含まれるリンクから抽出する工程と、
（ｃ）抽出した前記リンク列のうち少なくとも一部のリンク列を、前記上位層のネットワークデータに追加する工程と
を備えたネットワークデータ作成方法。
【請求項１５】
請求項１４記載のネットワークデータ作成方法であって、
前記工程（ｂ）は、前記上位層において交差する２つのリンク同士、または前記上位層において交通規制が設定されているノードに連結された２つのリンク同士をつなぐリンク列を前記下位層から抽出する
ネットワークデータ作成方法。
【請求項１６】
請求項１４記載のネットワークデータ作成方法であって、
前記リンクには、距離，所要時間，種別に関する属性が設定されており、
前記リンク列を前記属性のうち少なくとも１つにより評価して、前記リンク列の少なくとも一部を選択する工程
を備えたネットワークデータ作成方法。
【請求項１７】
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するネットワークデータ作成装置であって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層において前記リンクが交差している地点であってノードではない地点、または、前記上位層において交通規制が設定されたノードから、所定範囲内にある、１以上のリンクからなるリンク列を、前記下位層にのみ含まれるリンクから抽出する抽出部と、
（ｃ）抽出した前記リンク列のうち少なくとも一部のリンク列を、前記上位層のネットワークデータに追加する追加部と
を備えたネットワークデータ作成装置。
【請求項１８】
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するためのコンピュータプログラムであって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層において前記リンクが交差している地点であってノードではない地点、または、前記上位層において交通規制が設定されたノードから、所定範囲内にある、１以上のリンクからなるリンク列を、前記下位層にのみ含まれるリンクから抽出する機能と、
（ｃ）抽出した前記リンク列のうち少なくとも一部のリンク列を、前記上位層のネットワークデータに追加する機能と
をコンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するネットワークデータ作成方法に関する。
【背景技術】
【０００２】
従来から、ネットワークデータは階層構造で作成される場合があった。階層構造とは、下位層が、上位層の格納しているネットワークデータすべてとその他のネットワークデータを格納するように構成されている構造である。ネットワークデータの一例である道路地図データでは、道路種別に基づき、上位層が「国道」のデータで構成され、下位層が「国道」と「一般道」のデータで構成される。更に、上位の階層として「高速道路」の層などを設けても良い。
【０００３】
カーナビゲーションシステムでは、このように構成された道路地図データを用いて経路探索を行なう。例えば現在地から一般道に接するＡ地点までの経路探索を行なう場合、まず下位層で現在地，A地点の双方から経路探索を行なう。下位層において経路探索を行い、それぞれ上位層に遷移可能なノードまで行き着いたら、次に上位層でＡ地点付近まで経路探索を行う（特許文献１参照）。
【０００４】
単純に下位層のみで経路探索を行なうと、経路探索の場合分けが大変多くなるため、経路探索に時間がかかるが、このように経路探索を行なうことで、経路探索の時間は短縮できる。つまり、道路地図データを上記のように構成するのは、カーナビゲーションシステムにおける経路探索の時間を短縮するためである。
【０００５】
【特許文献１】特開平１１−２４８４７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上位層で経路探索を行なうと、ネットワークデータの階層分けを単純に「国道」などの道路種別に基づいて行っているため、遠回りとなる場合があった。例えば、図１の上位層では、Ａ地点からＢ地点までの経路探索をすると、Ａ→Ｅ→Ｃ→Ｄ→Ｆ→Ｂという結果になるが、実際には下位層をみるとＥ→Ｆという一般道の経路が存在するので、上位層だけで経路探索をして、知らず知らずのうちに遠回りをしている。一方、遠回りを回避するアルゴリズムは非常に複雑である。
【０００７】
本発明は、上記した問題点を解決するためになされたものであり、アルゴリズムの複雑化を回避しつつ、上位層で経路探索した場合の弊害を回避する階層構造をもつネットワークデータの作成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題の少なくとも一部を解決する本発明の第１の階層構造のネットワークデータ作成方法は、
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するネットワークデータ作成方法であって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層及び下位層の双方に共通して存在するノードである接続ノードのうち、前記接続ノードにつながる前記リンクの数が、上位層では下位層より少なくなる端点ノードを抽出する工程と、
（ｃ）前記下位層にのみ含まれるリンクのうち、前記端点ノード同士をつなぐ、１以上のリンクからなるリンク列を抽出する工程と、
（ｄ）前記リンク列を前記上位層のネットワークデータに追加する工程と
を備えることを特徴とする。
【０００９】
本発明によれば、端点ノードと端点ノードを結ぶリンク列を上位層に追加することができるので、アルゴリズムの複雑化を回避しつつ、上位層で経路探索した場合にも遠回りとならない経路を探索可能な階層構造のネットワークデータを作成することができる。
【００１０】
階層は３層以上であってもよく、その場合、下位層は上位層の直下の層である必要性はない。この場合、上位層に行なった追加は、下位層から上位層までの間の全ての層に同様に行なうことが好ましい。各工程は対話的に行われていてもよく、例えばリンク列を上位層に追加するかしないかの判断を人間が行ない、追加すると判断された場合にリンク列を追加するものとしてもよい。
【００１１】
また、前記工程（ｂ）は、所定の制約を満たすノードを除いて、前記端点ノードを抽出するものとしても良い。
【００１２】
このようにすれば、リンク列を抽出する必要のない端点ノードに関しては処理を行なわないようにすることができ、更に処理も簡単になる。
【００１３】
所定の制約は、ノードが有する位置情報に関する制約であっても良いし、ネットワークデータの作成者が独自に設定する制約であっても良い。位置情報に関する制約とは、例えば「「海岸」や「山頂」であること」とすることができる。通常これらのノードでは、遠回り経路が生じる可能性が少ないため、端点ノードから除外しても差し支えない。
【００１４】
また、前記工程（ｃ）は、所定の制約を満たすリンクが１以上存在するリンク列を除いて、前記リンク列を抽出するものとしても良い。
【００１５】
これにより、条件に合わないリンク列は抽出しないようにすることが可能である。
【００１６】
所定の制約は、リンクが有する情報に関する制約であっても良いし、ネットワークデータ作成方法の利用者が独自に設定する制約であっても良い。リンクが有する情報とは、例えば「一方通行」であることを示す情報であり、リンクが有する情報に関する制約とは、「「一方通行」であること」である。この場合、少なくとも一部が一方通行に規制されているリンク列は上位層に追加する対象から除外されることになる。このような交通規制に基づく制約のほか、車線数など道路形状に基づく制約を設けても良い。
【００１７】
また、前記所定の制約は、前記上位層において前記端点ノードに接続している１以上の接続リンクとの関係に関する制約であって、
前記工程（ｃ）は、少なくとも１つの前記接続リンクとの関係において、前記制約を満たすリンクが１以上存在するリンク列を除いて、前記リンク列を抽出するものとしても良い。
【００１８】
このようにすれば、端点ノードとリンク列と端点ノードに接続する接続リンクの３者の関係による条件で、条件に合わないリンク列は抽出しないようにすることができる。
【００１９】
所定の制約は、端点ノードが有していても良いし、リンク列が有していても良いし、接続リンクが有していても良い。また、所定の制約は、リンクや端点ノードが有する情報に関する制約であっても良いし、ネットワークデータ作成方法の利用者が独自に設定する制約であっても良い。
【００２０】
リンクや端点ノードが有する情報とは、例えば「右左折禁止」であることを示す情報であり、リンクや端点ノードが有する情報に関する制約とは、「「右左折禁止」であること」である。
【００２１】
また、前記リンクは、リンクを評価する評価値を有し、
前記上位層に前記リンク列を追加した場合に、前記リンク列の端のうち一方の前記端点ノードから所定の範囲内にある第１のノードから、他方の前記端点ノードから所定の範囲内にある第２のノードまでの、前記リンク列を含むリンク軌跡の総評価値である追加総評価値を求める工程と、
前記上位層に前記リンク列を追加しない場合に、前記第１のノードから前記第２のノードまでのリンク軌跡の総評価値を求める工程と
を備え、
前記工程（ｄ）は、前記追加総評価値が前記総評価値より小さい場合に、前記リンク列を前記上位層のネットワークデータに追加するものとしても良い。
【００２２】
これにより、追加する必要のないリンク列は追加しないように設定することが可能である。評価値は、ネットワークデータ作成方法の利用者が独自に設定しても良い。
【００２３】
また、前記評価値は、距離または所要時間であっても良い。
【００２４】
評価値が距離であれば、所定のノードから所定のノードまでの距離が短くなるようなリンク列だけを上位層に追加するようにすることができるし、評価値が時間であれば、所定のノードから所定のノードまでの所要時間が短くなるようなリンク列だけを上位層に追加するようにすることができる。
【００２５】
また、前記リンクは、距離，所要時間，種別に関する情報を有しており、
前記リンク列が複数抽出された場合、前記リンク列を前記情報のうち少なくとも１つにより評価して１つを選択する工程
を備えるものとしても良い。
【００２６】
このようにすれば、複数のリンク列が抽出された場合に、最適なリンク列のみを追加するようにすることができる。
【００２７】
また、前記工程（ｂ）は、前記上位層において他のリンクと交差する交差リンクの端のノード、及び前記上位層において交通規制が設定されているノードに連結されたリンクの端のノードのうち少なくとも一部を前記端点ノードとして抽出するものとしても良い。
【００２８】
「他のリンクと交差する交差リンク」とは、他のリンクとともに立体交差を形成するリンクのように、他のリンクと同一地点を通過するが、該地点での他のリンクへの通行が不可であるリンクのことをいう。交通規制としては、左折禁止や右折禁止などが挙げられる。
【００２９】
例えば、上位層のデータに立体交差のデータが存在するが、立体交差する２本の道路同士をつなぐ連結路のデータは存在しない場合について考える。その場合、立体交差する２本の道路の一方に出発地を、もう一方に目的地を設定して上位層で経路探索を行なうと、連結路がないために遠回りの経路が探索される。一方、上位層において交通規制が設定されたノードが存在した場合、そのノードに連結されているリンク間にまたがって、出発地，目的地が設定されても遠回りの経路が探索される場合がある。このような弊害は、下位層に存在する連結路相当のリンクデータを上位層のデータに追加することで解決できる。
【００３０】
本発明によれば、上記した連結路に相当するリンクデータを上位層に追加することが可能となり、上位層で経路探索した場合にも遠回りとならない経路を探索可能な階層構造のネットワークデータを作成することができる。
【００３１】
工程（ｂ）では、交差リンクの端のノード、または、上位層において交通規制が設定されているノードに連結されたリンクの端のノードの、どちらか一方の少なくとも一部のみを端点ノードとして抽出しても良い。
【００３２】
交差リンクの端のノードに限らず、該交差リンクに接続するリンクの端のノードを端点ノードとみなして抽出しても良い。また、交通規制が設定されているノードから所定数のリンク分移動したノードを端点ノードとみなして抽出しても良い。
【００３３】
更に、上記課題の少なくとも一部を解決する本発明の第２のネットワークデータ作成方法は、
ノードと、ノード同士をつなぐリンクから構成されるネットワークデータを作成するネットワークデータ作成方法であって、
（ａ）前記ネットワークデータを格納する層は階層構造で、下位層は、上位層に対応するネットワークデータすべてとその他のネットワークデータを格納しており、
（ｂ）前記上位層において前記リンクが交差している地点、または、前記上位層において交通規制が設定されたノードから、所定範囲内にある、１以上のリンクからなるリンク列を、前記下位層にのみ含まれるリンクから抽出する工程と、
（ｃ）抽出した前記リンク列のうち少なくとも一部のリンク列を、前記上位層のネットワークデータに追加する工程と
を備えることを特徴とする。
【００３４】
本発明によれば、所定範囲内の下位層のリンクデータを上位層に追加することにより、左折禁止の場合に左折を実質的に可能とする左折専用道路や、立体交差の連結路に相当するリンクデータを上位層に追加することが可能となる。その結果、上位層で経路探索した場合にも遠回りとならない経路を探索可能な階層構造のネットワークデータを作成することができる。なお、「リンクが交差している地点」はノードではない。
【００３５】
上記した第２のネットワークデータ作成方法において、
前記工程（ｂ）は、前記上位層において交差する２つのリンク同士、または前記上位層において交通規制が設定されているノードに連結された２つのリンク同士をつなぐリンク列を前記下位層から抽出するものとしても良い。
【００３６】
これによれば、上位層で経路探索した場合にも遠回りとならない経路を探索するために特に有効なリンク列のみを上位層に追加するので、上位層のネットワークデータが大きくなりすぎて上位層での経路探索に時間がかかるようになることを防ぐことができる。
【００３７】
ここで抽出するリンク列は、「上位層において交差する２つのリンク同士をつなぐリンク列」に限定する必要はない。例えば、上位層において交差する２つのリンクのうち１つのリンクに接続しているリンクと、残り１つのリンクとをつなぐリンク列や、２つのリンクの各々に接続しているリンク同士をつなぐリンク列を抽出するものとしても良い。「交通規制が設定されているノードに連結された２つのリンク」に関してリンク列を抽出する場合も同様に、様々にリンク列を抽出するものとしても良い。
【００３８】
上記した第２のネットワークデータ作成方法において、
前記リンクには、距離，所要時間，種別に関する属性が設定されており、
前記リンク列を前記属性のうち少なくとも１つにより評価して、前記リンク列の少なくとも一部を選択する工程
を備えるものとしても良い。
【００３９】
このようにすれば、上位層に追加するリンク列を選択するので、上位層のネットワークデータが大きくなりすぎて上位層での経路探索に時間がかかるようになることを防ぐことができる。
【００４０】
本発明の第１および第２のネットワークデータ作成方法において、上述した種々の特徴は、適宜、組み合わせたり、一部を省略したりして適用することができる。また、請求項１の工程（ｄ）及び請求項１４の工程（ｃ）の少なくとも一部を人間が行なうようにしても構わない。例えば、抽出されたリンク列を上位層のネットワークデータに追加する際、上位層に追加するか否かを人間に判断させ、その判断に従うようにしても構わない。ネットワークデータの確認・修正作業などに人間が介在しても良い。本発明は、上述のネットワークデータ作成方法としての構成に限らず、ネットワークデータ作成装置やネットワークデータを作成するためのコンピュータプログラムなど種々の態様で構成することができる。
【００４１】
また、道路種別ないしは幅員に従って階層化されたネットワークデータに、例外的に所定の条件を満たすネットワークデータを上位層に追加したようなネットワークデータのデータ構造としてとしても構成可能である。例外的に上位層に追加されたネットワークデータは、ネットワークデータから推定できる階層化の規則から外れているものであるとも言える。例えば、道路種別に従って階層化されたネットワークデータの「高速道路」の階層に、高速道路とは無関係の一般道路が含まれている場合に、その一般道路が例外的に上位層に追加されたネットワークデータであると言える。
【００４２】
一方、例えば所定の条件が道路規制やネットワークデータの評価値であれば、経路探索などに有効となるものだけを上位層に追加可能である。「高速道路」，「国道・県道」，「一般道・その他」という道路種別に従って３階層に階層化したネットワークデータにおいて、「国道・県道」の層に、例外的に一般道のリンクを追加する場合が該当する。なお、下位層は上位層に対応するネットワークデータすべてを格納しているので、「国道・県道」の階層には「高速道路」のネットワークデータがすべて格納されており、「一般道・その他」の階層には、「国道・県道」や「高速道路」のネットワークデータがすべて格納されている。
【００４３】
いずれの態様においても、上述した各特徴を適宜、適用可能である。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の実施の形態について、以下の項目に分けて説明する。
Ａ．実施例：
Ａ１．地図データの構成：
Ａ２．機能ブロック：
Ａ３．処理：
Ａ４．効果：
Ｂ．変形例：
【００４５】
Ａ．実施例：
Ａ１．地図データの構成：
図１は、階層構造をもつ地図データを示す説明図である。下位層地図データ６０は、上位層地図データ５５に加え、更に詳細な情報を有している。地図データは、ノードと、ノード同士を結ぶリンクにより構成されている。ノードやリンクは、属性情報として、それぞれ様々な情報を有している。図中の各黒丸印，黒丸同士を結ぶ実線は、それぞれノード，リンクに該当する。
【００４６】
ノードが有する属性情報は、ノードの現実世界での位置を示す緯度，経度や、ノードの場所を示す種別（例えば、海岸沿いや山頂など）である。
【００４７】
一方、リンクが有する属性情報は、両端のノード名や、道路種別（国道，一般道など）や、交通規制、更には所要時間を示すコストがある。例えば、リンク２０の場合、両端のノード名は（Ｆ，Ｂ）となる。また交通規制は、「ノードＦからノードＢへの一方通行」「ノードＢからリンク２０への進入禁止」などが設定されうる。
【００４８】
ここでは、ノードのうち、上位層及び下位層の双方に共通して存在するノードを、特に接続ノードと呼ぶ。図１の例では、ノード２５，３５などが接続ノードに相当する。更にその接続ノードのうち、接続ノードにつながるリンクの数が、上位層では下位層より少なくなる接続ノードを端点ノードと呼ぶ。図１の例では、ノード２５などが端点ノードに相当する。
【００４９】
ここで示すネットワークデータの作成方法では、下位層のＥ→Ｆという、複数のリンクの集まりであるリンク列のうち、経路探索に有意義なものを上位層に追加する処理について説明する。
【００５０】
Ａ２．機能ブロック：
図２は、ネットワークデータ作成方法を実現するネットワークデータ作成装置の機能ブロックを示す説明図である。ネットワークデータ作成装置はコンピュータであり、各々の機能ブロックは、ソフトウェア的に構成されたモジュールである。なお、機能ブロックはハードウェア的に構成されていても良い。また、各々の機能ブロックは、１つのコンピュータに搭載されている必要はなく、別個のコンピュータに搭載されていても良い。
【００５１】
端点ノード抽出部４０は、上位層地図データ５５から、端点ノードを抽出する。リンク列抽出部４５は、下位層地図データ６０から、端点ノード抽出部４０が抽出した端点ノード同士を接続するリンク列を抽出する。追加部５０は、リンク列抽出部４５が抽出したリンク列のうち、経路探索に有意義なものを上位層地図データ５５に追加する。
【００５２】
Ａ３．処理：
図３は、ネットワークデータ作成方法を使用する対象となる地図データの一例を示す説明図である。Ｎ１からＮ８まではノードであり、接続ノードでもある。このうち、Ｎ２，Ｎ３が端点ノードである。Ｌ××は、リンクまたはリンク列を示し、（）内はリンクまたはリンク列のコストである。ここでは、簡単のためにリンク列も１つのリンクであるものとして取り扱う。
【００５３】
図４は、ネットワークデータ作成方法を示すフローチャートである。ネットワークデータ作成方法の利用者から指示があると、まず、上位層地図データ５５から端点ノードを抽出する（ステップＳ２０）。図３では、ノードＮ２，Ｎ３が抽出される。
【００５４】
次に、抽出した端点ノードの属性情報を調べ、種別による絞込みを行なう（ステップＳ２５）。具体的には、種別が「海岸沿い」や「山頂」であれば、対象の端点ノードから除外する。「海岸沿い」や「山頂」は、通常そこで道路が行き止まりになっているので、その様な端点ノードと他の端点ノードを結ぶ必要性が少ないためである。なお、「海岸沿い」や「山頂」のノードが端点ノードとして孤立する場合も少ないはずである。ここでノードＮ２，Ｎ３は「海岸沿い」でも「山頂」でもないので除外されない。
【００５５】
そして、下位層から、端点ノード同士を結ぶリンクを抽出する（ステップＳ３０）。図３では、リンクＬ２３ａ，Ｌ２３ｂ，Ｌ２３ｃが抽出される。
【００５６】
次に、抽出したリンクの道路規制による絞込みを行なう（ステップＳ３５）。具体的には、抽出したリンクＬ２３ａ，Ｌ２３ｂ，Ｌ２３ｃの属性情報が一方通行となっているならば、対象のリンクから外す。ここでは、リンクＬ２３ａ，Ｌ２３ｂ，Ｌ２３ｃのいずれも一方通行ではない。
【００５７】
リンクＬ２３ａ，Ｌ２３ｂ，Ｌ２３ｃがリンク列の場合は、リンク列のうち１つでも一方通行となっていれば、対象のリンクから除外するようにする。１つでも一方通行であれば、一方通行と逆方向に移動する際に、そのリンク列により端点ノードから端点ノードまで移動できなくなるからである。
【００５８】
そして、端点ノードとリンクの道路規制による絞込みを行なう（ステップＳ４０）。具体的には、リンクＬ２３ａの属性情報に、ノードＮ３からリンクＬ３７への進入を禁止する情報や、ノードＮ３からリンクＬ３４への進入を禁止する情報や、ノードＮ２からリンクＬ１２への進入を禁止する情報や、ノードＮ２からリンクＬ２６への進入を禁止する情報がないかどうかを調べ、いずれか１つでもある場合は対象のリンクから除外する。
【００５９】
更に、リンクＬ１２に、ノードＮ２からリンクＬ２３ａへの進入を禁止する情報がないか、リンクＬ２６に、ノードＮ２からリンクＬ２３ａへの進入を禁止する情報がないか、リンクＬ３７に、ノードＮ３からリンクＬ２３ａへの進入を禁止する情報がないか、リンクＬ３４に、ノードＮ３からリンクＬ２３ａへの進入を禁止する情報がないかどうかも調べ、いずれか１つでもある場合は対象のリンクから除外する。
【００６０】
リンクＬ２３ｂ，Ｌ２３ｃに関しても同様の処理を行なう。なお、ここでは１つでも禁止する情報があれば対象のリンクから除外しているが、２箇所以上禁止されていたら対象のリンクから除外する、など条件は様々に設定可能である。
【００６１】
また、リンクＬ２３ａ，Ｌ２３ｂ，Ｌ２３ｃがリンク列の場合は、禁止情報の有無は、リンク列の両端のリンクで調べることになる。
【００６２】
次に、コスト比較を行なう（ステップＳ４２）。図５は、コスト比較を示すフローチャートである。コスト比較では、まず上位層地図データ５５から分岐ノードを抽出する（ステップＳ５５）。分岐ノードとは、端点ノードのとなりのノードで、端点ノード以外のノードと接続するリンクとも接続しているノードをいう。図３では、端点ノードＮ２の隣のノードＮ１，Ｎ６が分岐ノードである。一方、端点ノードＮ３の隣のノードＮ４，Ｎ７も分岐ノードである。
【００６３】
なお、ここでは便宜上分岐ノードを端点ノードの隣のノードであるものとしたが、それに限らず様々に設定可能である。つまり、ノードＮ５やノードＮ８を分岐ノードの候補に加えても良い。
【００６４】
次に、対象のリンクを含まない経路（以下、非対象経路とよぶ）のコスト計算を行なう（ステップＳ６０）。図６は、分岐ノードから分岐ノードまで、非対象経路のコスト計算を行った結果を示す説明図である。対象となっている一方の端点ノードＮ２から求められる分岐ノードＮ１やＮ６を出発点とし、もう一方の端点ノードＮ３から求められる分岐ノードＮ４やＮ７を到着点とする。図６では、分岐ノードから分岐ノードまで、対象のリンクを通らない経路のうち、最もコストが小さくなった経路の結果のみを示してある。
【００６５】
なお、経路のコストを求めるには、単純に通るリンクのコストを足し合わせればよい。例えば、ノードＮ１からノードＮ７までの経路Ｌ１２（１０）→Ｌ２６（３）→Ｌ６７（８）では、コストは１０＋３＋８＝２１となる。図６の○内は、経路のコストの合計値である。
【００６６】
次に、対象のリンクを含む経路（以下、対象経路とよぶ）のコスト計算を行なう（ステップＳ６５）。図７は、分岐ノードから分岐ノードまで、対象経路のコスト計算を行った結果を示す説明図である。図７では、分岐ノードから分岐ノードまで、対象のリンクＬ２３ａ，Ｌ２３ｂ，Ｌ２３ｃそれぞれを通る経路のコストを示してある。図６と同様、○内は経路のコストの合計値である。
【００６７】
そして、図６のように求められた非対象経路のコストと、図７のように求められた対象経路のコストを比較する（ステップＳ７０）。対象経路のコストが、非対象経路のコスト以上になる場合は、そのリンクを候補から削除する（ステップＳ７５）。
【００６８】
図６と図７を比較すると、リンクＬ２３ｃを通る経路のコストは、Ｎ１→Ｎ４，Ｎ１→Ｎ７，Ｎ６→Ｎ４，Ｎ６→Ｎ７のすべての場合において、リンクＬ２３ｃを通らない経路のコストより大きくなっている。よって、リンクＬ２３ｃを候補から削除する。一方、リンクＬ２３ａを通る経路のコストは、Ｎ６→Ｎ４，Ｎ６→Ｎ７の場合において、リンクＬ２３ａを通らない経路のコストよりも大きくなっているものの、Ｎ１→Ｎ４，Ｎ１→Ｎ７の場合においては小さくなっている。リンクＬ２３ｂを通る経路のコストも同様である。
【００６９】
ここでは、すべての分岐ノードの場合で、対象経路のコストが、対象のリンクを非対象経路のコスト以上になる場合は、そのリンクを候補から削除したが、それに限らず、１つでも対象経路のコストが、非対象経路のコスト以上になったら、リンクを候補から削除するようにしても良いし、他にも様々に設定可能である。
【００７０】
コスト比較の次は、リンクの選択を行なう（ステップＳ４５）。つまり、候補のリンクのうち、コストが最小になるものを選択する。ここではＬ２３ａである。選択対象になるのがリンク列の場合は、リンク列のコストを計算して比較し、最小になるものを選択する。そして、選択したリンクを上位層地図データ５５に追加する（ステップＳ５０）。
【００７１】
Ａ４．効果：
以上で説明したネットワークデータ作成方法により上位層地図データを作成すれば、上位層地図データ５５で経路探索する際、コストが不利になるような経路を選択せざるを得ないような場合を抑制することが可能となる。
【００７２】
Ｂ．変形例：
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、更に様々な形態で実施しうることは勿論である。例えば、ステップＳ４２のコスト比較と、ステップＳ４５のリンク列の選択の順序は逆でも良い。この場合、ステップＳ４５のリンク列の選択においては、道路種別を基にして選択を行っても良い。そのようにすれば、コスト比較対象となる経路が少なくなるので、処理も少なくなる。
【００７３】
また、ステップＳ２５の端点ノードの種別による絞込みや、ステップＳ３５のリンク列の道路規制による絞込みや、ステップＳ４０の端点ノードとリンク列の道路規制による絞込みや、ステップＳ４２のコスト比較は、必ずしも全て行なう必要はない。例えば、リンク列が一方通行となっている場合でも、上位層地図データ５５への追加対象からはずす必要もない場合がある。そのような設定は、利用者が適宜行なうことが可能である。
【００７４】
実施例では、コストは所要時間を用いるものとしたが、それに限らず、距離をコストとしても良い。
【００７５】
また、端点ノードは、接続ノードのうち、該接続ノードにつながるリンクの数が、上位層では下位層より少なくなるものに限られない。例えば、左折・右折を禁止する交差点のノードに連結されているリンクの端のノードや、立体交差しているリンクの端のノードを端点ノードとみなしても良い。
【００７６】
図８は、左折を禁止する交差点のノードに連結されているリンクの端のノードを端点ノードとみなす場合について説明する説明図である。図８は、階層構造の地図データを示しており、図中上側が上位層の地図データ、図中下側が下位層の地図データである。図中の各黒丸印，黒丸同士を結ぶ実線は、それぞれノード，リンクに該当し、Ｇ〜Ｐはノード名、Ｌ１，Ｌ２，Ｌ３はリンク名である。
【００７７】
図８の例では、ノードＪが、左折禁止の交差点のノードである。上位層で、ノードＧからノードＨまでの経路探索をした場合、ノードＪが左折禁止であるから、Ｇ→Ｉ→Ｊ→Ｎ→Ｏ→Ｐ→Ｈという経路を選択せざるをえない。ここで、左折禁止の交差点のノードＪに連結されているリンク（リンクＬ１，リンクＬ２）の端のノード（ノードＰ，ノードＩ）は端点ノードであるものとみなす。つまり、先述した実施例のネットワークデータ作成方法において、ノードＰとノードＩを端点ノードとして抽出すると、下位層におけるノードＰとノードＩを結ぶリンク列が上位層に追加される。リンク列が追加された場合、上位層でノードＧからノードＨまで移動するには、Ｇ→Ｉ→Ｐ→Ｈという経路をたどることができるようになる。よって、交差点で左折禁止などの規制がある場合であっても、交差点のノードに連結されているリンクの端のノードを端点ノードとみなして、実施例のネットワークデータ作成方法を適用すれば、遠回りの経路を選択せざるを得ないような場合を抑制することが可能となる。
【００７８】
また、ノードＪの地点で、ノードＰとノードＬを結ぶリンクと、ノードＩとノードＮを結ぶリンクが立体交差している場合についても同様の効果が得られる。ノードＪの地点で立体交差していると、ノードＪからリンクＬ２を通ってノードＰに移動することも、ノードＪからリンクＬ３を通ってノードＬに移動することも不可能である。つまり、立体交差の地点で右左折禁止がなされているのと同じ状況になるので、ノードＧからノードＨまでの経路探索をすると、Ｇ→Ｉ→Ｊ→Ｎ→Ｏ→Ｐ→Ｈという経路を選択せざるをえない。そこで、立体交差しているリンクの端のノードであるノードＩやノードＰを端点ノードとして抽出すると、先述した実施例のネットワークデータ作成方法により、下位層におけるノードＰとノードＩを結ぶリンク列が上位層に追加される。よって、リンクが立体交差している場合について、立体交差しているリンクの端のノードを端点ノードとみなして実施例のネットワークデータ作成方法を適用すれば、遠回りの経路を選択せざるを得ないような場合を抑制することが可能となる。
【００７９】
また、地図データにおいて、左折・右折を禁止する交差点や立体交差が存在する場合に、遠回りの経路選択を回避する方法は、他にもある。その方法を、ここでは遠回り回避方法とよぶ。図９は、立体交差を形成するリンクを含んだ地図データの説明図である。図９を用いて遠回り回避方法を説明する。Ｒ〜Ｖはノード名、Ｌ４〜Ｌ７はリンク名である。図９の例では、リンクＬ４とリンクＬ７が立体交差を形成するリンクであり、地点ＱがリンクＬ４とリンクＬ７の立体交差地点である。
【００８０】
遠回り回避方法では、まず、上位層において、立体交差地点Ｑの（緯度，経度）を抽出する。そのために、リンクの属性情報を利用する。リンクは、「高架」というカテゴリの属性情報を有している。「高架」は立体交差の上の道ならば「１」で、それ以外の道なら「０」で表わされる。更に、「高架」が「１」の場合、属性情報として、自身の下の道のリンクを識別するための情報も有している。例えば、図９におけるリンクＬ４が立体交差の上の道だとすると、リンクＬ４の「高架」は「１」で、「リンクＬ７」という属性情報も有している。
【００８１】
ところで、リンクは、先述したように、属性情報として自身の両端のノード名を有している。ノードは、属性情報として、現実世界での位置を示す（緯度，経度）を有している。よって、リンクの両端のノード名から、リンクの両端の（緯度，経度）を導き出すことができる。ここで、簡単のために、リンクは直線であるものとすると、リンクＬ４とリンクＬ７の交点である立体交差地点Ｑの（緯度，経度）は、リンクＬ４とリンクＬ７各々の両端の（緯度，経度）から幾何学的に求めることができる。
【００８２】
次に、下位層において、立体交差地点Ｑを中心として、現実世界での半径がｄ［ｍ］の円の内部に存在するリンク列を抽出する。つまり、リンクの両端のノードの（緯度，経度）が、円の内部に存在するリンクを抽出する。そして、抽出したリンクを上位層の地図データに追加する。なお、図９には、簡単のため、リンクを抽出する範囲を半径ｄ１の円の内部として図示した。
【００８３】
これにより、図９のように、ノードＳとノードＴを結ぶリンク列や、ノードＲとノードＵを結ぶリンク列や、ノードＵとノードＶを結ぶリンク列が上位層に追加され、ノードＳからノードＴまでの経路を選択する場合に遠回りの経路を選択することがなくなる。ノードＳとノードＴを結ぶリンク列や、ノードＲとノードＵを結ぶリンク列，ノードＵとノードＶを結ぶリンク列は、立体交差する道路の連結路に相当する。
【００８４】
地点Ｑが左折を禁止する交差点である場合も、以上で説明した遠回り回避方法を適用すれば、左折専用道路に相当するリンク列を上位層の地図データに追加することができる。その結果、遠回りの経路選択を回避することが可能となる。地点Ｑが右折を禁止する交差点である場合も同様である。遠回り回避方法において下位層でリンク列を抽出する範囲は、地点Ｑを中心とした円の内部に限らず、地点Ｑを対角線の交点とする正方形や長方形，菱形の内部であっても良いし、地点Ｑを含む任意の形状の内部であっても良い。
【００８５】
上述した遠回り回避方法においては、連結路などに相当するリンク列を下位層の地図データから抽出する際、立体交差を形成しているリンク同士をつなぐリンク列のみ所定範囲内から抽出するようにしても良い。立体交差を形成しているリンクとは、図９の例では、リンクＬ４とリンクＬ７であるから、立体交差を形成しているリンク同士をつなぐリンク列とは、ノードＲとノードＵを結ぶリンク列をさす。つまり、所定範囲内から立体交差を形成しているリンク同士をつなぐリンク列のみ抽出する場合、ノードＲとノードＵを結ぶリンク列のみ抽出される。
【００８６】
また、上述した遠回り回避方法において、リンク列を下位層の地図データから抽出する際、立体交差を形成するリンクに接続しているリンクを特定し、それらをつなぐリンク列を所定範囲内から抽出するようにしても良い。立体交差を形成するリンクに接続しているリンクとは、図９の例では、リンクＬ５やリンクＬ６である。よって、それらをつなぐリンク列は、図９の例では、ノードＳとノードＴを結ぶリンク列となる。つまり、立体交差を形成するリンクに接続しているリンクを特定し、それらをつなぐリンク列を抽出する場合、ノードＳとノードＴを結ぶリンク列が抽出される。立体交差を形成するリンクに接続しているリンクとして、リンクＬ８やリンクＬ９などを含めても良い。ノードＳとノードＴを結ぶリンク列は存在しないが、リンクＬ８とリンクＬ９を結ぶリンク列が存在する場合に、リンクＬ８やリンクＬ９などを含めると有効である。
【００８７】
更に、上述した遠回り回避方法において、リンク列を下位層の地図データから抽出する際、立体交差を形成しているリンクと、立体交差を形成するリンクに接続しているリンクとをつなぐリンク列を抽出するようにしても良い。図９の例では、ノードＵとノードＶを結ぶリンク列が抽出される。
【図面の簡単な説明】
【００８８】
【図１】階層構造をもつ地図データを示す説明図である。
【図２】ネットワークデータ作成方法の機能ブロックを示す説明図である。
【図３】ネットワークデータ作成方法を使用する対象となる地図データの一例を示す説明図である。
【図４】ネットワークデータ作成方法を示すフローチャートである。
【図５】コスト比較を示すフローチャートである。
【図６】分岐ノードから分岐ノードまで非対象経路のコスト計算を行った結果を示す説明図である。
【図７】分岐ノードから分岐ノードまで対象経路のコスト計算を行った結果を示す説明図である。
【図８】左折を禁止する交差点のノードからリンク１つ分移動したノードを端点ノードとみなす場合について説明する説明図である。
【図９】立体交差を形成するリンクを含んだ地図データの説明図である。
【符号の説明】
【００８９】
２０...リンク
２５，３５...ノード
４０...端点ノード抽出部
４５...リンク列抽出部
５０...追加部
５５，５５ａ，５５ｂ...上位層地図データ
６０，６０ａ，６０ｂ...下位層地図データ
Ｌ１２〜Ｌ７８...リンク
Ｌ２３ａ，Ｌ２３ｂ，Ｌ２３ｃ...対象リンク
Ｎ１〜Ｎ８...ノード
Ｎ２，Ｎ３...端点ノード
Ｎ１，Ｎ４，Ｎ６，Ｎ７...分岐ノード
Ａ〜Ｆ...ノード
Ｇ〜Ｖ...ノード
Ｌ１〜Ｌ９...リンク
【図１】
2004219999.tif 000003
【図２】
2004219999.tif 000004
【図３】
2004219999.tif 000005
【図４】
2004219999.tif 000006
【図５】
2004219999.tif 000007
【図６】
2004219999.tif 000008
【図７】
2004219999.tif 000009
【図８】
2004219999.tif 000010
【図９】
2004219999.tif 000011