JPH07103773A - Method and device for path calculation - Google Patents
Method and device for path calculationInfo
- Publication number
- JPH07103773A JPH07103773A JP5248243A JP24824393A JPH07103773A JP H07103773 A JPH07103773 A JP H07103773A JP 5248243 A JP5248243 A JP 5248243A JP 24824393 A JP24824393 A JP 24824393A JP H07103773 A JPH07103773 A JP H07103773A
- Authority
- JP
- Japan
- Prior art keywords
- link
- cost
- route
- total cost
- links
- 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
Landscapes
- Navigation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、運転者による目的地等
の設定に応じて、道路地図メモリから出発地(車両の現
在位置でもよい)と目的地とを含む範囲の経路ネットワ
ークデータを読出し、この経路ネットワークデータに基
づいて目的地に到る最適経路を計算して運転者に示すこ
とができる経路計算方法及び装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention reads out route network data in a range including a departure place (which may be the current position of a vehicle) and a destination from a road map memory in accordance with a destination set by a driver. The present invention relates to a route calculation method and device capable of calculating an optimum route to a destination on the basis of the route network data and showing it to a driver.
【0002】[0002]
【従来の技術】従来より画面上に車両の位置方位等を表
示し、見知らぬ土地や夜間等における走行の便宜を図る
ために開発されたナビゲーション装置が知られている。
前記ナビゲーション装置は、ディスプレイ、方位セン
サ、距離センサ、道路地図メモリ、コンピュータを車両
に搭載し、方位センサから入力される方位データ、距離
センサから入力される走行距離データ、及び道路地図メ
モリに格納されている道路パターンとの一致に基づいて
車両位置を検出し、この車両位置を道路地図とともにデ
ィスプレイに表示するものである。2. Description of the Related Art Conventionally, there has been known a navigation device developed to display the position and orientation of a vehicle on a screen and to facilitate traveling on a strange land or at night.
The navigation device has a display, an orientation sensor, a distance sensor, a road map memory, and a computer mounted on a vehicle, and is stored in the orientation data input from the orientation sensor, the traveling distance data input from the distance sensor, and the road map memory. The vehicle position is detected based on the matching with the existing road pattern, and this vehicle position is displayed on the display together with the road map.
【0003】この場合、出発地から目的地に至る走行経
路の選択をするために、運転者による目的地の設定入力
に応じて現在の出発地から目的地までの経路をコンピユ
ータにより自動的に計算する方法が提案されている(特
開平5−53504 号公報参照)。この方法は計算の対象と
なる道路を幾つも区切って、区切った点をノードとし、
ノードとノードとを結ぶ経路をリンクとし、出発地(目
的地でもよい)に最も近いノード又はリンクを始点と
し、目的地(出発地でもよい)に最も近いノード又はリ
ンクを終点とし、始点から終点に至るリンクのツリーを
全て探索し、ツリーを構成する経路のリンクコストを順
次加算して、目的地又は出発地に到達する最もリンクコ
ストの少ない経路のみを選択する方法である。In this case, in order to select a traveling route from the starting point to the destination, the computer automatically calculates the current route from the starting point to the destination in response to the destination setting input by the driver. A method has been proposed (see Japanese Patent Laid-Open No. 5-53504). This method divides the roads to be calculated into a number of points, and defines the points as nodes.
A route connecting nodes is used as a link, a node or link closest to a starting point (which may be a destination) is a starting point, and a node or link closest to a destination (which may be a starting point) is an end point, and the starting point to the end point This is a method in which all the trees of links leading to are searched, the link costs of the routes forming the tree are sequentially added, and only the route with the lowest link cost to reach the destination or the departure place is selected.
【0004】この方法で経路を計算し、経路に沿って走
行していけば確実に目的地に到達するので、道を知らな
い運転者にとって便利である。前記経路計算の方法とし
て、従来提案されている方法をまとめると、次のように
なる。 通常のダイクストラ法:ツリーの探索過程において、
探索範囲の中から最小コストの経路1本を逐次探索し、
いずれかの経路が目的地に達したらループの処理を終了
する方法。 ポテンシャル法:探索範囲の中の経路をすべて探索
し、最終的に最小コストとなった経路を選ぶという方
法。This method is convenient for a driver who does not know the route because the destination can be reliably reached by calculating the route and traveling along the route. The conventionally proposed methods are summarized as the method for calculating the route as follows. Normal Dijkstra method: In the tree search process,
One path with the lowest cost is searched sequentially from the search range,
How to end the loop processing when any route reaches the destination. Potential method: A method of searching all the routes in the search range and selecting the route with the lowest cost.
【0005】前記との方法では、のダイクストラ
法が計算時間という点で優れているように見えるが、実
際には「最小コストの経路1本を逐次探索する」という
処理が必要になるため、のポテンシャル法に比べて計
算時間ははるかに長くなる(小林他「推奨経路表示機能
付ナビゲーションシステム」住友電気第141号,PP.1
55-160, 1992年9月)。計算時間が長くなると、運
転者にとっての利用価値は著しく減少するので、計算時
間が短縮化できる方法が望まれる。In the above methods, the Dijkstra's method seems to be excellent in terms of calculation time, but in practice, the process of "sequentially searching for one path with the minimum cost" is required. It takes much longer than the potential method (Kobayashi et al. "Navigation system with recommended route display function" Sumitomo Electric No. 141, PP.1)
55-160, September 1992). If the calculation time is long, the utility value for the driver is significantly reduced, so a method that can shorten the calculation time is desired.
【0006】したがって、現在では、のポテンシャル
法が採用されている。Therefore, the potential method of is currently used.
【0007】[0007]
【発明が解決しようとする課題】しかしながら、最近は
経路ネットワークデータベースが充実してきて、ポテン
シャル法によっても、計算時間が長くなるという傾向に
ある。詳説すると、従来では経路ネットワークのリンク
本数が比較的少なく、経路計算のループ回数が少なかっ
た。ところが、計算対象する道路を細い道路まで含める
などしてリンク本数が増えてくるとツリーが広がり、リ
ンクの探索回数が増える。なぜならば、ポテンシャル法
では、経路が異なれば同じリンクであっても、経路の数
だけ探索しなければならないからである。However, recently, the route network database has been enriched, and the potential method tends to increase the calculation time. In detail, conventionally, the number of links in the route network is relatively small, and the number of loops for route calculation is small. However, when the number of links increases by including roads to be calculated, including narrow roads, the tree expands, and the number of link searches increases. This is because in the potential method, it is necessary to search for the number of routes even if the routes are the same but different routes.
【0008】この結果、計算時間が大幅に増えてくる。
したがって、全体処理(経路ネットワークデータの読み
出し、リンクテーブルへの書換え、経路計算、地図表示
等)に占めるポテンシャル法による経路計算処理の時間
割合が飛躍的に増大し始めている。そこで、結局は経路
計算処理時間を短縮しなければ、全体時間の短縮化は望
めないという状況になってきた。そのためには、計算ル
ープ回数を減らさなければならない。As a result, the calculation time is significantly increased.
Therefore, the time ratio of the route calculation processing by the potential method in the whole processing (reading of route network data, rewriting to the link table, route calculation, map display, etc.) has begun to dramatically increase. Therefore, in the end, it has become impossible to expect a reduction in the total time unless the route calculation processing time is shortened. For that purpose, the number of calculation loops must be reduced.
【0009】本発明は、前記の問題に鑑みてなされたも
ので、ツリーを構成する経路のリンクコストを順次加算
するときに、上限コストを設け、計算ループ回数を増や
さないようにし、もって、計算時間を短くできる経路計
算方法及び装置を提供することを目的とする。The present invention has been made in view of the above problems, and when the link costs of the paths forming the tree are sequentially added, an upper limit cost is provided so that the number of calculation loops is not increased, and thus the calculation is performed. An object of the present invention is to provide a route calculation method and device that can shorten the time.
【0010】[0010]
【課題を解決するための手段】前記の目的を達成するた
めの発明の構成を説明する前に、経路計算の前提とした
いわゆるポテンシャル法について説明する。このポテン
シャル法は、請求項1の「…において」の部分に記載し
たように、計算開始リンクからスタートして、それに接
続するリンクを探索し、探索された接続リンクのトータ
ルコストが前に設定された同じリンクのトータルコスト
より小さくなれば、その値を当該接続リンクのトータル
コストに書換えるという手順を繰り返し、すべてのリン
クについて探索が終了すれば、トータルコストが最小の
リンクに着目して最適経路を決定する方法である。Before explaining the constitution of the invention for achieving the above-mentioned object, a so-called potential method which is a premise of route calculation will be explained. This potential method starts from the calculation start link and searches for the link connected to it, as described in the "..." part of claim 1, and the total cost of the searched connection link is set in advance. If it becomes smaller than the total cost of the same link, the procedure of rewriting that value to the total cost of the connection link is repeated, and if the search is completed for all links, the link with the minimum total cost is focused on and the optimal route is selected. Is the method of determining.
【0011】請求項1記載の経路計算方法では、このポ
テンシャル法を実行する場合に、探索しようとするリン
クが計算終了リンクであれば、そのトータルコストを上
限コストの設定値と比較し、上限コストの設定値よりも
小さければ上限コストを前記トータルコストの値に設定
し直し、以後手順(d) を繰り返すときに、第2のテーブ
ルに記入されたリンクのトータルコストを参照し、それ
が上限コストよりも高ければ、接続リンクを探索するこ
となくそのリンクについての処理を打切る。In the route calculation method according to the first aspect, when the potential method is executed, if the link to be searched is a calculation end link, the total cost thereof is compared with the set value of the upper limit cost to determine the upper limit cost. If it is smaller than the set value of, the upper limit cost is reset to the value of the total cost, and when the step (d) is repeated thereafter, the total cost of the link entered in the second table is referred to, and that is the upper limit cost. If it is higher than that, the processing for the link is terminated without searching for the link.
【0012】また、請求項2記載の経路計算装置は、前
記請求項1記載の方法を実行する装置である。A route calculation device according to a second aspect is a device for executing the method according to the first aspect.
【0013】[0013]
【作用】この経路計算方法及び装置によれば、探索され
るリンクが計算終了リンクであれば、そのリンクのトー
タルコストを上限コストとして設定し、この上限コスト
を超えるトータルコストを持つリンクについては、以後
接続リンクの探索処理が打ち切られる。According to this route calculation method and device, if the link to be searched is a calculation end link, the total cost of the link is set as the upper limit cost, and for links with total cost exceeding this upper limit cost, After that, the search process for the connection link is terminated.
【0014】これによって、最初に計算終了リンクにま
で到達した経路のコストを超える経路については、探索
が中止されるので、ループ回数の増大を防止することが
できる。As a result, the search is stopped for the route that exceeds the cost of the route that first reaches the calculation end link, so that the number of loops can be prevented from increasing.
【0015】[0015]
【実施例】以下本発明の実施例を示す添付図面に基づい
て詳細に説明する。本発明の経路計算方法を実施するナ
ビゲーション装置は、図2に示すように、方位センサ1
1と、距離センサ12と、シフトセンサ13と、道路地
図データ及び経路ネットワークデータを格納したディス
ク14から記憶データを読出すメモリドライブ15と、
距離センサ12により検出される走行距離及び方位セン
サ11により検出される走行方向変化量をそれぞれ積算
し、この積算データとメモリドライブ15から読出され
た道路地図データとの比較に基いて車両位置を検出する
ロケータ16と、所定範囲の道路地図の読み出し、経路
ネットワークデータを利用した最適経路の計算、車両の
誘導をするための表示用データの作成、音声出力装置1
8の制御、及びロケータ16の制御等の種々の制御を行
うコントローラ17と、ディスプレイ19と、初期デー
タ等を設定するためのタッチキー20とを有する。な
お、タッチキー20に代えてリモコンキーでもよい。Embodiments of the present invention will now be described in detail with reference to the accompanying drawings. As shown in FIG. 2, the navigation device for carrying out the route calculation method of the present invention is provided with a direction sensor 1
1, a distance sensor 12, a shift sensor 13, a memory drive 15 for reading stored data from a disk 14 storing road map data and route network data,
The traveling distance detected by the distance sensor 12 and the traveling direction change amount detected by the azimuth sensor 11 are integrated, and the vehicle position is detected based on the comparison between the integrated data and the road map data read from the memory drive 15. Locator 16 and a predetermined range of road maps are read, an optimum route is calculated using route network data, display data for guiding a vehicle is created, and a voice output device 1 is used.
8 and the locator 16 and other various controls, a display 19, and a touch key 20 for setting initial data and the like. A remote control key may be used instead of the touch key 20.
【0016】さらに詳細に説明すれば方位センサ11
は、車両の走行に伴なう方位の変化を検出するものであ
り、ジャイロ等を使用することが可能である。距離セン
サ12は、車両の速度、あるいは、車輪の回転数等に基
づく走行距離を検出するものであり、車輪速センサ、車
速センサ等が使用可能である。ロケータ16は、距離セ
ンサ12により検出される距離データ、及び方位センサ
11により検出される方位変化データをそれぞれ積算し
て走行軌跡データを算出し、走行軌跡データとディスク
14に格納されている道路のパターンとの比較(いわゆ
る地図マッチング法、特開昭64-53112号公報参照)に基
いて車両位置を検出する。なお、位置検出の精度をあげ
るためにビーコン受信機やGPS受信機を付加してもよ
い。More specifically, the orientation sensor 11
Is for detecting a change in azimuth as the vehicle travels, and a gyro or the like can be used. The distance sensor 12 detects the traveling distance based on the speed of the vehicle or the number of rotations of the wheels, and a wheel speed sensor, a vehicle speed sensor, or the like can be used. The locator 16 integrates the distance data detected by the distance sensor 12 and the azimuth change data detected by the azimuth sensor 11 to calculate traveling locus data, and calculates the traveling locus data and the road data stored in the disk 14. The vehicle position is detected based on comparison with a pattern (so-called map matching method, see Japanese Patent Laid-Open No. 64-53112). A beacon receiver or a GPS receiver may be added to improve the accuracy of position detection.
【0017】ディスプレイ19は、CRT、液晶パネル
等の画面上にメニュー画面の表示、道路地図の表示、車
両の現在位置と方位の表示、最適経路の表示、目的地や
目印となる地点の表示、目的地までの方位と距離の表
示、複合交差点の形状拡大画面のウィンドウ表示等を行
うものである。また、ディスプレイ19には、透明のタ
ッチキー20が取付けられている。タッチキー20は、
初期設定メニュー画面上で最適経路の選定基準(最短時
間経路、最短距離経路等)、地図の倍率、目的地等を入
力するものである。すなわち、経路誘導装置と運転者と
の対話を仲介している。The display 19 displays a menu screen on a screen such as a CRT or a liquid crystal panel, a road map, a current position and direction of the vehicle, an optimum route, a destination or a landmark. It displays the direction and distance to the destination, and displays the window of the enlarged shape of the complex intersection. A transparent touch key 20 is attached to the display 19. Touch key 20
On the initial setting menu screen, the optimum route selection criteria (shortest time route, shortest distance route, etc.), map magnification, destination, etc. are input. That is, it mediates the dialogue between the route guidance device and the driver.
【0018】ディスク14は、道路地図(高速自動車国
道、都市高速道路、一般国道、主要地方道、一般都道府
県道、指定都市の一般市道、その他の生活道路を含む)
をメッシュ状に分割し、各メッシュ単位でノードとリン
クとを組み合わせたデータを記憶している。その他、鉄
道、川、地名欄、有名施設、運転者が予め登録した地
点、等高線等の表示用の背景データを含んでいてもよ
い。The disk 14 includes a road map (including highway national roads, urban highways, general national roads, major local roads, general prefectural roads, general city roads of designated cities, and other living roads).
Is divided into meshes, and data in which nodes and links are combined is stored for each mesh. In addition, it may include background data for displaying railways, rivers, place names, famous facilities, points previously registered by the driver, contour lines, and the like.
【0019】前記メッシュは、日本道路地図を経度差1
度、緯度差40分で分割し縦横の距離を約80Km×80Kmとし
た第1次メッシュと、この第1次メッシュを縦横8等分
し縦横の距離を約10Km×10Kmとする第2次メッシュとの
二重構造を持っている。ここでノードとは、一般に、道
路の交差点や折曲点を特定するための座標位置のことで
あり、交差点を表わすノードを交差点ノード、道路の折
曲点(交差点を除く)を表わすノードを補間点ノードと
いうことがある。The mesh is a Japanese road map with a longitude difference of 1
A primary mesh with a vertical and horizontal distance of about 80Km x 80Km divided by 40 degrees and a latitude difference of 40 minutes, and a secondary mesh that divides this primary mesh into 8 equal parts by a total of 10Km x 10Km. It has a double structure with. Here, a node is generally a coordinate position for identifying an intersection or a bend of a road. A node representing the intersection is an intersection node, and a node representing a bend (excluding the intersection) of the road is interpolated. Sometimes called a point node.
【0020】各ノードを繋いだものがリンクである。リ
ンクデータはリンク番号、リンクの始点ノード及び終点
ノードのアドレス、リンクの距離、リンクを通過する方
向、その方向における所要時間、道路種別、道路幅、一
方通行や有料道路等の通行規制データ等からなる。この
ように、リンクデータの中にリンクの始点ノード及び終
点ノードのアドレスが入っていることから、リンクのみ
によっても地点を特定できる。なお、リンクによってリ
ンクの始点を特定する場合そのリンクを「出リンク」と
いい、リンクの終点を特定する場合そのリンクを「入リ
ンク」という。さらに、リンクデータにはリンクを通過
する方向が入っているので、1つのリンクを特定するこ
とにより、車両の進行方向も特定することができる。図
3は十字路を特定する4つの出リンクを、図4は十字路
を特定する4つの入リンクを例示している。以下の実施
例では、地点を特定するのに主に出リンクを用いるもの
とする。A link is a connection of the nodes. Link data includes link numbers, addresses of start and end nodes of links, link distances, directions passing through links, required time in that direction, road types, road widths, traffic regulation data such as one-way roads and toll roads. Become. In this way, since the link data includes the addresses of the start point node and the end point node of the link, the point can be specified only by the link. The link is called an "outgoing link" when the starting point of the link is specified by the link, and the "incoming link" is called when the ending point of the link is specified. Further, since the link data includes the direction of passing through the link, the traveling direction of the vehicle can be identified by identifying one link. FIG. 3 illustrates four outgoing links that specify a crossroads, and FIG. 4 illustrates four incoming links that specify a crossroads. In the following examples, it is assumed that the outgoing link is mainly used to identify the point.
【0021】コントローラ17の詳細を図5に示す。コ
ントローラ17は、メモリドライブ15を通してディス
ク14から必要なデータを得るメモリ制御部21、音声
出力装置に電子的に記録された音声を発声させる音声制
御部25、ディスプレイ19に必要な画像を表示させる
表示制御部22、タッチキー20で設定された入力情報
を処理する入力処理部23、ロケータ16の算出した車
両位置をデータとして取り込む車両位置認識処理部2
4、ポテンシャル法により目的地から出発地までの最適
経路を計算する経路計算処理部26により構成されてい
る。The details of the controller 17 are shown in FIG. The controller 17 has a memory control unit 21 for obtaining necessary data from the disk 14 through the memory drive 15, a voice control unit 25 for uttering a voice electronically recorded in a voice output device, and a display for displaying a necessary image on the display 19. The control unit 22, the input processing unit 23 that processes the input information set by the touch key 20, the vehicle position recognition processing unit 2 that takes in the vehicle position calculated by the locator 16 as data.
4. The route calculation processing unit 26 calculates the optimum route from the destination to the departure place by the potential method.
【0022】経路計算処理部26は、ディスク14から
取り出された出発地及び目的地を含む一定の範囲のリン
ク情報に基づいて、リンクテーブルと、各リンクに接続
するリンクを探索するためのアークテーブルとを作成
し、これらのテーブルに基づいて最適経路を計算するC
PU26aと、上限コスト(後述)の値を記憶するメモ
リ26bと、リンクテーブルとアークテーブルとピボッ
トテーブルとを蓄える主メモリ26cとを備えている。
なお、リンクテーブルとアークテーブルとが、請求項1
の「第1のテーブル」に相当し、ピボットテーブルが
「第2のテーブル」に相当するものである。The route calculation processing unit 26, based on the link information of a certain range including the starting point and the destination extracted from the disk 14, the link table and the arc table for searching the links connected to each link. Create and and calculate the optimal route based on these tables C
It has a PU 26a, a memory 26b that stores a value of an upper limit cost (described later), and a main memory 26c that stores a link table, an arc table, and a pivot table.
In addition, the link table and the arc table are defined in claim 1.
Of the first table, and the pivot table corresponds to the “second table”.
【0023】リンクテーブルは、ディスク14から取り
出された出発地及び目的地を含む一定の範囲のリンクに
ついて、シーケンス番号、退出リンクのメッシュ番号、
進入リンクのメッシュ番号、アークテーブルへのポイン
タ、道路種別、そのリンクの経路上の前のリンク(以下
「前リンク」又は「進入リンク」という)へのポイン
タ、リンクコスト、リンク長及びトータルコストを記憶
している。The link table has a sequence number, a mesh number of an exit link, and a link number of a certain range of links including a starting point and a destination taken out from the disk 14.
The mesh number of the approach link, the pointer to the arc table, the road type, the pointer to the previous link (hereinafter referred to as "previous link" or "entry link") on the route of the link, link cost, link length and total cost I remember.
【0024】前記シーケンス番号は0から昇順に設定さ
れた整数である。リンクコストとは、リンクを走行する
ときの時間を秒で表現したものである。実際には、リン
クコストは渋滞などで変わるものであるが、ここでは法
定速度走行時の所要時間を使う。トータルコストは経路
計算の途中経過を考慮した当該リンクへの到達コストで
ある。さらに正確には、あるリンクのトータルコストと
は、出発値から当該リンクまでつながった経路上の各リ
ンクのアークコストを総和したものとなる。ここで、ア
ークというのは、図6(a) に示すように、リンクの始端
ノードの直後から次のリンクの始端ノードの直後までを
いう。アークコストというのは、図6(b)に示すよう
に、当該リンクのリンクコストと当該リンクから退出す
るための右左折又は直進コストの和である。例えば、進
入禁止の場合、リンクコストは有限であっても直進コス
トは無限大となるので、アークコストも無限大となる。
信号がある場合、アークコストは、リンクコストに右左
折又は直進時の平均的な信号待ち時間を考慮したものを
足したコストとなる。The sequence number is an integer set in ascending order from 0. The link cost is a time expressed in seconds when traveling on the link. Actually, the link cost changes due to traffic congestion, etc., but here the time required for traveling at the legal speed is used. The total cost is the cost to reach the link in consideration of the progress of route calculation. More precisely, the total cost of a certain link is the sum of the arc costs of the links on the route connecting the starting value to the link. Here, the arc means from immediately after the start node of a link to immediately after the start node of the next link, as shown in FIG. 6 (a). As shown in FIG. 6B, the arc cost is the sum of the link cost of the link and the right-left turn or straight-line cost for leaving the link. For example, when entry is prohibited, the straight-line cost is infinite even if the link cost is finite, so the arc cost is also infinite.
If there is a signal, the arc cost is the link cost plus the average signal waiting time when turning right or left or going straight.
【0025】また、リンクテーブルは、表には示してい
ないが、各リンクがピボットテーブルに登録されている
かどうかを示すビットを持っている。アークテーブル
は、シーケンス番号ごとにアークコスト、別メッシュフ
ラグ、同じリンクから出るアークのうち最後のアークか
どうかを示すアーク終端識別子、当該アークに接続する
接続リンクのリンクテーブルへのポインタ(リンクテー
ブルのシーケンス番号で示す)を記憶している。Although not shown in the table, the link table has a bit indicating whether or not each link is registered in the pivot table. The arc table has an arc cost for each sequence number, another mesh flag, an arc end identifier indicating whether it is the last arc among the arcs emitted from the same link, a pointer to the link table of the connection link connected to the arc (link table (Indicated by sequence number) is stored.
【0026】前記アークコストは、既に説明したとおり
であるが、例えばビーコン受信機を通して道路の渋滞情
報が入ってくれば、それを考慮した変更を行うこともで
きる。また、運転者が自分の好みに応じてコストを変更
することもできる。例えば、特定の種別の道路(高速道
路やフェリーなど)についてのみコストを上げたり下げ
たりすることができる。The arc cost is as described above, but if traffic congestion information of the road is input through the beacon receiver, the arc cost can be changed in consideration thereof. Also, the driver can change the cost according to his / her preference. For example, costs can be raised or lowered only for specific types of roads (highways, ferries, etc.).
【0027】アーク終端識別子は、例えば1つのリンク
から3つのアークが出る場合を想定すると、1番目と2
番目とのアークについてはアーク終端識別子は0が割り
付けられ、3番目のアークについて1が割り付けられ
る。したがって、アークテーブルを用いて1つのリンク
に接続されるリンクを探索するとき、アーク終端識別子
が0のうちは、他の接続リンクが存在し、アーク終端識
別子が1になれば、もうこれ以上接続リンクはないこと
が分かるものである。Assuming that three arcs are output from one link, the arc end identifiers are the first and the second.
The arc end identifier is assigned 0 for the second arc, and 1 is assigned for the third arc. Therefore, when searching for a link connected to one link using the arc table, if the arc termination identifier is 0, there is another connection link, and if the arc termination identifier is 1, the connection is no longer performed. You can see that there is no link.
【0028】ピボットテーブルは、リンクテーブルに記
憶されている多数のリンクのうち、現在計算に必要なリ
ンクのシーケンス番号等を記憶している先入れ先出し型
のテーブルである。さらに具体的な経路ネットワークを
想定して説明する。図7は、出発地と目的地とを含む経
路計算の対象となる範囲内のノードをA,B,C,D,
E,Fとし、Aを出発地ノードとし、Bを目的地ノード
としたリンク経路図を示す。全リンク数は、A→B,A
→C,B→A,B→C,B→E,B→F,C→A,C→
B,C→D,D→E,E→Bの11本である。The pivot table is a first-in first-out type table in which the sequence numbers of the links currently required for calculation among the many links stored in the link table are stored. A more specific route network will be assumed and described. FIG. 7 shows nodes within a range including a starting point and a destination, which are targets of route calculation, as A, B, C, D,
A link route diagram in which E and F are used, A is used as a departure node, and B is used as a destination node is shown. The total number of links is A → B, A
→ C, B → A, B → C, B → E, B → F, C → A, C →
11 are B, C → D, D → E, and E → B.
【0029】記憶されたテーブルの構造をそれぞれ表
1、表2に示す。表1はリンクテーブルであり、各リン
クについてシーケンス番号、退出リンクのメッシュ番
号、進入リンクのメッシュ番号、アークテーブルへのポ
インタ、道路種別又は前リンクへのポインタ、リンクコ
スト、リンク長、トータルコストの欄を備えている。The structures of the stored tables are shown in Table 1 and Table 2, respectively. Table 1 is a link table. For each link, sequence number, exit link mesh number, ingress link mesh number, arc table pointer, road type or previous link pointer, link cost, link length, total cost It has columns.
【0030】[0030]
【表1】 [Table 1]
【0031】表2は、アークテーブルであり、シーケン
ス番号、アークコスト、別メッシュフラグ、アーク終端
識別子、リンクテーブルへのポインタの欄を備えてい
る。Table 2 is an arc table, which has columns for sequence number, arc cost, another mesh flag, arc end identifier, and pointer to link table.
【0032】[0032]
【表2】 [Table 2]
【0033】なお、リンクテーブル、アークテーブルに
記入された数値は、リンクテーブル、アークテーブルの
実際の記憶状態を示すものではなく、後に経路計算手順
を説明するための都合で書き入れたものにすぎないこと
を断っておく。次に、リンクテーブル、アークテーブル
及びピボットテーブルを利用した経路探索手法を説明す
る。以下の計算では、出発地から目的地までツリーを作
って経路計算する方法を説明するが、これとは反対に目
的地から出発地までツリーを作って経路計算する方法で
もよい。The numerical values entered in the link table and arc table do not indicate the actual storage states of the link table and arc table, but are only entered for convenience of explaining the route calculation procedure later. I'll decline it. Next, a route search method using the link table, arc table and pivot table will be described. In the following calculation, a method of creating a tree from a starting point to a destination and calculating a route will be described. However, conversely, a method of creating a tree from a destination to a starting point and calculating a route may be used.
【0034】図7を参照して、リンクA→B又はリンク
A→Cから出発するとする。目的地はノードB付近であ
るとする。リンクテーブルのリンクA→Bに対応するシ
ーケンス番号0の欄を見ると、アークテーブルへのポイ
ンタは0を示しているので、アークテーブルのシーケン
ス番号0の欄を見る。リンクテーブルへのポインタは4
となっている。そこで、リンクテーブルのシーケンス番
号4の欄を見ると、シーケンス番号4のリンクは始端ノ
ードBと終端ノードEによって特定されるリンクB→E
である。したがって、リンクA→BにリンクB→Eが接
続されることが分かる。アークテーブルのアーク終端識
別子は0となっているので、リンクA→Bに続くアーク
が他にも存在する。そこで、アークテーブルを下に辿っ
て、シーケンス番号1の欄を見る。リンクテーブルへの
ポインタは3となっているので、リンクテーブルのシー
ケンス番号3の欄を見ると、リンクB→Cである。した
がって、リンクA→BにリンクB→Cも接続されること
が分かる。さらに、アークテーブルを下に辿って、シー
ケンス番号2の欄を見る。リンクテーブルへのポインタ
は12となっているので、リンクテーブルのシーケンス
番号12の欄を見ると、リンクB→Fである。したがっ
て、リンクA→BにリンクB→Fも接続されることが分
かる。ここで、アーク終端識別子は1となっているの
で、リンクA→Bに接続するリンクの探索はこれで終了
となる。Referring to FIG. 7, it is assumed that link A → B or link A → C starts. It is assumed that the destination is near node B. Looking at the sequence number 0 column corresponding to the link A → B in the link table, the pointer to the arc table indicates 0, so the sequence number 0 column of the arc table is seen. The pointer to the link table is 4
Has become. Therefore, looking at the sequence number 4 column in the link table, the link with sequence number 4 is the link B → E specified by the start node B and the end node E.
Is. Therefore, it can be seen that the link B → E is connected to the link A → B. Since the arc end identifier of the arc table is 0, there are other arcs following the link A → B. Then, the arc table is traced down to see the column of sequence number 1. Since the pointer to the link table is 3, looking at the sequence number 3 column of the link table, the link is B → C. Therefore, it can be seen that the link B → C is also connected to the link A → B. Further, the arc table is traced downward to see the column of sequence number 2. Since the pointer to the link table is 12, looking at the column of sequence number 12 in the link table, it is link B → F. Therefore, it can be seen that the link B → F is also connected to the link A → B. Here, since the arc end identifier is 1, the search for the link connected to the link A → B is completed.
【0035】次に、リンクB→Eに接続されるリンクを
探索する。リンクテーブルのシーケンス番号4の欄を見
ると、アークテーブルへのポインタはないので探索はそ
こで打ち切られる。次に、リンクB→Cに接続されるリ
ンクを探索する。リンクテーブルのシーケンス番号3の
欄を見ると、アークテーブルへのポインタは6となって
いる。そこで、アークテーブルのシーケンス番号6の欄
を見ると、リンクはリンクC→Aである。アークテーブ
ルのシーケンス番号6の欄のアーク終端識別子は0とな
っているので、リンクB→Cに接続される他のアークが
存在する。そこで、アークテーブルのシーケンス番号7
の欄を見ると、リンクはリンクC→Dである。アークテ
ーブルのシーケンス番号7の欄のアーク終端識別子は1
となっているので、探索は、そこで打ち切る。Next, a link connected to the link B → E is searched. Looking at the sequence number 4 column in the link table, there is no pointer to the arc table, so the search is aborted there. Next, the link connected to the link B → C is searched. Looking at the sequence number 3 column of the link table, the pointer to the arc table is 6. Therefore, looking at the sequence number 6 column of the arc table, the link is link C → A. Since the arc end identifier in the column of the sequence number 6 in the arc table is 0, there are other arcs connected to the link B → C. Therefore, sequence number 7 in the arc table
Looking at the column, the link is link C → D. The arc end identifier in the column of sequence number 7 in the arc table is 1
Therefore, the search ends there.
【0036】次に、リンクB→Fに接続されるリンクを
探索する。このリンクは計算終了リンクであり、アーク
テーブルへのポインタはないので探索はそこで打ち切ら
れる。次に、リンクC→Dに接続されるリンクを探索し
て、リンクD→Eを見つける。Next, a link connected to the link B → F is searched. This link is a calculation end link and there is no pointer to the arc table, so the search is aborted there. Next, the link connected to the link C → D is searched to find the link D → E.
【0037】以上のようにして接続リンクがツリーのよ
うに次々と求められる。求められたツリーは図8に示す
ようなものである。図8(a) はリンクA→Bから広がる
ツリーを示し、図8(b) はリンクA→Cから広がるツリ
ーを示す。ツリーは無限に広がるが、後述するように処
理に工夫を加えることにより、ツリーの途中で計算を打
ち切るようにしている。As described above, connection links are obtained one after another like a tree. The obtained tree is as shown in FIG. FIG. 8A shows a tree extending from the link A → B, and FIG. 8B shows a tree extending from the link A → C. Although the tree extends infinitely, the calculation is aborted in the middle of the tree by devising the process as described later.
【0038】以上のようにしてリンクを次々と探索して
いく方法を説明したが、経路計算処理では、経路の探索
に加えて、アークコストを積算していって、最もコスト
の少ない最適な経路を計算する必要がある。そこで最適
経路計算の仕方を、フローチャート(図1,9)を用い
て詳細に説明する。The method for searching links one after another has been described above. In the route calculation process, the arc cost is added in addition to the route search, and the optimum route with the least cost is calculated. Needs to be calculated. Therefore, a method of calculating the optimum route will be described in detail with reference to flowcharts (FIGS. 1 and 9).
【0039】まず、CPU26aは、出発地、目的地を
含む一定の範囲のリンクデータをディスク14から取り
出し、所定のプログラムに基づいて、リンクテーブルを
作成する。このとき、出発地、目的地を含む一定の範囲
が複数のメッシュを含むならば、メッシュ番号を連番に
振り直して記憶する。こうすることにより地図管理を容
易にし、高速のアクセスが可能になる。First, the CPU 26a takes out a predetermined range of link data including a starting point and a destination from the disk 14 and creates a link table based on a predetermined program. At this time, if the certain range including the starting point and the destination includes a plurality of meshes, the mesh numbers are renumbered to the sequential numbers and stored. This will make map management easier and faster access possible.
【0040】リンクテーブルの作成時、リンクテーブル
のトータルコストの値はすべて無限大(実際には、予想
されるトータルコストより2桁程度大きな値に設定すれ
ば十分である。)、前リンクなしとして初期設定する。
以下、図7の経路ネットワークを想定し、出発地リンク
(計算開始リンクという)をA→B及びA→C、目的地
リンク(計算終了リンクという)をB→Fとして最適経
路を計算する。At the time of creating the link table, all the values of the total cost of the link table are infinite (actually, it is sufficient to set the value about two orders of magnitude larger than the expected total cost), and there is no previous link. Initialize.
Hereinafter, assuming the route network in FIG. 7, the optimum route is calculated by setting the departure point links (referred to as calculation start links) to A → B and A → C and the destination links (referred to as calculation end links) to B → F.
【0041】CPU26aは、計算開始リンクA→B及
びA→Cを取り出し、これらの計算開始リンクA→B及
びA→Cをピボットテーブルに登録する(ステップN
1)。ピボットテーブルに登録されたリンクを、以下
「ピボットリンク」という。これらのピボットリンクに
対応するトータルコストをリンクテーブル上で0にし、
メモリ26bの上限コストは無限大にしておく(ステッ
プN2)。The CPU 26a takes out the calculation start links A → B and A → C and registers these calculation start links A → B and A → C in the pivot table (step N).
1). The link registered in the pivot table is hereinafter referred to as "pivot link". Set the total cost corresponding to these pivot links to 0 on the link table,
The upper limit cost of the memory 26b is infinite (step N2).
【0042】CPU26aは、ピボットテーブルを参照
し、未処理ピボットリンクがあるかどうかを判定する
(ステップN3)。最初は何の処理もしていないので、
未処理ピボットリンク例えば計算開始リンクA→Bがピ
ボットテーブルに存在する。これを未処理ピボットリン
クとして取り出す(ステップN4)。そして当該リンク
A→Bが計算終了リンクであるかどうか判断する(ステ
ップN5)。計算終了リンクでなければ、リンクA→B
のトータルコストが上限コストを越えているかどうか判
定する(ステップN8)。リンクA→Bのトータルコス
トは、リンクテーブル上で初期値0に設定され、上限コ
ストは無限大に設定されているので、ステップN8での
判定は“NO”になり、ステップN9に進む。ステップ
N9では、全アークの探索が終了したかどうかを判断す
る。探索が終了していなければ、CPU26aは、リン
クA→Bにつながるリンクを探索するため、リンクA→
Bに対応するリンクテーブルを参照し、アークテーブル
へのポインタとアークコストを獲得する。その結果、前
述したように、アークテーブルでまずリンクB→Eが探
し出される。リンクB→Eのアークコストは、リンクA
→Bのリンクコスト70に交差点Bでの右折コスト2を
加えたもの72になる。リンクA→Bのトータルコスト
(0になっている)に前記アークコスト72を加え、こ
れをリンクB→Eのトータルコスト72とする(以上図
9のステップN11)。このトータルコストが、リンク
テーブルに書込まれた接続リンクB→Eのトータルコス
ト(その初期値は無限大となっている)より小さいかど
うか判定する(ステップN12)。The CPU 26a refers to the pivot table and determines whether or not there is an unprocessed pivot link (step N3). I didn't do anything at first, so
An unprocessed pivot link, for example calculation start link A → B, exists in the pivot table. This is taken out as an unprocessed pivot link (step N4). Then, it is determined whether or not the link A → B is a calculation end link (step N5). If it is not a calculation end link, link A → B
It is judged whether the total cost of the above exceeds the upper limit cost (step N8). The total cost of the links A → B is set to the initial value 0 and the upper limit cost is set to infinity on the link table. Therefore, the determination in step N8 is “NO”, and the process proceeds to step N9. In step N9, it is determined whether the search for all arcs has been completed. If the search is not completed, the CPU 26a searches for a link connected to the link A → B, and therefore the link A →
The link table corresponding to B is referenced, and the pointer to the arc table and the arc cost are acquired. As a result, as described above, the link B is first searched for in the arc table. The arc cost of link B → E is link A
→ 72 is the link cost 70 of B plus the right turn cost 2 at the intersection B. The arc cost 72 is added to the total cost of the links A → B (which is 0), and this is set as the total cost 72 of the links B → E (step N11 in FIG. 9). It is determined whether this total cost is smaller than the total cost (the initial value is infinite) of the connection link B → E written in the link table (step N12).
【0043】最初は必ず小さくなっているので、ステッ
プN13に進み、接続リンクB→Eのトータルコストを
リンクテーブル上で書き換える(ステップN13)。次
に、リンクB→Eがピボットテーブルに存在するかどう
か調べる(ステップN14)。この調査は、ピボットテ
ーブルのリンクを1本1本調べると時間がかかるので、
前述したリンクテーブル上の所定のビットに基づいて調
べるのである。ピボットテーブルに存在していなけれ
ば、リンクB→Eをピボットテーブルに登録する(ステ
ップN15)。Since it is always small at first, the process proceeds to step N13, and the total cost of the connection links B → E is rewritten on the link table (step N13). Next, it is checked whether the link B → E exists in the pivot table (step N14). This survey takes time if you check each link in the pivot table,
The check is performed based on the predetermined bit on the link table described above. If it does not exist in the pivot table, the link B → E is registered in the pivot table (step N15).
【0044】そしてリンクテーブル上で前リンクである
リンクA→Bへのポインタを記録する(ステップN1
6)。その後、ステップN9に戻り、当該リンクA→B
につながる他のリンクを探索するため、アークテーブル
のシーケンス番号1の欄を参照する。その結果、リンク
B→Cが探し出される。リンクB→Cのアークコスト
は、リンクA→Bのリンクコスト70に交差点Bでの右
折コスト2を加えたもの72になる。そして、リンクA
→Bのトータルコスト(0になっている)に前記アーク
コスト72を加え、リンクB→Cのトータルコストとす
る(ステップN11)。そして、このトータルコスト7
2をリンクテーブルに書込みまれたリンクB→Cのトー
タルコスト(その初期値は無限大になっている)より小
さいかどうか比較し(ステップN12)、小さければ、
CPU26aは、接続リンクB→Cのトータルコストを
リンクテーブル上で書き換えて72にする(ステップN
13)。次に、リンクB→Cがピボットテーブルに存在
するかどうか調べ(ステップN14)、ピボットテーブ
ルに存在していなければ、リンクB→Cを登録する(ス
テップN15)。そしてリンクテーブル上で前リンクで
あるリンクA→Bへのポインタを記録する(ステップN
16)。Then, the pointer to the link A → B which is the previous link is recorded on the link table (step N1).
6). After that, the process returns to step N9, and the link A → B
In order to search for another link connected to, the column of sequence number 1 in the arc table is referenced. As a result, the link B → C is found. The arc cost of the link B → C is 72, which is the link cost 70 of the link A → B plus the right turn cost 2 at the intersection B. And link A
→ The arc cost 72 is added to the total cost of B (which is 0) to obtain the total cost of links B → C (step N11). And this total cost 7
2 is compared with the total cost of links B → C written in the link table (its initial value is infinite) to see if it is smaller (step N12).
The CPU 26a rewrites the total cost of the connection links B → C on the link table to 72 (step N).
13). Next, it is checked whether the link B → C exists in the pivot table (step N14), and if it does not exist in the pivot table, the link B → C is registered (step N15). Then, the pointer to the previous link A → B is recorded on the link table (step N).
16).
【0045】その後、ステップN9に戻り、リンクA→
Bに対応するアークテーブルのシーケンス番号1の行の
アーク終端識別子を参照すると、0なので、接続リンク
が他にも存在する。その結果、リンクB→Fが探し出さ
れる。このリンクB→Fについても、前記と同じように
してアークコスト70を求め、ノードBでの直進コスト
1(直進コストが0でないのは交差点の信号待ち等を考
慮したからである)を加えてトータルコスト71とし
(ステップN11)、接続リンクB→Fのトータルコス
トをリンクテーブル上で書き換えて72にする(ステッ
プN13)。さらに、リンクB→Fをピボットテーブル
に登録し(ステップN15)、リンクテーブル上で前リ
ンクであるリンクA→Bへのポインタを記録する(ステ
ップN16)。Then, the process returns to step N9 and the link A →
Referring to the arc end identifier of the row with the sequence number 1 in the arc table corresponding to B, it is 0, so there are other connection links. As a result, the link B → F is found. Also for this link B → F, the arc cost 70 is obtained in the same manner as above, and the straight-ahead cost 1 at the node B is added (the straight-ahead cost is not 0 because the signal waiting at the intersection is taken into consideration). The total cost 71 is set (step N11), and the total cost of the connection links B → F is rewritten to 72 on the link table (step N13). Further, the link B → F is registered in the pivot table (step N15), and the pointer to the previous link A → B is recorded on the link table (step N16).
【0046】その後、ステップN9に戻り、リンクA→
Bに対応するアークテーブルのシーケンス番号2の行の
アーク終端識別子を参照すると1なので、接続リンクが
他に存在しないことが分かる。その結果、ステップN3
に戻り、ピボットテーブルに未処理ピボットリンクがあ
るかどうかを判定する。未処理ピボットリンクとして計
算開始リンクA→Cがピボットテーブルに存在するの
で、これを取り出し(ステップN4)、計算終了リンク
であるかどうか判断し(ステップN5)、計算終了リン
クでなければ、ステップN8を経由してステップN9に
進む。ステップN9では、当該リンクA→Cにつながる
リンクを探索するが、この場合リンクC→B,C→Dが
探索される。トータルコストの算出と書き換え、ピボッ
トテーブルへの登録、前リンクへのポインタの登録は、
前に述べたのと同じ方法なので説明を省略する。Then, the process returns to step N9 and the link A →
Referring to the arc end identifier in the row of sequence number 2 in the arc table corresponding to B, it is 1, so it can be seen that there is no other connection link. As a result, step N3
Return to and determine if there are unprocessed pivot links in the pivot table. Since the calculation start links A → C exist as unprocessed pivot links in the pivot table, this is taken out (step N4), it is judged whether or not it is the calculation end link (step N5), and if it is not the calculation end link, step N8 To proceed to step N9. In step N9, a link connected to the link A → C is searched, but in this case, links C → B and C → D are searched. Calculation and rewriting of the total cost, registration in the pivot table, registration of the pointer to the previous link,
Since the method is the same as that described above, the description is omitted.
【0047】その後ステップN3に戻り、次に未処理ピ
ボットリンクとしてリンクB→Eを取り出し、当該リン
クB→Eにつながるリンクを探索するが、存在しないの
で、次にピボットリンクB→Cについて、当該リンクB
→CにつながるリンクC→Aを探索する。その結果、リ
ンクC→Aについてアークコスト42が求められ、前リ
ンクB→Cのトータルコスト72に加算されて、値11
4が、リンクテーブル上で接続リンクC→Aのトータル
コストとして設定される。さらにリンクC→Aはピボッ
トテーブルに登録され、前リンクであるリンクB→Cへ
のポインタが記録される。Then, returning to step N3, the link B → E is taken out as an unprocessed pivot link and a link connecting to the link B → E is searched, but since there is no such link, the pivot link B → C Link B
→ Search for a link C → A leading to C. As a result, the arc cost 42 for the link C → A is obtained and added to the total cost 72 of the previous link B → C to obtain the value 11
4 is set as the total cost of the connection link C → A on the link table. Further, the link C → A is registered in the pivot table, and the pointer to the previous link B → C is recorded.
【0048】次に、当該リンクB→Cにつながる他のリ
ンクC→Dも探索され、その結果、リンクC→Dについ
てアークコスト41が求められ、前リンクB→Cのトー
タルコスト72に加算されて、値113が求められる。
ここでステップN12において、リンクテーブル上の接
続リンクC→Dのトータルコストと比較される。前のト
ータルコストは26であるので、ステップN12では
「非小」の判定がなされるので、コスト書換えやリンク
接続替え等の処理はせず、ステップN9に戻る。したが
って、リンクA→B,B→C,C→Dと続く経路の探索
はここで打ち切られることになる。Next, another link C → D connected to the link B → C is also searched, and as a result, the arc cost 41 for the link C → D is obtained and added to the total cost 72 of the previous link B → C. Thus, the value 113 is obtained.
Here, in step N12, the total cost of the connection links C → D on the link table is compared. Since the previous total cost is 26, since "non-small" is determined in step N12, the process such as cost rewriting and link connection changing is not performed, and the process returns to step N9. Therefore, the search for the route following the links A → B, B → C, C → D is terminated here.
【0049】ステップN9では、当該リンクB→Cにつ
ながる他のリンクを探索するが、存在しないので、ステ
ップN3に戻り、次に未処理ピボットリンクであるリン
クB→Fを取り出す(ステップN4)。そして、リンク
B→Fについて、当該リンクB→Fが計算終了リンクで
あるかどうか判断する(ステップN5)。リンクB→F
は、計算終了リンクであるので、ステップN6に進み、
そのトータルコストを上限コストと比較する。リンクB
→Fのトータルコストは、既に述べたように71であ
り、上限コストの初期値は無限大なので、ステップN7
に進み、このトータルコスト71で上限コストを置き換
える。したがって、以後、上限コストとして71の値が
設定される。そして、ステップN8でリンクB→Fのト
ータルコストがこの新しい上限コストと比較され、 (リンクB→Fのトータルコスト)>上限コスト かどうか調べられる。いまは等号(=)が成り立つの
で、ステップN8で“NO”と判断され、ステップN3
に戻る。At step N9, another link connected to the link B → C is searched for, but since it does not exist, the process returns to step N3, and the unprocessed pivot link B → F is taken out (step N4). Then, for the link B → F, it is determined whether or not the link B → F is a calculation end link (step N5). Link B → F
Is a calculation end link, the process proceeds to step N6,
Compare the total cost to the upper limit cost. Link B
→ The total cost of F is 71 as already described, and the initial value of the upper limit cost is infinite, so step N7
Then, the total cost 71 is used to replace the upper limit cost. Therefore, thereafter, the value of 71 is set as the upper limit cost. Then, in step N8, the total cost of link B → F is compared with this new upper limit cost, and it is checked whether (total cost of link B → F)> upper limit cost. Since the equal sign (=) holds now, it is judged as "NO" in Step N8, and Step N3
Return to.
【0050】さらに、未処理ピボットリンクであるリン
クC→Bが取り出される(ステップN4)。そして、リ
ンクC→Bについて、当該リンクC→Bにつながるリン
クが探索され、トータルコストの算出と書き換え、ピボ
ットテーブルへの登録、前リンクへのポインタの登録
が、前に述べたのと同様にして行われる。以下、いまま
でに述べたのと同様の手順により、図8のツリーを構成
するリンクが次々と探索され、トータルコストが条件に
応じて書き換えられていく。Further, the unprocessed pivot link C → B is taken out (step N4). Then, for the link C → B, the link connecting to the link C → B is searched, the calculation and rewriting of the total cost, the registration in the pivot table, and the registration of the pointer in the previous link are performed in the same manner as described above. Is done. Thereafter, the links forming the tree of FIG. 8 are searched one after another by the same procedure as described above, and the total cost is rewritten according to the conditions.
【0051】ここで例えば、リンクC→Dにつながるリ
ンクD→Eを探索する場合を考えると、そのトータルコ
ストは、リンクC→Dのトータルコストである26と、
リンクD→Eのアークコストである61(リンクC→D
のリンクコスト60に直進コスト1を加えたもの)との
和87である。したがって、リンクD→Eについて、ス
テップN8に判定をすれば、不等式 (リンクD→Eのトータルコスト)87>上限コスト7
1 が成立し、ステップN8で“YES”の判定がなされ、
リンクD→Eにつながるリンク例えばリンクE→Bは探
索されない。つまり、いったん上限コストが有限値に設
定されると、それ以上のトータルコストを持つリンクに
ついては、接続リンクの探索が打ち切られる。したがっ
て、無駄なリンクの探索をしなくて済むので、経路計算
時間が短縮化される。Consider, for example, the case of searching for the link D → E connected to the link C → D, the total cost is 26, which is the total cost of the link C → D.
The arc cost of link D → E is 61 (link C → D
(Link cost 60 of 1 plus straight ahead cost 1)), which is 87. Therefore, if the determination is made in step N8 for link D → E, the inequality (total cost of link D → E) 87> upper cost 7
1 is satisfied, and a “YES” determination is made in step N8,
A link connected to the link D → E, for example, the link E → B is not searched. That is, once the upper limit cost is set to a finite value, the search for the connection link is terminated for the link having the total cost higher than that. Therefore, it is not necessary to search for unnecessary links, and the route calculation time is shortened.
【0052】次に、例えば、リンクC→Bにつながるリ
ンクB→Fを探索する場合を考えると、そのトータルコ
ストは、リンクC→Bのトータルコストである26と、
リンクB→Fのアークコストである36(リンクC→B
のリンクコスト35に直進コスト1を加えたもの)との
和62である。当該リンクB→Fは、計算終了リンクで
あり、ステップN6においてそのトータルコストが上限
コスト71と比較される。Next, for example, considering the case of searching the link B → F connected to the link C → B, the total cost is 26, which is the total cost of the link C → B.
The arc cost of link B → F is 36 (link C → B
62, which is the sum of the link cost 35 and the straight-ahead cost 1). The link B to F is a calculation end link, and its total cost is compared with the upper limit cost 71 in step N6.
【0053】(トータルコスト62)<71 の関係がなりたつので、ステップN7において上限コス
トとして62が新たに設定される。したがって、以後の
処理においては、この低い方の値62が上限コストとな
る。この意味は、一度計算終了リンクが探索され、その
トータルコストが上限コストとして設定された後であっ
ても、それ以下のトータルコストを持つ計算終了リンク
までの経路(近道)が探索されると、以後、この低い方
のトータルコストが上限コストとなることである。した
がって、常に、最短コストの経路を探し出すことができ
る。Since the relation of (total cost 62) <71 is established, 62 is newly set as the upper limit cost in step N7. Therefore, in the subsequent processing, this lower value 62 becomes the upper limit cost. This means that even after the calculation end link is searched once and the total cost is set as the upper limit cost, if a route (shortcut) to the calculation end link having a total cost less than that is searched, Thereafter, the lower total cost becomes the upper limit cost. Therefore, the route with the shortest cost can always be found.
【0054】最後に、ステップN3において、ピボット
リンクがすべて処理済みとなると、経路の探索は終了し
たことになる。最後に、計算終了リンクB→Fの前リン
クを辿っていくことにより出発地から目的地に到る経路
が求められる。以上のようにして、最終的には、リンク
A→C,C→B,B→Fが最適経路として確定する。Finally, when all the pivot links have been processed in step N3, the route search is completed. Finally, the route from the starting point to the destination is obtained by following the previous link of the calculation end link B → F. As described above, the links A → C, C → B, and B → F are finally determined as the optimum routes.
【0055】計算終了リンクB→Fのトータルコスト欄
を参照すると、そのトータルコスト62が出発地から目
的地までの最適経路コストとなる。Referring to the total cost column of the calculation end link B → F, the total cost 62 becomes the optimum route cost from the starting point to the destination.
【0056】[0056]
【発明の効果】以上のように、本発明の経路計算方法及
び装置によれば、探索が一度計算終了リンクまで到達す
れば、以後、その計算終了リンクまで到達するのに要し
たコストを超えるコストの経路については、探索が打ち
切られるので、ループ回数を減少させることができ、計
算処理時間を短くすることができる。As described above, according to the route calculation method and apparatus of the present invention, once the search reaches the calculation end link, the cost exceeding the cost required to reach the calculation end link thereafter is exceeded. Since the search is discontinued for the route of, the number of loops can be reduced and the calculation processing time can be shortened.
【図1】本発明の最適経路計算の方法を説明するフロー
チャートである。FIG. 1 is a flowchart illustrating a method of calculating an optimum route according to the present invention.
【図2】本発明の経路計算方法を実行するナビゲーショ
ン装置を示すブロック図である。FIG. 2 is a block diagram showing a navigation device that executes the route calculation method of the present invention.
【図3】十字路における出リンクの例を示す図である。FIG. 3 is a diagram showing an example of an outgoing link at a crossroads.
【図4】十字路における入リンクの例を示す図である。FIG. 4 is a diagram showing an example of an incoming link at a crossroads.
【図5】コントローラの詳細構成図である。FIG. 5 is a detailed configuration diagram of a controller.
【図6】トータルコストを説明するための簡単なリンク
構成図である。FIG. 6 is a simple link configuration diagram for explaining a total cost.
【図7】出発地と目的地とを含む経路計算の対象とした
リンク構成図である。FIG. 7 is a link configuration diagram for a route calculation target including a departure place and a destination.
【図8】接続リンクを次々と求めることによって得られ
たリンクのツリーを示す図である。FIG. 8 is a diagram showing a tree of links obtained by sequentially obtaining connection links.
【図9】最適経路計算の方法を説明するフローチャート
(図1の続き)である。FIG. 9 is a flowchart (continuation of FIG. 1) illustrating a method of calculating an optimum route.
14 ディスク 17 コントローラ 26 経路計算処理部 26a CPU 26b 初回探索フラグ 26c 主メモリ 14 disk 17 controller 26 route calculation processing unit 26a CPU 26b initial search flag 26c main memory
───────────────────────────────────────────────────── フロントページの続き (72)発明者 平野 和夫 大阪市此花区島屋一丁目1番3号 住友電 気工業株式会社大阪製作所内 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Kazuo Hirano 1-3-3 Shimaya, Konohana-ku, Osaka City Sumitomo Electric Industries, Ltd. Osaka Works
Claims (2)
スト及びリンク相互の接続関係を記憶した経路ネットワ
ークメモリと、 リンクごとに、このリンクの次に接続される1つ又は複
数の接続リンクと、このリンクの前に接続される計算済
の経路上のリンクと、このリンクを含む計算済の経路の
トータルコストとを記入する欄を有する第1のテーブル
と、 接続リンクを探索すべきリンクを記入する欄を有する第
2のテーブルとを用いて、 (a) 出発地及び目的地の設定に応じて、経路ネットワー
クメモリから一定範囲の経路ネットワークデータを読み
出し、 (b) 読み出された経路ネットワークを構成する各リンク
のトータルコストの初期値を十分大きな値に設定して、
前記第1のテーブルの該当欄に書込み、 (c) 計算開始リンクを第2のテーブルに書込み、この第
2のテーブルに書き込まれたリンクに対応する第1のテ
ーブルのトータルコスト欄を0に設定し、 (d) 第2のテーブルに記入されたリンクについて、第1
のテーブルを参照して接続リンクを探索し、探索された
接続リンクのリンクコストを前記第2のテーブルに記入
されたリンクのコストに加え、この加えた値を、第1の
テーブルに記入された当該接続リンクのトータルコスト
と比較し、 (e) 比較の結果、加えられた値が大きければ、その接続
リンクについての処理を打切り、小さければその値を第
1のテーブルの当該接続リンクのトータルコストに書換
えるとともに、前記第2のテーブルに記入されたリンク
をこの接続リンクに到る計算済の経路上のリンクとして
書込み、 (f) 当該接続リンクを第2のテーブルに新たに記入し
て、前記(d) ,(e) の処理を繰り返し、 (g) 第2のテーブルに記入された全てのリンクについて
接続リンクの探索が終了したときに、計算終了リンクを
第1のテーブルから探し出し、そのリンクに到る計算済
の経路上のリンクを順に辿っていくことにより、最適経
路を決定する経路計算方法において、 前記手順(d) において、第2のテーブルに記入されたリ
ンクが計算終了リンクであれば、そのトータルコストを
上限コストの設定値と比較して、上限コストの設定値よ
りも小さければ上限コストを前記トータルコストの値に
更新し、以後手順(d) を繰り返すときに、第2のテーブ
ルに記入されたリンクのトータルコストを参照し、設定
された上限コストよりも高ければ、接続リンクを探索す
ることなくそのリンクについての処理を打切ることを特
徴とする経路計算方法。1. A route network memory storing costs of respective links constituting a route network and a connection relation between the links, one or a plurality of connection links connected next to each link, and Enter the first table that has a column to enter the link on the calculated route that is connected before the link and the total cost of the calculated route that includes this link, and the link to search for the connection link Using the second table with columns, (a) read a certain range of route network data from the route network memory according to the setting of the origin and destination, and (b) configure the read route network. Set the initial value of the total cost of each link to a sufficiently large value,
Write in the corresponding column of the first table, (c) write the calculation start link in the second table, and set the total cost column of the first table corresponding to the link written in this second table to 0 (D) For the links entered in the second table, first
Connection table is searched for, the link cost of the searched connection link is added to the cost of the link entered in the second table, and the added value is entered in the first table. Compared with the total cost of the connection link, (e) If the added value is large as a result of the comparison, the processing for that connection link is terminated, and if it is smaller, the value is added to the total cost of the connection link in the first table. And write the link entered in the second table as a link on the calculated route to the connection link, and (f) newly enter the connection link in the second table, (G) When the processes of (d) and (e) are repeated, and (g) the connection link search is completed for all the links entered in the second table, the calculation end link from the first table In the route calculation method for determining the optimum route by starting and following the links on the calculated route reaching the link in order, the link entered in the second table in the step (d) is If the link is a calculation end link, the total cost is compared with the set value of the upper limit cost, and if it is smaller than the set value of the upper limit cost, the upper limit cost is updated to the value of the total cost, and the procedure (d) is repeated thereafter. In addition, referring to the total cost of the links entered in the second table, if the total cost is higher than the set upper limit cost, the process for the link is terminated without searching for the connecting link. Method.
スト及びリンク相互の接続関係を記憶した経路ネットワ
ークメモリと、 リンクごとに、このリンクの次に接続される1つ又は複
数の接続リンクと、このリンクの前に接続される計算済
の経路上のリンクと、このリンクを含む計算済の経路の
トータルコストとを記入する欄を有する第1のテーブル
と、 接続リンクを探索すべきリンクを記入する欄を有する第
2のテーブルと、 請求項1記載の(a) 〜(g) の手順を実行することにより
道路地図上の2地点間の最適経路を計算する経路計算処
理手段と、を備える経路計算装置において、 前記経路計算処理手段は、前記手順(d) において、第2
のテーブルに記入されたリンクが計算終了リンクであれ
ば、そのトータルコストを上限コストの設定値と比較し
て、上限コストの設定値よりも小さければ上限コストを
前記トータルコストの値に更新し、以後手順(d) を繰り
返すときに、第2のテーブルに記入されたリンクのトー
タルコストを参照し、設定された上限コストよりも高け
れば、接続リンクを探索することなくそのリンクについ
ての処理を打切るものであることを特徴とする経路計算
装置。2. A route network memory storing costs of respective links constituting a route network and a connection relation between the links, one or a plurality of connection links connected next to each link, and Enter the first table that has a column to enter the link on the calculated route that is connected before the link and the total cost of the calculated route that includes this link, and the link to search for the connection link A route including a second table having columns, and route calculation processing means for calculating an optimal route between two points on the road map by executing the steps (a) to (g) of claim 1. In the computing device, the route calculation processing means is configured to perform the second step in the step (d).
If the link entered in the table is a calculation end link, the total cost is compared with the set value of the upper limit cost, and if it is smaller than the set value of the upper limit cost, the upper limit cost is updated to the value of the total cost, When step (d) is repeated thereafter, the total cost of the link entered in the second table is referred to, and if the total cost is higher than the set upper limit cost, the processing for that link is executed without searching for the connected link. A route calculation device characterized by being cut.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5248243A JP3039226B2 (en) | 1993-10-04 | 1993-10-04 | Route calculation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5248243A JP3039226B2 (en) | 1993-10-04 | 1993-10-04 | Route calculation method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07103773A true JPH07103773A (en) | 1995-04-18 |
JP3039226B2 JP3039226B2 (en) | 2000-05-08 |
Family
ID=17175288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5248243A Expired - Fee Related JP3039226B2 (en) | 1993-10-04 | 1993-10-04 | Route calculation method and device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3039226B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1123307A (en) * | 1997-07-08 | 1999-01-29 | Aisin Aw Co Ltd | Navigation apparatus for vehicle and recording medium |
US6751609B2 (en) | 1996-12-12 | 2004-06-15 | Xanavi Informatics Corporation | Map database apparatus |
JP2006250662A (en) * | 2005-03-10 | 2006-09-21 | Alpine Electronics Inc | Navigation system and method of searching guidance route |
JP2013019910A (en) * | 1998-12-10 | 2013-01-31 | Tele Atlas North America Inc | Shortcut discovery device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103134505B (en) * | 2011-11-25 | 2015-08-19 | 天眼卫星科技股份有限公司 | Path planning system and method thereof |
-
1993
- 1993-10-04 JP JP5248243A patent/JP3039226B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751609B2 (en) | 1996-12-12 | 2004-06-15 | Xanavi Informatics Corporation | Map database apparatus |
JPH1123307A (en) * | 1997-07-08 | 1999-01-29 | Aisin Aw Co Ltd | Navigation apparatus for vehicle and recording medium |
JP2013019910A (en) * | 1998-12-10 | 2013-01-31 | Tele Atlas North America Inc | Shortcut discovery device |
JP2006250662A (en) * | 2005-03-10 | 2006-09-21 | Alpine Electronics Inc | Navigation system and method of searching guidance route |
Also Published As
Publication number | Publication date |
---|---|
JP3039226B2 (en) | 2000-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3371768B2 (en) | Vehicle traveling route guidance device and map data recording medium thereof | |
EP1146496B1 (en) | Method and system for providing routing guidance | |
JP3769104B2 (en) | Intersection routing navigation system and intersection routing method | |
JP3220408B2 (en) | Route guidance device | |
JP3412164B2 (en) | Route display device | |
JPH10281785A (en) | Navigation device for vehicle and medium storing computer program for navigation processing | |
JPH0553501A (en) | Optimum course determining method using course table | |
JP3039226B2 (en) | Route calculation method and device | |
JPH07110238A (en) | Route calculating device | |
JP2964832B2 (en) | Road map display device | |
EP1406064A1 (en) | Map display system | |
JP3293375B2 (en) | Car navigation system | |
JPH09113297A (en) | Route calculating method and navigation device using the method | |
JPH0736381A (en) | Route calculation method | |
JP2906943B2 (en) | Route calculation method and device | |
JP2806149B2 (en) | Navigation device with route calculation function | |
JPH0375998A (en) | Navigation device provided with starting place selecting function | |
JP2984645B2 (en) | Vehicle navigation system | |
JP2905491B2 (en) | Navigation device | |
JP2601943B2 (en) | Optimal route calculation device | |
JP2892881B2 (en) | In-vehicle navigator guidance route search method | |
JPH06288782A (en) | Route searching device | |
JPH07272194A (en) | Navigation device with return route calculating function | |
JP2984646B2 (en) | Vehicle navigation system | |
JP2916459B2 (en) | Vehicle navigation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |