Route searching system of navigation apparatus
BACKGROUND OF THE INVENTION 
     This invention relates to a route searching system of a navigation apparatus used for finding the shortest route from a given point to a destination. 
     Navigation apparatus are known which are used to guide a driver who is not particularly familiar with a region to his destination in that region by selecting a suitable course leading thereto. Apparatus of this kind are now being developed eagerly. 
     In a conventional navigation apparatus, a course along which a driver will be led to his destination is set on the basis of a starting point and a destination point which are input before the driver starts traveling. The driver navigates along the course thereby set. There are various systems of designating a desired course during navigation, such as one in which a map is displayed on a CRT screen and an image of the course is superposed on the map. Another system displays information about an intersection where the driver needs to turn the vehicle in accordance with a predetermined course which information includes numerals or a graph indicating the distance remaining until the intersection is reached and a picture showing certain features of the intersection. A further system makes use of speech output as an auxiliary means. 
     Ordinarily, in a road system, a plurality of courses which connect a starting point and a destination point could in theory be selected. For this reason, various methods of searching for a shortest-time or shortest-distance course (shortest course) between a desired starting point and destination point have been proposed for use in such navigation apparatus. One example of such a method has been reported in which an intersection, such as that shown in FIG. 9, is represented by eight nodes and sixteen directional links to express left and right turns, straight-ahead travel and U-turns, and in which each of the roads connecting the intersections are represented by a pair of directional links. In another example (such as the one disclosed in Japanese Patent Laid-Open No. 62-91811), the shortest course is found by comparing data on courses along which travel is prohibited, and if travel is prohibited, the course is removed, thereby finding the shortest courses which includes no impassable section. 
     The former method entails a problem, however, in that all items of information on left/right turns at intersections are represented by directional links, so the total quantity of data and, hence, the memory capacity is high. In addition, a process of finding a shortest-time course from data having a conventional data structure by detecting left and right turns and weighing data items with the detected left and right turns requires a complicated process of computation for determining left and right turns, resulting in an increased searching time. Specifically, where a crossroad is represented by eight nodes and sixteen directional links, weighted items of data on distance or time must be prepared with respect to each of the sixteen directional links. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a route searching system of a navigation apparatus capable of searching for the optimum route while rating course conditions. 
     It is another object of the present invention to provide a route searching system capable of searching for the optimum route on the basis of information concerning left/right turn or straight-ahead travel, the width of roads and left/right turn prohibition. 
     It is still another object of the present invention to provide a route searching system capable of searching possible routes with a reduced quantity of data on roads necessary for route searching. 
     It is a further object of the present invention to provide a route searching system where weighing with respect to left/right turn can be effected by a simple processing. 
     To these ends, the present invention provides a route searching system of a navigation apparatus for determining a course between designated starting and destination points and performing guidance along the course. The route searching system of the present invention has means for storing node data including information on positions and attributes of the same, intersection data including information on intersections and road data including information on roads, and a route searching means for searching for the optimum route on the basis of the intersection data and the road data. In the present invention, weighted information concerning the road circumstances is included in the road data, and the weighing thereof is effected in accordance with the weighted information with respect to possible routes searched by the route searching means to find the optimum route. 
     With this arrangement, free-of-guidance information and weighted information based on road circumstances, such as the dimensions of roads, are included in the road data, the optimum route is found by searching the routes with the route searching means while weighing the weighted information. It is thereby possible to compute the time taken for traveling along a selected course with reference to the weighted information and as well as to perform route searching in a short period of time. Also, intersections to be passed without turning can readily be removed so as to only prepare guidance data from data necessary for guidance. 
     The invention accordingly comprises the features of construction, combinations of elements, and arrangement of parts which will be exemplified in the construction hereinafter set forth, and the scope of the invention will be indicated in the claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a route searching system of a navigation apparatus which represents an embodiment of the present invention; 
     FIG. 1A is a block diagram of a navigation apparatus which represents an embodiment of the present invention; 
     FIG. 2(a) is a diagram of a road system; 
     FIGS. 2(b) to 2(d) are tables of intersection data, road data and node series data; 
     FIG. 3 is a flow chart of route search processing; 
     FIG. 4 is a flow chart of connecting road search subroutine; 
     FIG. 5 is a flow chart of optimum course condition setting subroutine; 
     FIG. 6 is a flow chart of completion condition confirmation subroutine; 
     FIG. 7 is a flow chart of the process of extracting a series of intersections and a series of nodes; 
     FIG. 8 shows the diagrams of structures of intersection series data and node series data; 
     FIG. 9 is a diagram of intersection information constituted by nodes and directional links, illustrating a conventional route search method. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     An embodiment of the present invention will be described below with reference to the accompanying drawings. 
     Referring to FIG. 1, a route searching system has data 1 concerning intersections, data 2 concerning roads, data 3 concerning nodes, a route search processing section 4, a section 5 for forming a series of intersections and a series of nodes, data 6 concerning the series of intersections and the series on nodes thereby formed, and a navigation section 7. The route search processing section 4 has a connecting road search subroutine for finding roads that connect to an intersection except for entrance-prohibited roads, such as roads which cannot be entered if to do so would involve an illegal turning to the left or right; an optimum route condition setting subroutine for setting conditions, such as the width of roads to be selected, need for guidance, and so forth; and a completion condition subroutine for determining whether or not route searching has been completed. The route search processing section 4 thereby searches for the optimum route between a starting point and a destination point. The intersection/node series forming section 5 forms data 6 concerning a series of intersections and a series of nodes in coincidence with the optimum route thereby found. The navigation section 7 conducts navigation on the basis of the intersection/node series data 6. The navigation section 7 has a data processing means and a means for outputting visual display and speech, and is adapted to read out the intersection/node series data 6 at predetermined points on the course to be traveled and to perform guidance along the course with the aid of visual display and speech outputs. 
     Referring to FIG. 1A, an apparatus has a memory 8 for storing intersection data, road data, and node data, an input 9 for inputting departure and destination points, a data processing unit 10 for reading memory 8 and input 9 which includes course guidance 16 for providing guidance information via visual output 11 and speech output 12. The data processing unit 10 also includes a course retrieval 13, road weighing 14, and optimization 15. 
     Data concerning the road network includes groups of data items: intersection data items such as those shown in FIG. 2(b); road data items such as those shown in FIG. 2(c); and node data items such as those shown in FIG. 2(d), assuming if the road network is represented by intersection numbers I to IV and road numbers  ○1  to  ○8 , as shown in FIG. 2(a). 
     That is, as shown in FIG. 2(b), the intersection data is constituted by, in correspondence with intersection numbers I to IV, intersection names, the smallest number of road numbers designating roads starting from the corresponding one of the intersections I to IV, the smallest number of road numbers designating roads terminating at the corresponding one of intersections I to IV, and values each representing existence or absence of traffic signals. 
     As shown in FIG. 2(c), the road data is constituted by, in correspondence with road numbers  ○1  to  ○8 , starting and terminal points indicated by intersection numbers I to IV, numbers corresponding to the second of road numbers designating roads having the same starting point, numbers corresponding to the second of road numbers designating roads having the same terminal point, the widths of the roads, prohibition information, free-of-guidance information, photograph numbers, the numbers of nodes, top addresses of node series data, and the lengths of the roads. 
     The node data is constituted by east longitudes, north latitudes and attributes, as shown in FIG. 2(d). As is apparent from the road data, the unit road indicated by each road number is defined by a plurality of nodes. That is, the node data relates to points on the roads. If something connecting a pair of nodes is called an arc, a road can be expressed by connecting, with an arc, each of adjacent pairs of nodes constituting a series of a plurality of nodes. For example, with respect to road number ○1 , the number of nodes is 15 and the top address of the corresponding node data items is 100. The road number  ○1 therefore designates a series of fifteen nodes represented by node data items with addresses 100 to 114. 
     On the basis of the above-described network data, with respect to a course starting from, for example, intersection number I, a road number ○1  is first found from starting point information of the intersection data, and road number  ○7  is then found in &#34;second of road numbers designating roads having same starting point&#34; of the road data. Conversely, from the corresponding information relating to road number  ○7 , road number  ○1  is found, thereby determining that there is no connecting roads represented by other road numbers. Data items relating to terminal points can be read out in a similar manner. With respect to the road number  ○5  in the road data, the road number  ○6  designates prohibition. Correspondingly, in the network shown in FIG. 2(a), travel along a route indicated by the road numbers ○5  and  ○6  through the intersection indicated by the intersection number IV is prohibited due to the existence of no-left/right-turn prohibition. Only travel along a route indicated by the road number  ○8  is allowed. In practice, there is no need for guidance in the direction of road number  ○8 . Thus, the road data has road numbers designating entrance prohibition such as no-left/right-turn, as well as road numbers designating cases where there is no need for guidance, thereby enabling a reduction in the information memory capacity and facilitating route searching. 
     The flow of route search processing based on the above-described network data will be described below with reference to FIG. 3. In the flow chart of FIG. 3, c represents the intersection number; L(c), the distance; F(c), flag; R(c), a road number designating a traveled road; s0 and s1, intersection numbers designating intersections adjacent to a starting point; and e0 and e1, intersection numbers designating intersections adjacent to a destination. F(c)=0 indicates the unsearched state, F(c)=1 indicates searching, and F(c)=2 indicates completion of searching. 
      ○1  With respect to all intersections: 
     distance L(c) is set to infinite (∞), and 
     flag F(c) is set to &#34;0&#34; (unsearched state). 
     The initialization is thus performed, so that all the intersections are regarded as unsearched and the distance between the starting point and each intersection as infinite. 
      ○2  The distance from the starting point are substituted for distances L(s0) and L(s1) corresponding to intersection numbers s0 and s1 adjacent to the starting point, flags F(s0) and F(s1) corresponding to intersection numbers s0 and s1 adjacent to the starting point are set to &#34;1&#34;, and the road number indicating the route from the starting point is set as the road number designating the passed route is set to t. 
      ○3  Intersection numbers are searched to find intersection number c0 which satisfies the condition that flag F is not &#34;2&#34; and the distance L(c) is minimum. 
      ○4  The connecting road search subroutine is executed to search for connecting roads starting from intersection number c0. 
      ○5  Whether or not there is any connecting road is examined. 
     In the case of YES, the process proceeds to the next step  ○6 . In the case of NO, the process proceeds to step 11. 
      ○6  The optimum route condition setting subroutine is executed to set road circumstances and other conditions for searching for the optimum road. 
      ○7  The intersection number corresponding to the terminal end of the present road is set to c1 and the length of the road is set as l. 
      ○8  The distance P to the terminal end of the present road is calculated: 
     
         P=L(c0)+l 
    
     (where L(c0) is the distance between the starting point and the intersection and P is the distance from the intersection number (c). P is obtained as the distance through which the terminal end of the road (examined for searching) corresponding to the intersection number c1 is reached via the same road. 
      ○9  Whether or not the condition that P&lt;L(c1) and F(c1)≠ 2 is satisfied is examined. 
     In the case of YES, the process proceeds to the next step  ○10 . In the case of NO, the process returns to step  ○4 . 
      ○10  The distance between the starting point and the intersection corresponding to intersection number c1 is set to P, corresponding flag F(c1) is set to &#34;1&#34;, and road number R(c1) indicating the route traveled until the intersection corresponding to intersection number c1 is reached is set as the road number of the route examined for searching. 
      ○11  If NO in step  ○5 , F(c0) is set to &#34;2&#34;. 
      ○12  The completion condition confirmation subroutine is executed. 
      ○13  Whether or not the processing has been completed is examined. In the case of NO, the process proceeds to step 3. In the case of YES, the processing is ended. 
     As a result of this processing, with respect to each intersection number, the road number indicating the optimum course from the starting point to the intersection corresponding to each intersection number is set. 
     The connecting road search subroutine in step  ○4  is conducted in accordance with the flow diagram shown in FIG. 4, as described below. 
      ○1  Whether or not the present searching is initial searching is examined. 
     In the case of YES, the process proceeds to step  ○2 . In the case of NO, the process proceeds to step  ○6 . 
      ○2  A road number indicating a route starting from the present intersection c0 is extracted from the intersection data shown in FIG. 2(b) and is stored. 
      ○3  A road number indicating a prohibited road connected to the intersection c0 examined for searching is read out from the road data shown in FIG. 2(c). 
      ○4  Whether or not the newly-extracted road corresponds to the prohibited road is examined. In the case of YES, the process proceeds to step  ○6 . In the case of NO, the process proceeds to step ○5 . 
      ○5  The newly-extracted road is stored as a connecting road and the process returns (to step  ○5  of FIG. 3. 
      ○6  A road number which indicates a road having the road previously found and which is next to the road number indicating the previously-found road is extracted from the road data. 
      ○7  Whether or not the previously-found road and the newly-extracted road are the same is examined. 
     In the case of YES, the process proceeds to the next step  ○8 . In the case of NO, the process returns to step  ○3 . 
      ○8  A determination that there is no connecting road is made and then the process returns. 
     The optimum route condition setting subroutine in step  ○6  of FIG. 3 is conducted in accordance with the flow diagram such, as that shown in FIG. 5, as described below. 
      ○1  The dimension D and the length l of each connecting road are read from the road data. 
      ○2  Whether or not the dimension D of each connecting road is equal to or smaller than 1 is examined. 
     In the case of YES, the process proceeds to step  ○3 . In the case of NO, the process proceeds to step  ○4 . 
      ○3  The value of l is multiplied by a. That is, if a road having a dimension larger than 1 is regarded as an ordinary wide road while a road having a dimension equal to or smaller than 1 is regarded as a narrow road, the narrow road is rated at a value in terms of distance a times higher than that of the wide road. The number a is therefore larger than 1. 
      ○4  Free-of-guidance data relating to the road traveled to the intersection presently examined for searching is read from the road data. 
      ○5  Whether or not there is any connecting road in correspondence with the free-of-guidance data is examined. 
     In the case of YES, the process returns. In the case of NO, the process proceeds to step  ○6 . 
      ○6  b m  is added to l to set another new value of l, and the process returns. That is, an intersection at which guidance for, for example, left or right turn is required is rated at a value larger than the guidance-free intersection by b in terms of distance. 
     In the completion condition confirmation subroutine, as shown in FIG. 6, whether or not intersection number c0 indicating the intersection examined for searching and one of the intersection numbers indicating adjacent intersections of the destination coincide with each other is examined, and a completion flag, for example, is set on condition that coincidence is found. 
     As described above, in the route searching in accordance with the present invention, the distance between intersections is weighed in consideration of the dimension of the connecting road and travel conditions relating to the need for guidance, thus searching for the shortest route. As a result, items of road number information in coincidence with the optimum course can be obtained with respect to the intersections. It is therefore possible to prepare data on a series of intersections and series of nodes in accordance with the processing flow of FIG. 7 on the basis of the results of searching, as described below. 
      ○1  The intersection number indicating one of the intersections which has been examined for searching is stored in the memory. 
      ○2  The starting end of the road extending from that intersection is stored in the memory. 
      ○3  Whether or not the intersection coincides with one of intersections adjacent to the starting point is examined. 
     In the case of YES, the process proceeds to the next step  ○4 . In the case of NO, the process returns to step  ○2 . 
      ○4  A starting number and a destination number are placed in front and at the rear of the stored series of intersection numbers, thereby forming a series of intersections. 
      ○5  Data on a series of nodes between intersections is extracted from the road data to form the series of nodes. 
      ○6  Guidance-free intersections are removed from the series of intersections by using the free-of-guidance data. 
     FIG. 8 shows examples of items of data on the series of intersections and the series of nodes obtained as described above. As shown in FIG. 8(a), the intersection series data is constituted by various items including intersection names, intersection numbers, photograph numbers indicating photographs of specific views of intersections, turning angles and distances. As shown in FIG. 8(b), the node series information is constituted by east longitudes and north latitudes representing the positions of nodes, intersection numbers, attributes, angles and distances. These items of data are provided only for intersections where guidance is needed except for guidance-free intersections. During navigation, therefore, it is sufficient to read out and output these items of data in correspondence with the predetermined positions. 
     As described above, searching is conducted while the left/right turn prohibition data is checked, thereby searching for courses which include no section where the driver is stopped from traveling by left or right turn prohibition. 
     The present invention is not limited to the above-described arrangement, and it can be modified in various way. For example, the route search processing is started at the destination of navigation although it is started at the starting point in the described embodiment. Also, the route search processing may be conducted until all the flags are set to &#34;2&#34;, that is, until all searching is performed with respect to all the intersections although in the described embodiment searching is ended when the destination is reached after the searching has been started at the starting point. If the route searching is conducted from the destination, information on optimum courses from all the intersections can be obtained. It is thereby possible to form a new series of intersections and series of nodes from a nearby intersection without performing route searching again in a case where the vehicle deviates from the determined course at an intermediate point. 
     In accordance with the present invention, as is clear from the above description, intersection data, road data and node data are previously stored in a memory means such as a CD-ROM, these kinds of data are read to a RAM or the like before route searching is started, and route searching for the optimum route is conducted while courses are rated by checking road circumstances including designation of right/left turn or straight-ahead travel, the width of a road, left/right turn prohibition, and so forth, thereby enabling speed-up of route searching. Since left/right prohibition data is provided by being included in the road data, it is possible to reduce the total quantity of data and, hence, the memory capacity. In addition, the provision of free-of-guidance data makes it possible to determine optimum selection from straight-ahead travel and turning to the left or right and enables a reduction in the quantity of data for route searching performed in a minimized period of time. Moreover, it is possible to perform, by a simple processing, the operation of removing intersections through which the vehicle must travel without turning from the series of intersections by finding such intersections from the free-of-guidance data to prepare data only on intersections where the vehicle must turn to the left or light.