WO2010116513A1 - 地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体 - Google Patents

地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体 Download PDF

Info

Publication number
WO2010116513A1
WO2010116513A1 PCT/JP2009/057290 JP2009057290W WO2010116513A1 WO 2010116513 A1 WO2010116513 A1 WO 2010116513A1 JP 2009057290 W JP2009057290 W JP 2009057290W WO 2010116513 A1 WO2010116513 A1 WO 2010116513A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
update
map data
map
update data
Prior art date
Application number
PCT/JP2009/057290
Other languages
English (en)
French (fr)
Inventor
肇 安達
祐樹 松本
子青 張
和彦 丸山
逸平 難波田
Original Assignee
パイオニア株式会社
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 パイオニア株式会社 filed Critical パイオニア株式会社
Priority to JP2011508157A priority Critical patent/JPWO2010116513A1/ja
Priority to PCT/JP2009/057290 priority patent/WO2010116513A1/ja
Publication of WO2010116513A1 publication Critical patent/WO2010116513A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/102Map spot or coordinate position indicators; Map reading aids using electrical means
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3859Differential updating map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance

Definitions

  • the present invention relates to a map data processing device, a map data processing method, a map data processing program, and a recording medium.
  • navigation data update background processing is performed in which navigation processing and data update processing are performed in parallel. For example, update data by route that is update data for each route and nationwide update data that is update data for the nationwide update are used. If the nationwide update has not been completed, priority is given to the update of the route-specific update data. Thus, a technique has been proposed (see, for example, Patent Document 1 below). In such a technique, even if nationwide updating has not been completed, it is possible to perform navigation processing using the latest necessary route-specific update data.
  • the above-described conventional technique has a problem that complicated control is required because the update order is changed depending on whether or not the update data for each route is currently used.
  • the navigation processing using the latest update data for each route is executed. That is, if the update of the update data for each route is not completed, the latest update for each route is performed. There has been a problem that navigation processing using data cannot be executed and new data cannot be used immediately.
  • the map data processing apparatus is a map data processing apparatus provided with execution means for executing predetermined navigation processing using map data.
  • execution means for executing predetermined navigation processing using map data.
  • the navigation process is executed.
  • Determining means for determining whether or not to apply the update data to map data hereinafter referred to as “execution map data” used at the time, and the execution means adds the execution map data to the execution map data.
  • the navigation process is performed with reference to the update data, while the determination When it is determined by the step that the update data is not applied to the execution map data, reference means for performing a navigation process with reference to the non-updated map data, and updating the map data using the update data And updating means.
  • a map data processing method comprising a reading unit for reading update data for updating map data or non-updated map data that is not an update target, and predetermined navigation using the map data.
  • a map data processing method of a map data processing apparatus for executing processing wherein map data (hereinafter referred to as “execution map”) used when executing the navigation processing when the update unit is capable of reading the update data.
  • Determination process for determining whether to apply the update data to the data) and when it is determined in the determination process that the update data is applied to the execution map data, the update data is While performing the navigation process with reference, it is determined that the update data is not applied to the execution map data in the determination step. If it is, a reference step of performing navigation processing by referring to the non-updated map data, characterized in that it comprises an updating step for updating the map data, the using the update data.
  • the map data processing program according to the invention of claim 7 causes a computer to execute the map data processing method of claim 6.
  • the recording medium according to the invention of claim 8 is characterized in that the map data processing program of claim 7 is recorded so as to be readable by a computer.
  • FIG. 1 is a block diagram showing an example of a functional configuration of the map data processing apparatus according to the present embodiment.
  • the map data processing device is realized by an electronic device that displays a map screen, such as a car navigation device, a PND (Personal Navigation Device), a mobile phone, or a PDA (Personal Digital Assistant).
  • a map data processing apparatus 100 includes an execution unit 101, a reading unit 102, a determination unit 103, a reference unit 104, an update unit 105, an internal storage unit 106, an erasing unit 107, and an external storage unit. 108.
  • the execution unit 101 executes predetermined navigation processing using map data.
  • the map data is, for example, region data for route search, parcel data for map display, point information data, and the like.
  • the data format of the map data includes an RDB (Relational Data Base) format that stores data in a tabular format, but may be a file format.
  • RDB Relational Data Base
  • the predetermined navigation process is a process executed using map data, and specifically, a route search process, a map display process, a point information search process, and the like.
  • the route search region data and map display parcel data are each divided into predetermined ranges at each scale, and hereinafter, the division units are collectively referred to as parcels.
  • the update is also performed in units of parcels.
  • the present invention is not limited to this, and the update may be performed in units of roads.
  • the reading unit 102 reads update data for updating the map data or non-updated map data that is not an update target.
  • the update data has difference data obtained by extracting the difference between the old version data before the update and the new version data after the update.
  • the update data is stored in an internal storage unit 106 described later or a removable external storage unit 108.
  • Non-updated map data is map data that is not updated.
  • the non-updated map data is stored in a flash memory or a magnetic disk built in the map data processing apparatus, but may be stored in the external storage unit 108.
  • the determination unit 103 determines whether or not there is a map data reference request when the update unit 102 can read the update data, and a map used when executing the navigation processing when there is a reference request. It is determined whether or not update data is applied to data (hereinafter referred to as “execution map data”).
  • execution map data The state in which the update data can be read by the reading unit 102 is a state in which the update data can be accessed. For example, the state in which the update data is stored in the internal storage unit 106 to be described later, The storage unit 108 is connected.
  • the execution unit 101 includes a reference unit 104 and an update unit 105.
  • the determination unit 103 determines that the update data is to be applied to the execution map data
  • the reference unit 104 causes the reading unit 102 to read the update data and performs navigation processing with reference to the read update data. .
  • the reference unit 104 causes the reading unit 102 to read the non-updated map data and refers to the read non-updated map data. To perform navigation processing.
  • the update unit 105 partially updates the map data using the update data.
  • the update data may include reference data that is used only when referring to the update data.
  • the reference data is data that does not need to be updated because there is no change, such as latitude / longitude information and scale information.
  • the reference unit 104 uses the reference data and performs navigation processing with reference to the update data.
  • the reference unit 104 uses the latitude / longitude information as the reference data, and performs the navigation process using the data having the same latitude / longitude information as the data used in the navigation process among the update data. .
  • the internal storage unit 106 is a storage unit that temporarily stores update data, and specifically includes, for example, a flash memory and a magnetic disk built in the map data processing apparatus.
  • the reading unit 102 reads update data from the internal storage unit 106.
  • the erasure unit 107 erases the update data stored in the internal storage unit 106 when the update of the map data is completed by the update unit 105.
  • the reading unit 102 may read update data from the removable external storage unit 108 that stores update data, instead of reading update data from the internal storage unit 106.
  • the external storage unit 108 a memory card such as an SD card, an optical disk, or the like is used.
  • the update data may have a serial number for identifying the update data. Serial numbers are assigned in ascending order. Note that the update data includes information on whether or not to update in addition to the serial number.
  • the determination unit 103 determines whether or not to apply the update data to the execution map data by the binary tree search using the serial number. Specifically, the binary tree search focuses on the center value of the serial number and determines whether the search target value is greater than the central value using the magnitude relationship with the search target value. This is a method for searching for a value to be searched while confirming that it does not exist on one side.
  • the binary tree search is a technique that can speed up the search.
  • FIG. 2 is a flowchart showing an example of the map data processing procedure of the map data processing apparatus 100 according to the present embodiment.
  • the map data processing apparatus 100 determines whether or not the map data update process is being executed (step S201). If the map data update process is not being executed (step S201: No), the process ends as it is. When the map data update process is being executed (step S201: Yes), for example, whether the update data is in a state in which the update data is temporarily stored in the internal storage unit 106 or not. Is determined (step S202).
  • step S202 Wait until the update data can be read (step S202: No loop).
  • step S202: Yes whether there is a map data reference request or not. Is determined (step S203). If there is a map data reference request (step S203: Yes), it is determined whether or not the update data is applied to the map data used for the navigation process (step S204). When it is determined that the update data is applied to the map data used for the navigation process (step S204: Yes), the navigation process is executed with reference to the update data (step S205), and the process ends.
  • step S204 When it is determined that the update data is not applied to the map data used for the navigation process (step S204: No), the navigation process is executed with reference to the non-updated map data (step S206), and the process is terminated.
  • step S203 when there is no reference request for map data (step S203: No), the map data is partially updated using the update data (step S207), and the process ends.
  • the map data processing apparatus 100 receives the update data when there is a reference request for map data and when it is determined that the update data is applied to the execution map data. While performing the navigation process with reference, when it is determined that the update data is not applied to the execution map data, the navigation process is performed with reference to the non-updated map data. When there is no reference request, the map data is updated using the difference data. Therefore, the background update can be performed by simple control without considering the order of update as in the prior art.
  • the navigation process using the latest map data can be performed by referring to the difference data. That is, even if the update has not been completed, the processing result of the navigation process using the latest data can be promptly presented to the user.
  • the map data processing apparatus 100 since the map data processing apparatus 100 according to the present embodiment does not need to create a backup of the map data before the update, it is effective for a configuration with a small storage capacity including a flash memory, for example.
  • update data having reference data is used and navigation processing is performed by referring to the update data
  • the application of the update data in the navigation processing is performed only for the update data. It can be used at high speed. If the update data does not include reference data, map data is used as the reference data, so a plurality of data must be referred to.
  • the update data stored in the internal storage unit 106 is read, and when the update of the map data is completed, the update data stored in the internal storage unit 106 is deleted.
  • the update data can be referred to or updated immediately after the update data is stored in the internal storage unit 106.
  • the update data is read from the removable external storage unit 108 that stores the update data
  • the update data is referred to or updated immediately after the external storage unit 108 is connected. It becomes possible. Furthermore, even when there is no capacity for storing update data in the internal storage unit 106, it is possible to refer to or update the update data.
  • serial data can be serialized at high speed. You can search for numbers. Therefore, the update data can be referred to or updated in the navigation process at high speed.
  • FIG. 3 is a block diagram illustrating an example of a hardware configuration of the navigation device 300 according to the present embodiment.
  • a navigation device 300 includes a CPU 301, a ROM 302, a RAM 303, a flash memory drive 304, a flash memory 305, an SD card drive 306, an SD card 307, an audio I / F 308, a speaker 309, An input device 310, a video I / F 311, a display 312, a communication I / F 313, a GPS unit 314, and various sensors 315 are provided.
  • the respective components 301 to 315 are connected by a bus 320, respectively.
  • the CPU 301 governs overall control of navigation device 300.
  • the ROM 302 stores various programs such as a boot program, a current location calculation program, a route search program, a route guidance program, a map drawing program, a map data update program, and a map data processing program.
  • the RAM 303 is used as a work area for the CPU 301.
  • the current location calculation program calculates the current location of the vehicle (current location of the navigation device 300) based on the output information of the GPS unit 314 and the various sensors 315, for example.
  • the route search program uses map data stored in the flash memory 305 to search for an optimal route from the departure point to the destination point.
  • the optimum route is the shortest (or fastest) route to the destination point or the route that best meets the conditions specified by the user. Further, not only the destination point but also a route to a stop point or a rest point may be searched.
  • the searched guidance route is output to the audio I / F 308 and the video I / F 311 via the CPU 301.
  • the route guidance program is based on guidance route information searched by executing a route search program, vehicle current location information calculated by executing a current location calculation program, and map data read from the flash memory 305. Real-time route guidance information is generated. The generated route guidance information is output to the audio I / F 308 and the video I / F 311 via the CPU 301.
  • the map drawing program generates drawing information using map data or the like stored in the flash memory 305 described later.
  • the generated drawing information is output to the video I / F 311 via the CPU 301.
  • programs such as the current location calculation program, route search program, route guidance program, and map drawing program are referred to as navigation application programs.
  • the map data update program is a program for updating the map data stored in the flash memory 305 using update data (difference file) for updating the map data.
  • the difference file includes difference data obtained by extracting the difference between the old version and the new version.
  • the map data processing program executes the navigation application program with reference to the difference data when it is determined that the difference data is applied to the map data (hereinafter referred to as “execution map data”) used when the navigation application program described above is executed.
  • execution map data used when the navigation application program described above is executed.
  • the navigation application program is executed with reference to non-updated map data (hereinafter referred to as “old data”).
  • old data includes unupdated data among the update target map data and data that is not the update target.
  • the map data processing program includes a program for deleting a difference file including a difference file temporarily stored in the flash memory 305 when the update of the map data is completed.
  • each functional unit is realized.
  • the flash memory drive 304 controls the reading / writing of the data with respect to the flash memory 305 according to control of CPU301.
  • the flash memory 305 stores data written under the control of the flash memory drive 304.
  • the flash memory 305 stores map data in RDB format. Also, the difference file read from the SD card 307 is temporarily stored in the flash memory 305.
  • the internal storage unit 106 illustrated in FIG. 1 is realized by the flash memory 305.
  • the flash memory drive 304 may be detachable.
  • the update data can be read by connecting the flash memory drive 304 to a PC (Personal Computer) (not shown) that stores the update data.
  • a configuration using a hard disk drive or the like may be used, or a configuration that is also detachable.
  • the SD card drive 306 controls the reading / writing of the data with respect to the SD card 307 according to control of CPU301.
  • the SD card 307 is a detachable storage medium from which data is read according to the control of the SD card drive 306.
  • the SD card 307 stores a difference file.
  • the SD card 307 may also be configured to store map data. In that case, the flash memory drive 304 may not be provided.
  • the SD card 307 is written with the latest map data by being connected to a PC (not shown) that stores the latest map data.
  • the SD card 307 is used as a detachable storage medium.
  • a rewritable optical disk such as an MO, a memory card, a removable hard disk, and a CD-R can also be used.
  • the audio I / F 308 is connected to a speaker 309 for audio output.
  • the speaker 309 outputs sound.
  • Examples of the input device 310 include a remote controller having a plurality of keys for inputting characters, numerical values, and various instructions, a keyboard, a mouse, and a touch panel. Using this input device 310, it is possible to accept an input for updating from a user.
  • the video I / F 311 is connected to the display 312.
  • the video I / F 311 includes, for example, a graphic controller that controls the entire display 312, a buffer memory such as a VRAM (Video RAM) that temporarily stores image information that can be displayed immediately, and a graphic controller.
  • the display 312 is configured by a control IC or the like.
  • the communication I / F 313 is connected to the network via wireless and functions as an interface between the navigation device 300 and the CPU 301.
  • the difference file that is the update data is read from the SD card 307.
  • the difference file is transmitted from the map data management server (not shown) that manages the difference file by using the communication I / F 313. May be received.
  • the GPS unit 314 receives radio waves from GPS satellites and outputs information indicating the current location of the vehicle.
  • the output information of the GPS unit 314 is used when the current position of the vehicle is calculated by the CPU 301 together with output values of various sensors 315 described later.
  • the information indicating the current location is information for specifying one point on the map data, such as latitude / longitude and altitude.
  • the various sensors 315 output information such as a vehicle speed sensor, an acceleration sensor, and an angular velocity sensor that can determine the position and behavior of the vehicle.
  • the output values of the various sensors 315 are used for the calculation of the current location of the vehicle by the CPU 301 and the measurement of the change in speed and direction.
  • FIG. 4 is an explanatory diagram showing an overview of the update data reference and update using the update data.
  • the SD card 307 stores a difference file 400.
  • the difference file 400 corresponds to update data and includes difference data 401.
  • the navigation application program 410 includes an application library 411.
  • the application library 411 is a file in which programs that perform processing using map data are standardized and collected.
  • the RDB 420 of the flash memory 305 stores map data including update target data 421 to be updated and non-updated map data (old data) 422 that is not to be updated.
  • the data flow will be described using the numbers in parentheses shown in FIG. (1)
  • the difference file 400 stored in the SD card 307 is copied to the flash memory 305.
  • the data control module 412 determines whether the requested map data is the data to be updated. Judge whether it is data to be updated.
  • update data (difference data 401) is read from the difference file 400 for reference.
  • the old data 422 is read from the RDB 420 for reference.
  • the read difference data 401 or old data 422 is used in the navigation application program 410.
  • the update target data 421 using the difference data 401 is updated under the control of the data control module 412.
  • FIG. 5 is an explanatory diagram showing the configuration of the difference file 400.
  • the difference file 400 includes a management unit 510 and a data unit 520.
  • the management unit 510 corresponds to a header that is added to the top of the difference file 400 and to which information regarding the difference file 400 is added. Specifically, a list of serial IDs of parcels to be updated is assigned to the management unit 510 in ascending order. By using this serial ID, a binary tree search of each difference file 400 is performed.
  • the data part 520 includes reference data 521 and reference and update difference data 401.
  • the reference data 521 is data that is used only when referring to the difference data 401 and does not need to be updated because there is no change between the old version and the new version of the map data.
  • latitude / longitude information, scale information, and the like are data specifying which parcel is used when the difference data 401 is referred to.
  • the difference data 401 is data in which the difference between the map data between the old version and the new version is extracted.
  • the map data includes route search data, map display data, point information data, and the like.
  • FIG. 6 is a flowchart illustrating an example of map data processing when there is one difference file 400.
  • the CPU 301 of the navigation device 300 flushes the difference file 400 stored in the SD card 307 when the SD card 307 is connected and an unupdated difference file 400 is stored in the SD card 307.
  • Store (copy) in the memory 305 step S601.
  • the map data used in the navigation application program 410 is switched from only the old data to data combining the old data and the difference data 401 (step S602).
  • step S604 it is determined whether or not there is a data reference request. If there is a data reference request (step S604: Yes), it is determined whether or not the requested data is the update target data 421 by using a binary tree search method using a serial ID (step S605).
  • step S605 When the requested data is the update target data 421 (step S605: Yes), the difference data 401 is read (step S606). The read difference data 401 is applied to the parcel used in the navigation application program 410 being executed by the reference data 521. On the other hand, when the requested data is not the update target data 421 (step S605: No), reading from the old data is performed (step S607). The read old data is used for the navigation application program 410.
  • step S604 when there is no data reference request (step S604: No), a data update process for updating the map data in the flash memory 305 is performed using the difference data 401 (step S608). Thereafter, it is determined whether or not the data update is completed (step S609).
  • step S609: No If the data update process has not ended (step S609: No), the process proceeds to step S604, and the processes in steps S604 to S608 are repeated.
  • step S609: Yes the map data used in the application program is switched from the combined data of the old data and the difference data 401 to the updated new data (step S610).
  • step S611 the difference file 400 copied in the flash memory 305 is deleted. Then, the true update is completed, the new data can be used in the navigation application program 410 (step S612), and the process is terminated.
  • FIG. 7 is a flowchart showing an example of map data processing when there are N difference files 400.
  • the CPU 301 of the navigation device 300 flushes the difference file 400 stored in the SD card 307. Copy to the memory 305 (step S701).
  • the map data used in the navigation application program 410 is switched from only the old data to data obtained by combining the old data and the N pieces of difference data 401 (step S702).
  • step S704 it is determined whether or not there is a data reference request. If there is a data reference request (step S704: Yes), the search target is moved to the latest difference data N (step S705). Then, it is determined whether or not the requested data is the update target data 421 of the difference data n by using a binary tree search method using a serial ID (step S706).
  • step S706 When the requested data is the update target data 421 of the difference data n (step S706: Yes), reading from the difference data n is performed (step S707).
  • the read difference data 401 is applied to the parcel used in the navigation application program 410 being executed by the reference data 521.
  • step S706: No it is determined whether n is larger than 1 (step S708).
  • step S708: Yes If n is greater than 1 (step S708: Yes), the search target is moved from the difference data n to the next new difference data n-1 (step S709), and the process proceeds to step S706.
  • step S704 if there is no data reference request (step S704: No), a data update process is performed to update the map data in the flash memory 305 in the oldest order of the difference data 401 (step S711). Thereafter, it is determined whether or not the data update is completed (step S712).
  • step S712 If the data update process has not ended (step S712: No), the process proceeds to step S704, and the processes in steps S704 to S712 are repeated.
  • step S712: Yes the map data used in the application program is switched from the combined data of the old data and the N pieces of difference data 401 to the updated new data (step S713). ).
  • step S714 the difference file 400 copied in the flash memory 305 is deleted. Then, the true update is completed, the new data can be used in the navigation application program 410 (step S715), and the process ends.
  • FIG. 8 is an explanatory diagram showing the flow of data during background update.
  • a state 801 indicates the flow of data before update.
  • a state 802 shows the flow of data being updated.
  • a state 803 shows the flow of data after the update.
  • a state 801 indicates that the difference file 400 stored in the SD card 307 is being copied to the free area 810 of the flash memory 305.
  • old data stored in the RDB 420 is used as the usage data 820 in the navigation application program 410. Further, the apparent data 830 at this time is old data.
  • a state 802 is a state after the differential file 305 stored in the SD card 307 is copied to the free area 810 of the flash memory 305 and the background update from the free area 810 of the flash memory 305 to the RDB 420 is being performed. State. In the state 802, the use data 820 in the navigation application program 410 uses the difference data 401 of the difference file 400 copied to the free area 810 or the old data stored in the RDB 420.
  • the difference data 401 is used for the changed part, and the old data is used for the unchanged part. Further, the apparent data 830 at this time is new data after update.
  • the state 803 is a state after the update is completed and the differential file 400 copied to the free area 810 of the flash memory 305 is deleted.
  • the updated new data stored in the RDB 420 is used as the usage data 820 in the navigation application program 410. Further, the apparent data 830 at this time is new data after update.
  • the difference data 401 can be used as new data for the usage data 820 in the navigation application program 410. That is, the user's appearance data 830 can be used as new data.
  • the navigation processing is performed with reference to the difference data 401, while the difference data 401 is stored in the usage data 820.
  • the navigation processing is performed with reference to the old data.
  • the map data is updated using the difference data 401. Therefore, the background update can be performed by simple control without considering the order of update as in the prior art.
  • the navigation application program 410 using the latest map data can be executed by referring to the difference data 401 even when the update is not completed. That is, even if the update has not been completed, the processing result of the navigation application program 410 using the latest data can be promptly presented to the user.
  • the difference file 400 having the reference data 521 is used and the navigation process is performed with reference to the difference data 401, so that the difference is added to the parcel used in the running navigation application program 410.
  • Data 401 can be used at high speed.
  • the difference file 400 is copied to the free area 810 of the flash memory 305, and when the update of the map data is completed, the copied difference file 400 is erased. It becomes possible to refer to or update the difference data 401 immediately after the copying is completed.
  • the differential data 401 is read directly from a storage medium such as the removable SD card 307 storing the differential file 400 without copying the differential file 400 to the free area 810 of the flash memory 305. May be. According to such a configuration, the difference data 401 can be referred to or updated more quickly after the SD card 307 is connected. Furthermore, even if there is no free area 810 for storing the difference file 400 in the flash memory 305, the difference data 401 can be referred to or updated.
  • whether or not the difference data 401 is applied to the usage data 820 in the navigation application program 410 is determined by a binary tree search using a serial ID for identifying the difference file 400.
  • the serial ID can be searched at high speed. Therefore, the reference or update of the difference data 401 during the execution of the navigation application program 410 can be performed at high speed.
  • the map data processing device As described above, according to the map data processing device, the map data processing method, the map data processing program, and the recording medium of the present invention, even when the update is not completed, the latest data is used for the user.
  • the processing result of the navigation processing that has been present can be presented immediately.
  • map data processing method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, a DVD, or a memory card, and is executed by being read from the recording medium by the computer.
  • the program may be a transmission medium that can be distributed via a network such as the Internet.

Abstract

 読込部(102)は、更新用データ、または更新対象ではない非更新地図データを読み込む。判定部(103)は、読込部(102)による更新用データの読み込みが可能な状態にある場合、地図データの参照要求があるか否か、およびナビゲーション処理を実行する際に用いる実行地図データに更新用データを適用するか否かを判定する。参照部(104)は、実行地図データに更新用データを適用すると判定された場合に更新用データを参照してナビゲーション処理をおこなう一方、実行地図データに更新用データを適用しないと判定された場合に非更新地図データを参照してナビゲーション処理をおこなう。更新部(105)は、地図データの参照要求がない場合に、更新用データを用いて地図データを更新する。

Description

地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体
 この発明は、地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体に関する。
 従来、カーナビゲーション装置、PND(Personal Navigation Device)、携帯電話、PDA(Personal Digital Assistant)などの、地図データを用いて地図画面を表示して目的地までの経路を誘導する電子機器では、定期的にナビゲーションデータの更新がおこなわれている。
 ナビゲーションデータの更新においては、ナビゲーション処理とデータ更新処理とを並行しておこなう、バックグラウンド処理がおこなわれている。たとえば、路線別の更新用データである路線別更新データと、全国更新版の更新用データである全国更新データとを用い、全国更新が終了していない場合には路線別更新データの更新を優先しておこなうようにした技術が提案されている(たとえば、下記特許文献1参照。)。このような技術では、全国更新が完了していない場合であっても、現在必要な最新の路線別更新データを用いてナビゲーション処理をおこなうことを可能にしている。
特開2007-163938号公報
 しかしながら、上述した従来技術は、路線別更新データを現在使用するか否かにより、更新の順番を変更するものであるため、複雑な制御が必要になるといった問題があった。また、路線別更新データの更新をおこなってから、最新の路線別更新データを用いたナビゲーション処理を実行するものであるため、すなわち、路線別更新データの更新が完了しなければ最新の路線別更新データを用いたナビゲーション処理を実行することができず、新しいデータを早急に使用することができないといった問題があった。
 さらに、従来技術では、更新前のデータのバックアップを作成して更新をおこない、更新が完了した後に新しいデータを使用していたので、バックアップ用の記憶容量が必要であり、バックアップ用の記憶容量が確保されなければ、更新をおこなうことができないといった問題があった。
 上述した課題を解決し、目的を達成するため、請求項1の発明にかかる地図データ処理装置は、地図データを用いた所定のナビゲーション処理を実行する実行手段を備えた地図データ処理装置であって、地図データを更新するための更新用データ、または更新対象ではない非更新地図データを読み込む読込手段と、前記読込手段による更新用データの読み込みが可能な状態にある場合、前記ナビゲーション処理を実行する際に用いる地図データ(以下「実行地図データ」という)に前記更新用データを適用するか否かを判定する判定手段と、を備え、前記実行手段は、前記判定手段によって前記実行地図データに前記更新用データを適用すると判定された場合に、前記更新用データを参照してナビゲーション処理をおこなう一方、前記判定手段によって前記実行地図データに前記更新用データを適用しないと判定された場合に、前記非更新地図データを参照してナビゲーション処理をおこなう参照手段と、前記更新用データを用いて地図データを更新する更新手段と、を有することを特徴とする。
 また、請求項6の発明にかかる地図データ処理方法は、地図データを更新するための更新用データ、または更新対象ではない非更新地図データを読み込む読込部を備え、地図データを用いた所定のナビゲーション処理を実行する地図データ処理装置の地図データ処理方法であって、前記読込部による更新用データの読み込みが可能な状態にある場合、前記ナビゲーション処理を実行する際に用いる地図データ(以下「実行地図データ」という)に前記更新用データを適用するか否かを判定する判定工程と、前記判定工程にて前記実行地図データに前記更新用データを適用すると判定された場合に、前記更新用データを参照してナビゲーション処理をおこなう一方、前記判定工程にて前記実行地図データに前記更新用データを適用しないと判定された場合に、前記非更新地図データを参照してナビゲーション処理をおこなう参照工程と、前記更新用データを用いて地図データを更新する更新工程と、を含むことを特徴とする。
 また、請求項7の発明にかかる地図データ処理プログラムは、請求項6に記載の地図データ処理方法をコンピュータに実行させることを特徴とする。
 また、請求項8の発明にかかる記録媒体は、請求項7に記載の地図データ処理プログラムをコンピュータが読み取り可能に記録したことを特徴とする。
本実施の形態にかかる地図データ処理装置の機能的構成の一例を示すブロック図である。 本実施の形態にかかる地図データ処理装置の地図データ処理手順の一例を示すフローチャートである。 本実施例にかかるナビゲーション装置のハードウェア構成の一例を示すブロック図である。 更新用データの参照および更新用データを用いた更新の概要を示した説明図である。 差分ファイルの構成を示した説明図である。 差分ファイルが一つである場合の地図データ処理の一例を示すフローチャートである。 差分ファイルがN個ある場合の地図データ処理の一例を示すフローチャートである。 バックグラウンド更新時のデータの流れを示した説明図である。
 以下に添付図面を参照して、この発明にかかる地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体の好適な実施の形態を詳細に説明する。
(実施の形態)
(地図データ処理装置の機能的構成)
 図1を用いて、この発明の実施の形態にかかる地図データ処理装置の機能的構成について説明する。図1は、本実施の形態にかかる地図データ処理装置の機能的構成の一例を示すブロック図である。なお、地図データ処理装置は、カーナビゲーション装置、PND(Personal Navigation Device)、携帯電話、PDA(Personal Digital Assistant)などの、地図画面を表示する電子機器によって実現される。
 図1において、地図データ処理装置100は、実行部101と、読込部102と、判定部103と、参照部104と、更新部105と、内部記憶部106と、消去部107と、外部記憶部108とを備えている。
 実行部101は、地図データを用いた所定のナビゲーション処理を実行する。地図データは、たとえば、経路探索用のリージョンデータ、地図表示用のパーセルデータ、地点情報データなどである。地図データのデータ形式は、データを表形式にて格納するRDB(Relational Data Base)形式が挙げられるが、ファイル形式であってもよい。
 所定のナビゲーション処理は、地図データを用いて実行される処理であり、具体的には、経路探索処理、地図表示処理、地点情報検索処理などである。なお、経路探索用のリージョンデータ、地図表示用のパーセルデータは、縮尺ごとにそれぞれ所定の範囲に分割されており、以下では、分割単位を総称してパーセルと呼ぶものとする。また、以下では、更新もパーセル単位で行われるものとするが、これに限られるものではなく、更新は道路単位などであってもよい。
 読込部102は、地図データを更新するための更新用データ、または更新対象ではない非更新地図データを読み込む。更新用データは、更新前の古いバージョンのデータと、更新後の新しいバージョンのデータとの差分が抽出された差分データを有する。更新用データは、後述する内部記憶部106や、着脱可能な外部記憶部108に記憶されている。非更新地図データは、更新をおこなわない地図データである。非更新地図データは、地図データ処理装置に内蔵されるフラッシュメモリや磁気ディスクなどに記憶されているが、外部記憶部108に記憶されていてもよい。
 判定部103は、読込部102による更新用データの読み込みが可能な状態にある場合、地図データの参照要求があるか否か、および、参照要求がある場合にナビゲーション処理を実行する際に用いる地図データ(以下「実行地図データ」という)に更新用データを適用するか否かを判定する。読込部102による更新用データの読み込みが可能な状態とは、更新用データにアクセス可能な状態であり、たとえば、後述する内部記憶部106に更新用データが記憶された状態や、着脱可能な外部記憶部108が接続された状態である。
 実行地図データに更新用データを適用するか否かの判定については、その判定手法を問わず、たとえば、更新用データに含まれる更新対象パーセルのID情報を参照して、同一のパーセルのID情報がある場合に、実行地図データに更新用データを適用するものとして判定すればよい。
 実行部101は、参照部104と、更新部105とを有する。参照部104は、判定部103によって実行地図データに更新用データを適用すると判定された場合、読込部102に更新用データの読み込みをおこなわせ、読み込んだ更新用データを参照してナビゲーション処理をおこなう。
 さらに、参照部104は、判定部103によって実行地図データに更新用データを適用しないと判定された場合、読込部102に非更新地図データの読み込みをおこなわせ、読み込んだ非更新地図データを参照してナビゲーション処理をおこなう。更新部105は、地図データの参照要求がないと判定された場合、更新用データを用いて地図データを部分的に更新する。
 また、本実施の形態において、更新用データは、更新用データを参照する際にのみ用いられる参照用データを有するものとしてもよい。なお、参照用データは、変化がないため、更新をおこなう必要のないデータであり、たとえば、緯度経度情報や縮尺の情報などである。
 この場合、参照部104は、参照用データを用い、更新用データを参照してナビゲーション処理をおこなう。参照部104は、たとえば、参照用データとしての緯度経度情報を用いて、更新用データのうち、ナビゲーション処理にて使用されるデータと同一の緯度経度情報をもつデータを用いて、ナビゲーション処理をおこなう。
 内部記憶部106は、更新用データを一時的に記憶する記憶部であり、具体的には、たとえば、地図データ処理装置に内蔵されるフラッシュメモリや磁気ディスクが挙げられる。このような内部記憶部106を備えた構成において、読込部102は、内部記憶部106から更新用データを読み込む。消去部107は、更新部105によって地図データの更新が完了したときに、内部記憶部106に記憶された更新用データを消去する。
 また、読込部102は、内部記憶部106から更新用データを読み込むのではなく、更新用データを記憶する着脱可能な外部記憶部108から更新用データを読み込んでもよい。外部記憶部108としては、SDカードなどのメモリカードや光ディスクなどが用いられる。
 本実施の形態において、更新用データは、当該更新用データを識別するためのシリアル番号を有するものとしてもよい。シリアル番号は、昇順に付与されている。なお、更新用データには、シリアル番号の他にも、更新をおこなうか否かの情報なども含まれている。
 この場合、判定部103は、シリアル番号を用いた二分木探索によって、実行地図データに更新用データを適用するか否かを判定する。二分木探索は、具体的には、シリアル番号の中央の値に着目し、検索対象の値との大小関係を用いて、検索対象の値が中央の値よりも大きいか否かを判断して、一方の側には存在しないことを確かめながら、検索対象の値を検索する手法である。二分木探索は、検索を高速化することができる手法である。
(地図データ処理装置の地図データ処理手順)
 次に、図2を用いて、地図データ処理装置100の地図データ処理手順について説明する。図2は、本実施の形態にかかる地図データ処理装置100の地図データ処理手順の一例を示すフローチャートである。
 図2のフローチャートにおいて、地図データ処理装置100は、地図データの更新処理を実行中であるか否かを判断する(ステップS201)。地図データの更新処理を実行中ではない場合(ステップS201:No)、そのまま処理を終了する。地図データの更新処理を実行中の場合(ステップS201:Yes)、たとえば、内部記憶部106に更新用データが一時的に記憶された状態である、更新用データの読み込みが可能な状態か否かを判断する(ステップS202)。
 更新用データの読み込みが可能な状態となるまで待機し(ステップS202:Noのループ)、更新用データの読み込みが可能な状態となると(ステップS202:Yes)、地図データの参照要求があるか否かを判断する(ステップS203)。地図データの参照要求がある場合(ステップS203:Yes)、ナビゲーション処理に用いる地図データに更新用データを適用するか否かを判断する(ステップS204)。ナビゲーション処理に用いる地図データに更新用データを適用すると判断した場合(ステップS204:Yes)、更新用データを参照してナビゲーション処理を実行し(ステップS205)、処理を終了する。
 ナビゲーション処理に用いる地図データに更新用データを適用しないと判断した場合(ステップS204:No)、非更新地図データを参照してナビゲーション処理を実行し(ステップS206)、処理を終了する。ステップS203において、地図データの参照要求がない場合(ステップS203:No)、更新用データを用いて地図データを部分的に更新し(ステップS207)、処理を終了する。
 以上説明したように、本実施の形態にかかる地図データ処理装置100は、地図データの参照要求がある場合で、かつ、実行地図データに更新用データを適用すると判定した場合に、更新用データを参照してナビゲーション処理をおこなう一方、実行地図データに更新用データを適用しないと判定した場合に、非更新地図データを参照してナビゲーション処理をおこなうようにした。また、参照要求がない場合は、差分データを用いて地図データを更新するようにした。したがって、従来のように更新の順番を考慮することなく、簡単な制御によってバックグラウンドでの更新をおこなうことができる。
 また、本実施例によれば、更新が完了していない場合であっても、差分データを参照することにより、最新の地図データを用いたナビゲーション処理をおこなうことができる。すなわち、更新が完了していない場合であっても、ユーザに最新のデータを用いたナビゲーション処理の処理結果を早急に提示することができる。
 さらに、本実施の形態にかかる地図データ処理装置100は、更新前の地図データのバックアップを作成する必要がないので、たとえば、フラッシュメモリを備えた記憶容量が少ない構成に効果的である。
 また、本実施の形態において、参照用データを有する更新用データを用い、更新用データを参照してナビゲーション処理をおこなうようにすれば、ナビゲーション処理における更新用データの適用を、更新用データだけを使用して、高速におこなうことができる。なお、更新用データに参照用データを有しない場合は、参照用データとして地図データを使用するため、複数のデータを参照する必要がある。
 また、本実施の形態において、内部記憶部106に記憶した更新用データを読み込むようにし、地図データの更新が完了したときに、内部記憶部106に記憶した更新用データを消去するようにすれば、内部記憶部106への更新データの記憶完了後に、直ぐに更新用データの参照または更新をおこなうことが可能になる。
 また、本実施の形態において、更新用データを記憶する着脱可能な外部記憶部108から更新用データを読み込むようにすれば、外部記憶部108の接続後に、直ぐに更新用データの参照または更新をおこなうことが可能になる。さらに、内部記憶部106に更新用データを記憶する容量がない場合であっても、更新用データの参照または更新をおこなうことが可能になる。
 また、本実施の形態において、更新用データを識別するためのシリアル番号を用いた二分木探索によって、実行地図データに更新用データを適用するか否かを判定するようにすれば、高速にシリアル番号を検索することができる。したがって、ナビゲーション処理における更新用データの参照または更新を高速におこなうことができる。
 以下に、本発明の実施例について説明する。本実施例では、ナビゲーション装置によって構成される地図データ処理装置を実施した場合の一例について説明する。
(ナビゲーション装置のハードウェア構成)
 図3を用いて、本実施例にかかるナビゲーション装置300のハードウェア構成について説明する。図3は、本実施例にかかるナビゲーション装置300のハードウェア構成の一例を示すブロック図である。
 図3において、ナビゲーション装置300は、CPU301と、ROM302と、RAM303と、フラッシュメモリドライブ304と、フラッシュメモリ305と、SDカードドライブ306と、SDカード307と、音声I/F308と、スピーカ309と、入力デバイス310と、映像I/F311と、ディスプレイ312と、通信I/F313と、GPSユニット314と、各種センサ315とを備えている。また、各構成部301~315はバス320によってそれぞれ接続されている。
 CPU301は、ナビゲーション装置300の全体の制御を司る。ROM302は、ブートプログラム、現在地点算出プログラム、経路探索プログラム、経路誘導プログラム、地図描画プログラム、地図データ更新プログラム、地図データ処理プログラムなどの各種プログラムを記憶している。また、RAM303は、CPU301のワークエリアとして使用される。
 現在地点算出プログラムは、たとえば、GPSユニット314および各種センサ315の出力情報に基づいて、車両の現在地点(ナビゲーション装置300の現在地点)を算出させる。経路探索プログラムは、フラッシュメモリ305に記憶されている地図データなどを利用して、出発地点から目的地点までの最適な経路を探索させる。ここで、最適な経路とは、目的地点までの最短(または最速)経路や利用者が指定した条件に最も合致する経路などである。また、目的地点のみならず、立ち寄り地点や休憩地点までの経路を探索してもよい。探索された誘導経路は、CPU301を介して音声I/F308や映像I/F311へ出力される。
 経路誘導プログラムは、経路探索プログラムを実行することによって探索された誘導経路情報、現在地点算出プログラムを実行することによって算出された車両の現在地点情報、フラッシュメモリ305から読み出された地図データに基づいて、リアルタイムな経路誘導情報を生成させる。生成された経路誘導情報は、CPU301を介して音声I/F308や映像I/F311へ出力される。
 地図描画プログラムは、後述するフラッシュメモリ305に記憶されている地図データなどを利用して、描画情報を生成させる。生成された描画情報は、CPU301を介して映像I/F311へ出力される。なお、ここでは、現在地点算出プログラム、経路探索プログラム、経路誘導プログラム、地図描画プログラムなどのプログラムを、ナビアプリケーションプログラムという。
 地図データ更新プログラムは、地図データを更新するための更新用データ(差分ファイル)を用いて、フラッシュメモリ305に記憶されている地図データを更新するプログラムである。なお、差分ファイルは、古いバージョンと新しいバージョンとの差分が抽出された差分データを含む。
 地図データ処理プログラムは、上述したナビアプリケーションプログラムを実行する際に用いる地図データ(以下「実行地図データ」という)に差分データを適用すると判定した場合に、差分データを参照してナビアプリケーションプログラムを実行させる一方、実行地図データに差分データを適用しないと判定した場合に、非更新地図データ(以下「旧データ」という)を参照してナビアプリケーションプログラムを実行させるプログラムである。なお、旧データには、更新対象の地図データのうち未更新のデータや、更新対象ではないデータが含まれる。
 なお、地図データ処理プログラムは、地図データの更新が完了した際に、フラッシュメモリ305に一時的に記憶した差分ファイルを含む差分ファイルを消去させるプログラムを含む。
 なお、図1に示した、実行部101と、読込部102と、判定部103と、参照部104と、更新部105と、消去部107とは、すなわち、CPU301が地図データ処理プログラムを実行することにより、各機能部を実現する。
 フラッシュメモリドライブ304は、CPU301の制御にしたがってフラッシュメモリ305に対するデータの読み取り/書き込みを制御する。フラッシュメモリ305は、フラッシュメモリドライブ304の制御によって書き込まれたデータを記憶する。フラッシュメモリ305には、RDB形式にて地図データが記憶されている。また、フラッシュメモリ305には、SDカード307から読み込んだ差分ファイルが一時的に記憶される。図1に示した内部記憶部106は、フラッシュメモリ305によって実現される。
 なお、フラッシュメモリドライブ304は着脱自在な構成にしてもよい。この場合、フラッシュメモリドライブ304を、更新用データを格納する不図示のPC(Personal Computer)などに接続することにより、更新用データを読み込むことが可能になる。また、フラッシュメモリドライブ304の代わりに、ハードディスクドライブなどを使用する構成にしてもよいし、同じく着脱自在な構成にしてもよい。
 SDカードドライブ306は、CPU301の制御にしたがってSDカード307に対するデータの読み取り/書き込みを制御する。SDカード307は、SDカードドライブ306の制御にしたがってデータの読み出される着脱自在な記憶媒体である。SDカード307には、差分ファイルが記憶されている。また、SDカード307に地図データも記憶される構成にしてもよい。その場合はフラッシュメモリドライブ304を備えない構成にしてもよい。
 なお、SDカード307は、最新の地図データを格納する不図示のPCなどに接続されることによって、最新の地図データが書き込まれる。本実施例において、着脱可能な記憶媒体としてSDカード307を用いたが、このほかにも、MO、メモリカード、リムーバブルハードディスク、CD-Rなどの書き換え可能な光ディスクなどを用いることも可能である。
 音声I/F308は、音声出力用のスピーカ309に接続される。スピーカ309は、音声を出力する。入力デバイス310は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、マウス、タッチパネルなどが挙げられる。この入力デバイス310を用いて、利用者から更新をおこなう旨の入力を受け付けることが可能になっている。
 映像I/F311は、ディスプレイ312と接続される。映像I/F311は、具体的には、たとえば、ディスプレイ312全体の制御をおこなうグラフィックコントローラと、即時表示可能な画像情報を一時的に記憶するVRAM(Video RAM)などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいて、ディスプレイ312を表示制御する制御ICなどによって構成される。
 通信I/F313は、無線を介してネットワークに接続され、ナビゲーション装置300とCPU301とのインターフェースとして機能する。なお、本実施例においては、SDカード307から更新用データである差分ファイルを読み込むようにしているが、通信I/F313を用いて、差分ファイルを管理する不図示の地図データ管理サーバから差分ファイルを受信するようにしてもよい。
 GPSユニット314は、GPS衛星からの電波を受信し、車両の現在地点を示す情報を出力する。GPSユニット314の出力情報は、後述する各種センサ315の出力値とともに、CPU301による車両の現在地点の算出に際して利用される。現在地点を示す情報は、たとえば緯度・経度、高度などの、地図データ上の1点を特定する情報である。
 各種センサ315は、車速センサ、加速度センサ、角速度センサなどの、車両の位置や挙動を判断することが可能な情報を出力する。各種センサ315の出力値は、CPU301による車両の現在地点の算出や、速度や方位の変化量の測定などに用いられる。
(更新用データの参照および更新用データを用いた更新の概要)
 次に、図4を用いて、更新用データの参照および更新用データを用いた更新の概要について説明する。図4は、更新用データの参照および更新用データを用いた更新の概要を示した説明図である。
 図4において、SDカード307には、差分ファイル400が記憶されている。差分ファイル400は、更新用データに相当し、差分データ401が含まれる。ナビアプリケーションプログラム410には、アプリケーションライブラリ411が含まれる。アプリケーションライブラリ411は、地図データを用いた処理をおこなうプログラムを定型化してまとめたファイルである。フラッシュメモリ305のRDB420には、更新対象となる更新対象データ421と、更新対象ではない非更新地図データ(旧データ)422とからなる地図データが格納されている。
 以下の説明では、データの流れについて、図4に示した括弧書きの番号を用いて説明する。(1)ナビゲーション装置300にSDカード307を接続すると、SDカード307に記憶されている差分ファイル400がフラッシュメモリ305にコピーされる。(2)CPU301の制御によってナビアプリケーションプログラム410の実行中、アプリケーションライブラリ411を用いることにより地図データの要求があると、データ制御モジュール412は、要求された地図データが更新対象のデータであるか非更新対象のデータであるかの判断をおこなう。
 (3)要求された地図データが更新対象のデータである場合、差分ファイル400から参照用として更新用データ(差分データ401)の読み込みをおこなう。(4)一方、要求された地図データが更新対象のデータではない場合、RDB420から参照用として旧データ422の読み込みをおこなう。(5)読み込まれた、差分データ401または旧データ422は、ナビアプリケーションプログラム410にて用いられる。(6)また、地図データの要求がない場合、データ制御モジュール412の制御によって、(7)差分データ401を用いた更新対象データ421の更新がおこなわれる。
(差分ファイルの構成)
 次に、図5を用いて、差分ファイル400の構成について説明する。図5は、差分ファイル400の構成を示した説明図である。図5において、差分ファイル400は、管理部510と、データ部520とからなる。管理部510は、差分ファイル400の先頭に付加され、差分ファイル400に関する情報が付与されるヘッダに相当する。具体的には、管理部510には、更新対象となるパーセルのシリアルIDのリストが昇順に付与されている。このシリアルIDを用いることにより、各差分ファイル400の二分木探索がおこなわれる。
 データ部520は、参照用データ521と、参照および更新用の差分データ401とからなる。参照用データ521は、差分データ401を参照する際にのみ用いられ、古いバージョンと新しいバージョンの地図データで変化がないため、更新を必要としないデータである。具体的には、たとえば、緯度経度情報や縮尺の情報などであり、差分データ401を参照する際に、どのパーセルに用いられるかを特定するデータなどである。
 差分データ401は、古いバージョンと新しいバージョンとの地図データの差分が抽出されたデータである。データ部520に、更新に最低限必要な差分データ401に加えて、参照用データ521も持たせることにより、差分ファイル400を使用して、更新のみならず、参照も行うことが可能になる。なお、地図データには、経路探索用のデータ、地図表示用のデータ、地点情報データなどが含まれる。
(差分ファイルが一つである場合の地図データ処理の一例)
 次に、図6および図7を用いて、ナビゲーション装置300がおこなう地図データ処理の一例について説明する。図6は、差分ファイル400が一つである場合の地図データ処理の一例を示すフローチャートである。
 図6のフローチャートにおいて、ナビゲーション装置300のCPU301は、SDカード307が接続され、SDカード307に未更新の差分ファイル400が記憶されている場合、SDカード307に記憶されている差分ファイル400をフラッシュメモリ305に記憶(コピー)する(ステップS601)。そして、ナビアプリケーションプログラム410にて使用する地図データを、旧データのみから、旧データと差分データ401とを合わせたデータに切り替える(ステップS602)。
 この段階で、見た目の更新が完了し、ユーザは新データの使用が可能になる(ステップS603)。そして、データの参照要求があるか否かを判断する(ステップS604)。データの参照要求がある場合(ステップS604:Yes)、シリアルIDを用いた二分木探索による手法を用いて、要求されたデータが更新対象データ421であるか否かを判断する(ステップS605)。
 要求されたデータが更新対象データ421である場合(ステップS605:Yes)、差分データ401の読み込みをおこなう(ステップS606)。なお、読み込まれた差分データ401は、参照用データ521によって、実行中のナビアプリケーションプログラム410に使用されているパーセルに適用される。一方、要求されたデータが更新対象データ421ではない場合(ステップS605:No)、旧データからの読み込みをおこなう(ステップS607)。なお、読み込まれた旧データは、ナビアプリケーションプログラム410に用いられる。
 ステップS604において、データの参照要求がない場合(ステップS604:No)、差分データ401を用いて、フラッシュメモリ305の地図データを更新するデータ更新処理をおこなう(ステップS608)。この後、データの更新が終了したか否かを判断する(ステップS609)。
 データ更新処理が終了していない場合(ステップS609:No)、ステップS604に移行し、ステップS604~ステップS608の処理を繰り返しおこなう。データ更新処理が終了した場合(ステップS609:Yes)、アプリケーションプログラムにて使用する地図データを、旧データと差分データ401とを合わせたデータから、更新後の新データに切り替える(ステップS610)。
 この後、フラッシュメモリ305内にコピーした差分ファイル400を削除する(ステップS611)。そして、真の更新が完了し、ナビアプリケーションプログラム410にて新データの使用を可能にし(ステップS612)、処理を終了する。
(差分データがN個ある場合の地図データ処理の一例)
 図7は、差分ファイル400がN個ある場合の地図データ処理の一例を示すフローチャートである。図7のフローチャートにおいて、ナビゲーション装置300のCPU301は、SDカード307が接続され、SDカード307に未更新の差分ファイル400が記憶されている場合、SDカード307に記憶されている差分ファイル400をフラッシュメモリ305にコピーする(ステップS701)。そして、ナビアプリケーションプログラム410にて使用する地図データを、旧データのみから、旧データとN個の差分データ401とを合わせたデータに切り替える(ステップS702)。
 この段階で、見た目の更新が完了し、ユーザは新データの使用が可能になる(ステップS703)。そして、データの参照要求があるか否かを判断する(ステップS704)。データの参照要求がある場合(ステップS704:Yes)、検索対象を最新の差分データNに移動させる(ステップS705)。そして、シリアルIDを用いた二分木探索による手法を用いて、要求されたデータが差分データnの更新対象データ421であるか否かを判断する(ステップS706)。
 要求されたデータが差分データnの更新対象データ421である場合(ステップS706:Yes)、差分データnからの読み込みをおこなう(ステップS707)。なお、読み込まれた差分データ401は、参照用データ521によって、実行中のナビアプリケーションプログラム410に使用されているパーセルに適用される。一方、要求されたデータが差分データnの更新対象データ421ではない場合(ステップS706:No)、nが1よりも大きいか否かを判断する(ステップS708)。
 nが1よりも大きい場合(ステップS708:Yes)、検索対象を、差分データnから、次に新しい差分データn-1に移動させ(ステップS709)、ステップS706に移行する。nが1以下の場合(ステップS708:No)、すなわちn=1である場合、旧データからの読み込みをおこなう(ステップS710)。なお、読み込まれた旧データは、ナビアプリケーションプログラム410に用いられる。
 ステップS704において、データの参照要求がない場合(ステップS704:No)、差分データ401の古い順にフラッシュメモリ305の地図データを更新するデータ更新処理をおこなう(ステップS711)。この後、データの更新が終了したか否かを判断する(ステップS712)。
 データ更新処理が終了していない場合(ステップS712:No)、ステップS704に移行し、ステップS704~ステップS712の処理を繰り返しおこなう。データ更新処理が終了した場合(ステップS712:Yes)、アプリケーションプログラムにて使用する地図データを、旧データとN個の差分データ401とを合わせたデータから、更新後の新データに切り替える(ステップS713)。
 この後、フラッシュメモリ305内にコピーした差分ファイル400を削除する(ステップS714)。そして、真の更新が完了し、ナビアプリケーションプログラム410にて新データの使用を可能にし(ステップS715)、処理を終了する。
(バックグラウンド更新時のデータの流れ)
 次に、図8を用いて、バックグラウンド更新時のデータの流れについて説明する。図8は、バックグラウンド更新時のデータの流れを示した説明図である。
 図8において、状態801は、更新前のデータの流れを示している。状態802は、更新中のデータの流れを示している。状態803は、更新後のデータの流れを示している。状態801は、SDカード307に記憶されている差分ファイル400がフラッシュメモリ305の空き領域810にコピー中であることを示した状態である。状態801において、ナビアプリケーションプログラム410における使用データ820には、RDB420に記憶されている旧データが用いられる。また、このときの見た目のデータ830は、旧データである。
 状態802は、SDカード307に記憶されている差分ファイル305がフラッシュメモリ305の空き領域810にコピーされた後の状態であり、かつフラッシュメモリ305の空き領域810からRDB420へのバックグラウンド更新中の状態である。状態802において、ナビアプリケーションプログラム410における使用データ820には、空き領域810にコピーされた差分ファイル400の差分データ401またはRDB420に記憶されている旧データが用いられる。
 具体的には、変更のある部分については差分データ401が用いられ、変更のない部分については旧データが用いられる。また、このときの見た目のデータ830は、更新後の新データである。
 状態803は、更新が完了し、フラッシュメモリ305の空き領域810にコピーされた差分ファイル400が消去された後の状態である。状態803において、ナビアプリケーションプログラム410における使用データ820には、RDB420に記憶されている更新後の新データが用いられる。また、このときの見た目のデータ830は、更新後の新データである。
 このように、本実施例では、差分データ401がフラッシュメモリ305の空き領域810にコピーされた直後から、ナビアプリケーションプログラム410における使用データ820には差分データ401を新データとして用いることができる。すなわち、ユーザの見た目のデータ830を、新データとすることができる。
 以上説明したように、本実施例では、ナビアプリケーションプログラム410における使用データ820に差分データ401を適用すると判定した場合に、差分データ401を参照してナビゲーション処理をおこなう一方、使用データ820に差分データ401を適用しないと判定した場合に、旧データを参照してナビゲーション処理をおこなうようにした。さらに、地図データの参照要求がない場合には、差分データ401を用いて地図データを更新するようにした。したがって、従来のように更新の順番を考慮することなく、簡単な制御によってバックグラウンドでの更新をおこなうことができる。
 また、本実施例によれば、更新が完了していない場合であっても、差分データ401を参照することにより、最新の地図データを用いたナビアプリケーションプログラム410を実行することができる。すなわち、更新が完了していない場合であっても、ユーザに最新のデータを用いたナビアプリケーションプログラム410の処理結果を早急に提示することができる。
 さらに、本実施例では、更新前の地図データのバックアップを作成する必要がないので、たとえば、フラッシュメモリ305を備えた記憶容量が少ない構成に効果的である。
 また、本実施例において、参照用データ521を有する差分ファイル400を用い、差分データ401を参照してナビゲーション処理をおこなうようにしたので、実行中のナビアプリケーションプログラム410に使用されているパーセルに差分データ401を高速に用いることができる。
 また、本実施例において、フラッシュメモリ305の空き領域810に差分ファイル400をコピーし、地図データの更新が完了したときに、コピーした差分ファイル400を消去するようにしたので、フラッシュメモリ305へのコピー完了後に、直ぐに差分データ401の参照または更新をおこなうことが可能になる。
 また、本実施例において、フラッシュメモリ305の空き領域810に差分ファイル400をコピーせずに、差分ファイル400を記憶する着脱可能なSDカード307などの記憶媒体から直接、差分データ401を読み込むようにしてもよい。このような構成によれば、SDカード307の接続後に、より迅速に差分データ401の参照または更新をおこなうことができる。さらに、フラッシュメモリ305に差分ファイル400を記憶する空き領域810がない場合であっても、差分データ401の参照または更新をおこなうことが可能になる。
 また、本実施例において、差分ファイル400を識別するためのシリアルIDを用いた二分木探索によって、ナビアプリケーションプログラム410における使用データ820に差分データ401を適用するか否かを判定するようにしたので、高速にシリアルIDを検索することができる。したがって、ナビアプリケーションプログラム410の実行中における差分データ401の参照または更新を高速におこなうことができる。
 以上説明したように、本発明の地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体によれば、更新が完了していない場合であっても、ユーザに最新のデータを用いたナビゲーション処理の処理結果を早急に提示することができる。
 なお、本実施例で説明した地図データ処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD、メモリカードなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
  100 地図データ処理装置
  101 実行部
  102 読込部
  103 判定部
  104 参照部
  105 更新部
  106 内部記憶部
  107 消去部
  108 外部記憶部
  300 ナビゲーション装置
  305 フラッシュメモリ
  307 SDカード

Claims (8)

  1.  地図データを用いた所定のナビゲーション処理を実行する実行手段を備えた地図データ処理装置であって、
     地図データを更新するための更新用データ、または更新対象ではない非更新地図データを読み込む読込手段と、
     前記読込手段による更新用データの読み込みが可能な状態にある場合、前記ナビゲーション処理を実行する際に用いる地図データ(以下「実行地図データ」という)に前記更新用データを適用するか否かを判定する判定手段と、
     を備え、
     前記実行手段は、
     前記判定手段によって前記実行地図データに前記更新用データを適用すると判定された場合に、前記更新用データを参照してナビゲーション処理をおこなう一方、前記判定手段によって前記実行地図データに前記更新用データを適用しないと判定された場合に、前記非更新地図データを参照してナビゲーション処理をおこなう参照手段と、
     前記更新用データを用いて地図データを更新する更新手段と、
     を有することを特徴とする地図データ処理装置。
  2.  前記更新用データは、更新用データを参照する際にのみ用いられる参照用データを有し、
     前記参照手段は、前記参照用データを用い、前記更新用データを参照してナビゲーション処理をおこなうことを特徴とする請求項1に記載の地図データ処理装置。
  3.  更新用データを一時的に記憶する内部記憶手段と、
     前記内部記憶手段に記憶された更新用データを消去する消去手段と、
     をさらに備え、
     前記読込手段は、前記内部記憶手段から前記更新用データを読み込むものであり、
     前記消去手段は、前記更新手段によって地図データの更新が完了したときに、前記内部記憶手段に記憶された更新用データを消去することを特徴とする請求項1または2に記載の地図データ処理装置。
  4.  前記読込手段は、更新用データを記憶する着脱可能な外部記憶手段から前記更新用データを読み込むものであることを特徴とする請求項1または2に記載の地図データ処理装置。
  5.  前記更新用データは、当該更新用データを識別するためのシリアル番号を有し、
     前記判定手段は、前記シリアル番号を用いた二分木探索によって、前記実行地図データに前記更新用データを適用するか否かを判定することを特徴とする請求項1~4のいずれか一つに記載の地図データ処理装置。
  6.  地図データを更新するための更新用データ、または更新対象ではない非更新地図データを読み込む読込部を備え、地図データを用いた所定のナビゲーション処理を実行する地図データ処理装置の地図データ処理方法であって、
     前記読込部による更新用データの読み込みが可能な状態にある場合、前記ナビゲーション処理を実行する際に用いる地図データ(以下「実行地図データ」という)に前記更新用データを適用するか否かを判定する判定工程と、
     前記判定工程にて前記実行地図データに前記更新用データを適用すると判定された場合に、前記更新用データを参照してナビゲーション処理をおこなう一方、前記判定工程にて前記実行地図データに前記更新用データを適用しないと判定された場合に、前記非更新地図データを参照してナビゲーション処理をおこなう参照工程と、
     前記更新用データを用いて地図データを更新する更新工程と、
     を含むことを特徴とする地図データ処理方法。
  7.  請求項6に記載の地図データ処理方法をコンピュータに実行させることを特徴とする地図データ処理プログラム。
  8.  請求項7に記載の地図データ処理プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
PCT/JP2009/057290 2009-04-09 2009-04-09 地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体 WO2010116513A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011508157A JPWO2010116513A1 (ja) 2009-04-09 2009-04-09 地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体
PCT/JP2009/057290 WO2010116513A1 (ja) 2009-04-09 2009-04-09 地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/057290 WO2010116513A1 (ja) 2009-04-09 2009-04-09 地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体

Publications (1)

Publication Number Publication Date
WO2010116513A1 true WO2010116513A1 (ja) 2010-10-14

Family

ID=42935821

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/057290 WO2010116513A1 (ja) 2009-04-09 2009-04-09 地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体

Country Status (2)

Country Link
JP (1) JPWO2010116513A1 (ja)
WO (1) WO2010116513A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2863180A1 (en) * 2013-10-21 2015-04-22 Realtimetech Co., Ltd. Apparatus and method for partially updating a navigation data while driving
JP2015179285A (ja) * 2015-06-05 2015-10-08 クラリオン株式会社 カーナビゲーションシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004354242A (ja) * 2003-05-29 2004-12-16 Denso Corp 地図データ利用装置及びプログラム
JP2009020254A (ja) * 2007-07-11 2009-01-29 Hitachi Ltd 地図データ配信システム及び地図データ更新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004354242A (ja) * 2003-05-29 2004-12-16 Denso Corp 地図データ利用装置及びプログラム
JP2009020254A (ja) * 2007-07-11 2009-01-29 Hitachi Ltd 地図データ配信システム及び地図データ更新方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2863180A1 (en) * 2013-10-21 2015-04-22 Realtimetech Co., Ltd. Apparatus and method for partially updating a navigation data while driving
JP2015179285A (ja) * 2015-06-05 2015-10-08 クラリオン株式会社 カーナビゲーションシステム

Also Published As

Publication number Publication date
JPWO2010116513A1 (ja) 2012-10-18

Similar Documents

Publication Publication Date Title
JP4561913B2 (ja) 地図データ管理装置、及び地図データ管理方法
JP4531582B2 (ja) 地図更新処理用データ作成方法、地図更新方法及び装置
JP4961606B2 (ja) データ管理システム、更新用ファイル生成システム、及び、データ更新方法
JP4897516B2 (ja) ナビゲーション装置及びデータ更新システム
JPWO2005101350A1 (ja) 地図描画装置、ナビゲーション装置、ファイル更新方法及びファイル更新プログラム並びにこのファイル更新プログラムを記録した情報記録媒体
JPWO2006132065A1 (ja) ナビゲーション装置、データ更新方法、およびデータ更新プログラム
WO2007142326A1 (ja) データ更新システム、端末装置、サーバ装置、及びデータ更新方法
JPWO2005088584A1 (ja) 地図描画装置、ナビゲーション装置、地図描画方法並びに地図描画プログラム及びこの地図描画プログラムを記録した情報記録媒体
JP5275349B2 (ja) 情報処理装置、情報作成装置、情報処理方法、情報作成方法、情報処理プログラム、情報作成プログラム、および記録媒体
WO2010007690A1 (ja) 更新地図データ作成装置、地図データ更新装置、更新地図データ作成方法、地図データ更新方法、更新地図データ作成プログラム、地図データ更新プログラム、および記録媒体
JP2012057957A (ja) ナビゲーション装置
JP2007328739A (ja) データ更新システム、端末装置、サーバ装置、及びデータ更新方法
JP2009300405A (ja) 地図データ更新装置、地図データ更新方法、地図データ更新プログラム、および記録媒体
JP5717971B2 (ja) ナビゲーション装置およびナビゲーション方法
WO2010116513A1 (ja) 地図データ処理装置、地図データ処理方法、地図データ処理プログラム、および記録媒体
JP2008090518A (ja) データ更新システム、端末装置、サーバ装置、及びデータ更新方法
WO2010013327A1 (ja) 経路探索装置、経路探索方法、経路探索プログラム、および記録媒体
WO2019093432A1 (ja) ナビゲーションシステム、ナビゲーション方法
WO2010007689A1 (ja) 地図データ更新装置、更新地図データ作成装置、地図データ更新方法、更新地図データ作成方法、地図データ更新プログラム、更新地図データ作成プログラム、および記録媒体
JP2009058542A (ja) 情報報知装置、情報報知方法、情報報知プログラムおよび記録媒体
JP2008122266A (ja) 経路探索装置、経路探索方法、経路探索プログラム及び記憶媒体
JP4822830B2 (ja) 地図データ作成装置
JP2013152500A (ja) ナビゲーションシステム、情報処理装置、情報処理サーバ、ナビゲーション方法、及びナビゲーションプログラム
JP2010271721A (ja) データ更新システム、ナビゲーション装置、及びデータ更新方法
JP5300334B2 (ja) 地図情報処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09843023

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2011508157

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09843023

Country of ref document: EP

Kind code of ref document: A1