JP3372910B2 - ポリゴン道路網データ作成装置及び方法 - Google Patents

ポリゴン道路網データ作成装置及び方法

Info

Publication number
JP3372910B2
JP3372910B2 JP29251299A JP29251299A JP3372910B2 JP 3372910 B2 JP3372910 B2 JP 3372910B2 JP 29251299 A JP29251299 A JP 29251299A JP 29251299 A JP29251299 A JP 29251299A JP 3372910 B2 JP3372910 B2 JP 3372910B2
Authority
JP
Japan
Prior art keywords
polygon
node
link
line segment
creating
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.)
Expired - Fee Related
Application number
JP29251299A
Other languages
English (en)
Other versions
JP2001117487A (ja
Inventor
秀昶 有田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zenrin Co Ltd
Original Assignee
Zenrin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zenrin Co Ltd filed Critical Zenrin Co Ltd
Priority to JP29251299A priority Critical patent/JP3372910B2/ja
Publication of JP2001117487A publication Critical patent/JP2001117487A/ja
Application granted granted Critical
Publication of JP3372910B2 publication Critical patent/JP3372910B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、コンピュータが扱
える形での電子地図データで道路部分が道路として識別
されていない場合に、人間の介入を最小とする形で、道
路部分をポリゴン(多角形)化し、道路ネットワークデ
ータを作成するための方法に関するものである。
【従来の技術】主な電子地図には、縮尺1/25000
の国土地理院の国土基本図をベースにし、カーナビゲー
ション、パソコン地図等に使われている道路地図、縮尺
1/2500の地方自治体の都市計画基本図をベースと
し、これを縮尺1/1500サイズに拡大表示した住宅
地図、あるいは縮尺1/10000程度の市街図等が代
表的なものである。このうち縮尺1/25000の道路
地図においては、道路幅は、実寸の縮尺とは異なる何段
階かの「二条線」で表現されており、縮尺1/1000
0〜1/2500地図では、実寸の縮尺となっている。
特に、縮尺1/2500の住宅地図では、「建物」を主
体に表現しているため、「道路」は「その他」の分類と
なり、道路が道路として認識された形でデータベース化
がなされていない場合が多い。しかしながら、最近で
は、カーナビゲーションにおいても、目的地付近の詳細
地図が必要になってきており、また福祉・介護などの場
合等、詳細地図を用いた道順案内、いわばウオーク・ナ
ビゲーションが求められるようになってきている。
【0002】
【発明が解決しようとする課題】しかしながら、縮尺1
/2500レベルの住宅地図データベースには、「道
路」という明示的な種別はなく、今後の利用範囲の拡大
を考えると、住宅地図データからの道路認識、道路ネッ
トワークデータの作成が大きな課題となっている。
【0003】住宅地図データからの道路認識について
は、従来から種々の方法でアプローチがされてきたが、
未だ実用レベルまでの道路抽出・認識精度を有する方法
は確立していない。従来のアプローチの主要な方法は
「道路は平行な線分対から構成されている」ことをベー
スとし、それゆえまず平行な線分対を検出し、それらを
種々の条件のもとで連結して道路領域とする。しかしこ
の方法では、交差点領域は、平行線分対の断点領域とし
てしか検出されないから、実際の交差点の形状を精度良
く表現することができない。また、必ずしも平行条件を
満たさない実際の道路や、交差点と道路の接続部などの
形状も精度良く表現することができない。
【0004】従って、本発明の目的は、線分集合からな
る電子地図データが与えられた時、人間の介入を最小に
した形で、交差点の形状をポリゴン(多角形)として決
定すること、交差点と交差点の間の道路要素部分の形状
をポリゴン化すること、さらに、交差点と道路要素の関
係をネットワークとして記述することにある。
【0005】
【課題を解決するための手段】本発明の第1の観点に従
うポリゴン道路網作成方法によれば、まず、線分地図デ
ータ上で道路内に存在する一点を、視点として、初期的
に指定し、その視点から見える第1の可視線分群を検出
し、それら第1の可視線分群を用いて道路の一部分を意
味するポリゴンを作成する。その後、既に作成されたポ
リゴンから一つの出発ポリゴンを選択し、この出発ポリ
ゴンがもつ複数の辺の中から、他の道路部分の入り口に
相当する辺をリンク辺として抽出し、それらリンク辺か
ら一つの出発リンク辺を選択し、その出発リンク上の端
点以外の点から出発ポリゴンの外側に見える第2の可視
線分群を検出する。そして、それら第2の可視線分群を
用いて、出発ポリゴンに連続する他の道路部分を意味す
る少なくとも1個の新しいポリゴンを作成する。その
後、出発リンク辺を新たに選択して、新しいポリゴンを
作成するという処理を繰り返すことで、最初に作成した
ポリゴンから連続する多数のポリゴンを次々に作成する
ことができ、それによりポリゴン道路網データが作り上
げられる。
【0006】この方法によれば、道路内に初期的に指定
した視点を出発点として、道路内で視点を次々に新しい
場所に移しつつ、各視点からの可視線分をピックアップ
していくので、地図上の建物や道路など様々なオブジェ
クトを示す線分の中から、道路の輪郭を構成する線分を
選択的に抽出することができ、それら抽出した線分を用
いて、道路の形状を表したポリゴンを作成することがで
きる。道路が平行でなくても、交差点が複雑な形状であ
っても、それらの形状を忠実に表現したポリゴンが作成
できる。そして、道路のある部分のポリゴンが作成され
ると、次に、そのポリゴンを出発点として、それに繋が
る別の道路部分のポリゴンが作成されるというように、
芋づる式に連続する道路部分のポリゴンが作成されてい
って、ポリゴン道路網データが作成される。
【0007】本発明の第2の観点に従うポリゴン道路網
作成方法によれば、まず、線分地図データ上で道路内に
存在する一点を、視点として、初期的に指定し、その記
視点から見える第1の可視線分群を検出し、検出した第
1の可視線分群を用いて一つの交差点を意味するノード
ポリゴンを作成する。その後、既に作成されたノードポ
リゴンの中から一つの出発ノードポリゴンを選択し、こ
の出発ノードポリゴンがもつ複数の辺の中から、他の道
路部分の入り口に相当する辺をリンク辺として抽出し、
それらリンク辺から一つの出発リンク辺を選択し、その
出発リンク辺上の端点を除く点から出発ポリゴンの外側
に見える第2の可視線分群を検出する。そして、それら
第2の可視線分群に基づいて、出発ノードポリゴンに隣
接する一つの交差点を意味する新たなノードポリゴンを
作成し、この新たなノードポリゴンを終着ノードポリゴ
ンとする。さらに、上記第2の可視線分群に基づいて、
出発ノードポリゴンと終着ノードポリゴンとを繋ぐ道路
要素を意味するリンクポリゴンを作成する。上記の第2
の可視線分群の検出と終着ノードポリゴンの作成とリン
クポリゴンの作成とを繰返し行うことにより、連続する
多数のノードポリゴンとリンクポリゴンを次々に作成す
ることができ、それにより、ポリゴン道路網データが作
り上げられる。
【0008】この方法によれば、道路内の交差点の形状
を忠実に表したノードポリゴンと、交差点間を結ぶ道路
要素の形状を忠実に表したリンクポリゴンとから構成さ
れるポリゴン道路網データを作成することができる。
【0009】好適な実施形態は、更に、各ノードポリゴ
ン内にノード点を設定し、また、隣り合うノード点の各
対を繋ぐように各リンクポリゴン内を通るリンク線分を
設定する。それにより、ポリゴン道路網データに加え
て、多数のノード点とリンク線分からなる点と線の道路
網データも一緒に作り上げることができる。
【0010】好適な実施形態では、ノードポリゴンを作
成する際、上記視点からより近い端点ほど始点からより
遠くに配置されるようにして、第1の可視線分群のもつ
端点群を写像し、次に、写像された端点群の凸閉包を作
成し、次に、写像された端点群を元の配置に戻すように
して、凸閉包を逆写像する。そして、逆写像された凸閉
包に対応する多角形を、ノードポリゴンとする。これに
より、ノードポリゴンは、交差点から延びる道路要素に
まで余計にはみ出した部分の少ない、交差点の形状を的
確に表した形状になる。
【0011】好適な実施形態では、終着ノードポリゴン
を作成する際、まず、第2の可視線分群に基づいて、出
発ノードポリゴンに隣接する交差点内に在る可能性をも
つ一点を検出し、この検出した一点を新たな視点として
指定する。そして、この新たな視点について、最初のノ
ードポリゴンを作成したときと同様の手順で終着ノード
ポリゴンを作成する。これにより、最初に道路内に指定
された一点を出発点として、近くの交差点の場所が次々
と検出されていって、各交差点の場所にノードポリゴン
が作成されていく。理想的には、最初の指定点に繋がる
道路内に存在する全ての交差点が検出され、それら交差
点の全てにノードポリゴンが作成されるので、最初の一
点を指定するだけで、その指定点に繋がる道路を全部カ
バーするポリゴン道路網が自動的に作られる。
【0012】好適な実施形態では、上記新たな視点を指
定する方法として、第2の可視線分群を右側線分列と左
側線分列に分け、右側線分列と左側線分列のうちの一方
の側の線分列から、出発リンク辺に最も近い脇道入り口
に相当する一つの隙間を検出し、この隙間と他方の側の
線分列との間に一点を選び、その一点を新たな視点とし
て指定する。この方法により、出発ノードポリゴンに隣
接する交差点内に的確に新たな視点を設定することがで
きる。
【0013】また、上記の方法で新たな視点を指定しよ
うとしたところ、右側線分列と左側線分列のいずれから
も脇道入り口に相当する隙間が検出できない場合には、
所定範囲内で右側線分列の出発リンク辺から最も遠い端
点と左側線分列の出発リンク辺から最も遠い端点との間
の隙間を検出して、この隙間の近傍に新たな視点として
指定する。これにより、出発ノードポリゴンに接続する
道路要素が、交差点をもつことなく長く延びている場合
でも、その道路要素の途中に仮想的なニ叉路交差点を表
すダミーノードポリゴンを形成することができ、そし
て、このダミーノードポリゴンを新たな出発点として、
更に遠方に延長するようにポリゴン道路網データを作成
していくことができる。
【0014】本発明の他の特徴は、以下の実施形態の説
明の中で具体的に説明する。
【0015】
【発明の実施の形態】本発明の方法は、典型的には、プ
ログラムされたコンピュータを用いて実施することがで
きるが、勿論、その処理の少なくとも一部を専用ハード
ウェア回路により実施することも可能である。
【0016】以下、本発明の一実施形態を説明する。こ
の実施形態は、C言語でソースコードが記述された汎用
コンピュータ用のコンピュータプログラムとしてインプ
レメントされている。汎用コンピュータ自体の構造は、
当業者に周知であるから特に説明しない。C言語も当業
者に周知であるから、C言語の記述を流用した説明が幾
つかあるが、それは当業者にとりより具体的な理解を与
えるはずである。
【0017】1. 概略的な処理手順 まず最初に、本実施形態において、コンピュータが地図
の線分集合データから道路を認識し、道路をポリゴン化
し、そして道路ネットワークを作成する処理(以下、道
路網認識処理という)の概略的な手順を以下の(1)〜
(5)に示す。
【0018】(1) 線分集合から、どこが道路かをコ
ンピュータに100%確実に認識させることは難しいの
で、線分集合データをディスプレイ画面に表示し、人間
(オペレータ)のパターン認識能力を活かして、「ここ
は確実に道路内の1点である」という点をマウスなどで
人間に指定してもらう。
【0019】(2) (1)で指定した点の近傍の領域
を「道路内の領域」であると見做し、この領域に連結す
る領域を道路候補として検出する。ここで、「道路」
は、「交差点」と、交差点同士を結ぶ「道路要素」の2
種類の要素から構成される。
【0020】(3) (2)の処理の具体的な手順は次
の通りである。ます、指定点が或る交差点内に存在する
ものと暫定して、その交差点の領域を示す凸多角形(凸
閉包)を決定する。このとき、その指定点が本当に交差
点内に在れば、その交差点の凸多角形(以下、「ノード
ポリゴン」という)が決定され、また、指定点が交差点
内ではなく、交差点間を結ぶ道路要素内に在る場合に
は、その指定点を内包する最小道路幅の矩形領域が「2
叉路仮想交差点」として決定される。次に、こうして決
定された交差点多角形から道路要素に対応する辺を抽出
し、その抽出した辺からその道路要素を構成する線分を
順次に追跡して、一番近い交差点を検出しノードポリゴ
ンとして登録する。また、両交差点間の道路要素を抽出
し、道路要素多角形(以下、「リンクポリゴン」とい
う)として登録する。次に、検出したノードポリゴンか
ら、同様な方法でその先のノードポリゴン及びリンクポ
リゴンを順に検出する、という「芋づる方式」で道路網
認識処理を進める。
【0021】(4) 道路網認識処理が理想的に行われ
れば、最初の指定点につながっている道路はすべて検出
できるはずであるが、検出できない時は、人間が介入し
てまた未検出領域部分の「確実に道路内である1点」を
追加指定すれば、検出が続行される。
【0022】(5) 検出されたノードポリゴンの重心
をノード、またリンクポリゴンの中心線をリンクと見做
すことにより、道路網認識処理が終了した時点で、基本
的な道路ネットワークデータも自ずと作成されている。
かくして、最少の人間の介入で線分データ集合からの道
路の検出とポリゴン化及び道路ネットワーク作成が達成
できる。
【0023】2. 入力データ:線分地図データ 本実施形態は、次のような線分地図データを入力する。
【0024】(1) 座標系は、左下方に原点を有
し、右方へx正軸が延び、上方へy正軸が延びる数学的
な平面直交座標系である。1枚の地図の範囲のフェレ座
標(=左下隅座標、右上隅座標)を(XS,YS)、(XE,YE)
とする。XSは処理対象範囲の最小x座標、YSは最小y
座標、XEは最大x座標、YEは最大y座標である。
【0025】(2) 図1に線分地図データの例を示
す。図1に示すように、線分地図データは、線分数を示
すデータ1と、各線分の始点と終点の座標対データ3と
を含んでいる。各線分がポリゴン又はポリラインである
必要はない。
【0026】3. 出力データ:ポリゴン道路網データ 本実施形態は、上記の線分地図データに対して道路網認
識処理を行うことにより、次のポリゴン道路網データを
作成する。
【0027】(1) 図2は、ポリゴン道路網データが
表すポリゴン道路網のイメージ例を示す。図2に示すよ
うに、ポリゴン道路網データは、交差点を表すノードポ
リゴン5、5、…の集合と、交差点間の道路要素を表す
リンクポリゴン7、7、…の集合から構成される。
【0028】(2) 交差点を表すノードポリゴン5と
は、その交差点の内部(できるだけ中心近傍)に1点を
指定した時、その指定点を中心をもつ規定半径(例えば
最大道路幅の2倍程度以下)の円の領域内に端点を有す
るか又はその円領域を通過する線分の垂線の足の点から
構成された端点集合のうち、上記指定点のみを真の内部
点として含む「内部凸閉包」である、と定義される。こ
こで、「内部凸閉包」とは、この明細書に特有の用語で
あって、簡単に言えば、上記指定点の近傍の端点から構
成される最小の凸閉包を意味する。ここで、「凸閉包」
とは、その内部又は辺上の任意の2点間を結ぶ線分が必
ずその多角形内の領域に完全に含まれるような多角形、
簡単に言えば、全て頂点が外方へ出ている(つまり、凹
んでいる頂点をもたない)ような凸多角形を指す。
【0029】(3) 図3は、ノードポリゴンの種類を
示している。図示のように、ノードポリゴン5は、次の
4タイプに分類することができる(dcはタイプコー
ド)。
【0030】dc=0: 図3(a)に示すように、地
図13の枠(データ境界線)15を通過する道路17a
のデータ境界線15と接した個所に設定されるダミー2
叉路交差点5a。
【0031】dc=1: 図3(b)に示すように、広
場などの開放地域に繋がる道路17b又は袋小路17b
の端部を表すダミー2叉路交差点5b。
【0032】dc=2: 図3(c)に示すように、曲
線道路17cの途中の部分に認識処理上設定されるダミ
ー2叉路交差点5c。
【0033】dc≧3: 図4(a)〜(c)に示すよ
うに、通常の三叉路以上の交差点5d〜5g。
【0034】なお、図3に示した2叉路交差点5a〜5
cは、道路長さ方向の交差点長さが道路最小幅WMINに等
しい矩形ポリゴンで表現される。
【0035】(4) ノードポリゴン5は、次の情報
を持つ。
【0036】 [ノードポリゴン] int Node; /*現在までに登録されたノードポリゴンの数* / struct NODE{ int sts; /* ワーク変数*/ int dc; /* ノードポリゴンのタイプコード*/ int x; /* ノードポリゴン重心のx座標 */ int y; /* 同上 y座標 */ int z; /* 同上 z座標(予備) */ int np; /* ノードポリゴンの頂点数 */ int xp[NDPSIZE]; /* ノードポリゴン頂点のx座標列*/ int yp[NDPSIZE]; /* 同上 y座標列 */ int nl; /* リンク辺(道路要素への入り口辺)の数 */ int link[NDLSIZE]; /* このリンク辺に接続するリンクポリゴンの識 別番号*/ int node[NDLSIZE]; /* このリンク辺に接続する先端のノードポリゴン 番号 */ int lpvs[NDLSIZE]; /* リンク辺始点のノードポリゴン頂点番号*/ int lpve[NDLSIZE]; /* リンク辺終点のノードポリゴン頂点番号 */ int ptr; /* 予備:外部関連情報とのリンクポインター*/ } nodef[NODESIZE]; /* ノードポリゴンデータファイル名 */ ここで、 NDPSISEは、ノードポリゴンの最大端点数、 NDLSIZEは、ノードポリゴンの最大リンク辺数(1つの交差点から出ている道 路の最大本数)、 NODESIZEは、ノードポリゴンデータの最大予定数である。
【0037】(5) リンクポリゴン7は、隣り合う
交差点間の道路要素(リンク)を表現する。リンクポリ
ゴン7の両端は、対応するノードポリゴン5と関係づけ
られており、次の情報をもつ。
【0038】 [リンクポリゴン] int Nlink; /* 現在までに登録されたリンクポリゴンの 数*/ struct LINK{ int sts; /* ワーク変数*/ int dc; /* リンクポリゴンのタイプコード */ int xF[2]; /* このリンクポリゴン存在矩形の最小・最大x座 標*/ int yF[2]; /* 同上 最小・最大y座標 */ int node[2]; /* リンクポリゴン両端のノードポリゴン番号 */ int prev[2]; /* 両端で接続する角度順で1つ前のリンクポリゴ ン番号*/ int next[2]; /* 同上 1つ後のリンクポリゴン番号*/ int len; /* リンクポリゴン中心線の長さ*/ int w; /* リンクポリゴン内幅の最小値*/ int dir; /* 有向・無方向コード dir=0,1,2,3*/ int nc; /* 中心点列の頂点の数 */ int xc[NLCSIZE]; /* 中心点列のx座標列 */ int yc[NLCSIZE]; /* 中心点列のy座標列 */ int wc[NLCSIZE]; /* 中心点列地点の(道路)半幅 */ int np; /* リンクポリゴンの頂点数*/ int xp[NLPSIZE]; /* リンクポリゴン頂点のx座標列 */ int yp[NLPSIZE]; /* 同上 y座標列*/ int zp[NLPSIZE]; /* 同上 z座標列(予備) */ int vsp[2]; /* リンク辺に対応するリンクポリゴン始点頂点 番号 */ int vep[2]; /* 同上 終点番号 */ int parm[4]; /* 予備:パラメータ格納エリア */ int ptr; /* 予備:外部情報とのリンクポインタ */ } linkdf[LINKSIZE]; /* リンクポリゴンデータファイル名*/ ここで、 NCLSIZEは、1つのリンクポリゴンの中心線の最大端点数、 NLPSIZEは、1つのリンクポリゴンの最大端点数、 LINKSIZEは、リンクポリゴンの最大予定数である。
【0039】(6) ノードポリゴン5の集合とリンク
ポリゴン7の集合が道路ネットワークを表現している。
すなわち、任意のノードポリゴン5は、そのノードポリ
ゴン5に接続するリンクポリゴン7の数と、これらのリ
ンクポリゴン7の識別番号の情報を有しており、また、
任意のリンクポリゴン7にはその両端のノードポリゴン
5の識別番号が付与されている。従って、ノードポリゴ
ン5とリンクポリゴン7の連結関係は、グラフ理論にお
けるノードとリンクの関係を現しており、「道路ネット
ワーク」を表現しているということができる。このよう
にポリゴン化されたノードとリンクからなる道路ネット
ワークだけでなく、図2に示すように、ノードポリゴン
5の重心9とリンクポリゴン7の中心点列11の情報の
みを用いて、「点」のノードと「線」のリンクを用いた
従来型の道路ネットワークも得られる。
【0040】(7) 本実施形態では、交差点間のリン
クは、方向(いずれの交差点へ向うかを示す情報)を持
たない無方向リンクであるが、これを次のようにして有
向リンクに拡張することもできる。すなわち、順と逆の
方向を定義し、1つの無方向リンクを順方向リンク、逆
方向リンクに分割し、リンクポリゴンを例えばその中心
線分で、順方向リンクポリゴンと逆方向リンクポリゴン
に分割する。
【0041】(8) 複数枚の地図データの統合が必要
な場合には、図3(a)に示したようなデータ境界の仮
想的ノードポリゴン5aをインターフェイスとして、隣
り合う地図データ同士の統合を行うことが可能である。
また、1枚の広域の地図データを複数の狭域の地図デー
タに分割して、狭域地図データ間の境界を通る道路のデ
ータ境界に仮想的なノードポリゴン5aを設定すること
により、連結情報を有した形での分割が可能である。
【0042】4. 道路網認識処理の詳細手順 図5は、道路網認識処理のフローチャートである。道路
網認識処理は、次のステップから構成される。
【0043】4.1 ステップS1:線分地図データの
読み込み。
【0044】4.2 ステップS2:道路内一点の指
定。
【0045】4.3 ステップS3:初期ノードポリゴ
ンの検出。
【0046】4.4 ステップS4、S6:処理制御。
【0047】4.5 ステップS5:終了処理。
【0048】4.6 ステップS7:リンクポリゴンの
検出。
【0049】4.7 ステップS8:登録済みチェッ
ク。
【0050】4.8 ステップS9〜S12:ノードポ
リゴン、リンクポリゴンの登録。
【0051】4.9 ループへ戻る。
【0052】これらのステップの具体的処理内容を以下
に説明する。
【0053】4.1 ステップS1:線分地図データの
読み込み。 まず、図1に示したような線分地図データを読み込み、
それに基づき地図イメージを描いてディスプレイ画面に
表示する。前述したように、線分地図データには次の情
報が含まれている。 Nvec: 線分データ数 (xs(I),ys(I),xe(I),ye(I)) I=0,1,…,Nvec-1: 各
線分の始終点座標対データ ここで、(xs、ys)は、線分の始点座標、(xe,
ye)は終点座標である。
【0054】(1) 線分の始終点座標は、本実施形態
では直交座標系の位置座標を表す整数データである。し
かし、これは本質的な条件ではなく、実数データを用い
ても良い。計算幾何学の計算に用いる場合には、殆ど全
て実数値にして用いる。
【0055】(2) 線分データの読み込み時に、線
分データ端点のx、y座標の最小値、最大値を計算して
おくものとする。これらを、 XS: x最小値、 YS: y最小値、 XE: x最大値、 YE: y最大値、 とする。従って、最小座標値(XS,YS)から最大座
標値(XE,YE)までの地図範囲が処理対象範囲であ
る。これらの値は、境界にかかる交差点又は道路の判
定、及び表示の制御に用いる。
【0056】4.2 ステップS2:道路内一点の指
定。 本実施形態には、単なる線分集合の地図データから、ど
の部分が道路であるか、あるいは建物であるかをコンピ
ュータが自動認識する機能は組み込んでいない。その代
替として、線分地図データを画面上に表示して、人間の
オペレータが「確実に「道路内の1点」と認識した点」
をポインティング・デバイス等で指定する。すなわち、
人間の認識機能を用いて初期値を作成する。図6は、画
面に表示された地図21上でオペレータが「道路内の1
点」23を指定した例を示している。コンピュータは、
「オペレータが指定した1点の座標(xv、yv)が、
確実に道路内に存在する。」という前提で以下の処理を
進める。もし、指定点が道路内に存在しなければ、以下
の処理は直に止まるであろう。
【0057】4.3 ステップS3:初期ノードポリゴ
ンの検出。 オペレータから指定された1点をベースとして、その指
定点が一応交差点内に在ると仮定して、その指定点を含
む交差点ポリゴンを検出する。この時、指定された点が
実際に、上記仮定通り交差点内に在るのか、上記仮定と
違って交差点ではない道路要素内に在るのかにより、異
なったノードポリゴンが形成される。ノードポリゴンの
検出手順は次の(1)〜(8)の通りである。
【0058】(1) 図6に示すように、指定点23
を中心として、x方向にWMAX(最大道路幅)の2倍
の幅と、y方向にWMAXの2倍の長さをもった矩形探
索領域25を定義する。そして矩形探索領域25内に少
なくとも1つの端点を有するか又は矩形探索領域25を
通過する線分(要するに、矩形探索領域25に少なくと
も一部分が存在する線分)をリストアップする。図6の
例の場合、例えば図7に示すように線分27、27、…
がリストアップされる。以下の処理では、リストアップ
された線分27、27、…のうち、探索領域25の外側
に出た部分を有するものについては、その線分と探索領
域25の外枠との交点に新たな端点(図7では2重円で
示す)29、29、…を設けて、その新たな端点29、
29、…より外側の部分は別の線分と見做す。それによ
り、以下の処理は、探索領域25内に完全に存在する線
分だけに対して行われることになる。
【0059】(2) 次に、(1)でリストアップさ
れた探索領域25内の線分27、27、…の中から、指
定点23を視点として、この視点23をから一定の回転
方向(例えば反時計回りで)で回転しつつ全周方向を見
渡して、視点23から少なくとも一部分が見える可視線
分(つまり、始点からその線分上のいずれかの点に向っ
て直線を、他の線分に触れることなく引くことができる
線分)のみを抽出し、これらの可視線分の端点座標を回
転方向の順番でワーク領域に登録する。図7の例の場
合、例えば図8に示すように、可視線分31、31、…
が抽出され、それら可視線分31、31、…の端点座標
を回転方向の順序で登録することにより、太線で示した
ような可視線分ポリゴン33が定義されたことになる。
【0060】(3) 更に、可視線分の各端点から、他
の可視線分へ垂線を下ろし、その垂線の足が、可視線分
上にあれば(つまり、可視線分の延長線上ではなく、可
視線分そのもの上にあれば)、その垂線の足の座標もワ
ーク領域に追加の端点として登録しておく。例えば、図
8に示すように、或る端点35から他の可視線分へ垂線
を下ろすと、他の可視線分上に垂線の足37と39が得
られるので、その垂線の足37、39の座標もワーク領
域に追加登録しておく(他の端点から下ろした垂線の足
も同様)。このように、可視線分の元の端点に加えて、
上記の垂線の足も追加の端点として登録しておくと、次
の(4)の処理でノードポリゴンを作成したとき、ノー
ドポリゴンが過大なサイズ(つまり、交差点から更に道
路要素にまで張り出した不自然な形状)にならず、道路
要素は含まず交差点だけを上手く表した最小のサイズと
自然な形状のノードポリゴンが得られ易くなる。
【0061】(4) これらのワーク領域に登録され
た端点の集合に対して、指定点(視点)23を唯一の内
部点とする「内部凸閉包」を求める。ここで、「内部凸
閉包」とは、前述したように、この明細書に特有の用語
であって、簡単に言うと、指定点23の近傍の端点から
構成される最小の凸閉包を意味する。ここで、「凸閉
包」とは、その内部又は辺上の任意の2点間を結ぶ線分
が必ずその多角形内の領域に完全に含まれるような多角
形、簡単に言えば、全て頂点が外方へ出ている(つま
り、凹んでいる頂点をもたない)ような凸多角形を指
す。
【0062】指定点23を唯一の内部点とする内部凸閉
包は、数学的には次のようにして求めることができる。
【0063】4a) ワーク領域に登録された点の中か
ら、図8に例示するように、指定点23に最も近い点4
1を見つけ、指定点23からその最近点41までの距離
r0を求める。指定点23を中心とし、指定点23に最
も近い端点41までの距離r0を半径とした円を定義す
る。
【0064】4b) 指定点23を中心とし、指定点
23から最近点41までの距離r0を半径とした円を定
義する。そして、ワーク領域に登録された点の各々を、
指定点23からの距離の逆数に応じて、その円の内部に
写像する。例えば、図9(a)に例示するように、ワー
ク領域に登録された点P0〜P15のうち、点P0が最
近点で、その最近点P0と指定点23との距離がr0だ
とする。各点Pi(i=0〜15)を、それと指定点2
3との距離riの逆数に応じて写像すると、図9(b)
に示すように、各点Piの写像点P’iは、指定点23
から距離r’i=R×r0/riの位置に配置される
(Rは定数で、例えばr0である)。点Piが指定点2
3からより遠いほど、その写像点P’iは指定点23に
より近くなる。これらの写像点P’iから、全ての写像
点P’iを内包する最小数の短点をもつポリゴンである
凸閉包51を決定する。
【0065】4c) 次に、この凸閉包51を、ri
=R×r0/r’iの式で逆写像して図9(c)に示す
ように元の座標に戻す。こうして凸閉包51を逆写像し
て出来たポリゴン53が、指定点23を唯一の内部点と
する内部凸閉包、つまり、指定点23を含むノードポリ
ゴン(以下、初期ノードポリゴンという)である。
【0066】上記の4a)〜4c)の処理は、直感的に
は、指定点23の近傍の点から最小の凸多角形を選択す
る操作に近いものである。図8に示した例の場合、可視
線分ポリゴン33の端点に対して上記の処理を行うこと
により、図10に太線で示すように、交差点の形を的確
に表した初期ノードポリゴン61が得られる。
【0067】以上の初期ノードポリゴンを求める処理
は、本実施形態では関数GetNodePolygon(…)としてイン
プレメントされている。この関数GetNodePolygon(…)の
入出力データは次の通りである。
【0068】[入力データ] (xv、yv) : 指定点(視点)の座標 WMIN : 道路最小幅 WMAX : 道路最大幅 [出力データ] resp: 応答コード resp<0: ノードポリゴンは求められなかった
(負の値でエラー番号出力) resp≧0: ノードポリゴンが求まった np : ノードポリゴンがもつ端点数 elist[]:端点が属する線分番号 (xp「」、yp「」):ノードポリゴンの端点座標列 (xG、yG) : ノードポリゴンの重心座標 nlink: ノードポリゴンのリンク辺の数(道路候
補入り口の数) (lpvs[],lpve[]):リンク辺の端点番号
対 lpvs[i]:リンク辺iの始点端点番号 lpve[i]:リンク辺iの終点端点番号 ただし、リンク辺(後述)は、道路幅最小値WMIN以
上で道路幅最大値WMAX*1.1以下の長さをもつこ
とを条件とする。
【0069】(5) 次に、図10に例示するように、
初期ノードポリゴン61の重心63を計算する。次に、
この初期ノードポリゴン61の辺65a〜65gを反時
計回りの順で着目し、着目した各辺65a〜65gの始
点を0、終点を1としたとき比率0.4〜0.6となる
範囲に(要するに、各辺の両端点近傍を除いた範囲
に)、各辺65a〜65gに垂直方向の適当幅(例えば
最小道路幅WMINの1倍〜2倍)をもった矩形領域6
7a〜67gを設定し、各矩形領域67a〜67g内に
実線分(つまり、地図データの線分)が有るか否かを調
べる。図10の例の場合、図7と対比して分るように、
矩形領域67b、67d、67f及び67g内には実線
分が無く、矩形領域67a、67c及び67e内には実
線分が有る。実線分が1つでも有る矩形領域に対応する
辺65a、65c及び65eは、その交差点(ノードポ
リゴン61)に接続する道路要素の入り口部分ではない
と判断し、実線分が無い矩形領域に対応する辺65b、
65d、65f及び65gは、その交差点(ノードポリ
ゴン61)に接続する道路要素入り口の候補であると判
定する。ただし、実線分が無い矩形領域に対応する辺で
あっても、道路幅最小値WMIN以上で道路幅最大値W
MAX*1.1以下の長さをもつという条件を満たさな
い辺は、道路要素入り口の候補から外す。この判定で見
つかった道路要素入り口候補の辺65b、65d、65
f及び65gを、本明細書では「リンク辺」と呼ぶ。
【0070】以上のようにして求まった初期ノードポリ
ゴンの結果データを、ノードポリゴンデータファイル
に、「リンク辺未処理状態」のノードポリゴンとして、
次の1)〜5)のようにして登録する。
【0071】1) 初期ノードポリゴンに、新規のノ
ードポリゴン番号を割り当てる。
【0072】2) 重心座標(xG、yG)を交差点
代表点として格納する。
【0073】3) ノードポリゴンの端点数np、端点
座標点列データ(xp「」、yp「」)を登録する。
【0074】4) リンク辺の数nlink、各リンク
辺の開始・終了となるノードポリゴンの端点番号(lp
vs[i],lpve[i])を登録する。
【0075】5) 各リンク辺の連結先のノード番号と
リンクポリゴン番号に、未処理を意味する値−1を登録
し、かつ、リンク辺の処理済み個数を0に初期化する。
【0076】(6) 次に、登録した初期ノードポリゴ
ンのリンク辺の数nlinkをチェックする。nlin
k=0であるならば、初期ノードポリゴンが道路入り口
候補を持たないことを意味する。これは、指定点が道路
以外の部分(例えば家屋の内部など)に誤って指定され
た場合等なので、エラーリターンする。
【0077】nlink=1ならば、初期ノードポリゴ
ンが、例えば図3(b)に示した袋小路の行き止まり地
点、又は広場などの開放地に繋がっている道路の端(解
放端)等に相当する。
【0078】nlink=2ならば、交差点内でなく道
路要素内に1点が指定された場合等に相当する。
【0079】nlink≧3ならば、図4に示したよう
な通常の三叉路以上の交差点である可能性が大である。
【0080】0<nlink≦2の場合、上述した通
り、その初期ノードポリゴンは交差点以外の道路部分に
存在すると推定される。この場合、図11に示すよう
に、指定点23を中心として道路進行方向に最小道路幅
WMINに等しい幅をもった、ニ叉路ダミー交差点とし
ての矩形(4頂点)のポリゴン71を追加的に生成す
る。このニ叉路ダミーノードポリゴン71は、図3
(c)に示したような曲線道路を表現したり、図3
(b)に示したような境界に接する道路の端点又は道路
の開放端を表現したりするためのオブジェクトとして重
要な役割をもつ。
【0081】(7) 初期ノードポリゴンの端点数np
もチェックし、np≧3かつnlink≧3の場合に
は、上記の結果を初期ノードポリゴンとして確定させ
る。
【0082】nlink=2の場合には、「曲がり角」
の可能性があるので、曲がり角であるか否かを次の方法
で判定する。すなわち、図12に示すように、初期ノー
ドポリゴン81の重心より、各リンク辺85a、85b
の中心に向かう線分87a、87bの方向角を計算し、
その方向角の差89(180度以上なら、360度から
その角度を引いた角度)が所定の閾値ACMAX以内
(たとえば150度以内)なら、曲がり角と判定し、閾
値ACMAXより大きければ、曲がり角でない直線に近
い道路と判定する。曲がり角と判定した場合、初期ノー
ドポリゴン81を元の形状のままで確定させ、曲がり角
でないと判定した場合には、初期ノードポリゴン81を
元の形状から図11に示したニ叉路ノードポリゴン71
に置換して確定させる。
【0083】(8) 上記の方法により、交差点部分で
なくとも、道路内の1点を指定すれば、何らかのノード
ポリゴン候補データが得られる。
【0084】4.4 ステップS4、S6:処理制御。 (1) ステップS4で今まで登録したノードポリゴ
ンの中から、未処理リンク辺を持つノードポリゴンを探
索する。未処理リンク辺を持つノードポリゴンが無けれ
ば、ループを抜けステップS5の「終了処理」に飛ぶ。
未処理リンク辺を持つノードポリゴンが無い場合とは、
理想的には、指定点に繋がる道路に含まれる全ての交差
点と道路要素のポリゴンが登録され終わったときであ
る。
【0085】(2) 未処理リンク辺を持つノードポリ
ゴンがあれば、ステップS6へ進んで、そのノードポリ
ゴンのノード番号nodeと未処理リンク辺番号mを確定
し、そしてステップS7に進む。初期ノードポリゴンを
登録したばかりの段階では、当然、この初期リンクポリ
ゴンは未処理リンク辺を持つから、ステップS6、S7
へ進むことになる。
【0086】4.5 ステップS5:終了処理。 生成されたノードポリゴンの数、リンクポリゴンの数、
リンク辺の数、リンク辺の数のうち正常処理されたリン
ク辺の数、解が求められなかったリンク辺の数等を集計
して、この道路網認識処理を停止する。加えて、処理停
止前に、道路網認識処理の結果、つまりノードポリゴン
ファイル及びリンクポリゴンファイル等を外部出力して
もよい。また、処理停止後、ディスプレイ上で人間のオ
ペレータが見て、未処理の道路領域が残っていれば、新
たにその道路領域内の1点を追加的に指定することによ
り、認識処理を再開することもできる。
【0087】4.6 ステップS7:リンクポリゴンの
検出。 (1) ステップS4、S6で検出された番号nodeのノ
ードポリゴンの、番号mの未処理リンク辺の始点・終点
端点番号(lpvs[m],lpve[m])を取り出
し、これから、そのリンク辺の端点座標(xa,ya)
及び(xb、yb)を求める。また、当該ノードポリゴ
ンの重心座標(xG、yG)を取り出しこれを(xs
G、ysG)とする。
【0088】(2) 重心(xsG、ysG)から、リ
ンク辺の始点(xa,ya)から終点(xb、yb)に
至る方向で、隣接ノードポリゴンの検出とそのノードポ
リゴンまでの、リンクポリゴンおよび中心線候補の検出
を行なう。具体的な処理手順は以下の1)〜11)の通
りである。
【0089】1) 図13に示すように、当該ノードポ
リゴン91の重心(xsG、ysG)93から、未処理
リンク辺95の中点(xv=(xa+xb)/2,yv
=(ya+yb)/2)96へ向って、長さDSと所定
の左右幅WL,WRをもった矩形探索領域97を設定す
る。
【0090】2) 図13に示すように、この矩形探索
領域97の内部に少なくとも1つの端点を持つか、ある
いはこの領域97を通過する線分99、99、…を全て
リストアップする。
【0091】3) 図14に示すように、未処理リンク
辺95の中点(xv、yv)96を視点として、始点
(xa,ya)から終点(xb、yb)まで反時計回り
に見渡して、2)でリストアップした線分集合(図1
3、線分99、99、…)の中から、中点96から全部
又は一部分が見える可視線分101、101、…を抽出
し、それら可視線分101、101、…の端点を反時計
回りにソートする。
【0092】4) 3)で抽出した可視線分101、1
01、…又はその端点を、重心(xsG、ysG)93
から視点(xv、yv)96方向を見ていると仮定し
て、図15に示すように右線分列101R、101R、
…と左線分列101L、101L、…に分割する。具体
的な方法は、反時計回りにソートした端点の並びの中か
ら、視点(xv、yv)96から最も遠い端点以前の部
分に対応する線分列を右線分列101R、101R、
…、それより後の部分に対応する線分列を左線分列10
1L、101L、…とする。
【0093】5) 右線分列101R、101R、…
と左線分列101L、101L、…の各列において、重
心(xsG、ysG)93から測って、中点(xv、y
v)96へ向う方向で、一番近い第1の端点を選び、次
に、その第1の端点より遠い端点の中で、その第1の端
点に最も近い第2の端点を選び、次に、その第2の端点
より遠い端点の中で、その第2の端点に最も近い第3の
端点を選び、…という処理を最も遠い端点に到達するま
で繰り返す。こうして選んだ右側の第1から最後までの
端点の列を「右側端点列」、左側の第1から最後までの
端点の列を「左側端点列」として保持し、これら左右側
端点列に属する線分番号も同時に保持する。この処理に
より、図15に示す脇道に入った端点103R、103
R、103Lは、左右側端点列から除去される。結果と
して、リンク辺95から延びる一本の道路要素の左右の
輪郭線の端点、及び、その途中に脇道がある場所では、
その脇道の入り口となる端点を順に連ねた左右の点列1
05R、105R、…と105L、105L、…とし
て、上記の左右側端点列が得られる。
【0094】6) 図16に示すように、左右側端点
列105R、105R、…と105L、105L、…の
各列において、第1の端点と第2の端点が同一線分の両
端か否かチェックし、そうであれば次の第3の端点に進
み、そうでなければ(つまり、この2端点間が空隙であ
れば)この2端点間の距離(空隙の長さ)を計算し、そ
の距離が最小道路幅WMINより大きければ、その2端
点間の空隙から脇道が出ている可能性があるので、この
空隙をリストアップする。同様にして、順次相隣る2端
点間が脇道の入り口に対応する可能性がある空隙か否か
をチェックし、そうであればその空隙をリストに加え
る。左右側端点列の終端まで、この検出処理を行ない、
終了すると、図16に示すように、脇道入り口候補の空
隙107R、107R、107L、107Cが検出され
る。これら検出された空隙107R、107R、107
L、107Cを視点(xv、yv)96から距離の近い
順にソートしたデータを作成する。
【0095】7) 6)において、空隙が全然検出され
なければ、その道路要素は例えば袋小路等の場合である
ので、その最先端部分に、dc=1の2叉路ダミーノー
ドポリゴン(図3(b)に示したノードポリゴン5b)
を生成する。
【0096】8) 6)において、図16に示したよう
に空隙107R、107R、107L、107Cが検出
された場合、それら空隙107R、107R、107
L、107Cを視点96からの距離の近い順に順次に、
交差点である可能性をテストする。具体的には、図16
に示すように、右側端点列の空隙107R、107Rに
ついては、その空隙線分の中点から左側端点列に垂線1
09、109を下ろし、その垂線の中点111、111
に視点(xu,yu)を設定して、ノードポリゴンの検
出を行なう。左側端点列の空隙107Lについては、同
様に空隙線分中点から右側端点列へ降ろした垂線113
の中点115に視点を設定して、ノードポリゴンの検出
を行なう。右側端点列の1点と左側端点列の1点とから
なる空隙107Cについては、その2点を結ぶ線分の中
点117に視点を設定してノードポリゴンの検出を行な
う。
【0097】ノードポリゴンの検出は、前述した初期ノ
ードポリゴンの検出と同じ手法で、つまり、関数GetNod
ePolygon(…)を用いて行う。すなわち、上述の「4.3
ステップS3:初期ノードポリゴンの検出。」の説明
を、初期ノードポリゴンをノードポリゴン、指定点を視
点に読み替えればよい。
【0098】9) 8)において、リンク辺中点96に
最も近い脇道入り口候補空隙からノードポリゴンの検出
を開始して、そこでノードポリゴンが検出できない場合
は、次ぎに近い脇道入り口候補空隙に関してノードポリ
ゴンの検出を試みる。これを続けていった結果、どの空
隙に対してもノードポリゴンが検出できなければエラー
リターンする。通常は、ニ叉路ダミーノードポリゴンも
含めて何らかのノードポリゴンが検出される。図16に
示した例の場合、図17に示すように、最も近い脇道入
り口候補空隙107Rのところで、太線で示すノードポ
リゴン119が検出される。もし、この道路要素が脇道
を全く持たない場合には、右側端点列の最遠点と左側端
点列の最遠点との間の空隙107Cのところに、ニ叉路
ダミーノードポリゴン(図示せず)が検出されることに
なる。
【0099】こうして検出されたノードポリゴン119
を、一つの道路要素の終着点という意味で「終着ノード
ポリゴン」と呼ぶ。また、上記の処理の出発点となった
ノードポリゴン91とリンク辺95を、それぞれ「出発
ノードポリゴン」及び「出発リンク辺」と呼ぶ。
【0100】10) 次に、終着ノードポリゴン11
9がもつリンク辺のうちのどれが、出発ノードポリゴン
91の出発リンク辺95に対応するのか(一つの道路要
素で繋がっているか)を決定する。すなわち、図17に
示すように、終着ノードポリゴン119のリンク辺12
1a、121b、121cを検出し、それらのリンク辺
121a、121b、121cの中から、例えば、その
中点と出発リンク辺95の中点(xv、yv)96との
距離が最も近いリンク辺121aを選び、この選んだリ
ンク辺121aを出発リンク辺95に対応するリンク辺
(「終着リンク辺」という)と判断する。こうして終着
ノードポリゴン119の終着リンク辺121aが決まる
と、次に、出発リンク辺95の中点(xv、yv)96
から開始して反時計回りに、右側及び左側の端点列を順
に追跡していく。このとき、終着リンク辺121aで折
り返すように、つまり、右側端点列から終着リンク辺1
21aに当たり、終着リンク辺121aを通って左側端
点列に移るという順序で追跡をする。かくして、出発リ
ンク辺95の始点(xa、ya)、右側端点列の出発リ
ンク辺95に最も近い端点、右側端点列内の各端点、右
側端点列の終着リンク辺121aに最も近い端点、終着
リンク辺121aの右側端点(終点)、終着リンク辺1
21aの左側端点(始点)、左側端点列の終着リンク辺
121aに最も近い端点、左側端点列内の各端点、出発
リンク辺95の終点(xb、yb)の順序で端点がピッ
クアップされ、この順序でこれら端点を結べば、図18
に示すように、出発ノードポリゴン91と終着ノードポ
リゴン119とを繋ぐ道路要素を表す、太線で示すリン
クポリゴン123が完成する。
【0101】11) 次に、完成したリンクポリゴンの
中心点列の作製を行なう。中心点列の作製は、図18に
示すように、まず、出発リンク辺131の中点133か
ら、終着リンク辺135の中点137に向かう直線分1
39を引き、リンクポリゴン141の各端点143a〜
143d、143f、143gからこの直線分139へ
垂線を下ろし(但し、この例では、端点143eと14
3hからは直線分139上に垂線を下ろせない)、それ
らの垂線の足145a〜145d、145f、145g
の位置を線分139の位置比率(始点133で0、終点
137で1)を記憶しておく。次に、それら位置比率デ
ータの小さい順に、つまり、始点133に近い順に、垂
線の足145a〜145d、145f、145gをソー
トし、そのソートした順序で、垂線の足145a〜14
5d、145f、145gに対応する端点143a〜1
43d、143f、143gから、図19に示すよう
に、他側の端点列へ垂線147a、147g、147
b、147f、147c、147dを下ろす。そして、
出発ノードポリゴン151の重心を始点153とし、終
端ノードポリゴン155の重心157を終点とし、始点
153と終点157との間に、上記順序で垂線の中点1
49a、149g、149b、149f、149c、1
49dを並べて、これらの点列153、149a、14
9g、149b、149f、149c、149d、15
7をリンクポリゴンの中心点列とする。最後に、この中
心点列に沿った点間距離の長さの和を求めて、これをリ
ンクポリゴン141の全長とし、また、上記垂線147
a、147g、147b、147f、147c、147
dの長さの最小値を求めて、これをリンクポリゴン14
1の最少幅とする。
【0102】以上の1)〜11)の処理は、本実施形態
では関数GetLinkPolygon(…)としてインプレメントされ
ている。この関数GetLinkPolygon(…)の入出力データは
次の通りである。
【0103】[入力データ] (xsG、ysG): 出発ノードポリゴンの重心座標 (xa,ya)、(xb、yb):出発リンク辺の端点
座標 DS: 矩形探索範囲の長さ WS: 矩形探索範囲の幅(=WR+WL) WMIN: 検出すべき最小道路幅 WMAX: 検出すべき最大道路幅 [出力データ] resp: 処理結果コード resp<0: 解は求められなかった(負の値はエラ
ーコードを表す) resp>=0: 解が求められた dc: 終着ノードポリゴンの種類コード nd: 終着ノードポリゴンの端点数 (xd「」、yd「」):終着ノードポリゴンの端点座
標列 (xdG、ydG):終着ノードポリゴンの重心座標 nld: 終着ノードポリゴンのリンク辺数 (lpvsd[],lpved[]):終着ノードポリ
ゴンのリンク辺の始点・終点端点番号 lid:終着リンク辺の番号 lengthd:リンクポリゴンの全長(中心点列基
準) wd: リンクポリゴンの最小幅(中心点列基
準) nc: リンクポリゴンの中心点列の点数 (xc[],yc[]):リンクポリゴンの中心点列の
座標列 nq: リンクポリゴンの端点数 (xq[],yq[]):リンクポリゴンの端点座標列 (vsp[],vep[]):リンクポリゴンの出発ノ
ードポリゴンと終着ノードポリゴンに対応する辺(つま
り、出発リンク辺と終着リンク辺)の端点番号対
【0104】(3) リンクポリゴンが得られない場
合の処理 出発ノードポリゴンの出発リンク辺に「解が求められな
かった」旨のコード「0」を格納し、出発ノードポポリ
ゴンの処理リンク辺数を1インクリメントする。
【0105】4.7 ステップS8:登録済みチェッ
ク。 リンクポリゴン得られた場合、得られた終着ノードポリ
ゴンが既に道路網データに登録されているか否か調べ
る。この処理は、関数CheckNetwork(…)としてインプレ
メントされている。この関数CheckNetwork(…)は、求め
られたリンクポリゴン内に既に他のノードポリゴンがあ
るかどうかを調べる。もしあれば、起点ノードポリゴン
からはそのノードポリゴンの方が近いと判定し、そのノ
ードポリゴンとそれまでのリンクポリゴンのデータに修
正して値を返す関数である。この関数CheckNetwork(…)
の入出力データは次のとおりである。
【0106】[入力データ] node: 出発ノードポリゴン番号 (xsG、ysG):出発ノードポリゴンの重心座標 (WMIN,WMAX):道路最小幅、最大幅 関数GetLinkPolygon(…)の出力データ [出力データ] resp0: 処理結果コード resp0<0:既存ネットワークには、今回の終着ノ
ードポリゴンも、リンクポリゴンも登録されてはいな
い。新規ノードポリゴンである。 resp0=0;終着ノードポリゴンよりも近い位置に
既に別のノードポリゴンが登録されている。その番号が
respNodeである。しかし、そのノードまでのリ
ンクポリゴンは存在しないので、そのノードまでのリン
クポリゴンを作成して値を返した。 resp0>0:終着ノードポリゴンよりも近い位置に
既に別のノードポリゴンがあり、かつそれまでのリンク
ポリゴンもすでに登録されている。そのノードポリゴン
の番号がrespNodeであり、リンクポリゴン番号
が、respLinkである。
【0107】4.8 ステップS9〜S12:ノードポ
リゴン、リンクポリゴンの登録。 (1) resp0<0の処理 1) 新規のノードポリゴン番号、新規のリンクポリ
ゴン番号を獲得して、その格納領域に検出した終着ノー
ドポリゴンデータ及びリンクポリゴンデータを格納す
る。格納先ノードポリゴンの出発ノードポリゴンに接続
するリンク辺には、出発ノード番号、リンクポリゴン番
号を格納し、リンク辺の処理は1つ済んでいるものとす
る。
【0108】2) 出発ノードポリゴンの今回検出し
た終着ノードポリゴン及びリンクポリゴンに対応するリ
ンク辺には、その終着ノードポリゴン番号とリンクポリ
ゴン番号を記入し、そのリンク辺の処理数を1アップし
ておく。
【0109】(2) resp0=0の処理 新たにリンクポリゴン番号を獲得し、得られたresp
Nodeのノードポリゴンデータに出発ノードポリゴン
との接続情報を格納するとともに、リンクポリゴンデー
タを1式格納する。出発ノードポリゴンの該当のリンク
辺に接続先のノード番号とリンク番号を格納する。
【0110】(3)resp0>0の処理 出発ノードポリゴンデータに既存ノードとして得られた
ノード番号とリンク番号を上書きする。
【0111】4.9 ループへ戻る。
【0112】4.8の処理の後、「4.4 ステップS
4、S6:処理制御。」へ戻る。
【0113】以上説明した道路網認識を行うことによ
り、図2に示したような、道路網をその形状に忠実なノ
ードポリゴン5、5、…とリンクポリゴン7、7、…で
表したポリゴン道路網データが得られる。実際には、線
分道路地図データの線分の繋がり具合や、道路自体の接
続状況により、1回の認識処理で処理対象範囲の全部の
道路が検出されてない場合もある。この場合、検出され
なかった道路部分の1点を新たに人が指定することで、
認識処理が再開されて、認識結果が追加されることにな
る。
【0114】以上、本発明の一実施形態を説明したが、
これらの実施形態はあくまで本発明の説明のための例示
であり、本発明をこれら実施形態にのみ限定する趣旨で
はない。従って、本発明は、上記実施形態以外の様々な
形態でも実施することができる。例えば、道路内の一点
を指定することを、人間でなく、コンピュータが自動的
に行うようにしてもよい。
【図面の簡単な説明】
【図1】線分地図データの例を示す図。
【図2】ポリゴン道路網データによって表されるポリゴ
ン道路網の例を示す図。
【図3】ノードポリゴンの例を示す図。
【図4】ノードポリゴンの別の例を示す図。
【図5】道路網認識処理のフローチャート。
【図6】道路内に指定された1点と設定された探索領域
の例を示す説明図。
【図7】探索領域内の線分を抽出した結果例を示す説明
図。
【図8】指定点を視点として、可視線分ポリゴンを抽出
した結果例を示す説明図。
【図9】「内部凸閉包」(ノードポリゴン)を求める写
像と逆写像の手順を示す説明図。
【図10】ノードポリゴンのリンク辺を求める手順を示
す説明図。
【図11】交差点でない部分などに設定するニ叉路ダミ
ーノードポリゴンの例を示す説明図。
【図12】曲がり角か否かを判定する手順を示す説明
図。
【図13】リンクポリゴンを検出するための矩形探索領
域の設定と、矩形探索領域内の線分のピックアップの手
順を示す説明図。
【図14】リンクポリゴンを検出するための可視線分の
抽出の手順を示す説明図。
【図15】リンクポリゴンを検出するための左右側端点
列の作成の手順を示す説明図。
【図16】左右側端点列から脇道入り口の候補である空
隙を検出し、新たな視点を設定する手順を示す説明図。
【図17】最近の空隙の所に終着ノードポリゴンを作成
する手順を示す説明図。
【図18】出発ノードポリゴンと終着ノードポリゴンと
の間にリンクポリゴンを作成する手順を示す説明図。
【図19】リンクポリゴンの中心点列を検出するため
に、リンクポリゴンの端点をソートする手順を示す説明
図。
【図20】出発ノードポリゴンと終着ノードポリゴンの
重心間を、リンクポリゴンの中心点列でリンクする手順
を示す説明図。
【符号の説明】
5 ノードポリゴン 7 リンクポリゴン 23 道路内の指定点 27 可視線分(第1の可視線分群) 51 凸閉包 53 内部凸閉包(ノードポリゴン) 61 ノードポリゴン 63 ノードポリゴンの重心 71 ニ叉路ダミーノードポリゴン 81 ノードポリゴン 83 ノードポリゴンの重心 91 出発ノードポリゴン 93 出発ノードポリゴンの重心 101 可視線分(第2の可視線分群) 107 脇道入り口候補の隙間 119 終着ノードポリゴン 123 リンクポリゴン 141 リンクポリゴン 149 リンクポリゴンの中心点 151 出発リンクポリゴン 153 出発リンクポリゴンの重心(ノード) 155 終着リンクポリゴン 157 終着リンクポリゴンの重心(ノード)
フロントページの続き (56)参考文献 特開 平10−320533(JP,A) 特開 平9−185700(JP,A) 特開 平4−141788(JP,A) 特開 平7−325923(JP,A) 特開 平9−330022(JP,A) 国際公開00/43953(WO,A1) (58)調査した分野(Int.Cl.7,DB名) G09B 29/00 - 29/14

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 線分地図データ上で道路内に存在する一
    点を、視点として、初期的に指定する初期視点指定手段
    と、 前記視点から見える第1の可視線分群を検出し、検出し
    た第1の可視線分群を用いて道路の一部分を意味するポ
    リゴンを作成する第1のポリゴン作成手段と、 既に作成されたポリゴンから一つの出発ポリゴンを選択
    し、この出発ポリゴンがもつ複数の辺の中から、他の道
    路部分の入り口に相当する辺をリンク辺として抽出し、
    前記リンク辺から一つの出発リンク辺を選択し、前記出
    発リンク上の端点以外の点から前記出発ポリゴンの外側
    に見える第2の可視線分群を検出し、前記第2の可視線
    分群を用いて前記出発ポリゴンに連続する他の道路部分
    を意味する少なくとも1個の新しいポリゴンを作成する
    第2のポリゴン作成手段と前記第2のポリゴン作成手段
    を繰り返し動作させ、それにより、連続する多数のポリ
    ゴンを作成してポリゴン道路網データを作り上げる繰り
    返し手段とを備えたポリゴン道路網データ作成装置。
  2. 【請求項2】 線分地図データ上で道路内に存在する一
    点を、視点として、初期的に指定する初期視点指定手段
    と、 前記視点から見える第1の可視線分群を検出し、検出し
    た第1の可視線分群を用いて一つの交差点を意味するノ
    ードポリゴンを作成するノードポリゴン作成手段と、 既に作成されたノードポリゴンの中から一つの出発ノー
    ドポリゴンを選択し、この出発ノードポリゴンがもつ複
    数の辺の中から、他の道路部分の入り口に相当する辺を
    リンク辺として抽出し、前記リンク辺から一つの出発リ
    ンク辺を選択し、前記出発リンク辺上の端点以外の点か
    ら前記出発ポリゴンの外側に見える第2の可視線分群を
    検出する第2の可視線分群検出手段と、 前記検出した第2の可視線分群に基づいて、前記出発ノ
    ードポリゴンに隣接する一つの交差点を意味する新たな
    ノードポリゴンを作成し、この新たなノードポリゴンを
    終着ノードポリゴンとする終着ノードポリゴン作成手段
    と、 前記第2の可視線分群に基づいて、前記出発ノードポリ
    ゴンと前記終着ノードポリゴンとを繋ぐ道路要素を意味
    するリンクポリゴンを作成するリンクポリゴン作成手段
    と、 前記第2の可視線分群検出手段と前記終着ノードポリゴ
    ン作成手段と前記リンクポリゴン作成手段とを繰返し動
    作させ、それにより、連続する多数のノードポリゴンと
    リンクポリゴンを作成してポリゴン道路網データを作り
    上げる繰り返し手段とを備えたポリゴン道路網データ作
    成装置。
  3. 【請求項3】 各ノードポリゴン内にノード点を設定
    し、隣り合うノード点の各対を繋ぐように各リンクポリ
    ゴン内を通るリンク線分を設定し、それにより、連続す
    る多数のノード点とリンク線分を設定して点と線の道路
    網データを作り上げる手段を更に備えた請求項2記載の
    装置。
  4. 【請求項4】 前記ノードポリゴン作成手段が、前記視
    点からより近い端点ほど前記始点からより遠くに配置さ
    れるようにして前記第1の可視線分群のもつ端点群を写
    像し、写像された端点群の凸閉包を作成し、前記写像さ
    れた端点群を元の配置に戻すようにして前記凸閉包を逆
    写像し、そして、逆写像された凸閉包に対応する多角形
    を前記ノードポリゴンとする請求項2記載の装置。
  5. 【請求項5】 前記終着ノードポリゴン作成手段が、 前記第2の可視線分群に基づいて、前記出発ノードポリ
    ゴンに隣接する交差点内に在る可能性をもつ一点を検出
    し、この検出した一点を前記視点として新たに指定する
    新視点指定手段を有し、 新たに指定した前記視点について前記ノードポリゴン作
    成手段を動作させて前記終着ノードポリゴンを作成する
    請求項2記載の装置。
  6. 【請求項6】 前記新視点指定手段が、前記第2の可視
    線分群を右側線分列と左側線分列に分け、前記右側線分
    列と前記左側線分列のうちの一方の側の線分列から、前
    記出発リンク辺に最も近い脇道入り口に相当する一つの
    隙間を検出し、前記隙間と他方の側の線分列との間に一
    点を選び、選んだ一点を前記視点として新たに指定する
    請求項5記載の装置。
  7. 【請求項7】 前記新視点指定手段が、前記右側線分列
    と前記左側線分列のいずれからも前記脇道入り口に相当
    する隙間が検出できないとき、所定範囲内で前記右側線
    分列の前記出発リンク辺から最も遠い端点と前記左側線
    分列の前記出発リンク辺から最も遠い端点との間の隙間
    を検出し、前記隙間の近傍に一点を選び、選んだ一点を
    前記視点として新たに指定する請求項6記載の装置。
  8. 【請求項8】 線分地図データ上で道路内に存在する一
    点を、視点として、初期的に指定する初期視点指定ステ
    ップと、 前記視点から見える第1の可視線分群を検出し、検出し
    た第1の可視線分群を用いて道路の一部分を意味するポ
    リゴンを作成する第1のポリゴン作成ステップと、 既に作成されたポリゴンから一つの出発ポリゴンを選択
    し、この出発ポリゴンがもつ複数の辺の中から、他の道
    路部分の入り口に相当する辺をリンク辺として抽出し、
    前記リンク辺から一つの出発リンク辺を選択し、前記出
    発リンク上の端点以外の点から前記出発ポリゴンの外側
    に見える第2の可視線分群を検出し、前記第2の可視線
    分群を用いて前記出発ポリゴンに連続する他の道路部分
    を意味する少なくとも1個の新しいポリゴンを作成する
    第2のポリゴン作成ステップと前記第2のポリゴン作成
    ステップを繰り返し行い、それにより、連続する多数の
    ポリゴンを作成してポリゴン道路網データを作り上げる
    繰り返しステップとを備えたポリゴン道路網データ作成
    方法。
  9. 【請求項9】 線分地図データ上で道路内に存在する一
    点を、視点として、初期的に指定する初期視点指定ステ
    ップと、 前記視点から見える第1の可視線分群を検出し、検出し
    た第1の可視線分群を用いて一つの交差点を意味するノ
    ードポリゴンを作成するノードポリゴン作成ステップ
    と、 既に作成されたノードポリゴンの中から一つの出発ノー
    ドポリゴンを選択し、この出発ノードポリゴンがもつ複
    数の辺の中から、他の道路部分の入り口に相当する辺を
    リンク辺として抽出し、前記リンク辺から一つの出発リ
    ンク辺を選択し、前記出発リンク辺上の端点以外の点か
    ら前記出発ポリゴンの外側に見える第2の可視線分群を
    検出する第2の可視線分群検出ステップと、 前記検出した第2の可視線分群に基づいて、前記出発ノ
    ードポリゴンに隣接する一つの交差点を意味する新たな
    ノードポリゴンを作成し、この新たなノードポリゴンを
    終着ノードポリゴンとする終着ノードポリゴン作成ステ
    ップと、 前記第2の可視線分群に基づいて、前記出発ノードポリ
    ゴンと前記終着ノードポリゴンとを繋ぐ道路要素を意味
    するリンクポリゴンを作成するリンクポリゴン作成ステ
    ップと、 前記第2の可視線分群検出ステップと前記終着ノードポ
    リゴン作成ステップと前記リンクポリゴン作成ステップ
    とを繰返し行い、それにより、連続する多数のノードポ
    リゴンとリンクポリゴンを作成してポリゴン道路網デー
    タを作り上げる繰り返しステップとを備えたポリゴン道
    路網データ作成方法。
  10. 【請求項10】 線分地図データ上で道路内に存在する
    一点を、視点として、初期的に指定する初期視点指定ス
    テップと、 前記視点から見える第1の可視線分群を検出し、検出し
    た第1の可視線分群を用いて道路の一部分を意味するポ
    リゴンを作成する第1のポリゴン作成ステップと、 既に作成されたポリゴンから一つの出発ポリゴンを選択
    し、この出発ポリゴンがもつ複数の辺の中から、他の道
    路部分の入り口に相当する辺をリンク辺として抽出し、
    前記リンク辺から一つの出発リンク辺を選択し、前記出
    発リンク上の端点以外の点から前記出発ポリゴンの外側
    に見える第2の可視線分群を検出し、前記第2の可視線
    分群を用いて前記出発ポリゴンに連続する他の道路部分
    を意味する少なくとも1個の新しいポリゴンを作成する
    第2のポリゴン作成ステップと前記第2のポリゴン作成
    ステップを繰り返し行い、それにより、連続する多数の
    ポリゴンを作成してポリゴン道路網データを作り上げる
    繰り返しステップとをコンピュータに実行させるための
    プログラムを担持したコンピュータ読取可能な記録媒
    体。
  11. 【請求項11】 線分地図データ上で道路内に存在する
    一点を、視点として、初期的に指定する初期視点指定ス
    テップと、 前記視点から見える第1の可視線分群を検出し、検出し
    た第1の可視線分群を用いて一つの交差点を意味するノ
    ードポリゴンを作成するノードポリゴン作成ステップ
    と、 既に作成されたノードポリゴンの中から一つの出発ノー
    ドポリゴンを選択し、この出発ノードポリゴンがもつ複
    数の辺の中から、他の道路部分の入り口に相当する辺を
    リンク辺として抽出し、前記リンク辺から一つの出発リ
    ンク辺を選択し、前記出発リンク辺上の端点以外の点か
    ら前記出発ポリゴンの外側に見える第2の可視線分群を
    検出する第2の可視線分群検出ステップと、 前記検出した第2の可視線分群に基づいて、前記出発ノ
    ードポリゴンに隣接する一つの交差点を意味する新たな
    ノードポリゴンを作成し、この新たなノードポリゴンを
    終着ノードポリゴンとする終着ノードポリゴン作成ステ
    ップと、 前記第2の可視線分群に基づいて、前記出発ノードポリ
    ゴンと前記終着ノードポリゴンとを繋ぐ道路要素を意味
    するリンクポリゴンを作成するリンクポリゴン作成ステ
    ップと、 前記第2の可視線分群検出ステップと前記終着ノードポ
    リゴン作成ステップと前記リンクポリゴン作成ステップ
    とを繰返し行い、それにより、連続する多数のノードポ
    リゴンとリンクポリゴンを作成してポリゴン道路網デー
    タを作り上げる繰り返しステップとをコンピュータに実
    行させるためのプログラムを担持したコンピュータ読取
    可能な記録媒体。
JP29251299A 1999-10-14 1999-10-14 ポリゴン道路網データ作成装置及び方法 Expired - Fee Related JP3372910B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29251299A JP3372910B2 (ja) 1999-10-14 1999-10-14 ポリゴン道路網データ作成装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29251299A JP3372910B2 (ja) 1999-10-14 1999-10-14 ポリゴン道路網データ作成装置及び方法

Publications (2)

Publication Number Publication Date
JP2001117487A JP2001117487A (ja) 2001-04-27
JP3372910B2 true JP3372910B2 (ja) 2003-02-04

Family

ID=17782782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29251299A Expired - Fee Related JP3372910B2 (ja) 1999-10-14 1999-10-14 ポリゴン道路網データ作成装置及び方法

Country Status (1)

Country Link
JP (1) JP3372910B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4791649B2 (ja) * 2001-05-07 2011-10-12 株式会社ゼンリン 電子地図データ、表示制御装置およびコンピュータプログラム
JP4494936B2 (ja) * 2004-11-01 2010-06-30 株式会社パスコ 地図図式生成システム及びプログラム
JP4790280B2 (ja) * 2005-02-04 2011-10-12 三菱電機株式会社 地図データ表示装置、地図データ表示方法及びナビゲーション装置並びに地図データ表示プログラム
JP2006301601A (ja) * 2005-03-23 2006-11-02 Zenrin Co Ltd 地図データ生成装置
JP4742285B2 (ja) * 2005-09-20 2011-08-10 株式会社ゼンリン 地図情報作成装置及び方法、並びにプログラム
JP5010134B2 (ja) * 2005-10-27 2012-08-29 株式会社ゼンリン 地図データ生成装置および生成方法
JP2007248235A (ja) * 2006-03-15 2007-09-27 Toyota Motor Corp カーナビゲーション装置及び地図情報
JP4833915B2 (ja) * 2007-05-11 2011-12-07 株式会社ゼンリン 電子地図データベースの生成方法および生成装置
KR100967911B1 (ko) 2008-10-10 2010-07-06 (주)엠앤소프트 폴리곤 편집 방법
DE102013103228A1 (de) * 2013-03-28 2014-10-02 Dspace Digital Signal Processing And Control Engineering Gmbh System zum Erstellen eines virtuellen Straßennetzes
JP6479513B2 (ja) * 2015-03-12 2019-03-06 株式会社デンソーアイティーラボラトリ 道路幅推定装置及び道路幅推定方法
CN105160707B (zh) * 2015-08-18 2017-12-19 南京禹步信息科技有限公司 基于视点索引的三维模型快速可视化方法
US20170301232A1 (en) * 2016-04-13 2017-10-19 Here Global B.V. Intersection Map Message Creation for Vehicle Communication
US20220120584A1 (en) * 2019-03-19 2022-04-21 Nippon Telegraph And Telephone Corporation Information processing apparatus, method and program
CN115238525B (zh) * 2022-09-16 2023-04-18 广东工业大学 一种用于行人仿真客流组织的可行路径搜索方法

Also Published As

Publication number Publication date
JP2001117487A (ja) 2001-04-27

Similar Documents

Publication Publication Date Title
JP3372910B2 (ja) ポリゴン道路網データ作成装置及び方法
Suveg et al. Reconstruction of 3D building models from aerial images and maps
Zhang Towards an operational system for automated updating of road databases by integration of imagery and geodata
Haunert et al. Area collapse and road centerlines based on straight skeletons
CN110220521B (zh) 一种高精地图的生成方法和装置
Cabo et al. Mobile Laser Scanner data for automatic surface detection based on line arrangement
CN114509060A (zh) 地图生成装置、地图生成方法以及地图生成用计算机程序
CN114937130B (zh) 一种地形图测绘方法、装置、设备及存储介质
JP4619504B2 (ja) 3次元デジタル地図作成装置
CN114818065A (zh) 三维巷道模型搭建方法、装置、电子设备及存储介质
JPH04184689A (ja) 多角形分割方法およびその装置
US20100228528A1 (en) Siting plan systems and methods
CN112833891B (zh) 基于卫片识别的道路数据与车道级地图数据的融合方法
Heuel et al. Including interaction in an automated modelling system
Forlani et al. Building reconstruction and visualization from lidar data
Liu et al. M: N Object matching on multiscale datasets based on MBR combinatorial optimization algorithm and spatial district
Wysocki et al. Scan2LoD3: Reconstructing semantic 3D building models at LoD3 using ray casting and Bayesian networks
CN113536837A (zh) 室内场景的区域划分方法及装置
KR100384992B1 (ko) 자동 지도 제작 방법
JP3525619B2 (ja) 道路ネットワーク情報の自動生成方法及びその装置
JP2003288606A (ja) 領域判別装置及びプログラム
JP3094306B2 (ja) 移動ロボットの位置同定方法
JPH07287750A (ja) 地図を表す線分データから道路領域を認識する方法
CN115761279B (zh) 空间布局相似性检测方法、设备、存储介质及装置
CN112085834B (zh) 一种室内环境下的墙面重建方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees