WO2009053410A1 - A method of processing positioning data - Google Patents

A method of processing positioning data Download PDF

Info

Publication number
WO2009053410A1
WO2009053410A1 PCT/EP2008/064322 EP2008064322W WO2009053410A1 WO 2009053410 A1 WO2009053410 A1 WO 2009053410A1 EP 2008064322 W EP2008064322 W EP 2008064322W WO 2009053410 A1 WO2009053410 A1 WO 2009053410A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
speed
segment
map
navigation device
Prior art date
Application number
PCT/EP2008/064322
Other languages
French (fr)
Inventor
Geert Hilbrandie
Ralf-Peter SCHÄFER
Peter Mieth
Ian Malcom Atkinson
Martin Wolf
Ben Rutten
Original Assignee
Tomtom International B.V.
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 Tomtom International B.V. filed Critical Tomtom International B.V.
Priority to AU2008316529A priority Critical patent/AU2008316529A1/en
Priority to CN200880113016A priority patent/CN101836082A/en
Priority to JP2010530451A priority patent/JP2011502248A/en
Priority to EP08842327A priority patent/EP2203716A1/en
Priority to CA2703510A priority patent/CA2703510A1/en
Publication of WO2009053410A1 publication Critical patent/WO2009053410A1/en

Links

Classifications

    • 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
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • 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/3833Creation or updating of map data characterised by the source of data
    • G01C21/3844Data obtained from position sensors only, e.g. from inertial navigation
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0129Traffic data processing for creating historical data or processing based on historical data
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/052Detecting movement of traffic to be counted or controlled with provision for determining speed or overspeed
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096827Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • G08G1/096844Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route where the complete route is dynamically recomputed based on new data
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096877Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement
    • G08G1/096888Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement where input information is obtained using learning systems, e.g. history databases

Definitions

  • the invention relates to a method of processing positioning data and in particular to processing positioning data in order to generate map data arranged to be used in navigation devices and in particular, but not especially in a Portable Navigation Device (PND).
  • PND Portable Navigation Device
  • the invention also provides related apparatus for providing the method.
  • Map data for electronic navigation devices such as GPS based personal navigation devices like the GOTM from TomTom International BV, comes from specialist map vendors such as Tele Atlas NV. Such devices are also referred to as Portable Navigation Devices (PND's).
  • PND's Portable Navigation Devices
  • This map data is specially designed to be used by route guidance algorithms, typically using location data from the GPS system.
  • roads can be described as lines - i.e. vectors (e.g. start point, end point, direction for a road, with an entire road being made up of many hundreds of such segments, each uniquely defined by start point/ end point direction parameters).
  • a map is then a set of such road vectors, data associated with each vector (speed limit; travel direction, etc.) plus points of interest (POIs), plus road names, plus other geographic features like park boundaries, river boundaries, etc., all of which are defined in terms of vectors.
  • All map features e.g. road vectors, POIs etc.
  • Tele Atlas starts with basic road information from various sources, such as the Ordnance Survey for roads in England. It also has a large, dedicated team of vehicles driving on roads, plus personnel checking other maps and aerial photographs, to update and check its data. This data constitutes the core of the Tele Atlas map database. This map database is being continuously enhanced with geo-referenced data. It is then checked and published four times a year to device manufacturers like TomTom.
  • Each such road segment has associated therewith speed data for that road segment which gives an indication of the speed at which a vehicle can travel along that segment and is an average speed generated by the party that produced the map data, which may be, for example, Tele Atlas.
  • the speed data is used by route planning algorithms on PND 's on which the map is processed. The accuracy of such route planning thus depends on the accuracy of the speed data. For example, a user is often presented with an option on his/her PND to have it generate the fastest route between the current location of the device and a destination. The route calculated by the PND may well not be the fastest route if the speed data is inaccurate.
  • a method of generating map data from positioning data comprising a plurality of navigable segments representing segments of a navigable route in the area covered by the map with each segment being arranged to have speed data associated therewith, the method comprising the steps of: 1. using one or more navigation devices to generate positioning data being constituted by at least a series of positions;
  • Such a method is believed advantageous since it uses real data, representing data seen by the navigation device as it used, to generate the speed data.
  • the speed data is perhaps likely to be more accurate than other methods of generating the speed data.
  • a navigation device using the generated map data may be able to generate routes more accurate routes when compared to the prior art.
  • the navigable segments generally represent segments of a road but may also represent segments of any other path, channel or the like navigable by a vehicle, person or the like.
  • a navigable segment may represent a segment of a path, river, canal, cycle path, tow path, rail way line, or the like.
  • traffic may refer to bikes moving along a cycle path.
  • the method may include a step of uploading the positioning data from the or each navigation device to a server wherein the server is arranged to process the positioning data.
  • a method allows central generation of the map data.
  • the navigation device may be arranged to process the positioning data.
  • Such embodiments may upload the speed data to a server.
  • the method may comprise using a plurality of positioning devices to generate positioning data, thereby increasing the accuracy of the speed data generated from the positioning data.
  • the method may cause the server and/or the navigation device to store the positioning data and/or the speed data for analysis at a time after the data is captured.
  • Such a method is convenient as it allows data to be accumulated over a period of time and subsequently processed which again may increase the accuracy of the speed data generated for each navigable segment.
  • the method causes the or each navigation device to upload positioning data, from time to time, to a server which server stores the positioning data for processing at a later time.
  • the method may comprise dividing the positioning data into a plurality of traces, with each trace representing positioning data received from a navigation device over a predetermined period.
  • this predetermined period may be roughly 24 hours, which may correspond to a calendar day.
  • the positioning data which may in particular mean each trace, may be processed in order to generate trip data representing an individual journey for a navigation device.
  • a journey may be thought of as a period in which the navigation device was in motion without stopping for more than a predetermined time. Dividing the position data into trip data may be advantageous since it can increase accuracy of the speed data since periods in which the navigation device is stationary may be discounted.
  • the positioning data may be processed in order to remove inaccurate positions.
  • the positioning data may also comprise accuracy data. Inaccurate positions may be removed according to processing of the positioning data.
  • the positioning data may be processed in order to associate positions within that data with a navigable segment. Subsequently, speed data may be determined from the positioning data and the navigable segment with which a position has been associated. So generated speed data may be categorised into one of a plurality of predetermined time periods for the navigable segment with which they have been associated.
  • the method may average the speeds within each of the predetermined time periods for each navigable segment. As such, the method may generate a measured speed profile, with each predetermined time period providing a point on the measured speed profile. This may be repeated for a plurality of navigable segments and generally for each navigable segment for which there is sufficient positioning data. Thus, navigable segments with insufficient data, or poor quality data, may not have a measured speed profile generated.
  • the processing may aim to generate a measured speed profile covering other time periods; ie second time periods which may be longer time periods than the first time period.
  • the processing may aim to generate a weekday measured speed profile and /or a weekend measured speed profile.
  • Other embodiments may use a single measured speed profile for a weekly period.
  • time periods eg daily
  • the positioning data captured by the or positioning device also comprises time data at which each of the positions occurred.
  • the positioning device may capture positioning data at predetermined times and as such not record the time at which each position occurred.
  • the time data (whether from recorded within the positioning data or from a priori predetermined time) allows the speed data to be determined from the positioning data.
  • the method may analyse speed data associated with a navigable segment to determine the quality of that speed data. If the quality of the speed data falls bellow a predetermined threshold then the method may replace that speed data with the category average.
  • the predetermined threshold may be determined by any of the following; the absolute number of readings that went to make up the speed data, the standard deviation of the speed data, or any other suitable measure.
  • the method may be arranged to replace that measured speed profile, for that navigable segment, with a measured speed profile covering a longer time period.
  • the speed data may comprise a measured speed profile covering a period of a day and should the method determine that the daily measured speed profile is not of sufficiently high quality then it may be replaced with a speed profile covering a weekly period.
  • the method may comprise a further step of performing cluster analysis on the measured speed profiles in order to generate a set of cluster generated speed profiles.
  • the method may further comprise the step of mapping the speed data associated with at least some and generally each navigable segment to a cluster generated speed profile.
  • the speed data associated with at least some, and generally each, navigable segment may be replaced with a reference to the cluster generated segment.
  • Such a step may reduce, perhaps significantly, the amount of data required to store the speed data within the map data.
  • the cluster generated speed profiles are normalised according to a parameter. Such a method may allow the cluster generated speed profile to be mapped to more measured speed profiles.
  • the parameter used to normalise the cluster generated speed profile may be any of the following: the speed limit of the navigable segment to which the speed profile relates; the free flow speed of traffic along the navigable segment; the average speed along the navigable segment; any other suitable parameter.
  • the method may comprise storing, for that navigable segment, the parameter used to normalise the cluster generated speed profile in the map data.
  • Such a method should allow the cluster generated speed profile to be re-generated from the parameter and the reference to the cluster generated speed profile thereby further reducing the data required to store the speed data for that road segment.
  • the method may also include positioning data from sources other than navigation devices.
  • the method may include data generated from any of the following sources: position information derived from mobile phone operation, data received at toll barriers, data obtained from induction loops embedded in roads or other navigable routes, data obtained from number plate recognition system or any other suitable data.
  • the method may also include the step of downloading the map data to one or more, and generally a plurality, of navigation devices.
  • a machine readable medium containing instructions which when read by a machine cause that machine to perform the method of the first aspect of the invention.
  • a system arranged to generate map data, the map data comprising a plurality of navigable segments representing segments of a navigable route in the area covered by the map with each segment being arranged to have speed data associated therewith, the system comprising: a receiver arranged to receive positioning data from at least one, and generally a plurality, of navigation devices, such positioning data being constituted by at least a series of positions; processing circuitry arranged to process the positioning data and generate speed data therefrom, wherein the generated speed data is associated with the navigable segment on which the positioning data generating that speed data occurred; and the processing circuitry being further arranged to update the map data with the speed data to associate the speed data with the navigable segment on which it occurred to generate map data suitable for use by a navigation device.
  • the system may be provided by a server. Alternatively, the system may be provided by a set of inter-related components.
  • a machine readable medium containing instructions which when read by a machine cause that machine to function as the system of the third aspect of the invention.
  • a navigation device comprising processing circuitry which includes a memory, the processing circuitry of the navigation device being arrange to: process map data held with the memory in order to generate a set of routing instructions to guide a user of the device; store positioning data generated by the device within the memory; upload the positioning data to a server remote from the navigation device.
  • a machine readable medium containing instructions which when read by a machine cause that machine to function as the navigation device of the fifth aspect of the invention.
  • the machine readable medium may comprise any of the following: a floppy disk, a CD ROM, a DVD ROM / RAM (including a -R/-RW and + R/+RW), a hard drive, a memory (including a USB memory key, an SD card, a MemorystickTM, a compact flash card, or the like), a tape, any other form of magneto optical storage, a transmitted signal (including an Internet download, an FTP transfer, etc), a wire, or any other suitable medium.
  • FIG. 1 is a schematic illustration of an exemplary part of a Global Positioning System (GPS) usable by a navigation device;
  • GPS Global Positioning System
  • Figure 2 is a schematic diagram of a communications system for communication between a navigation device and a server;
  • Figure 3 is a schematic illustration of electronic components of the navigation device of Figure 2 or any other suitable navigation device;
  • Figure 4 is a schematic diagram of an arrangement of mounting and/or docking a navigation device
  • Figure 5 is a schematic representation of an architectural stack employed by the navigation device of Figure 3;
  • Figure 6 shows a flowchart outlining an embodiment for matching GPS fixes within a trace to a map
  • Figure 7 shows a flowchart outlining an embodiment for generating an average
  • Figure 8 shows a flowchart outlining an embodiment for performing cluster formation on averages
  • Figure 9 shows an example set of cluster generated speed profiles which are an output for the clustering algorithm
  • Figure 10 shows a flow chart outlining a fall back strategy used to improve the quality of measured speed profiles associated with road segments
  • Figure 11 shows a flowchart outlining an embodiment of how the quality of measured speed profile data is improved.
  • Figure 12 shows a flowchart outlining how the cluster generated speed profiles are associated with road segments of at least one map
  • a navigation device is intended to include (without limitation) any type of route planning and navigation device, irrespective of whether that device is embodied as a PND, a vehicle such as an automobile, or indeed a portable computing resource, for example a portable personal computer (PC), a mobile telephone or a Personal Digital Assistant (PDA) executing route planning and navigation software.
  • PC personal computer
  • PDA Personal Digital Assistant
  • road segments are described with reference to road segments. It should be realised that the invention may also be applicable to other navigable segments, such as segments of a path, river, canal, cycle path, tow path, rail way line, or the like. For ease of reference these are commonly referred to as a road segment.
  • the Global Positioning System of Figure 1 and the like are used for a variety of purposes.
  • the GPS is a satellite- radio based navigation system capable of determining continuous position, velocity, time, and in some instances direction information for an unlimited number of users.
  • NAVSTAR the GPS incorporates a plurality of satellites which orbit the earth in extremely precise orbits. Based on these precise orbits, GPS satellites can relay their location, as GPS data, to any number of receiving units.
  • Global Positioning systems could be used, such as GLOSNASS, the European Galileo positioning system, COMPASS positioning system or IRNSS (Indian Regional Navigational Satellite System).
  • the GPS system is implemented when a device, specially equipped to receive GPS data, begins scanning radio frequencies for GPS satellite signals. Upon receiving a radio signal from a GPS satellite, the device determines the precise location of that satellite via one of a plurality of different conventional methods. The device will continue scanning, in most instances, for signals until it has acquired at least three different satellite signals (noting that position is not normally, but can be determined, with only two signals using other triangulation techniques). Implementing geometric triangulation, the receiver utilizes the three known positions to determine its own two-dimensional position relative to the satellites. This can be done in a known manner. Additionally, acquiring a fourth satellite signal allows the receiving device to calculate its three dimensional position by the same geometrical calculation in a known manner. The position and velocity data can be updated in real time on a continuous basis by an unlimited number of users.
  • the GPS system 100 comprises a plurality of satellites 102 orbiting about the earth 104.
  • a GPS receiver 106 receives GPS data as spread spectrum GPS satellite data signals 108 from a number of the plurality of satellites 102.
  • the spread spectrum data signals 108 are continuously transmitted from each satellite 102, the spread spectrum data signals 108 transmitted each comprise a data stream including information identifying a particular satellite 102 from which the data stream originates.
  • the GPS receiver 106 generally requires spread spectrum data signals 108 from at least three satellites 102 in order to be able to calculate a two-dimensional position. Receipt of a fourth spread spectrum data signal enables the GPS receiver 106 to calculate, using a known technique, a three-dimensional position.
  • a navigation device 200 (ie a PND) comprising or coupled to the GPS receiver device 106, is capable of establishing a data session, if required, with network hardware of a "mobile" or telecommunications network via a mobile device (not shown), for example a mobile telephone, PDA, and/or any device with mobile telephone technology, in order to establish a digital connection, for example a digital connection via known Bluetooth technology.
  • a mobile device for example a mobile telephone, PDA, and/or any device with mobile telephone technology
  • the mobile device can establish a network connection (through the Internet for example) with a server 150.
  • a "mobile” network connection can be established between the navigation device 200 (which can be, and often times is, mobile as it travels alone and/or in a vehicle) and the server 150 to provide a "real-time” or at least very “up to date” gateway for information.
  • the establishing of the network connection between the mobile device (via a service provider) and another device such as the server 150, using the Internet for example, can be done in a known manner.
  • any number of appropriate data communications protocols can be employed, for example the TCP/IP layered protocol.
  • the mobile device can utilize any number of communication standards such as CDMA2000, GSM, IEEE 802.11 a/b/c/g/n, etc.
  • the Internet connection may be utilised, which can be achieved via data connection, via a mobile phone or mobile phone technology within the navigation device 200 for example.
  • the navigation device 200 may, of course, include its own mobile telephone technology within the navigation device 200 itself (including an antenna for example, or optionally using the internal antenna of the navigation device 200).
  • the mobile phone technology within the navigation device 200 can include internal components, and/or can include an insertable card (e.g. Subscriber Identity Module (SIM) card), complete with necessary mobile phone technology and/or an antenna for example.
  • SIM Subscriber Identity Module
  • mobile phone technology within the navigation device 200 can similarly establish a network connection between the navigation device 200 and the server 150, via the Internet for example, in a manner similar to that of any mobile device.
  • a Bluetooth enabled navigation device may be used to work correctly with the ever changing spectrum of mobile phone models, manufacturers, etc., model/manufacturer specific settings may be stored on the navigation device 200 for example. The data stored for this information can be updated.
  • the navigation device 200 is depicted as being in communication with the server 150 via a generic communications channel 152 that can be implemented by any of a number of different arrangements.
  • the communication channel 152 generically represents the propagating medium or path that connects the navigation device 200 and the server 150.
  • the server 150 and the navigation device 200 can communicate when a connection via the communications channel 152 is established between the server 150 and the navigation device 200 (noting that such a connection can be a data connection via mobile device, a direct connection via personal computer via the Internet, etc.).
  • the communication channel 152 is not limited to a particular communication technology. Additionally, the communication channel 152 is not limited to a single communication technology; that is, the channel 152 may include several communication links that use a variety of technology. For example, the communication channel 152 can be adapted to provide a path for electrical, optical, and/or electromagnetic communications, etc. As such, the communication channel 152 includes, but is not limited to, one or a combination of the following: electric circuits, electrical conductors such as wires and coaxial cables, fibre optic cables, converters, radio-frequency (RF) waves, the atmosphere, free space, etc. Furthermore, the communication channel 152 can include intermediate devices such as routers, repeaters, buffers, transmitters, and receivers, for example.
  • RF radio-frequency
  • the communication channel 152 includes telephone and computer networks. Furthermore, the communication channel 152 may be capable of accommodating wireless communication, for example, infrared communications, radio frequency communications, such as microwave frequency communications, etc. Additionally, the communication channel 152 can accommodate satellite communication.
  • the communication signals transmitted through the communication channel 152 include, but are not limited to, signals as may be required or desired for given communication technology.
  • the signals may be adapted to be used in cellular communication technology such as Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), etc.
  • TDMA Time Division Multiple Access
  • FDMA Frequency Division Multiple Access
  • CDMA Code Division Multiple Access
  • GSM Global System for Mobile Communications
  • GPRS General Packet Radio Service
  • Both digital and analogue signals can be transmitted through the communication channel 152.
  • These signals may be modulated, encrypted and/or compressed signals as may be desirable for the communication technology.
  • the server 150 includes, in addition to other components which may not be illustrated, a processor 154 operatively connected to a memory 156 and further operatively connected, via a wired or wireless connection 158, to a mass data storage device 160.
  • the mass storage device 160 contains a store of navigation data and map information, and can again be a separate device from the server 150 or can be incorporated into the server 150.
  • the processor 154 is further operatively connected to transmitter 162 and receiver 164, to transmit and receive information to and from navigation device 200 via communications channel 152.
  • the signals sent and received may include data, communication, and/or other propagated signals.
  • the transmitter 162 and receiver 164 may be selected or designed according to the communications requirement and communication technology used in the communication design for the navigation system 200. Further, it should be noted that the functions of transmitter 162 and receiver 164 may be combined into a single transceiver.
  • the navigation device 200 can be arranged to communicate with the server 150 through communications channel 152, using transmitter 166 and receiver 168 to send and receive signals and/or data through the communications channel 152, noting that these devices can further be used to communicate with devices other than server 150.
  • the transmitter 166 and receiver 168 are selected or designed according to communication requirements and communication technology used in the communication design for the navigation device 200 and the functions of the transmitter 166 and receiver 168 may be combined into a single transceiver as described above in relation to Figure 2.
  • the navigation device 200 comprises other hardware and/or functional parts, which will be described later herein in further detail.
  • Software stored in server memory 156 provides instructions for the processor 154 and allows the server 150 to provide services to the navigation device 200.
  • One service provided by the server 150 involves processing requests from the navigation device 200 and transmitting navigation data from the mass data storage 160 to the navigation device 200.
  • Another service that can be provided by the server 150 includes processing the navigation data using various algorithms for a desired application and sending the results of these calculations to the navigation device 200.
  • the server 150 constitutes a remote source of data accessible by the navigation device 200 via a wireless channel.
  • the server 150 may include a network server located on a local area network (LAN), wide area network (WAN), virtual private network (VPN), etc.
  • LAN local area network
  • WAN wide area network
  • VPN virtual private network
  • the server 150 may include a personal computer such as a desktop or laptop computer, and the communication channel 152 may be a cable connected between the personal computer and the navigation device 200.
  • a personal computer may be connected between the navigation device 200 and the server 150 to establish an Internet connection between the server 150 and the navigation device 200.
  • the navigation device 200 may be provided with information from the server 150 via information downloads which may be updated automatically, from time to time, or upon a user connecting the navigation device 200 to the server 150 and/or may be more dynamic upon a more constant or frequent connection being made between the server 150 and navigation device 200 via a wireless mobile connection device and TCP/IP connection for example.
  • the processor 154 in the server 150 may be used to handle the bulk of processing needs, however, a processor (not shown in Figure 2) of the navigation device 200 can also handle much processing and calculation, oftentimes independent of a connection to a server 150.
  • the block diagram of the navigation device 200 is not inclusive of all components of the navigation device, but is only representative of many example components.
  • the navigation device 200 is located within a housing (not shown).
  • the navigation device 200 includes processing circuitry comprising, for example, the processor 202 mentioned above, the processor 202 being coupled to an input device 204 and a display device, for example a display screen 206.
  • a display device for example a display screen 206.
  • the input device 204 represents any number of input devices, including a keyboard device, voice input device, touch panel and/or any other known input device utilised to input information.
  • the display screen 206 can include any type of display screen such as a Liquid Crystal Display (LCD), for example.
  • LCD Liquid Crystal Display
  • one aspect of the input device 204, the touch panel, and the display screen 206 are integrated so as to provide an integrated input and display device, including a touchpad or touchscreen input 250 ( Figure 4) to enable both input of information (via direct input, menu selection, etc.) and display of information through the touch panel screen so that a user need only touch a portion of the display screen 206 to select one of a plurality of display choices or to activate one of a plurality of virtual or "soft" buttons.
  • the processor 202 supports a Graphical User Interface (GUI) that operates in conjunction with the touchscreen.
  • GUI Graphical User Interface
  • the processor 202 is operatively connected to and capable of receiving input information from input device 204 via a connection 210, and operatively connected to at least one of the display screen 206 and the output device 208, via respective output connections 212, to output information thereto.
  • the navigation device 200 may include an output device 208, for example an audible output device (e.g. a loudspeaker).
  • an audible output device e.g. a loudspeaker
  • input device 204 can include a microphone and software for receiving input voice commands as well.
  • the navigation device 200 can also include any additional input device 204 and/or any additional output device, such as audio input/output devices for example.
  • the processor 202 is operatively connected to memory 214 via connection 216 and is further adapted to receive/send information from/to input/output (I/O) ports 218 via connection 220, wherein the I/O port 218 is connectible to an I/O device 222 external to the navigation device 200.
  • the external I/O device 222 may include, but is not limited to an external listening device, such as an earpiece for example.
  • connection to I/O device 222 can further be a wired or wireless connection to any other external device such as a car stereo unit for hands-free operation and/or for voice activated operation for example, for connection to an earpiece or headphones, and/or for connection to a mobile telephone for example, wherein the mobile telephone connection can be used to establish a data connection between the navigation device 200 and the Internet or any other network for example, and/or to establish a connection to a server via the Internet or some other network for example.
  • any other external device such as a car stereo unit for hands-free operation and/or for voice activated operation for example, for connection to an earpiece or headphones, and/or for connection to a mobile telephone for example
  • the mobile telephone connection can be used to establish a data connection between the navigation device 200 and the Internet or any other network for example, and/or to establish a connection to a server via the Internet or some other network for example.
  • the memory 214 of the navigation device 200 comprises a portion of non-volatile memory (for example to store program code) and a portion of volatile memory (for example to store data as the program code is executed).
  • the navigation device also comprises a port 228, which communicates with the processor 202 via connection 230, to allow a removable memory card (commonly referred to as a card) to be added to the device 200.
  • a removable memory card commonly referred to as a card
  • the port is arranged to allow an SD (Secure Digital) card to be added.
  • the port may allow other formats of memory to be connected (such as Compact Flash (CF) cards, Memory SticksTM, xD memory cards, USB (Universal Serial Bus) Flash drives, MMC (MultiMedia) cards, SmartMedia cards, Microdrives, or the like).
  • Figure 3 further illustrates an operative connection between the processor 202 and an antenna/receiver 224 via connection 226, wherein the antenna/receiver 224 can be a GPS antenna/receiver for example and as such would function as the GPS receiver 106 of Figure 1.
  • the antenna and receiver designated by reference numeral 224 are combined schematically for illustration, but that the antenna and receiver may be separately located components, and that the antenna may be a GPS patch antenna or helical antenna for example.
  • the electronic components shown in Figure 3 are powered by one or more power sources (not shown) in a conventional manner.
  • power sources may include an internal battery and/or a input for a low voltage DC supply or any other suitable arrangement.
  • the components shown in Figure 3 may be in communication with one another via wired and/or wireless connections and the like.
  • the navigation device 200 described herein can be a portable or handheld navigation device 200.
  • the portable or handheld navigation device 200 of Figure 3 can be connected or "docked" in a known manner to a vehicle such as a bicycle, a motorbike, a car or a boat for example. Such a navigation device 200 is then removable from the docked location for portable or handheld navigation use. Indeed, in other embodiments, the device 200 may be arranged to be handheld to allow for navigation of a user.
  • the navigation device 200 may be a unit that includes the integrated input and display device 206 and the other components of Figure 2 (including, but not limited to, the internal GPS receiver 224, the processor 202, a power supply (not shown), memory systems 214, etc.).
  • the navigation device 200 may sit on an arm 252, which itself may be secured to a vehicle dashboard/window/etc, using a suction cup 254.
  • This arm 252 is one example of a docking station to which the navigation device 200 can be docked.
  • the navigation device 200 can be docked or otherwise connected to the arm 252 of the docking station by snap connecting the navigation device 200 to the arm 252 for example.
  • the navigation device 200 may then be rotatable on the arm 252.
  • a button (not shown) on the navigation device 200 may be pressed, for example.
  • Other equally suitable arrangements for coupling and decoupling the navigation device 200 to a docking station are well known to persons of ordinary skill in the art.
  • the processor 202 and memory 214 cooperate to support a BIOS (Basic Input/Output System) 282 that functions as an interface between functional hardware components 280 of the navigation device 200 and the software executed by the device.
  • BIOS Basic Input/Output System
  • the processor 202 then loads an operating system 284 from the memory 214, which provides an environment in which application software 286 (implementing some or all of the described route planning and navigation functionality) can run.
  • the application software 286 provides an operational environment including the Graphical User Interface (GUI) that supports core functions of the navigation device, for example map viewing, route planning, navigation functions and any other functions associated therewith.
  • GUI Graphical User Interface
  • part of the application software 286 comprises a view generation module 288.
  • the processor 202 of the navigation device is programmed to receive GPS data received by the antenna 224 and, from time to time, to store that GPS data, together with a time stamp of when the GPS data was received, within the memory 214 to build up a record of the location of the navigation device.
  • Each data record so-stored may be thought of as a GPS fix; ie it is a fix of the location of the navigation device and comprises a latitude, a longitude, a time stamp and an accuracy report.
  • the data is stored substantially on a periodic basis which is for example every 5seconds.
  • a periodic basis which is for example every 5seconds.
  • the resolution might be substantially every: 1 second, 10 seconds, 15 seconds, 20 seconds, 30 seconds, 45 seconds, 1 minute, 2.5minutes (or indeed, any period in between these periods).
  • the quality of the captured data reduces as the period increases and whilst the degree of degradation will at least in part be dependent upon the speed at which the navigation device 200 was moving a period of roughly 15 seconds may provide a suitable upper limit.
  • the navigation device 200 Whilst the navigation device 200 is generally arranged to build up a record of its whereabouts, some embodiments, do not record data for a predetermined period and/or distance at the start or end of a journey. Such an arrangement helps to protect the privacy of the user of the navigation device 200 since it is likely to protect the location of his/her home and other frequented destinations. For example, the navigation device 200 may be arranged not to store data for roughly the first 5 minutes of a journey and/or for roughly the first mile of a journey.
  • the GPS may not be stored on a periodic basis but may be stored within the memory when a predetermined event occurs.
  • the processor 202 may be programmed to store the GPS data when the device passes a road junction, a change of road segment, or other such event.
  • the processor 202 is arranged, from time to time, to upload the record of the whereabouts of the device 200 (ie the GPS data and the time stamp) to the server 150.
  • the uploading of the data occurs on a periodic basis which may for example be once every 24hours.
  • the skilled person will appreciate that other periods are possible and may be substantially any of the following periods: 15minutes, 30 minutes, hourly, every 2 hours, every 5 hours, every 12 hours, every 2 days, weekly, or any time in between these.
  • the processor 202 may be arranged to upload the record of the whereabouts on a substantially real time basis, although this may inevitably mean that data is in fact transmitted from time to time with a relatively short period between the transmissions and as such may be more correctly thought of as being pseudo real time.
  • the navigation device may be arranged to buffer the GPS fixes within the memory 214 and/or on a card inserted in the port 228 and to transmit these when a predetermined number have been stored. This predetermined number may be on the order of 20, 36, 100, 200 or any number in between. The skilled person will appreciate that the predetermined number is in part governed by the size of the memory 214 / card within the port 228.
  • the processor 202 may be arranged to upload the record to the server 152 when a communication channel 152 is created. This may for example, be when the navigation device 200 is connected to a user's computer. Again, in such embodiments, the navigation device may be arranged to buffer the GPS fixes within the memory 214 or on a card inserted in the port 228. Should the memory 214 or card inserted in the port 228 become full of GPS fixes the navigation device may be arranged to deleted the oldest GPS fixes and as such it may be thought of as a First in First Out (FIFO) buffer.
  • FIFO First in First Out
  • the record of the whereabouts comprises one or more traces with each trace representing the movement of that navigation device 200 within a 24 hour period.
  • Each 24 is arranged to coincide with a calendar day but in other embodiments, this need not be the case.
  • a user of a navigation device 200 gives his/her consent for the record of the devices whereabouts to be uploaded to the server 150. If no consent is given then no record is uploaded to the server 150.
  • the navigation device itself, and/or a computer to which the navigation device is connected may be arranged to ask the user for his/her consent to such use of the record of whereabouts.
  • the server 150 is arranged to receive the record of the whereabouts of the device and to store this within the mass data storage 160 for processing. Thus, as time passes the mass data storage 160 accumulates a plurality of records of the whereabouts of navigation devices 200 which have uploaded data.
  • the mass data storage 160 also contains map data.
  • map data provides information about the location of road segments, points of interest and other such information that is generally found on map.
  • the server 150 is arranged to perform a map matching function between the map data and the GPS fixes contained within the records of the whereabouts that have been received and such a process is described in relation to Figure 6.
  • map matching may be performed in a so-called real time manner; ie as the records of whereabouts are received or may be performed a time later after the records of the whereabouts have been recalled from the mass data storage 160.
  • each GPS trace (ie a 24hour period of GPS data) is divided 600 into one or more trips with each trip representing a single journey of the navigation device 200 which are subsequently stored for later processing.
  • GPS fixes whose accuracy report received from the navigation device is not sufficiently high are rejected 602.
  • a fix may be rejected if the accuracy report indicates that the signals from less than three satellites 102 were being received by the navigation device 200 in relation to that GPS fix.
  • each trip is clipped 604 when the reported time between fixes goes above a threshold value.
  • Each trip that passes this pre-processing stage is passed to be map matched.
  • a clipped trip is a trip in which the there is a predetermined time period between consecutive GPS fixes of greater than a predetermined time. As such, it might be inferred that the vehicle has remained stationary and as such it should be considered a first trip has ended and a second trip has commenced. Thus, a clipped trip becomes two separate trips.
  • the predetermined time is roughly 3 minutes.
  • the gap may be any other suitable time, such as roughly any of the following: 15 seconds, 30 seconds, 1 minute, 90 seconds, 2 minutes, 5minutes, 10 minutes or any time in between these.
  • data may in some embodiments, be rejected in later processing.
  • Such an embodiment can be useful in that it can remove data relating to so-called stop-start traffic which occurs after incidents such as a crash or the like which may leave remaining data more representative of steady state traffic flow.
  • Each trip is taken in turn and fixes within that trip are matched to a map from within the map data.
  • Each map comprises a plurality of road segments along which it is possible to travel with each segment being represented within the map as a straight vector.
  • the program code running on the processor 154 of the server 150 provides a map matcher that is arranged to step over the or each fix in the trip that is being processed until it finds a fix which lies within a segment or is sufficiently close to a segment in order for it to be assumed to have occurred on that segment (ie it is within a distance threshold of the segment). This threshold allows for less than
  • Each trip has an initial fix (ie the first fix within the trip) which is harder to associate with a segment than other fixes within the trip since there are no segments that have already identified which can be used to constrain the selection of the segments. If, for this first fix, multiple segments are within the threshold 606, then the algorithm looks to the next GPS fix (ie the 2nd fix) within the trip and generates a set of roots from those multiple segments based on the possible travel as a function of the distance between the 2 fixes (ie between the 1st and 2nd fixes). If the 2nd fix does not lead to a unique candidate segment for the 1 st fix, then the algorithm moves to the 3rd fix within the trip and again generates and compares the possible routes to try and provide a unique candidate for the first fix 608. This process may continue until the remaining GPS fixes within a trip have been processed.
  • An advantage of such an embodiment is that although any one first fix in isolation may be near multiple segments, and in isolation these segments can not be distinguished between, it becomes possible using the further travel (ie the 2nd and 3rd fixes) to determine the identity of the segment with which the first fix is associated. Thus, a fist segment for a trip is determined by the map matcher.
  • the subsequent fixes of a trip are processed 610 to determine if they are within the distance threshold of the segment, and the map matcher is arranged to associate that segment with each of the fixes that lie within the distance threshold.
  • the map matcher process a fix that is outwith the distance threshold it is arranged to generate a new set of candidate segments for that fix.
  • the next segment is one which is connected to the end of the one which has just been processed. These neighbouring segments are obtained by the map matcher from the underlying map data.
  • the map matcher fails to identify a segment for a given fix that follows on from the previous segment, either because there are no segments within a threshold, or it cannot uniquely identify a single segment, then the map matcher is arranged to step through subsequent fixes 616 in order to further constrain the journey until it can identify a segment that is a unique match. That is, if the nth fix cannot be uniquely associated with a segment the nth + 1 segment is used to further constrain the identification of a segment. If the nth + 1 fix does not produce a unique segment then the nth + 2 fix is used. In some embodiments, this process may carry on until the a unique segment is identified or all of the GPS fixes with a trip have been processed.
  • the map matcher is arranged to try and uniquely identify segments; in the embodiment being described, it does not attempt to create a continuous route, only to try and match segments to fixes. In other embodiments, it may be desirable to try and have the map matcher generate continuous routes.
  • a series of road segments are obtained along which the navigation device 200 has travelled in the trip being analysed. Subsequently, the map matcher further processes these road segments and assigns, from the GPS fixes, an ingress time and also a transit time for that segment. These assigned times are stored within the mass data storage 160 for later processing. It may well be that a plurality of GPS fixes are stored for each road segment. However, regardless of whether how many GPS fixes are associated with each segment, the ingress time, GPS fixes and the length of the segment (which in this embodiment is stored within the map data) are used to calculate the average speed for that segment of road. This average speed is then stored within the mass data storage 160 associated with the relevant assigned times and that segment. Information relating to a speed of traffic flow on a road segment and assigned to a road segment may be thought of as being speed data for that road segment.
  • the server 150 is further arranged to run averaging program code on the processor 154 to provide an averager which processes the assigned times to generate one or more averages therefrom as described below.
  • the averaging process used in this embodiment is now described in relation to Figure 7.
  • the averager groups the average speeds for each road segment on the map being processed. Within the grouping for each road segment, the averager is further arranged to group the average speeds within a set of predetermined time periods 702. Thus, average speeds which occur within the same time period (eg between 8.00am and 8.59am) are grouped together for further analysis.
  • the time periods are one hour durations but this need not be the case and the skilled person will appreciate, from the following description, that as the length of the time period decreases the resolution of the data is increased but storage requirements are increased.
  • Other suitable time periods might substantially any of the following: 1 minute, 5minute, lOminute, 15minute, 30min, 2 hours, ⁇ hours, 12 hours, or any time in between these times.
  • average speeds are stored in a time local to the area covered by the map being processed rather than a centralised time. Such a method is convenient as it provides a natural basis for traffic related issues.
  • the average speed is only added to the group for the predetermined period if the average speed falls within a predetermined range.
  • the method excludes speeds which exceed a maximum predetermined threshold (which may be roughly 180km/h) and further, the method excludes speeds which fall below a predetermined amount of the average speed for that segment in that predetermined time period (which may for example be 2km/h).
  • a maximum predetermined threshold which may be roughly 180km/h
  • the method excludes speeds which fall below a predetermined amount of the average speed for that segment in that predetermined time period (which may for example be 2km/h).
  • speeds which are well below the average speed for that segment in that time may well be associated with a problem in the traffic flow for that segment, such as a traffic jam or the like.
  • the max permitted speed may be set as the speed limit for that segment of road, but the skilled person will appreciate that such information can be inaccurate in map data that is being processed and also that the speed limit for a segment of road may in fact not give an accurate indication of traffic conditions.
  • an average speed is calculated for each road segment for each predetermined time period. For example, all of the speeds within the 8.00am to 8.59am time period, for each segment of road are averaged.
  • each segment of road on the map 24 average speeds; an average speed for each hour long predetermined time period. It will be appreciated that if a different duration of time period is used then there will be a different number of average speeds. It will be further appreciated that, in fact, not all road segments will necessarily have an average speed assigned thereto for every time period since some roads may be traversed infrequently, particularly at unsociable times such as the early hours of the morning.
  • quality checks are performed 706. In this embodiment, this check ensures that more than a predetermined number of assigned times were used to generate average speed per segment. If this is not the case then that average speed per segment is rejected for further processing leaving a gap for that segment at one or more time periods. In some embodiments, the average is rejected if there are fewer than 5 values that went to make up that average. Other embodiments, may of course use different values, such as 2, 3, 4, 6, 7, 8, 10, 20 or more or any value in between these.
  • the set of averages for any given road segment may be thought of as a measured speed profile for that road segment.
  • step 708 an assessment is made as to the overall coverage of average speeds per road segment. If the coverage of trustworthy averages is high enough then the map data is forwarded for further processing. However, if the coverage is below a predetermined threshold then the map is rejected from further consideration 710. Acceptable maps are passed for cluster formation as is described in relation to Figure 8.
  • Such cluster formation aims to extract regular speed profiles in an automatic or semi-automatic manner; as will be discussed later, data compression, which may be significant, can be achieved if it is assumed that roads of a similar class may have a similar speed profile. For example, the speed at 10am on a Sunday morning for a first segment of road may be similar to the speed at the same time for a second segment of road. If this similarity for those segments of road is repeated for other times then the speed profile for the first and second segments may be considered to be represented by the same speed profile of the second segment.
  • the clustering as now defined aims to locate such similarities. Normalisation of speed profiles, as discussed below, may also allow a speed profile to be used for roads of a different class.
  • the measured speed profile is further processed in order to amalgamate the night-time time periods.
  • the average speeds between 9pm and 5 am ie 8 time periods
  • this night-time average is used for each of 8 time periods.
  • each speed profile has a flat speed profile between the hours of 9pm and 8am which may be termed the free flow speed of that road segment.
  • the free flow speed represents the speed at which a vehicle, generally a car, travels along the road and it is often the case that the free flow speed is different from the speed limit for that road segment.
  • the free flow speed may also be roughly the same as the speed limit for that road segment.
  • a first step 800 and in order to limit the number of clusters the measured speed profiles are normalised.
  • Such normalisation can be performed according to a number of criteria.
  • normalisation occurs according to the free flow speed that has been calculated for the segment of road with which the average is associated.
  • the average speed per road segment that is passed to the clustering algorithm has a value of between 0 and 1.
  • Such a method can aid further data compression since it can make the resulting cluster- generated speed profile independent of the type of road and as such it becomes possible to use the same set of speed profiles for road segments having any road type.
  • the average speed or the speed limit of a road segment may be used as a further criterion against which to perform the normalisation.
  • days showing a similar traffic behavior can be grouped together by processing by a clustering algorithm. If the expected traffic behavior is different the cluster formation should run independently.
  • An input parameter to the clustering algorithm is the number of desired clusters and a typical range is 10-70 for a day of the week. There are known methods to approach the optimal number of clusters
  • the clustering algorithm is run and arranged to generate around 60 clusters. In other embodiments, the algorithm may be arranged to generate more or less clusters initially. The resultant clusters are then processed to determine whether the generated clusters are satisfactory: are some of the clusters too similar (ie substantially the same)? Do any of the clusters have discontinuities therein? If there are problems with any of the clusters then the algorithm is re-run with the process aiming to generate fewer clusters than the first iteration. This iterative process is repeated until a satisfactory set of clusters is determined.
  • whether the clusters are satisfactory includes a step of determining whether or not any of the cluster-generated profiles contain frequencies above a predetermined threshold. The presence of such frequencies indicates that that cluster-generated speed profile has a rate of change that is too high (ie there may be a discontinuity) and if used may result in instability, etc. within a navigation device 200 using that data to generate a route.
  • Whether or not the clusters are satisfactory may also include the step of performing a comparison between at least some, and generally each, of the cluster-generated speed profiles. In one particular embodiment this may be performed by a least squares comparison.
  • the cluster is performed by cluster analysis, but other class building methods might be used as well.
  • a simple and efficient approach is the so-called k-means clustering algorithm. This non-hierarchical method normally starts with k random seeds and redistributes the class members according to a minimum error criteria based on a chosen metric. The algorithm leads to local minima only, therefore for an optimal solution it has to run multiple times. The run with the minimum error estimates gives what may be a preferred solution.
  • the centroids of the final clusters form the predefined clusters. In other embodiments other clustering techniques may be used and these include hierarchical clustering and fuzzy clustering.
  • Some embodiments may add further clusters 804. For example, some embodiments may add a flat line as a speed profile for road segments that have no trustworthy trend, e.g. due to low data coverage or because of traffic related issues.
  • the clusters are interpolated to a variable time resolution. In one embodiment this is performed using cubic splines but other techniques are possible such as an exponential fitting function. The skilled person will also appreciate similar techniques that may be used.
  • the time resolution used in the cluster analysis procedure itself is coarser than is finally desired, which may occur in order that there are a sufficient number of reliable average speed in any one predetermined time period, the time resolution can now be modified. For example, it can be modified to finer resolution to meet the requirements of the intended use. For example, it can be advantageous to have a finer resolution having a more continuous profile in place is desired to provide smoother routes which might otherwise "jump" on time boundaries if the time resolution is too coarse.
  • the cluster-generated profiles are interpolated in order that they have a resolution of roughly 5min intervals, although any other period may be used. Such a period may be convenient for later processing using the cluster-generated speed profile.
  • Figure 9 shows a typical output from the clustering algorithm for a map in which the input average speed values have been clustered into 16 independent cluster generated speed profiles.
  • each section of road can now be referred to as having one of the 16 cluster generated speed profiles. If in other embodiments, the number of clusters is varied then the number of possible speed profiles for any one segment of road is also changed.
  • a suitable set of cluster generated speed profiles has been determined - in this embodiment 16 have been generated - then these are associated with one or more maps.
  • a set of speed profiles will be more accurate for the map from which they have been generated since traffic behavior may be different on roads not on that map. For example, should a map cover a single country then it may be that traffic in a different country follows slightly different patterns.
  • the speed profiles may be associated with a plurality of maps. In one example, this may be appropriate if a map covers a portion of a country and/or it may be appropriate to use the map for a plurality of countries.
  • each road segment is represented by data within the map data providing the map.
  • data representing the road segment may include an identifier which provides a reference to the speed data.
  • the reference may provide a reference to a generated speed profile.
  • an average speed 1000 for the road segment being processed which comprises an average of all the speed data collected for that road segment is used instead of the measured speed profile. That is the data collected for each time period for each day is averaged to generate a single speed.
  • This single average speed may be, in due course, mapped to the flat cluster generated speed profile (number 15 in Figure 9).
  • measures may be used to measure the quality of the average. For example, in some embodiments, it may be required that the average is made up from more than a predetermined number of speeds, which may for example be roughly 10 speeds. Thresholds may be applied to the averages to ensure that they are above a minimum value (which may for example be roughly 2 km/h) and/or below a maximum value (which may for example be roughly 150 km/h). The standard deviation may also be used to determine whether the average is of a high enough quality.
  • road segments may be classified according to a classification system within map data such that roads of similar characteristics are classified within the same classification. For example, maps generated by one party has 8 categories into which road segments are classified.
  • the average for a given road segment is analysed to ensure that at least a predetermined percentage of roads within the classification for that road segment have provided a speed which has been used to generate the average. If this test fails then not only is the average rejected, but the gap filling procedure described next may also be omitted.
  • speed profile number 15 may be used to represent any road segment having a single average speed associated therewith.
  • each road segment on the map being processed is categorised as being a member of one of a predetermined number of categories 1100.
  • This categorisation of each road segment need only be performed once and the resulting categorisation maintained for further road segments for which the gap-filling process is invoked.
  • Other embodiments could of course re-calculate at each invocation or indeed calculate the categories on the fly.
  • a category average speed is calculated for each one of the predetermined categories 1102, in this case 40 categories.
  • the category average that is generated is a single figure per category and in order to achieve this the average speed for each predetermined time period is averaged using any suitable averaging technique as mentioned herein. Again, the skilled person will appreciate that this step may only need to be performed once and the category average speed maintained for future invocations of the gap-filling process.
  • each average speed for a class is calculated as a length-weighted harmonic mean of all of the elements belonging to the class, which is given by the following formula:
  • quality_factor_rel_min is given by relative standard deviation of a class in % of the mean speed divided by square root of number of hits, quality_factor_abs*100/mean_speed.
  • quality_factor_abs_ 3 Quality factor for data rejection: min s/sqrt(n) (absolute speed standard deviation of a class in km/h divided by square root of number of hits) quality factor rel 5 Quality factor for speed class min replacement: s/sqrt(n) (relative Default value
  • table 3 The values shown in table 2 may well vary in other embodiments and are shown as an example only. Likewise, the replacement values used in table 3 may well vary in other embodiments, depending upon the area covered by the map, the party that generated the map data, etc.
  • the average for the classification should lie above a minimum threshold and below a maximum threshold which are computed in the following way, with min and max are pseudo code minimum and maximum functions:
  • Min_speed_threshold max [ max (mean-lower_relative_devision*mean/100 , mean-lower_absolute_devision) , lower_limit ]
  • Max_speed_threshold min [ min (mean+upper_relative_devision*mean/100 , mean+upper_absolute_devision) , upper_limit ]
  • upper limit 130 Absolute allowed maximum speed for a segment in km/h lower limit 5 Absolute allowed minimum speed in km/h for a segment upper_relative_devision 50 Maximum allowed upper speed deviation for a segment in percent of its class mean upper_absolute_devision 30 Maximum allowed upper absolute speed deviation in km/h for a segment related to its class mean lower relative devision 50 Maximum allowed lower speed deviation for a segment in percent of its class mean lower absolute devision 30 Maximum allowed lower absolute speed deviation in km/h for a segment related to its class mean
  • an average speed may have been generated, based upon road segments within the same category from the predetermined 40.
  • the gap-filling process might still fail (ie no average is generated which passes the quality checks).
  • road segments which have no speed data associated with them now have an average speed data assigned thereto 1108 which has been generated by the gap filling procedure (assuming that average has passed the quality checks).
  • the speed associated with that road segment is set to be the speed that has been provided by the map data supplier according to Functional Road Class (FRC).
  • the functional road class may for example comprise roughly 8 categories, although this might differ between map data suppliers. That is, the free flow speed is set to a value according to the FRC and the cluster generated speed profile is set to be, in this embodiment, profile number 15.
  • the speed profile (whether a measured speed profile or an average inserted by gap filling) associated with a road segment is now mapped to one of the cluster generated speed profiles to generate the map data which can be used by navigation devices such as PND's. This may be performed regardless of whether the speed information is a measured speed profile or an average in view of the presence of the flat cluster generated speed profile number 15.
  • step 1210 the speed profile is compared, using a least squares comparison, with each of the speed profiles in the set of cluster generated speed profiles. After these 16 comparisons have been made it is possible to determine which speed profile from the set of 16 is closest to the speed profile associated with the road segment and in step 1220 a reference to the cluster generated speed profile that is deemed to be closest is stored in the map data for that road segment. Also stored in the map data in relation to that road segment is the free flow speed for that road segment which has been calculated earlier.
  • the average speed information can be thought of as comprising an approximation to the daily hourly average between the hours of 9am to 5pm.
  • the average speed information may be thought of as being an average speed which is averaged across all time periods.
  • a final check is made to see if a sufficient number of road segments have a measured speed profile associated with them (as opposed to an average that has been inserted instead of a measured speed profile). If this check is not passed then the whole map is rejected and not released for use .
  • the total length of road segments is calculated for each Functional Road Class (FRC).
  • FRCs are related to the 40 categories listed in table 2 as shown in table 5 below.
  • the length of road segment within each FRC with average speed data assigned thereto should be above the threshold percentage of the total road length within the FRC as shown in table 5.
  • a first fall back strategy (should the measured speed profile been deemed unacceptable) may be to aggregate the same predetermined time periods for each day are added to that period for each of the other days and then the resulting aggregated speed profile is used for each day rather than using a measured speed profile for each separate day. Therefore, in such an embodiment, a weekly speed profile is generated by adding the same time periods for each of the days Monday to Friday and a weekend speed profile is generated by adding the same time periods for each of Saturday and Sunday. It will be appreciated that traffic flow on the weekend may well be different to traffic flow on week days.
  • Such aggregated speed profile may then be checked to see if passes quality criteria before using other fall back strategies if it is not acceptable. These checks may be made using the same, or at least similar, criteria to those used to assess the measured speed profiles. If the aggregation of the data has improved the quality so that both the weekly and weekend speed profiles pass the quality check then these speed profiles are used for that road segment.
  • an apparatus provided to execute a method as described herein may comprise hardware, software, firmware or any combination of two or more of these.
  • GPS data has been used to refer to position data derived from a GPS global positioning system as for example described in relation to Figure 1, other position data could be processed in a manner similar to the methods as described herein.
  • GPS data may be replaceable with the phrase positioning data.
  • Such position information could for example be derived from position information derived from mobile phone operation, data received at toll barriers, data obtained from induction loops embedded in roads, data obtained from number plate recognition system or any other suitable data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Instructional Devices (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

A method of generating map data from positioning data, the map data comprising a plurality of navigable segments representing segments of a navigable route in the area covered by the map with each segment being arranged to have speed data associated therewith, the method comprising the steps of: 1. using one or more navigation devices to generate positioning data being constituted by at least a series of positions; 2. processing the positioning data to generate speed data therefrom, wherein the generated speed data is associated with the navigable segment on which the positioning data generating that speed data occurred; and 3. updating the map data with the speed data to associate the speed data with the navigable segment on which it occurred to generate map data suitable for use by a navigation device.

Description

A METHOD OF PROCESSING POSITIONING DATA
Field of the Invention
The invention relates to a method of processing positioning data and in particular to processing positioning data in order to generate map data arranged to be used in navigation devices and in particular, but not especially in a Portable Navigation Device (PND). The invention also provides related apparatus for providing the method.
Background of the Invention
Map data for electronic navigation devices, such as GPS based personal navigation devices like the GO™ from TomTom International BV, comes from specialist map vendors such as Tele Atlas NV. Such devices are also referred to as Portable Navigation Devices (PND's). This map data is specially designed to be used by route guidance algorithms, typically using location data from the GPS system. For example, roads can be described as lines - i.e. vectors (e.g. start point, end point, direction for a road, with an entire road being made up of many hundreds of such segments, each uniquely defined by start point/ end point direction parameters). A map is then a set of such road vectors, data associated with each vector (speed limit; travel direction, etc.) plus points of interest (POIs), plus road names, plus other geographic features like park boundaries, river boundaries, etc., all of which are defined in terms of vectors. All map features (e.g. road vectors, POIs etc.) are typically defined in a co-ordinate system that corresponds with or relates to the GPS co-ordinate system, enabling a device's position as determined through a GPS system to be located onto the relevant road shown in a map and for an optimal route to be planned to a destination.
To construct this map database, Tele Atlas starts with basic road information from various sources, such as the Ordnance Survey for roads in England. It also has a large, dedicated team of vehicles driving on roads, plus personnel checking other maps and aerial photographs, to update and check its data. This data constitutes the core of the Tele Atlas map database. This map database is being continuously enhanced with geo-referenced data. It is then checked and published four times a year to device manufacturers like TomTom.
Each such road segment has associated therewith speed data for that road segment which gives an indication of the speed at which a vehicle can travel along that segment and is an average speed generated by the party that produced the map data, which may be, for example, Tele Atlas. The speed data is used by route planning algorithms on PND 's on which the map is processed. The accuracy of such route planning thus depends on the accuracy of the speed data. For example, a user is often presented with an option on his/her PND to have it generate the fastest route between the current location of the device and a destination. The route calculated by the PND may well not be the fastest route if the speed data is inaccurate.
It is known that parameters such as density of traffic can significantly effect the speed profile of a segment of road and such speed profile variations mean that the quickest route between two points may not remain the same. Inaccuracies in the speed parameter of a road segment can also lead to inaccurate Estimated Times of Arrival (ETA) as well as selection of a sub-optimal quickest route.
Summary of the Invention
According to a first aspect of the invention there is provided a method of generating map data from positioning data, the map data comprising a plurality of navigable segments representing segments of a navigable route in the area covered by the map with each segment being arranged to have speed data associated therewith, the method comprising the steps of: 1. using one or more navigation devices to generate positioning data being constituted by at least a series of positions;
2. processing the positioning data to generate speed data therefrom, wherein the generated speed data is associated with the navigable segment on which the positioning data generating that speed data occurred; and
3. updating map data with the speed data to associate the speed data with the navigable segment on which it occurred to generate map data suitable for use by a navigation device.
Such a method is believed advantageous since it uses real data, representing data seen by the navigation device as it used, to generate the speed data. As such, the speed data is perhaps likely to be more accurate than other methods of generating the speed data. As such, a navigation device using the generated map data may be able to generate routes more accurate routes when compared to the prior art.
The navigable segments generally represent segments of a road but may also represent segments of any other path, channel or the like navigable by a vehicle, person or the like. For example, a navigable segment may represent a segment of a path, river, canal, cycle path, tow path, rail way line, or the like. Thus, it will be appreciated that reference to traffic is not necessarily limited to vehicles moving along a road segment but may relate to any movement along a navigable segment. For example, traffic may refer to bikes moving along a cycle path.
In some embodiments, the method may include a step of uploading the positioning data from the or each navigation device to a server wherein the server is arranged to process the positioning data. Such a method allows central generation of the map data.
However, in other alternative or additional embodiments the navigation device may be arranged to process the positioning data. Such embodiments may upload the speed data to a server.
The method may comprise using a plurality of positioning devices to generate positioning data, thereby increasing the accuracy of the speed data generated from the positioning data. The method may cause the server and/or the navigation device to store the positioning data and/or the speed data for analysis at a time after the data is captured. Such a method is convenient as it allows data to be accumulated over a period of time and subsequently processed which again may increase the accuracy of the speed data generated for each navigable segment. Thus, in one particular embodiment the method causes the or each navigation device to upload positioning data, from time to time, to a server which server stores the positioning data for processing at a later time.
The method may comprise dividing the positioning data into a plurality of traces, with each trace representing positioning data received from a navigation device over a predetermined period. In one embodiment, this predetermined period may be roughly 24 hours, which may correspond to a calendar day.
The positioning data, which may in particular mean each trace, may be processed in order to generate trip data representing an individual journey for a navigation device. A journey may be thought of as a period in which the navigation device was in motion without stopping for more than a predetermined time. Dividing the position data into trip data may be advantageous since it can increase accuracy of the speed data since periods in which the navigation device is stationary may be discounted.
The positioning data may be processed in order to remove inaccurate positions. Conveniently, the positioning data may also comprise accuracy data. Inaccurate positions may be removed according to processing of the positioning data.
The positioning data may be processed in order to associate positions within that data with a navigable segment. Subsequently, speed data may be determined from the positioning data and the navigable segment with which a position has been associated. So generated speed data may be categorised into one of a plurality of predetermined time periods for the navigable segment with which they have been associated.
Subsequently, the method may average the speeds within each of the predetermined time periods for each navigable segment. As such, the method may generate a measured speed profile, with each predetermined time period providing a point on the measured speed profile. This may be repeated for a plurality of navigable segments and generally for each navigable segment for which there is sufficient positioning data. Thus, navigable segments with insufficient data, or poor quality data, may not have a measured speed profile generated.
In other embodiments, the processing may aim to generate a measured speed profile covering other time periods; ie second time periods which may be longer time periods than the first time period. For example, in some embodiments, the processing may aim to generate a weekday measured speed profile and /or a weekend measured speed profile. Other embodiments may use a single measured speed profile for a weekly period. The skilled person will appreciate that using smaller time periods (eg daily) of coverage for a speed profile may make the speed profile more representative of actual traffic flow. However, it will also be appreciated that as the time period of coverage decreases the amount of data required to generate those measured speed profiles also increases.
Generally, the positioning data captured by the or positioning device also comprises time data at which each of the positions occurred. In other embodiments, the positioning device may capture positioning data at predetermined times and as such not record the time at which each position occurred. Generally, the time data (whether from recorded within the positioning data or from a priori predetermined time) allows the speed data to be determined from the positioning data.
The method may analyse speed data associated with a navigable segment to determine the quality of that speed data. If the quality of the speed data falls bellow a predetermined threshold then the method may replace that speed data with the category average.
The predetermined threshold may be determined by any of the following; the absolute number of readings that went to make up the speed data, the standard deviation of the speed data, or any other suitable measure.
In other embodiments, if speed data comprises a measured speed profile and the quality of that measured speed profile falls below a predetermined threshold the method may be arranged to replace that measured speed profile, for that navigable segment, with a measured speed profile covering a longer time period. For example, the speed data may comprise a measured speed profile covering a period of a day and should the method determine that the daily measured speed profile is not of sufficiently high quality then it may be replaced with a speed profile covering a weekly period. Such a method is believed advantageous since there is likely to be data from a higher number of navigation devices to make up the measured speed profile for the longer period resulting in a perhaps a more accurate profile.
The method may comprise a further step of performing cluster analysis on the measured speed profiles in order to generate a set of cluster generated speed profiles.
The method may further comprise the step of mapping the speed data associated with at least some and generally each navigable segment to a cluster generated speed profile.
Conveniently, the speed data associated with at least some, and generally each, navigable segment may be replaced with a reference to the cluster generated segment. Such a step may reduce, perhaps significantly, the amount of data required to store the speed data within the map data. In some embodiments, the cluster generated speed profiles are normalised according to a parameter. Such a method may allow the cluster generated speed profile to be mapped to more measured speed profiles.
The parameter used to normalise the cluster generated speed profile may be any of the following: the speed limit of the navigable segment to which the speed profile relates; the free flow speed of traffic along the navigable segment; the average speed along the navigable segment; any other suitable parameter.
The method may comprise storing, for that navigable segment, the parameter used to normalise the cluster generated speed profile in the map data. Such a method should allow the cluster generated speed profile to be re-generated from the parameter and the reference to the cluster generated speed profile thereby further reducing the data required to store the speed data for that road segment.
The method may also include positioning data from sources other than navigation devices. For example, the method may include data generated from any of the following sources: position information derived from mobile phone operation, data received at toll barriers, data obtained from induction loops embedded in roads or other navigable routes, data obtained from number plate recognition system or any other suitable data.
The method may also include the step of downloading the map data to one or more, and generally a plurality, of navigation devices.
According to a second aspect of the invention there is provided a machine readable medium containing instructions which when read by a machine cause that machine to perform the method of the first aspect of the invention.
According to a third aspect of the invention there is provided a system arranged to generate map data, the map data comprising a plurality of navigable segments representing segments of a navigable route in the area covered by the map with each segment being arranged to have speed data associated therewith, the system comprising: a receiver arranged to receive positioning data from at least one, and generally a plurality, of navigation devices, such positioning data being constituted by at least a series of positions; processing circuitry arranged to process the positioning data and generate speed data therefrom, wherein the generated speed data is associated with the navigable segment on which the positioning data generating that speed data occurred; and the processing circuitry being further arranged to update the map data with the speed data to associate the speed data with the navigable segment on which it occurred to generate map data suitable for use by a navigation device.
The system may be provided by a server. Alternatively, the system may be provided by a set of inter-related components.
According to a fourth aspect of the invention there is provided a machine readable medium containing instructions which when read by a machine cause that machine to function as the system of the third aspect of the invention.
According to a fifth aspect of the invention there is provided a navigation device comprising processing circuitry which includes a memory, the processing circuitry of the navigation device being arrange to: process map data held with the memory in order to generate a set of routing instructions to guide a user of the device; store positioning data generated by the device within the memory; upload the positioning data to a server remote from the navigation device.
According to a sixth aspect of the invention there is provided a machine readable medium containing instructions which when read by a machine cause that machine to function as the navigation device of the fifth aspect of the invention. In any of the above aspects of the invention the machine readable medium may comprise any of the following: a floppy disk, a CD ROM, a DVD ROM / RAM (including a -R/-RW and + R/+RW), a hard drive, a memory (including a USB memory key, an SD card, a Memorystick™, a compact flash card, or the like), a tape, any other form of magneto optical storage, a transmitted signal (including an Internet download, an FTP transfer, etc), a wire, or any other suitable medium.
Brief Description of the Drawings
At least one embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Figure 1 is a schematic illustration of an exemplary part of a Global Positioning System (GPS) usable by a navigation device;
Figure 2 is a schematic diagram of a communications system for communication between a navigation device and a server;
Figure 3 is a schematic illustration of electronic components of the navigation device of Figure 2 or any other suitable navigation device;
Figure 4 is a schematic diagram of an arrangement of mounting and/or docking a navigation device;
Figure 5 is a schematic representation of an architectural stack employed by the navigation device of Figure 3;
Figure 6 shows a flowchart outlining an embodiment for matching GPS fixes within a trace to a map;
Figure 7 shows a flowchart outlining an embodiment for generating an average; Figure 8 shows a flowchart outlining an embodiment for performing cluster formation on averages; Figure 9 shows an example set of cluster generated speed profiles which are an output for the clustering algorithm;
Figure 10 shows a flow chart outlining a fall back strategy used to improve the quality of measured speed profiles associated with road segments;
Figure 11 shows a flowchart outlining an embodiment of how the quality of measured speed profile data is improved; and
Figure 12 shows a flowchart outlining how the cluster generated speed profiles are associated with road segments of at least one map;
Detailed Description of embodiment of the invention
Throughout the following description identical reference numerals will be used to identify like parts.
Embodiments of the present invention will now be described with particular reference to a Portable Navigation Device (PND). It should be remembered, however, that the teachings of the present invention are not limited to PNDs but are instead universally applicable to any type of processing device that is configured to execute navigation software in a portable manner so as to provide route planning and navigation functionality. It follows therefore that in the context of the present application, a navigation device is intended to include (without limitation) any type of route planning and navigation device, irrespective of whether that device is embodied as a PND, a vehicle such as an automobile, or indeed a portable computing resource, for example a portable personal computer (PC), a mobile telephone or a Personal Digital Assistant (PDA) executing route planning and navigation software.
Further, embodiments of the present invention are described with reference to road segments. It should be realised that the invention may also be applicable to other navigable segments, such as segments of a path, river, canal, cycle path, tow path, rail way line, or the like. For ease of reference these are commonly referred to as a road segment.
It will also be apparent from the following that the teachings of the present invention even have utility in circumstances, where a user is not seeking instructions on how to navigate from one point to another, but merely wishes to be provided with a view of a given location. In such circumstances the "destination" location selected by the user need not have a corresponding start location from which the user wishes to start navigating, and as a consequence references herein to the "destination" location or indeed to a "destination" view should not be interpreted to mean that the generation of a route is essential, that travelling to the "destination" must occur, or indeed that the presence of a destination requires the designation of a corresponding start location.
With the above provisos in mind, the Global Positioning System (GPS) of Figure 1 and the like are used for a variety of purposes. In general, the GPS is a satellite- radio based navigation system capable of determining continuous position, velocity, time, and in some instances direction information for an unlimited number of users. Formerly known as NAVSTAR, the GPS incorporates a plurality of satellites which orbit the earth in extremely precise orbits. Based on these precise orbits, GPS satellites can relay their location, as GPS data, to any number of receiving units. However, it will be understood that Global Positioning systems could be used, such as GLOSNASS, the European Galileo positioning system, COMPASS positioning system or IRNSS (Indian Regional Navigational Satellite System).
The GPS system is implemented when a device, specially equipped to receive GPS data, begins scanning radio frequencies for GPS satellite signals. Upon receiving a radio signal from a GPS satellite, the device determines the precise location of that satellite via one of a plurality of different conventional methods. The device will continue scanning, in most instances, for signals until it has acquired at least three different satellite signals (noting that position is not normally, but can be determined, with only two signals using other triangulation techniques). Implementing geometric triangulation, the receiver utilizes the three known positions to determine its own two-dimensional position relative to the satellites. This can be done in a known manner. Additionally, acquiring a fourth satellite signal allows the receiving device to calculate its three dimensional position by the same geometrical calculation in a known manner. The position and velocity data can be updated in real time on a continuous basis by an unlimited number of users.
As shown in Figure 1, the GPS system 100 comprises a plurality of satellites 102 orbiting about the earth 104. A GPS receiver 106 receives GPS data as spread spectrum GPS satellite data signals 108 from a number of the plurality of satellites 102. The spread spectrum data signals 108 are continuously transmitted from each satellite 102, the spread spectrum data signals 108 transmitted each comprise a data stream including information identifying a particular satellite 102 from which the data stream originates. The GPS receiver 106 generally requires spread spectrum data signals 108 from at least three satellites 102 in order to be able to calculate a two-dimensional position. Receipt of a fourth spread spectrum data signal enables the GPS receiver 106 to calculate, using a known technique, a three-dimensional position.
Turning to Figure 2, a navigation device 200 (ie a PND) comprising or coupled to the GPS receiver device 106, is capable of establishing a data session, if required, with network hardware of a "mobile" or telecommunications network via a mobile device (not shown), for example a mobile telephone, PDA, and/or any device with mobile telephone technology, in order to establish a digital connection, for example a digital connection via known Bluetooth technology. Thereafter, through its network service provider, the mobile device can establish a network connection (through the Internet for example) with a server 150. As such, a "mobile" network connection can be established between the navigation device 200 (which can be, and often times is, mobile as it travels alone and/or in a vehicle) and the server 150 to provide a "real-time" or at least very "up to date" gateway for information.
The establishing of the network connection between the mobile device (via a service provider) and another device such as the server 150, using the Internet for example, can be done in a known manner. In this respect, any number of appropriate data communications protocols can be employed, for example the TCP/IP layered protocol. Furthermore, the mobile device can utilize any number of communication standards such as CDMA2000, GSM, IEEE 802.11 a/b/c/g/n, etc.
Hence, it can be seen that the Internet connection may be utilised, which can be achieved via data connection, via a mobile phone or mobile phone technology within the navigation device 200 for example.
Although not shown, the navigation device 200 may, of course, include its own mobile telephone technology within the navigation device 200 itself (including an antenna for example, or optionally using the internal antenna of the navigation device 200). The mobile phone technology within the navigation device 200 can include internal components, and/or can include an insertable card (e.g. Subscriber Identity Module (SIM) card), complete with necessary mobile phone technology and/or an antenna for example. As such, mobile phone technology within the navigation device 200 can similarly establish a network connection between the navigation device 200 and the server 150, via the Internet for example, in a manner similar to that of any mobile device.
For telephone settings, a Bluetooth enabled navigation device may be used to work correctly with the ever changing spectrum of mobile phone models, manufacturers, etc., model/manufacturer specific settings may be stored on the navigation device 200 for example. The data stored for this information can be updated.
In Figure 2, the navigation device 200 is depicted as being in communication with the server 150 via a generic communications channel 152 that can be implemented by any of a number of different arrangements. The communication channel 152 generically represents the propagating medium or path that connects the navigation device 200 and the server 150. The server 150 and the navigation device 200 can communicate when a connection via the communications channel 152 is established between the server 150 and the navigation device 200 (noting that such a connection can be a data connection via mobile device, a direct connection via personal computer via the Internet, etc.).
The communication channel 152 is not limited to a particular communication technology. Additionally, the communication channel 152 is not limited to a single communication technology; that is, the channel 152 may include several communication links that use a variety of technology. For example, the communication channel 152 can be adapted to provide a path for electrical, optical, and/or electromagnetic communications, etc. As such, the communication channel 152 includes, but is not limited to, one or a combination of the following: electric circuits, electrical conductors such as wires and coaxial cables, fibre optic cables, converters, radio-frequency (RF) waves, the atmosphere, free space, etc. Furthermore, the communication channel 152 can include intermediate devices such as routers, repeaters, buffers, transmitters, and receivers, for example.
In one illustrative arrangement, the communication channel 152 includes telephone and computer networks. Furthermore, the communication channel 152 may be capable of accommodating wireless communication, for example, infrared communications, radio frequency communications, such as microwave frequency communications, etc. Additionally, the communication channel 152 can accommodate satellite communication.
The communication signals transmitted through the communication channel 152 include, but are not limited to, signals as may be required or desired for given communication technology. For example, the signals may be adapted to be used in cellular communication technology such as Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), etc. Both digital and analogue signals can be transmitted through the communication channel 152. These signals may be modulated, encrypted and/or compressed signals as may be desirable for the communication technology.
The server 150 includes, in addition to other components which may not be illustrated, a processor 154 operatively connected to a memory 156 and further operatively connected, via a wired or wireless connection 158, to a mass data storage device 160. The mass storage device 160 contains a store of navigation data and map information, and can again be a separate device from the server 150 or can be incorporated into the server 150. The processor 154 is further operatively connected to transmitter 162 and receiver 164, to transmit and receive information to and from navigation device 200 via communications channel 152. The signals sent and received may include data, communication, and/or other propagated signals. The transmitter 162 and receiver 164 may be selected or designed according to the communications requirement and communication technology used in the communication design for the navigation system 200. Further, it should be noted that the functions of transmitter 162 and receiver 164 may be combined into a single transceiver.
As mentioned above, the navigation device 200 can be arranged to communicate with the server 150 through communications channel 152, using transmitter 166 and receiver 168 to send and receive signals and/or data through the communications channel 152, noting that these devices can further be used to communicate with devices other than server 150. Further, the transmitter 166 and receiver 168 are selected or designed according to communication requirements and communication technology used in the communication design for the navigation device 200 and the functions of the transmitter 166 and receiver 168 may be combined into a single transceiver as described above in relation to Figure 2. Of course, the navigation device 200 comprises other hardware and/or functional parts, which will be described later herein in further detail.
Software stored in server memory 156 provides instructions for the processor 154 and allows the server 150 to provide services to the navigation device 200. One service provided by the server 150 involves processing requests from the navigation device 200 and transmitting navigation data from the mass data storage 160 to the navigation device 200. Another service that can be provided by the server 150 includes processing the navigation data using various algorithms for a desired application and sending the results of these calculations to the navigation device 200.
The server 150 constitutes a remote source of data accessible by the navigation device 200 via a wireless channel. The server 150 may include a network server located on a local area network (LAN), wide area network (WAN), virtual private network (VPN), etc.
The server 150 may include a personal computer such as a desktop or laptop computer, and the communication channel 152 may be a cable connected between the personal computer and the navigation device 200. Alternatively, a personal computer may be connected between the navigation device 200 and the server 150 to establish an Internet connection between the server 150 and the navigation device 200.
The navigation device 200 may be provided with information from the server 150 via information downloads which may be updated automatically, from time to time, or upon a user connecting the navigation device 200 to the server 150 and/or may be more dynamic upon a more constant or frequent connection being made between the server 150 and navigation device 200 via a wireless mobile connection device and TCP/IP connection for example. For many dynamic calculations, the processor 154 in the server 150 may be used to handle the bulk of processing needs, however, a processor (not shown in Figure 2) of the navigation device 200 can also handle much processing and calculation, oftentimes independent of a connection to a server 150.
Referring to Figure 3, it should be noted that the block diagram of the navigation device 200 is not inclusive of all components of the navigation device, but is only representative of many example components. The navigation device 200 is located within a housing (not shown). The navigation device 200 includes processing circuitry comprising, for example, the processor 202 mentioned above, the processor 202 being coupled to an input device 204 and a display device, for example a display screen 206. Although reference is made here to the input device 204 in the singular, the skilled person should appreciate that the input device 204 represents any number of input devices, including a keyboard device, voice input device, touch panel and/or any other known input device utilised to input information. Likewise, the display screen 206 can include any type of display screen such as a Liquid Crystal Display (LCD), for example.
In one arrangement, one aspect of the input device 204, the touch panel, and the display screen 206 are integrated so as to provide an integrated input and display device, including a touchpad or touchscreen input 250 (Figure 4) to enable both input of information (via direct input, menu selection, etc.) and display of information through the touch panel screen so that a user need only touch a portion of the display screen 206 to select one of a plurality of display choices or to activate one of a plurality of virtual or "soft" buttons. In this respect, the processor 202 supports a Graphical User Interface (GUI) that operates in conjunction with the touchscreen.
In the navigation device 200, the processor 202 is operatively connected to and capable of receiving input information from input device 204 via a connection 210, and operatively connected to at least one of the display screen 206 and the output device 208, via respective output connections 212, to output information thereto. The navigation device 200 may include an output device 208, for example an audible output device (e.g. a loudspeaker). As the output device 208 can produce audible information for a user of the navigation device 200, it should equally be understood that input device 204 can include a microphone and software for receiving input voice commands as well. Further, the navigation device 200 can also include any additional input device 204 and/or any additional output device, such as audio input/output devices for example.
The processor 202 is operatively connected to memory 214 via connection 216 and is further adapted to receive/send information from/to input/output (I/O) ports 218 via connection 220, wherein the I/O port 218 is connectible to an I/O device 222 external to the navigation device 200. The external I/O device 222 may include, but is not limited to an external listening device, such as an earpiece for example. The connection to I/O device 222 can further be a wired or wireless connection to any other external device such as a car stereo unit for hands-free operation and/or for voice activated operation for example, for connection to an earpiece or headphones, and/or for connection to a mobile telephone for example, wherein the mobile telephone connection can be used to establish a data connection between the navigation device 200 and the Internet or any other network for example, and/or to establish a connection to a server via the Internet or some other network for example.
The memory 214 of the navigation device 200 comprises a portion of non-volatile memory (for example to store program code) and a portion of volatile memory (for example to store data as the program code is executed). The navigation device also comprises a port 228, which communicates with the processor 202 via connection 230, to allow a removable memory card (commonly referred to as a card) to be added to the device 200. In the embodiment being described the port is arranged to allow an SD (Secure Digital) card to be added. In other embodiments, the port may allow other formats of memory to be connected (such as Compact Flash (CF) cards, Memory Sticks™, xD memory cards, USB (Universal Serial Bus) Flash drives, MMC (MultiMedia) cards, SmartMedia cards, Microdrives, or the like).
Figure 3 further illustrates an operative connection between the processor 202 and an antenna/receiver 224 via connection 226, wherein the antenna/receiver 224 can be a GPS antenna/receiver for example and as such would function as the GPS receiver 106 of Figure 1. It should be understood that the antenna and receiver designated by reference numeral 224 are combined schematically for illustration, but that the antenna and receiver may be separately located components, and that the antenna may be a GPS patch antenna or helical antenna for example.
It will, of course, be understood by one of ordinary skill in the art that the electronic components shown in Figure 3 are powered by one or more power sources (not shown) in a conventional manner. Such power sources may include an internal battery and/or a input for a low voltage DC supply or any other suitable arrangement. As will be understood by one of ordinary skill in the art, different configurations of the components shown in Figure 3 are contemplated. For example, the components shown in Figure 3 may be in communication with one another via wired and/or wireless connections and the like. Thus, the navigation device 200 described herein can be a portable or handheld navigation device 200.
In addition, the portable or handheld navigation device 200 of Figure 3 can be connected or "docked" in a known manner to a vehicle such as a bicycle, a motorbike, a car or a boat for example. Such a navigation device 200 is then removable from the docked location for portable or handheld navigation use. Indeed, in other embodiments, the device 200 may be arranged to be handheld to allow for navigation of a user.
Referring to Figure 4, the navigation device 200 may be a unit that includes the integrated input and display device 206 and the other components of Figure 2 (including, but not limited to, the internal GPS receiver 224, the processor 202, a power supply (not shown), memory systems 214, etc.).
The navigation device 200 may sit on an arm 252, which itself may be secured to a vehicle dashboard/window/etc, using a suction cup 254. This arm 252 is one example of a docking station to which the navigation device 200 can be docked. The navigation device 200 can be docked or otherwise connected to the arm 252 of the docking station by snap connecting the navigation device 200 to the arm 252 for example. The navigation device 200 may then be rotatable on the arm 252. To release the connection between the navigation device 200 and the docking station, a button (not shown) on the navigation device 200 may be pressed, for example. Other equally suitable arrangements for coupling and decoupling the navigation device 200 to a docking station are well known to persons of ordinary skill in the art.
Turning to Figure 5, the processor 202 and memory 214 cooperate to support a BIOS (Basic Input/Output System) 282 that functions as an interface between functional hardware components 280 of the navigation device 200 and the software executed by the device. The processor 202 then loads an operating system 284 from the memory 214, which provides an environment in which application software 286 (implementing some or all of the described route planning and navigation functionality) can run. The application software 286 provides an operational environment including the Graphical User Interface (GUI) that supports core functions of the navigation device, for example map viewing, route planning, navigation functions and any other functions associated therewith. In this respect, part of the application software 286 comprises a view generation module 288.
In the embodiment being described, the processor 202 of the navigation device is programmed to receive GPS data received by the antenna 224 and, from time to time, to store that GPS data, together with a time stamp of when the GPS data was received, within the memory 214 to build up a record of the location of the navigation device. Each data record so-stored may be thought of as a GPS fix; ie it is a fix of the location of the navigation device and comprises a latitude, a longitude, a time stamp and an accuracy report.
In one embodiment the data is stored substantially on a periodic basis which is for example every 5seconds. The skilled person will appreciate that other periods would be possible and that there is a balance between data resolution and memory capacity; ie as the resolution of the data is increased by taking more samples, more memory is required to hold the data. However, in other embodiments, the resolution might be substantially every: 1 second, 10 seconds, 15 seconds, 20 seconds, 30 seconds, 45 seconds, 1 minute, 2.5minutes (or indeed, any period in between these periods). Thus, within the memory of the device there is built up a record of the whereabouts of the device 200 at points in time.
In some embodiments, it may be found that the quality of the captured data reduces as the period increases and whilst the degree of degradation will at least in part be dependent upon the speed at which the navigation device 200 was moving a period of roughly 15 seconds may provide a suitable upper limit.
Whilst the navigation device 200 is generally arranged to build up a record of its whereabouts, some embodiments, do not record data for a predetermined period and/or distance at the start or end of a journey. Such an arrangement helps to protect the privacy of the user of the navigation device 200 since it is likely to protect the location of his/her home and other frequented destinations. For example, the navigation device 200 may be arranged not to store data for roughly the first 5 minutes of a journey and/or for roughly the first mile of a journey.
In other embodiments, the GPS may not be stored on a periodic basis but may be stored within the memory when a predetermined event occurs. For example, the processor 202 may be programmed to store the GPS data when the device passes a road junction, a change of road segment, or other such event.
Further, the processor 202 is arranged, from time to time, to upload the record of the whereabouts of the device 200 (ie the GPS data and the time stamp) to the server 150. In some embodiments in which the navigation device 200 has a permanent, or at least generally present, communication channel 152 connecting it to the server 150 the uploading of the data occurs on a periodic basis which may for example be once every 24hours. The skilled person will appreciate that other periods are possible and may be substantially any of the following periods: 15minutes, 30 minutes, hourly, every 2 hours, every 5 hours, every 12 hours, every 2 days, weekly, or any time in between these. Indeed, in such embodiments the processor 202 may be arranged to upload the record of the whereabouts on a substantially real time basis, although this may inevitably mean that data is in fact transmitted from time to time with a relatively short period between the transmissions and as such may be more correctly thought of as being pseudo real time. In such pseudo real time embodiments, the navigation device may be arranged to buffer the GPS fixes within the memory 214 and/or on a card inserted in the port 228 and to transmit these when a predetermined number have been stored. This predetermined number may be on the order of 20, 36, 100, 200 or any number in between. The skilled person will appreciate that the predetermined number is in part governed by the size of the memory 214 / card within the port 228. In other embodiments, which do not have a generally present communication channel 152 the processor 202 may be arranged to upload the record to the server 152 when a communication channel 152 is created. This may for example, be when the navigation device 200 is connected to a user's computer. Again, in such embodiments, the navigation device may be arranged to buffer the GPS fixes within the memory 214 or on a card inserted in the port 228. Should the memory 214 or card inserted in the port 228 become full of GPS fixes the navigation device may be arranged to deleted the oldest GPS fixes and as such it may be thought of as a First in First Out (FIFO) buffer.
In the embodiment being described, the record of the whereabouts comprises one or more traces with each trace representing the movement of that navigation device 200 within a 24 hour period. Each 24 is arranged to coincide with a calendar day but in other embodiments, this need not be the case.
Generally, a user of a navigation device 200 gives his/her consent for the record of the devices whereabouts to be uploaded to the server 150. If no consent is given then no record is uploaded to the server 150. The navigation device itself, and/or a computer to which the navigation device is connected may be arranged to ask the user for his/her consent to such use of the record of whereabouts.
The server 150 is arranged to receive the record of the whereabouts of the device and to store this within the mass data storage 160 for processing. Thus, as time passes the mass data storage 160 accumulates a plurality of records of the whereabouts of navigation devices 200 which have uploaded data.
As discussed above, the mass data storage 160 also contains map data. Such map data provides information about the location of road segments, points of interest and other such information that is generally found on map.
As a first process, the server 150 is arranged to perform a map matching function between the map data and the GPS fixes contained within the records of the whereabouts that have been received and such a process is described in relation to Figure 6. Such map matching may be performed in a so-called real time manner; ie as the records of whereabouts are received or may be performed a time later after the records of the whereabouts have been recalled from the mass data storage 160.
In order to increase the accuracy of the map matching, pre-processing of the records of the whereabouts is performed as follows. Each GPS trace (ie a 24hour period of GPS data) is divided 600 into one or more trips with each trip representing a single journey of the navigation device 200 which are subsequently stored for later processing.
Within each trip GPS fixes whose accuracy report received from the navigation device is not sufficiently high are rejected 602. Thus, in some embodiments, a fix may be rejected if the accuracy report indicates that the signals from less than three satellites 102 were being received by the navigation device 200 in relation to that GPS fix. Further, each trip is clipped 604 when the reported time between fixes goes above a threshold value. Each trip that passes this pre-processing stage is passed to be map matched.
In this context, a clipped trip is a trip in which the there is a predetermined time period between consecutive GPS fixes of greater than a predetermined time. As such, it might be inferred that the vehicle has remained stationary and as such it should be considered a first trip has ended and a second trip has commenced. Thus, a clipped trip becomes two separate trips.
However, before a trip is divided a check is made as to whether the position of the vehicle has changed between the last two fixes since a gap above the predetermined time between GPS fixes may also result from a loss of GPS signal and in such circumstances, the trip is not divided. In the embodiment being described, the predetermined time is roughly 3 minutes. However, the skilled person will appreciate that the gap may be any other suitable time, such as roughly any of the following: 15 seconds, 30 seconds, 1 minute, 90 seconds, 2 minutes, 5minutes, 10 minutes or any time in between these. As discussed hereinafter, if the average speed of a navigation device 200 from which the GPS fixes are sent is below a predetermined threshold then data, may in some embodiments, be rejected in later processing. Such an embodiment can be useful in that it can remove data relating to so-called stop-start traffic which occurs after incidents such as a crash or the like which may leave remaining data more representative of steady state traffic flow.
Then, each trip is taken in turn and fixes within that trip are matched to a map from within the map data. Each map comprises a plurality of road segments along which it is possible to travel with each segment being represented within the map as a straight vector.
The program code running on the processor 154 of the server 150 provides a map matcher that is arranged to step over the or each fix in the trip that is being processed until it finds a fix which lies within a segment or is sufficiently close to a segment in order for it to be assumed to have occurred on that segment (ie it is within a distance threshold of the segment). This threshold allows for less than
100% GPS accuracy and the compressing effect of splitting the road into a set of straight vectors.
Each trip has an initial fix (ie the first fix within the trip) which is harder to associate with a segment than other fixes within the trip since there are no segments that have already identified which can be used to constrain the selection of the segments. If, for this first fix, multiple segments are within the threshold 606, then the algorithm looks to the next GPS fix (ie the 2nd fix) within the trip and generates a set of roots from those multiple segments based on the possible travel as a function of the distance between the 2 fixes (ie between the 1st and 2nd fixes). If the 2nd fix does not lead to a unique candidate segment for the 1 st fix, then the algorithm moves to the 3rd fix within the trip and again generates and compares the possible routes to try and provide a unique candidate for the first fix 608. This process may continue until the remaining GPS fixes within a trip have been processed.
An advantage of such an embodiment is that although any one first fix in isolation may be near multiple segments, and in isolation these segments can not be distinguished between, it becomes possible using the further travel (ie the 2nd and 3rd fixes) to determine the identity of the segment with which the first fix is associated. Thus, a fist segment for a trip is determined by the map matcher.
Once the first segment has been identified for a trip, further fixes are processed in order to identify further segments. It is of course possible that the next fix of the trip lies within the same segment as the first fix 612.
Thus, the subsequent fixes of a trip are processed 610 to determine if they are within the distance threshold of the segment, and the map matcher is arranged to associate that segment with each of the fixes that lie within the distance threshold. When the map matcher process a fix that is outwith the distance threshold it is arranged to generate a new set of candidate segments for that fix. However, it is now possible to add a further constraint that the next segment is one which is connected to the end of the one which has just been processed. These neighbouring segments are obtained by the map matcher from the underlying map data.
If at any point the map matcher fails to identify a segment for a given fix that follows on from the previous segment, either because there are no segments within a threshold, or it cannot uniquely identify a single segment, then the map matcher is arranged to step through subsequent fixes 616 in order to further constrain the journey until it can identify a segment that is a unique match. That is, if the nth fix cannot be uniquely associated with a segment the nth + 1 segment is used to further constrain the identification of a segment. If the nth + 1 fix does not produce a unique segment then the nth + 2 fix is used. In some embodiments, this process may carry on until the a unique segment is identified or all of the GPS fixes with a trip have been processed. The map matcher is arranged to try and uniquely identify segments; in the embodiment being described, it does not attempt to create a continuous route, only to try and match segments to fixes. In other embodiments, it may be desirable to try and have the map matcher generate continuous routes.
Therefore, at the end of the process that the map matcher is arranged to perform, a series of road segments are obtained along which the navigation device 200 has travelled in the trip being analysed. Subsequently, the map matcher further processes these road segments and assigns, from the GPS fixes, an ingress time and also a transit time for that segment. These assigned times are stored within the mass data storage 160 for later processing. It may well be that a plurality of GPS fixes are stored for each road segment. However, regardless of whether how many GPS fixes are associated with each segment, the ingress time, GPS fixes and the length of the segment (which in this embodiment is stored within the map data) are used to calculate the average speed for that segment of road. This average speed is then stored within the mass data storage 160 associated with the relevant assigned times and that segment. Information relating to a speed of traffic flow on a road segment and assigned to a road segment may be thought of as being speed data for that road segment.
The server 150 is further arranged to run averaging program code on the processor 154 to provide an averager which processes the assigned times to generate one or more averages therefrom as described below. The averaging process used in this embodiment is now described in relation to Figure 7.
In a first step of the process 700, the averager groups the average speeds for each road segment on the map being processed. Within the grouping for each road segment, the averager is further arranged to group the average speeds within a set of predetermined time periods 702. Thus, average speeds which occur within the same time period (eg between 8.00am and 8.59am) are grouped together for further analysis. In the embodiment being described, the time periods are one hour durations but this need not be the case and the skilled person will appreciate, from the following description, that as the length of the time period decreases the resolution of the data is increased but storage requirements are increased. Other suitable time periods might substantially any of the following: 1 minute, 5minute, lOminute, 15minute, 30min, 2 hours, όhours, 12 hours, or any time in between these times.
In the embodiment being described, average speeds are stored in a time local to the area covered by the map being processed rather than a centralised time. Such a method is convenient as it provides a natural basis for traffic related issues.
Before an average speed generated from a trip is grouped into a predetermined time period it is screened to try and increase data quality. In this embodiment, the average speed is only added to the group for the predetermined period if the average speed falls within a predetermined range. In this embodiment, the method excludes speeds which exceed a maximum predetermined threshold (which may be roughly 180km/h) and further, the method excludes speeds which fall below a predetermined amount of the average speed for that segment in that predetermined time period (which may for example be 2km/h). The skilled person will appreciate that speeds which are well below the average speed for that segment in that time may well be associated with a problem in the traffic flow for that segment, such as a traffic jam or the like. Thus, including data relating to such conditions may reduce the overall accuracy of the data when considering the road in normal conditions. In other embodiments, the max permitted speed may be set as the speed limit for that segment of road, but the skilled person will appreciate that such information can be inaccurate in map data that is being processed and also that the speed limit for a segment of road may in fact not give an accurate indication of traffic conditions.
Once grouping into the predetermined time periods has been performed an average speed is calculated for each road segment for each predetermined time period. For example, all of the speeds within the 8.00am to 8.59am time period, for each segment of road are averaged. There are several options for computing the average speed: using plain arithmetic or harmonic means or computing the median. Indeed, in some embodiments, different weights may be used for the data sets according to the later intended use of the data.
Thus, in the embodiment being described and for the map being processed there is generated for each segment of road on the map 24 average speeds; an average speed for each hour long predetermined time period. It will be appreciated that if a different duration of time period is used then there will be a different number of average speeds. It will be further appreciated that, in fact, not all road segments will necessarily have an average speed assigned thereto for every time period since some roads may be traversed infrequently, particularly at unsociable times such as the early hours of the morning.
However, before further the average speeds per segment are used quality checks are performed 706. In this embodiment, this check ensures that more than a predetermined number of assigned times were used to generate average speed per segment. If this is not the case then that average speed per segment is rejected for further processing leaving a gap for that segment at one or more time periods. In some embodiments, the average is rejected if there are fewer than 5 values that went to make up that average. Other embodiments, may of course use different values, such as 2, 3, 4, 6, 7, 8, 10, 20 or more or any value in between these.
Also, a further check on the quality of the average is performed and for each average the standard deviation of the average is divided by the square root of the number of data samples that went to make up the average for that segment for that time period. If the result of this calculation is outside a predetermined threshold then that average is again rejected leaving a gap for that segment for that time period.
Further quality checks may be implemented to reject averages on any of the following: whether the deviation in the data is beyond a predetermined threshold; the existence of more than a predetermined number of outliers beyond a predetermined threshold. The skilled person will appreciate such statistical techniques to ensure the quality of the data.
The set of averages for any given road segment may be thought of as a measured speed profile for that road segment.
The skilled person will appreciate that if a measured speed profile for a road segment has few missing speed values (ie all or at least the majority of the predetermined time periods have a value) then that segment may be processed and the missing values are therefore masked. As the number of missing segments increases then the quality of the resulting cluster analysis is reduced. Thus, just how many missing time periods are allowed is a matter of a quality decision and has to be examined from case to case. Using only high-quality, complete data may imply too much weight to road segments with high coverage (ie few missing time periods) which normally comprises highways, motorways and other roads along which many people travel. Too low a requirement (ie clustering road segments that have too many missing time periods) leads to unrealistic clusters and inaccurate analysis.
Each average that passes these quality checks is considered trustworthy and is approved for use in further processing. In step 708 an assessment is made as to the overall coverage of average speeds per road segment. If the coverage of trustworthy averages is high enough then the map data is forwarded for further processing. However, if the coverage is below a predetermined threshold then the map is rejected from further consideration 710. Acceptable maps are passed for cluster formation as is described in relation to Figure 8.
Such cluster formation aims to extract regular speed profiles in an automatic or semi-automatic manner; as will be discussed later, data compression, which may be significant, can be achieved if it is assumed that roads of a similar class may have a similar speed profile. For example, the speed at 10am on a Sunday morning for a first segment of road may be similar to the speed at the same time for a second segment of road. If this similarity for those segments of road is repeated for other times then the speed profile for the first and second segments may be considered to be represented by the same speed profile of the second segment. The clustering as now defined aims to locate such similarities. Normalisation of speed profiles, as discussed below, may also allow a speed profile to be used for roads of a different class.
Before the clustering is performed, the measured speed profile is further processed in order to amalgamate the night-time time periods. In this embodiment, the average speeds between 9pm and 5 am (ie 8 time periods) are averaged and this night-time average is used for each of 8 time periods. Thus, each speed profile has a flat speed profile between the hours of 9pm and 8am which may be termed the free flow speed of that road segment. It may be assumed that the free flow speed represents the speed at which a vehicle, generally a car, travels along the road and it is often the case that the free flow speed is different from the speed limit for that road segment. The free flow speed may also be roughly the same as the speed limit for that road segment.
In a first step 800 and in order to limit the number of clusters the measured speed profiles are normalised. Such normalisation can be performed according to a number of criteria. In the embodiment being described, normalisation occurs according to the free flow speed that has been calculated for the segment of road with which the average is associated. As such, the average speed per road segment that is passed to the clustering algorithm has a value of between 0 and 1. Such a method can aid further data compression since it can make the resulting cluster- generated speed profile independent of the type of road and as such it becomes possible to use the same set of speed profiles for road segments having any road type.
Use of the free-flow speeds during the night time period may reduce the dimension of the cluster formation since it may be possible to neglect night time speed values. In yet further embodiments, the average speed or the speed limit of a road segment may be used as a further criterion against which to perform the normalisation.
Thus, days showing a similar traffic behavior can be grouped together by processing by a clustering algorithm. If the expected traffic behavior is different the cluster formation should run independently. An input parameter to the clustering algorithm is the number of desired clusters and a typical range is 10-70 for a day of the week. There are known methods to approach the optimal number of clusters
(e.g. having some quality measures assigned and enlarging/reducing the numbers of clusters according to its trend) which may be used to determine whether the output of the clustering is acceptable.
In one embodiment, the clustering algorithm is run and arranged to generate around 60 clusters. In other embodiments, the algorithm may be arranged to generate more or less clusters initially. The resultant clusters are then processed to determine whether the generated clusters are satisfactory: are some of the clusters too similar (ie substantially the same)? Do any of the clusters have discontinuities therein? If there are problems with any of the clusters then the algorithm is re-run with the process aiming to generate fewer clusters than the first iteration. This iterative process is repeated until a satisfactory set of clusters is determined.
In some embodiments, whether the clusters are satisfactory includes a step of determining whether or not any of the cluster-generated profiles contain frequencies above a predetermined threshold. The presence of such frequencies indicates that that cluster-generated speed profile has a rate of change that is too high (ie there may be a discontinuity) and if used may result in instability, etc. within a navigation device 200 using that data to generate a route.
Whether or not the clusters are satisfactory may also include the step of performing a comparison between at least some, and generally each, of the cluster-generated speed profiles. In one particular embodiment this may be performed by a least squares comparison. In one embodiment the cluster is performed by cluster analysis, but other class building methods might be used as well. A simple and efficient approach is the so- called k-means clustering algorithm. This non-hierarchical method normally starts with k random seeds and redistributes the class members according to a minimum error criteria based on a chosen metric. The algorithm leads to local minima only, therefore for an optimal solution it has to run multiple times. The run with the minimum error estimates gives what may be a preferred solution. The centroids of the final clusters form the predefined clusters. In other embodiments other clustering techniques may be used and these include hierarchical clustering and fuzzy clustering.
Some embodiments, may add further clusters 804. For example, some embodiments may add a flat line as a speed profile for road segments that have no trustworthy trend, e.g. due to low data coverage or because of traffic related issues.
As a final step 806 in the preparation of the cluster generated speed profiles, the clusters are interpolated to a variable time resolution. In one embodiment this is performed using cubic splines but other techniques are possible such as an exponential fitting function. The skilled person will also appreciate similar techniques that may be used.
Even if the time resolution used in the cluster analysis procedure itself is coarser than is finally desired, which may occur in order that there are a sufficient number of reliable average speed in any one predetermined time period, the time resolution can now be modified. For example, it can be modified to finer resolution to meet the requirements of the intended use. For example, it can be advantageous to have a finer resolution having a more continuous profile in place is desired to provide smoother routes which might otherwise "jump" on time boundaries if the time resolution is too coarse. In the embodiment being described, the cluster-generated profiles are interpolated in order that they have a resolution of roughly 5min intervals, although any other period may be used. Such a period may be convenient for later processing using the cluster-generated speed profile.
Figure 9 shows a typical output from the clustering algorithm for a map in which the input average speed values have been clustered into 16 independent cluster generated speed profiles. Thus, for that map each section of road can now be referred to as having one of the 16 cluster generated speed profiles. If in other embodiments, the number of clusters is varied then the number of possible speed profiles for any one segment of road is also changed.
Once, a suitable set of cluster generated speed profiles has been determined - in this embodiment 16 have been generated - then these are associated with one or more maps. Generally, a set of speed profiles will be more accurate for the map from which they have been generated since traffic behavior may be different on roads not on that map. For example, should a map cover a single country then it may be that traffic in a different country follows slightly different patterns.
However, in other embodiments, the speed profiles may be associated with a plurality of maps. In one example, this may be appropriate if a map covers a portion of a country and/or it may be appropriate to use the map for a plurality of countries.
Each road segment that is present on the map being processed is analysed and may have one of the cluster generated speed profiles (as shown in Figure 9) associated therewith and this process is described in relation to Figure 12. Starting with n=l, the nth road segment is processed 1200.
Reference is made herein to speed data being associated with a road segment. The skilled person will appreciate that each road segment is represented by data within the map data providing the map. In some embodiments, such data representing the road segment may include an identifier which provides a reference to the speed data. For example the reference may provide a reference to a generated speed profile. It will be appreciated that in order that PND 's using the map being processed can generate accurate routes, it is desirable that each road segment has a speed profile associated therewith in which there is a high degree of belief (as a first step this is assessed on whether the measured speed profile is suitable). Thus, if the quality assessment made earlier has determined that the measured speed profile does not meet the quality criteria then a fall back strategy is used to replace the measured speed profile with speed data which is likely to prove better for routing purposed when processed by a PND or other device.
Should it be determined that the measured speed profile is in fact unsuitable then as a first fall back position an average speed 1000 for the road segment being processed which comprises an average of all the speed data collected for that road segment is used instead of the measured speed profile. That is the data collected for each time period for each day is averaged to generate a single speed. This single average speed may be, in due course, mapped to the flat cluster generated speed profile (number 15 in Figure 9).
Next, it should be determined whether the average speed generated from the data collected for a segment is acceptable. If the average passes these checks then the average is used for that road segment.
Again, a person skilled in the art of statistics will appreciate measures that may be used to measure the quality of the average. For example, in some embodiments, it may be required that the average is made up from more than a predetermined number of speeds, which may for example be roughly 10 speeds. Thresholds may be applied to the averages to ensure that they are above a minimum value (which may for example be roughly 2 km/h) and/or below a maximum value (which may for example be roughly 150 km/h). The standard deviation may may also be used to determine whether the average is of a high enough quality.
It is known that road segments may be classified according to a classification system within map data such that roads of similar characteristics are classified within the same classification. For example, maps generated by one party has 8 categories into which road segments are classified. In some embodiments, the average for a given road segment is analysed to ensure that at least a predetermined percentage of roads within the classification for that road segment have provided a speed which has been used to generate the average. If this test fails then not only is the average rejected, but the gap filling procedure described next may also be omitted.
If road segment allow flow of traffic in two directions then there will be a set of average speeds associated with each direction.
It will be appreciated that should the measured speed profile have been replaced during the fall back strategy then there is effectively a speed profile which comprises a flat line, such as clustered speed profile number 15 as shown in Figure 9. It will be further appreciated that because the speed profile information is normalised then speed profile number 15 may be used to represent any road segment having a single average speed associated therewith.
If the average generated from the collected data from that segment still fails the quality check then the next step 1002 of the fall back strategy is used and a so- called gap filling process is used which is now described with the aid of Figure 11. As a first step each road segment on the map being processed is categorised as being a member of one of a predetermined number of categories 1100. The skilled person will appreciate that this categorisation of each road segment need only be performed once and the resulting categorisation maintained for further road segments for which the gap-filling process is invoked. Other embodiments could of course re-calculate at each invocation or indeed calculate the categories on the fly.
In the embodiment being described, there are 40 such categories as outlined in the following table 1. These categories may vary depending on the map data that is being processed, the area covered by the map, or any other relevant factor.
Figure imgf000039_0001
Figure imgf000040_0001
Table 1.
Once each road segment is assigned to a category then a category average speed is calculated for each one of the predetermined categories 1102, in this case 40 categories. The category average that is generated is a single figure per category and in order to achieve this the average speed for each predetermined time period is averaged using any suitable averaging technique as mentioned herein. Again, the skilled person will appreciate that this step may only need to be performed once and the category average speed maintained for future invocations of the gap-filling process.
However, in this embodiment, each average speed for a class is calculated as a length-weighted harmonic mean of all of the elements belonging to the class, which is given by the following formula:
Whereas
• Vmean: mean speed of class j
• 1;: length of line i
• L: total length of all lines belonging to the class j (L=I 1; )
• V;: average speed of line i
Before these average speeds can be used further, they are checked to ascertain whether they are of a high enough quality such that they provide a reliable representation of the average speed for that category of road. This might not be the case should there be too few samples within that predetermined time period for that class of road or if there is too much variance in the samples that have gone to make up a particular average. Therefore, checks are made as to the quality of each average 1104 as now described.
If an average speed from one of the 40 categories is based on less segments than hit number min (which are shown, for this embodiment, in table 2 below) then this average is replaced by the value from another category as shown in table 3 below). In the embodiment being described the value for the minimum number of hit is ten but these may vary in other embodiments.
If neither quality factor abs of a particular category nor the quality factor rel of this category is smaller or equal to the values shown in table 2, then the average of the speed category is replaced with the average of the assigned replacement category as shown in table 2. It will be seen that quality_factor_rel_min is given by relative standard deviation of a class in % of the mean speed divided by square root of number of hits, quality_factor_abs*100/mean_speed.
Therefore there are three quality factors (quality factor abs min, quality factor rel min, hit number min) which are passed before an average speed in anyone category can be used. If the quality factors are not met then the averages speed is replaced according to table 3.
Default value
Parameter [range of Descriptions value] quality_factor_abs_ 3 Quality factor for data rejection: min s/sqrt(n) (absolute speed standard deviation of a class in km/h divided by square root of number of hits) quality factor rel 5 Quality factor for speed class min replacement: s/sqrt(n) (relative Default value
Parameter [range of Descriptions value] standard deviation of a class in % of the mean speed divided by square root of number of hits, quality factor abs * 100/mean_speed
) hit number min 10 Minimum number of required total hits per speed class
table 2
Speed category number Replacement speed category number
1 0
2 0
3 0
4 10
5 4
6 4
7 5
8 4
9 5
10 11
11 10
12 10
13 11
14 10
15 11
16 10
17 18
18 17
19 17
20 18
21 17
22 18
23 17
24 25
25 24
26 24
27 25
28 24
29 25
30 31
31 30
32 30
33 31
34 35
35 34
36 34
37 35
38 39
39 38
table 3 The values shown in table 2 may well vary in other embodiments and are shown as an example only. Likewise, the replacement values used in table 3 may well vary in other embodiments, depending upon the area covered by the map, the party that generated the map data, etc.
Before one of the averages generated for a category can be used it is checked to see whether it passes some quality checks. If it does not pass these checks then the gap filling procedure fails for that category. These quality checks are as follows.
The average for the classification should lie above a minimum threshold and below a maximum threshold which are computed in the following way, with min and max are pseudo code minimum and maximum functions:
Min_speed_threshold = max [ max (mean-lower_relative_devision*mean/100 , mean-lower_absolute_devision) , lower_limit ]
Max_speed_threshold = min [ min (mean+upper_relative_devision*mean/100 , mean+upper_absolute_devision) , upper_limit ]
whereas mean is the mean speed of the appropriate speed class of the segment. The other quantities are defined in Table 4.
If a speed associated with a segment fail these criteria then that speed is replaced by its threshold based on its mean speed unless the speed associated with the segment does not offend the absolute speed limits in which case the absolute speed limits will be used as the speed for that segment.
Default value
Parameter Descriptions
[range of value] Default value
Parameter Descriptions [range of value] upper limit 130 Absolute allowed maximum speed for a segment in km/h lower limit 5 Absolute allowed minimum speed in km/h for a segment upper_relative_devision 50 Maximum allowed upper speed deviation for a segment in percent of its class mean upper_absolute_devision 30 Maximum allowed upper absolute speed deviation in km/h for a segment related to its class mean lower relative devision 50 Maximum allowed lower speed deviation for a segment in percent of its class mean lower absolute devision 30 Maximum allowed lower absolute speed deviation in km/h for a segment related to its class mean
Table 4
The skilled person will appreciate that the calculations are performed on speeds and not upon time data.
Thus, at the end of the gap filling process an average speed may have been generated, based upon road segments within the same category from the predetermined 40. However, the gap-filling process might still fail (ie no average is generated which passes the quality checks). Thus, road segments which have no speed data associated with them now have an average speed data assigned thereto 1108 which has been generated by the gap filling procedure (assuming that average has passed the quality checks).
Should the gap filling fails then, in step 1004, the speed associated with that road segment is set to be the speed that has been provided by the map data supplier according to Functional Road Class (FRC). The functional road class may for example comprise roughly 8 categories, although this might differ between map data suppliers. That is, the free flow speed is set to a value according to the FRC and the cluster generated speed profile is set to be, in this embodiment, profile number 15.
Next, the speed profile (whether a measured speed profile or an average inserted by gap filling) associated with a road segment is now mapped to one of the cluster generated speed profiles to generate the map data which can be used by navigation devices such as PND's. This may be performed regardless of whether the speed information is a measured speed profile or an average in view of the presence of the flat cluster generated speed profile number 15.
In step 1210 the speed profile is compared, using a least squares comparison, with each of the speed profiles in the set of cluster generated speed profiles. After these 16 comparisons have been made it is possible to determine which speed profile from the set of 16 is closest to the speed profile associated with the road segment and in step 1220 a reference to the cluster generated speed profile that is deemed to be closest is stored in the map data for that road segment. Also stored in the map data in relation to that road segment is the free flow speed for that road segment which has been calculated earlier.
Thus, using the reference and the free flow speed, information can be stored within the map data which provides information on the average speeds for each road segment. For frequently travelled segments the average speed information provided may be thought of as comprising an approximation to the daily hourly average between the hours of 9am to 5pm. For less travelled segments the average speed information may be thought of as being an average speed which is averaged across all time periods.
This is repeated 1230 until each of the road segments on the map has had one of the set of 16 cluster generated speed profiles associated therewith.
Before the map data may be released for use a final check is made to see if a sufficient number of road segments have a measured speed profile associated with them (as opposed to an average that has been inserted instead of a measured speed profile). If this check is not passed then the whole map is rejected and not released for use .
In this final check, the total length of road segments is calculated for each Functional Road Class (FRC). The FRCs are related to the 40 categories listed in table 2 as shown in table 5 below. The length of road segment within each FRC with average speed data assigned thereto should be above the threshold percentage of the total road length within the FRC as shown in table 5.
FRC (Functional Road Class) WQC Minimum required
Description length coverage [%]
Motorways 0 60
International roads 1 50
Major roads 2 40
Secondary roads 3 30
Connecting roads 4 18
Important local roads 5 12
Local roads 6 2
Destination roads 7 0
table 5.
It will be seen that the minimum coverage figures for road categories which in general have more impact on routing behavior are given a higher percentage requirement when compared to road categories which have a lower impact. For example, FRC 0 (Motorways) are required to have 60% because they have a higher impact on routing when compared to, for example, secondary roads which consequently have a requirement for 30% coverage.
In other embodiments further fall back strategies may be provided. In one such embodiment, a first fall back strategy (should the measured speed profile been deemed unacceptable) may be to aggregate the same predetermined time periods for each day are added to that period for each of the other days and then the resulting aggregated speed profile is used for each day rather than using a measured speed profile for each separate day. Therefore, in such an embodiment, a weekly speed profile is generated by adding the same time periods for each of the days Monday to Friday and a weekend speed profile is generated by adding the same time periods for each of Saturday and Sunday. It will be appreciated that traffic flow on the weekend may well be different to traffic flow on week days.
Such aggregated speed profile may then be checked to see if passes quality criteria before using other fall back strategies if it is not acceptable. These checks may be made using the same, or at least similar, criteria to those used to assess the measured speed profiles. If the aggregation of the data has improved the quality so that both the weekly and weekend speed profiles pass the quality check then these speed profiles are used for that road segment.
The skilled person will appreciated that an apparatus provided to execute a method as described herein may comprise hardware, software, firmware or any combination of two or more of these.
The skilled person will appreciate that, whilst the term GPS data has been used to refer to position data derived from a GPS global positioning system as for example described in relation to Figure 1, other position data could be processed in a manner similar to the methods as described herein. Thus, term GPS data may be replaceable with the phrase positioning data. Such position information, could for example be derived from position information derived from mobile phone operation, data received at toll barriers, data obtained from induction loops embedded in roads, data obtained from number plate recognition system or any other suitable data.

Claims

1. A method of generating map data from positioning data, the map data comprising a plurality of navigable segments representing segments of a navigable route in the area covered by the map with each segment being arranged to have speed data associated therewith, the method comprising the steps of:
1. using one or more navigation devices to generate positioning data being constituted by at least a series of positions; 2. processing the positioning data to generate speed data therefrom, wherein the generated speed data is associated with the navigable segment on which the positioning data generating that speed data occurred; and
3. updating the map data with the speed data to associate the speed data with the navigable segment on which it occurred to generate map data suitable for use by a navigation device.
2. A method according to claim 1 which includes a step of uploading the positioning data from the or each navigation device to a server wherein the server is arranged to process the positioning data to generate the speed data.
3. A method according to claim 2 in which the server stores the positioning data for analysis at a time after the data is captured.
4. A method according to any preceding claim in which the positioning data is processed in order to generate trip data representing an individual journey for a navigation device.
5. A method according to any preceding claim in which the positioning data is processed in order to associate positions within that data with a navigable segment.
6. A method according to any preceding claim in which the generated speed is categorised into one of a plurality of predetermined time periods for the navigable segment with which it is associated.
7. A method according to claim 6 which averages the speeds within each of the predetermined time periods for each navigable segment to generate a measured speed profile, with the average speed of each predetermined time period providing a point on the measured speed profile.
8. A method according to claim 7 which comprises performing cluster analysis on the measured speed profiles in order to generate a set of cluster generated speed profiles.
9. A method according to claim 8 which comprises the step of mapping the speed data associated with at least some and generally each navigable segment to a cluster generated speed profile.
10. A method according to claim 9 which replaces the speed data associated with at least some, and generally each, navigable segment with a reference to the cluster generated speed profile.
11. A method according to any preceding claim which uses positioning data from sources other than navigation devices, including from any of the following sources: position information derived from mobile phone operation, data received at toll barriers, data obtained from induction loops embedded in roads or other navigable routes, data obtained from number plate recognition system.
12. A method according to any preceding claim which includes the step of downloading the map data to one or more, and generally a plurality, of navigation devices
13. A system arranged to generate map data, the map data comprising a plurality of navigable segments representing segments of a navigable route in the area covered by the map with each segment being arranged to have speed data associated therewith, the system comprising: a receiver arranged to receive positioning data from at least one, and generally a plurality, of navigation devices, such positioning data being constituted by at least a series of positions; processing circuitry arranged to process the positioning data and generate speed data therefrom, wherein the generated speed data is associated with the navigable segment on which the positioning data generating that speed data occurred; and the processing circuitry being further arranged to update the map data with the speed data to associate the speed data with the navigable segment on which it occurred to generate map data suitable for use by a navigation device.
14. A navigation device comprising processing circuitry which includes a memory, the processing circuitry of the navigation device being arrange to: process map data held with the memory in order to generate a set of routing instructions to guide a user of the device; store positioning data generated by the device within the memory; upload the positioning data to a server remote from the navigation device.
15. A machine readable medium containing instructions which when read by a machine cause that machine to: i. perform the method of any of claims 1 to 12 ii. function as the system of claim 13; and iii. function as the navigation device of claim 14.
PCT/EP2008/064322 2007-10-26 2008-10-22 A method of processing positioning data WO2009053410A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU2008316529A AU2008316529A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data
CN200880113016A CN101836082A (en) 2007-10-26 2008-10-22 A method of processing positioning data
JP2010530451A JP2011502248A (en) 2007-10-26 2008-10-22 How to process positioning data
EP08842327A EP2203716A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data
CA2703510A CA2703510A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US99605207P 2007-10-26 2007-10-26
US99605007P 2007-10-26 2007-10-26
US60/996,050 2007-10-26
US60/996,052 2007-10-26

Publications (1)

Publication Number Publication Date
WO2009053410A1 true WO2009053410A1 (en) 2009-04-30

Family

ID=40149835

Family Applications (6)

Application Number Title Priority Date Filing Date
PCT/EP2008/064323 WO2009053411A1 (en) 2007-10-26 2008-10-22 A method of creating map data
PCT/EP2008/064318 WO2009053406A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data
PCT/EP2008/064322 WO2009053410A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data
PCT/EP2008/064319 WO2009053407A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data
PCT/EP2008/064317 WO2009053405A1 (en) 2007-10-26 2008-10-22 A method and machine for generating map data and a method and navigation device for determining a route using map data
PCT/EP2008/064320 WO2009053408A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/EP2008/064323 WO2009053411A1 (en) 2007-10-26 2008-10-22 A method of creating map data
PCT/EP2008/064318 WO2009053406A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data

Family Applications After (3)

Application Number Title Priority Date Filing Date
PCT/EP2008/064319 WO2009053407A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data
PCT/EP2008/064317 WO2009053405A1 (en) 2007-10-26 2008-10-22 A method and machine for generating map data and a method and navigation device for determining a route using map data
PCT/EP2008/064320 WO2009053408A1 (en) 2007-10-26 2008-10-22 A method of processing positioning data

Country Status (10)

Country Link
US (6) US9952057B2 (en)
EP (8) EP2573519A1 (en)
JP (10) JP5460604B2 (en)
CN (7) CN101836079B (en)
AU (6) AU2008316527A1 (en)
CA (6) CA2703505A1 (en)
ES (2) ES2458144T3 (en)
RU (5) RU2486473C2 (en)
TW (6) TW200928308A (en)
WO (6) WO2009053411A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011004029A2 (en) 2009-07-09 2011-01-13 Tomtom International Bv Navigation devices
WO2011131376A1 (en) 2010-04-23 2011-10-27 Tomtom International B.V. Navigation devices and methods carried out thereon
WO2012034582A1 (en) 2010-09-13 2012-03-22 Tomtom International B.V. Improvements in or relating to portable processing devices
US8290695B2 (en) 2009-01-16 2012-10-16 Volker Hiestermann Method for computing an energy efficient route
US10648815B2 (en) 2013-03-21 2020-05-12 Sony Corporation Information processing device, information processing system, and information processing method

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9952057B2 (en) 2007-10-26 2018-04-24 Tomtom Traffic B.V. Method of processing positioning data
US8015144B2 (en) 2008-02-26 2011-09-06 Microsoft Corporation Learning transportation modes from raw GPS data
US8972177B2 (en) 2008-02-26 2015-03-03 Microsoft Technology Licensing, Llc System for logging life experiences using geographic cues
US8966121B2 (en) 2008-03-03 2015-02-24 Microsoft Corporation Client-side management of domain name information
GB0822893D0 (en) * 2008-12-16 2009-01-21 Tele Atlas Bv Advanced speed profiles - Further updates
US9063226B2 (en) 2009-01-14 2015-06-23 Microsoft Technology Licensing, Llc Detecting spatial outliers in a location entity dataset
US9109909B2 (en) 2009-07-09 2015-08-18 Tomtom International B.V. Navigation devices
US20110046881A1 (en) * 2009-08-20 2011-02-24 Jeyhan Karaoguz Personal mapping system
US8275649B2 (en) 2009-09-18 2012-09-25 Microsoft Corporation Mining life pattern based on location history
JP5306475B2 (en) * 2009-09-24 2013-10-02 三菱電機株式会社 Travel pattern generator
US9009177B2 (en) 2009-09-25 2015-04-14 Microsoft Corporation Recommending points of interests in a region
US9154560B2 (en) 2009-10-12 2015-10-06 Qualcomm Incorporated Method and system for building annotation layers based on location aware user context information
US9173337B2 (en) 2009-10-19 2015-11-03 Efc Systems, Inc. GNSS optimized control system and method
US8396663B2 (en) * 2009-12-15 2013-03-12 Navteq B.V. Speed profile dictionary
AU2015271869B2 (en) * 2009-12-15 2017-05-25 Here Global B.V. Speed profile dictionary
WO2011095227A1 (en) * 2010-02-08 2011-08-11 Tomtom Germany Gmbh & Co. Kg Methods for digital mapping and associated apparatus
US8612134B2 (en) 2010-02-23 2013-12-17 Microsoft Corporation Mining correlation between locations using location history
US9261376B2 (en) 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
US10288433B2 (en) 2010-02-25 2019-05-14 Microsoft Technology Licensing, Llc Map-matching for low-sampling-rate GPS trajectories
US8719198B2 (en) 2010-05-04 2014-05-06 Microsoft Corporation Collaborative location and activity recommendations
US9593957B2 (en) 2010-06-04 2017-03-14 Microsoft Technology Licensing, Llc Searching similar trajectories by locations
US8645061B2 (en) 2010-06-16 2014-02-04 Microsoft Corporation Probabilistic map matching from a plurality of observational and contextual factors
US20110320114A1 (en) * 2010-06-28 2011-12-29 Microsoft Corporation Map Annotation Messaging
FR2963149B1 (en) * 2010-07-20 2014-03-07 Coyote Sys METHOD FOR IMPROVING THE RELIABILITY OF SPEED LIMIT INDICATIONS FOR ONBOARD SYSTEMS
DE102010047080B4 (en) 2010-10-01 2012-09-06 Audi Ag Method for obtaining a velocity profile
JP2012078273A (en) * 2010-10-05 2012-04-19 Casio Comput Co Ltd Information processing apparatus, method and program
JP5895162B2 (en) * 2010-10-28 2016-03-30 パナソニックIpマネジメント株式会社 Traffic accident detection device and traffic accident detection method
GB201018815D0 (en) 2010-11-08 2010-12-22 Tomtom Int Bv High-definition weather for improved routing and navigation systems
EP2455714B1 (en) * 2010-11-18 2019-01-23 Harman Becker Automotive Systems GmbH Method and device for displaying road segments
EP2649412B1 (en) 2010-12-07 2018-10-10 TomTom Traffic B.V. Mapping apparatus and method of operation thereof
JP5673310B2 (en) * 2010-12-09 2015-02-18 株式会社オートネットワーク技術研究所 Information processing system
CN103348392B (en) * 2010-12-31 2016-06-29 通腾比利时公司 Air navigation aid and system
EP2659469A1 (en) 2010-12-31 2013-11-06 Tomtom Belgium N.V. Systems and methods for obtaining and using traffic flow information
GB201113122D0 (en) 2011-02-03 2011-09-14 Tom Tom Dev Germany Gmbh Generating segment data
US8717387B1 (en) * 2011-04-04 2014-05-06 Google Inc. Correction of misaligned map data from different sources
KR101683917B1 (en) * 2011-04-27 2016-12-07 현대자동차주식회사 Apparatus and method for generating velocity profile based on driving pattern
GB2492331A (en) 2011-06-27 2013-01-02 Tomtom Int Bv Means for estimating journey attributes based on mobile device journey data
RU2484533C2 (en) * 2011-08-26 2013-06-10 Валерий Михайлович Газаров Method of determining optimum route and device
WO2013050216A1 (en) * 2011-10-04 2013-04-11 International Business Machines Corporation Pre-emptive content caching in mobile networks
US8788193B2 (en) 2011-10-17 2014-07-22 Gen-9, Inc. Tracking activity, velocity, and heading using sensors in mobile devices or other systems
FR2983614B1 (en) * 2011-12-02 2017-02-03 Renault Sa METHOD OF ESTIMATING THE ENERGY CONSOMMATON OF A MOTOR VEHICLE
US9754226B2 (en) 2011-12-13 2017-09-05 Microsoft Technology Licensing, Llc Urban computing of route-oriented vehicles
US8670934B2 (en) * 2011-12-16 2014-03-11 Toyota Jidosha Kabushiki Kaisha Journey destination endpoint determination
US8666645B2 (en) 2011-12-21 2014-03-04 Navteq B.V. Method of selecting a traffic pattern for use by a navigation system
US20130166188A1 (en) 2011-12-21 2013-06-27 Microsoft Corporation Determine Spatiotemporal Causal Interactions In Data
CN103116174B (en) * 2012-02-15 2014-07-09 金三立视频科技(深圳)有限公司 Global position system (GPS) location map application algorithm based on predictive encoding correction modal
GB201205348D0 (en) 2012-03-27 2012-05-09 Tomtom Belgium Nv Digital location-based data methods and product
US8712682B1 (en) * 2012-03-29 2014-04-29 Google Inc. Estimating travel time
US20130274955A1 (en) * 2012-04-13 2013-10-17 Walter Steven Rosenbaum Method for analyzing operation characteristics of a vehicle driver
US9429437B2 (en) 2012-06-08 2016-08-30 Apple Inc. Determining location and direction of travel using map vector constraints
JP5953990B2 (en) * 2012-07-02 2016-07-20 富士通株式会社 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, AND COMMUNICATION CONTROL METHOD
US20150304873A1 (en) * 2012-08-02 2015-10-22 Deutsche Telekom Ag Enhanced radio resource management
TWI477744B (en) * 2012-09-24 2015-03-21 Navigation gradient map, its generating method and navigation device
GB201219742D0 (en) * 2012-11-02 2012-12-12 Tom Tom Int Bv Methods and systems for generating a horizon for use in an advanced driver assistance system (adas)
DE102012023561B4 (en) * 2012-12-03 2014-08-14 Audi Ag Method for traffic-related adaptation of stopping processes to a synthetically modulated speed profile along a vehicle-driven route and control device for carrying out the method
WO2014102928A1 (en) * 2012-12-26 2014-07-03 パイオニア株式会社 Route searching device, route searching method, route searching program, and computer-readable recording medium recording route searching program
US10039460B2 (en) 2013-01-22 2018-08-07 MiSleeping, Inc. Neural activity recording apparatus and method of using same
CN103971587A (en) * 2013-02-05 2014-08-06 昆达电脑科技(昆山)有限公司 Gradient map for navigation, gradient map generation method and navigation device
JP5819868B2 (en) * 2013-02-12 2015-11-24 株式会社ゼンリン New road detection logic
GB201305131D0 (en) * 2013-03-20 2013-05-01 Tomtom Dev Germany Gmbh Methods and systems for detecting a closure of a navigable element
GB201307550D0 (en) 2013-04-26 2013-06-12 Tomtom Dev Germany Gmbh Methods and systems of providing information indicative of a recommended navigable stretch
US9489637B2 (en) 2013-04-29 2016-11-08 Here Global B.V. Method and apparatus for deriving spatial properties of bus stops and traffic controls
DE102013008373A1 (en) * 2013-05-16 2014-11-20 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Method and system for providing parking fee information in a paid parking lot
US10048075B2 (en) 2013-07-19 2018-08-14 Sap Se Trajectory data compression
CN104422460B (en) * 2013-09-06 2017-08-01 上海博泰悦臻电子设备制造有限公司 A kind of air navigation aid and guider
GB201316386D0 (en) * 2013-09-15 2013-10-30 Tomtom Dev Germany Gmbh Generating routes to optimise traffic flow
US9183743B2 (en) 2013-10-31 2015-11-10 Bayerische Motoren Werke Aktiengesellschaft Systems and methods for estimating traffic signal information
GB201400601D0 (en) 2014-01-14 2014-03-05 Tomtom Int Bv Apparatus and method for a probe data management
JP5910655B2 (en) * 2014-03-25 2016-04-27 トヨタ自動車株式会社 Moving speed prediction apparatus and moving speed prediction method
US9549291B2 (en) * 2014-03-31 2017-01-17 Ford Global Technologies, Llc Crowd enhanced connectivity map for data transfer intermittency mitigation
US10528246B2 (en) 2014-04-10 2020-01-07 Htc Corporation Method and device for managing information
GB201408474D0 (en) * 2014-05-13 2014-06-25 Tomtom Int Bv Methods and systems for detecting a partial closure of a navigable element
US9663111B2 (en) * 2014-05-30 2017-05-30 Ford Global Technologies, Llc Vehicle speed profile prediction using neural networks
US10415988B2 (en) * 2014-07-08 2019-09-17 Omnitracs, Llc Integration of hours of service and navigation
DE102014213326A1 (en) * 2014-07-09 2016-01-14 Bayerische Motoren Werke Aktiengesellschaft Method for processing data of a route profile, decoding method, coding and decoding method, system, computer program and computer program product
US9336448B2 (en) 2014-08-11 2016-05-10 Here Global B.V. Variable speed sign value prediction and confidence modeling
GB201415802D0 (en) * 2014-09-07 2014-10-22 Tomtom Int Bv Methods and systems for identifying navigable elements affected by weather conditions
US10109184B2 (en) * 2014-10-08 2018-10-23 Here Global B.V. Probe based variable speed sign value
RU2580335C1 (en) * 2014-10-17 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Method of processing map data
CA2970985C (en) * 2014-12-18 2021-10-12 Innerspace Technology Inc. Wayfinding system for interior spaces using an auto-generated navigational map
JP6536064B2 (en) * 2015-02-10 2019-07-03 株式会社デンソー Travel locus selection device, travel locus selection method
GB201503227D0 (en) 2015-02-26 2015-04-15 Tomtom Int Bv Methods and systems for generating routing policies and routes
CN104952124A (en) * 2015-06-07 2015-09-30 深圳市超级柒科技有限公司 General full-automatic intelligent safety automobile block box and system
GB2539676B (en) * 2015-06-23 2020-11-25 Bentley Motors Ltd A method of controlling speed of a vehicle
US9761133B2 (en) 2015-06-26 2017-09-12 Here Global B.V. Determination of a free-flow speed for a link segment
CN106324634B (en) * 2015-07-03 2019-03-08 石家庄市善理通益科技有限公司 The treating method and apparatus of GPS positioning data
RU2597667C1 (en) * 2015-08-04 2016-09-20 Егор Вадимович Созинов Method of vehicle route graphic display
GB201601296D0 (en) * 2016-01-25 2016-03-09 Tomtom Traffic Bv Methods and systems for generating expected speeds of travel
US9970771B2 (en) * 2016-02-03 2018-05-15 Here Global B.V. Navigational database update package
GB201604159D0 (en) 2016-02-09 2016-04-27 Tomtom Traffic Bv Methods and systems for identifying navigable elements affected by weather conditions
CN107144286B (en) * 2016-03-01 2021-08-24 阿里巴巴集团控股有限公司 Navigation method and device
US10151592B2 (en) * 2016-04-28 2018-12-11 Here Global B.V. Map matching quality evaluation
US10068470B2 (en) * 2016-05-06 2018-09-04 Here Global B.V. Determination of an average traffic speed
US10451429B2 (en) * 2016-08-04 2019-10-22 Here Global B.V. Generalization factor based generation of navigation data
CN106297285B (en) * 2016-08-17 2018-09-21 重庆大学 Freeway traffic operating status fuzzy synthetic appraisement method based on changeable weight
WO2018060472A1 (en) 2016-09-29 2018-04-05 Tomtom Traffic B.V. Methods and systems for generating profile data for segments of an electronic map
US10040464B2 (en) 2016-10-21 2018-08-07 Westinghouse Air Brake Technologies Corporation System and method for providing location and navigation services using positive train control data
US11343550B2 (en) * 2016-11-11 2022-05-24 Sony Corporation Transmission device, transmission method, and content distribution system
EP3339807B1 (en) * 2016-12-20 2024-03-13 HERE Global B.V. An apparatus and associated methods for determining the location of a vehicle
JP2017096963A (en) * 2016-12-22 2017-06-01 トムトム ベルギー ネムローゼ フエンノートシャップTomTom Belgium N.V. Navigation method and system
CN108257416B (en) * 2016-12-28 2021-03-23 华为技术有限公司 Method, device and system for path planning
IL250762B (en) 2017-02-23 2020-09-30 Appelman Dina Method of navigating an unmanned vehicle and system thereof
JP6383063B1 (en) * 2017-08-07 2018-08-29 ヤフー株式会社 Calculation device, calculation method, and calculation program
US10365660B2 (en) * 2017-10-31 2019-07-30 Savioke, Inc. Computer system and method for automated indoor surveying by robots
KR102612960B1 (en) * 2018-01-23 2023-12-13 삼성전자주식회사 Method for receiving a map and apparatus thereof
RU2679468C1 (en) * 2018-03-01 2019-02-11 Общество с ограниченной ответственностью "СЕНСЕ ГНБ" Remote device of information displaying the receiver of the location system of the position of the drilling tool r-box
JP7035210B2 (en) 2018-03-13 2022-03-14 ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド Systems and methods for generating a roadmap
US11650059B2 (en) * 2018-06-06 2023-05-16 Toyota Research Institute, Inc. Systems and methods for localizing a vehicle using an accuracy specification
CN108806238B (en) * 2018-06-21 2020-09-01 中国联合网络通信集团有限公司 Vehicle control method, device, equipment and storage medium
US11293770B2 (en) 2018-08-02 2022-04-05 salesforces.com, Inc. Geographic routing engine
US10242571B1 (en) * 2018-08-02 2019-03-26 Mapanything, Inc. Utilizing determined optimized time windows for precomputing optimal path matrices to reduce computer resource usage
CN113056757A (en) * 2018-08-07 2021-06-29 数字生态系统有限责任公司 Method and system for real-time generation of automated multimodal freight services
PL3799618T3 (en) 2018-08-30 2023-02-06 Elta Systems Ltd. Method of navigating a vehicle and system thereof
CN109035783B (en) * 2018-09-17 2021-06-11 东南大学 Virtual road network missing road section automatic identification method based on bus GPS track
US11538338B2 (en) * 2018-09-24 2022-12-27 Verizon Patent And Licensing Inc. Providing map fragments to a device
RU188926U1 (en) * 2018-10-31 2019-04-29 Федеральное государственное бюджетное образовательное учреждение высшего образования "Мурманский государственный технический университет" (ФГБОУ ВО "МГТУ") DEVICE OF SATELLITE MONITORING OF TRANSPORT
CN109581441B (en) * 2018-12-18 2019-11-08 武汉大学 The GNSS imaging method constructed based on correlation space structure function between station
TWI735889B (en) * 2019-06-11 2021-08-11 萬潤科技股份有限公司 Self-propelled device moving method and self-propelled device implementing the moving method
CN110379167B (en) * 2019-07-31 2021-07-23 中国工商银行股份有限公司 Method and device for determining running path of vehicle in expressway
FR3111225B1 (en) * 2020-06-08 2022-06-24 Univ Gustave Eiffel Computer-implemented method of traffic management of a road area
JP7396230B2 (en) 2020-08-26 2023-12-12 トヨタ自動車株式会社 Error diagnosis device and vehicle control device
WO2022066098A1 (en) 2020-09-22 2022-03-31 Grabtaxi Holdings Pte. Ltd Method and device for determining a navigation profile for a vehicle in a geographical area
JP7490599B2 (en) * 2021-03-08 2024-05-27 株式会社東芝 Information processing device, information processing method, and information processing program
EP4348184A1 (en) * 2021-05-25 2024-04-10 Cambridge Mobile Telematics, Inc. Method and system for vehicle route determination based on motion data
US20230123565A1 (en) * 2021-10-14 2023-04-20 Furuno Electric Co., Ltd. Track management device and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401027B1 (en) * 1999-03-19 2002-06-04 Wenking Corp. Remote road traffic data collection and intelligent vehicle highway system
US20040034467A1 (en) * 2002-08-09 2004-02-19 Paul Sampedro System and method for determining and employing road network traffic status
US6707421B1 (en) * 1997-08-19 2004-03-16 Siemens Vdo Automotive Corporation Driver information system
US20040230373A1 (en) * 2003-05-12 2004-11-18 Assimakis Tzamaloukas Hierarchical floating car data network
US20070208496A1 (en) * 2006-03-03 2007-09-06 Downs Oliver B Obtaining road traffic condition data from mobile data sources
DE102006010572A1 (en) * 2006-03-06 2007-09-13 Gerhard Lauche Traffic guidance system for use in vehicle, has data processing unit transmitting processed data to application unit over communication unit, where application unit uses data for computing vehicle travel route

Family Cites Families (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2270480A (en) * 1940-12-02 1942-01-20 Scovill Manufacturing Co Drink mixer agitator
GB2091526B (en) 1981-01-13 1985-10-02 Harris Corp Digital map generator and display system
JP3279009B2 (en) 1993-10-29 2002-04-30 トヨタ自動車株式会社 Route guidance device for vehicles
US7421321B2 (en) 1995-06-07 2008-09-02 Automotive Technologies International, Inc. System for obtaining vehicular information
US6012013A (en) 1995-03-31 2000-01-04 Trimble Navigation Limited Vehicle position reporting in user defined uni-dimensional coordinate system
US5933100A (en) 1995-12-27 1999-08-03 Mitsubishi Electric Information Technology Center America, Inc. Automobile navigation system with dynamic traffic data
DE19643454C2 (en) * 1996-10-10 2003-08-21 Mannesmann Ag Method and device for transmitting data for traffic situation assessment
JP3491867B2 (en) 1996-11-13 2004-01-26 松下電器産業株式会社 Route selection method and system
JPH10197270A (en) 1996-12-30 1998-07-31 Casio Comput Co Ltd Navigation system, required time information calculating method and recording medium
US6215442B1 (en) 1997-02-03 2001-04-10 Snaptrack, Inc. Method and apparatus for determining time in a satellite positioning system
DE69806685T2 (en) 1997-05-22 2002-11-21 Nissan Motor Co., Ltd. Integrated control system for electronically controlled internal combustion engine and continuously variable automatic transmission
JP3719310B2 (en) * 1997-06-17 2005-11-24 三菱電機株式会社 Navigation device
US5945997A (en) 1997-06-26 1999-08-31 S3 Incorporated Block- and band-oriented traversal in three-dimensional triangle rendering
US5913917A (en) * 1997-08-04 1999-06-22 Trimble Navigation Limited Fuel consumption estimation
EP1005627B1 (en) * 1997-08-19 2003-10-29 Siemens VDO Automotive Corporation Vehicle information system
US6680694B1 (en) * 1997-08-19 2004-01-20 Siemens Vdo Automotive Corporation Vehicle information system
JP3438589B2 (en) 1998-06-04 2003-08-18 日産自動車株式会社 Vehicle driving force control device
US6122593A (en) 1999-08-03 2000-09-19 Navigation Technologies Corporation Method and system for providing a preview of a route calculated with a navigation system
US6256577B1 (en) 1999-09-17 2001-07-03 Intel Corporation Using predictive traffic modeling
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
JP2001264099A (en) * 2000-03-15 2001-09-26 Honda Motor Co Ltd Navigation system for vehicle
US6615130B2 (en) 2000-03-17 2003-09-02 Makor Issues And Rights Ltd. Real time vehicle guidance and traffic forecasting system
GB0011797D0 (en) * 2000-05-16 2000-07-05 Yeoman Group Plc Improved vehicle routeing
CN1449551A (en) 2000-06-26 2003-10-15 卡斯特姆交通Pty有限公司 Method and system for providing traffic and related information
EP1299746B1 (en) * 2000-06-30 2004-12-08 Alstom Belgium S.A. Method for secure determination of an object location, preferably a vehicle moving along a known course
US6317686B1 (en) 2000-07-21 2001-11-13 Bin Ran Method of providing travel time
DE10037827B4 (en) 2000-08-03 2008-01-10 Daimlerchrysler Ag Vehicle autonomous traffic information system
JP2002117491A (en) 2000-08-04 2002-04-19 Ntt Communications Kk System and method for providing movable body plying information and movable body plying information service center
US6587777B1 (en) 2000-10-23 2003-07-01 Sun Microsystems, Inc. System and method for location based traffic reporting
US20070150375A1 (en) * 2000-12-08 2007-06-28 Ping Yang Method and apparatus for efficient meal delivery
US6622087B2 (en) 2000-12-26 2003-09-16 Intel Corporation Method and apparatus for deriving travel profiles
JP2002206936A (en) 2001-01-09 2002-07-26 Matsushita Electric Ind Co Ltd Method of calculating route, and device for executing the method
JP2003021528A (en) 2001-07-09 2003-01-24 Kenwood Corp Navigation device, arrival time calculation method and program
US6577946B2 (en) * 2001-07-10 2003-06-10 Makor Issues And Rights Ltd. Traffic information gathering via cellular phone networks for intelligent transportation systems
JP3841401B2 (en) 2001-09-26 2006-11-01 株式会社東芝 Campus guidance device, server device, and program
US20030134648A1 (en) * 2001-10-04 2003-07-17 Reed Mark Jefferson Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same
JP2005038447A (en) 2001-11-27 2005-02-10 Fuji Xerox Co Ltd Moving information processor and moving information processing method
US6973384B2 (en) 2001-12-06 2005-12-06 Bellsouth Intellectual Property Corporation Automated location-intelligent traffic notification service systems and methods
US7221287B2 (en) * 2002-03-05 2007-05-22 Triangle Software Llc Three-dimensional traffic report
DE10313057A1 (en) 2002-03-25 2003-11-06 Aisin Aw Co Motor vehicle navigation system has an information processing unit and computer program that serves to continuously up route node points as the route map is displaced
JP3932951B2 (en) 2002-03-28 2007-06-20 セイコーエプソン株式会社 Route search device, navigation device, and program
JP3849590B2 (en) 2002-06-21 2006-11-22 株式会社日立製作所 Traffic information system
US7499949B2 (en) 2002-08-07 2009-03-03 Navteq North America, Llc Method and system for obtaining recurring delay data using navigation systems
GB0220062D0 (en) 2002-08-29 2002-10-09 Itis Holdings Plc Traffic scheduling system
KR100542014B1 (en) 2002-10-04 2006-01-10 엘지전자 주식회사 Global positioning method of mobile navigation for complex intersection guiding
US6990401B2 (en) 2002-10-04 2006-01-24 Daimlerchrysler Ag Predictive speed control for a motor vehicle
JP3876838B2 (en) * 2003-01-17 2007-02-07 トヨタ自動車株式会社 High-acceleration speed change control device for vehicle
KR101168423B1 (en) 2003-02-05 2012-07-25 가부시키가이샤 자나비 인포메틱스 Path search method of navigation apparatus and display method of traffic information
WO2004072583A1 (en) * 2003-02-11 2004-08-26 Harman Becker Automotive Systems Gmbh Height generating satellite navigation system
ATE374356T1 (en) * 2003-04-15 2007-10-15 Harman Becker Automotive Sys DATABASE SYSTEM FOR A NAVIGATION DEVICE
JP4279614B2 (en) 2003-06-27 2009-06-17 株式会社ザナヴィ・インフォマティクス Navigation device and processing method thereof
JP4063731B2 (en) 2003-07-30 2008-03-19 パイオニア株式会社 Information processing apparatus, system thereof, method thereof, program thereof, and recording medium recording the program
US7079946B2 (en) 2003-08-29 2006-07-18 Denso Corporation Iterative logical renewal of navigable map database
US7050903B1 (en) * 2003-09-23 2006-05-23 Navteq North America, Llc Method and system for developing traffic messages
US7355528B2 (en) 2003-10-16 2008-04-08 Hitachi, Ltd. Traffic information providing system and car navigation system
US7035734B2 (en) 2003-12-10 2006-04-25 Cisco Technology, Inc. Method and system for communicating navigation information
JP2005201793A (en) 2004-01-16 2005-07-28 Xanavi Informatics Corp Route retrieval method of navigation system
JP4346472B2 (en) * 2004-02-27 2009-10-21 株式会社ザナヴィ・インフォマティクス Traffic information prediction device
JP2005251134A (en) * 2004-03-08 2005-09-15 Nec Corp Information retrieval device and information retrieval method
US20050222756A1 (en) 2004-04-05 2005-10-06 Davis Scott B Methods for displaying a route traveled by mobile users in a communication network
US7366606B2 (en) * 2004-04-06 2008-04-29 Honda Motor Co., Ltd. Method for refining traffic flow data
US7680596B2 (en) * 2004-04-06 2010-03-16 Honda Motor Co., Ltd. Route calculation method for a vehicle navigation system
US7298891B2 (en) 2004-07-15 2007-11-20 Harris Corporation Bare earth digital elevation model extraction for three-dimensional registration from topographical points
US7289039B2 (en) * 2004-09-10 2007-10-30 Xanavi Informatics Corporation Apparatus and method for processing and displaying traffic information in an automotive navigation system
JP2006084384A (en) 2004-09-17 2006-03-30 Denso Corp Navigation system for vehicle
US7797100B2 (en) * 2004-09-24 2010-09-14 Aisin Aw Co., Ltd. Navigation systems, methods, and programs
JP2006138742A (en) 2004-11-12 2006-06-01 Aisin Aw Co Ltd Information acquisition system, and program of information acquisition method
US20060106531A1 (en) * 2004-11-12 2006-05-18 Aisin Aw Co., Ltd. Information gathering systems, methods, and programs
WO2006060518A2 (en) * 2004-11-30 2006-06-08 Circumnav Networks, Inc. Methods for deducing road geometry and connectivity
US7616715B2 (en) 2004-11-30 2009-11-10 Stmicroelectronics Asia Pacific Pte. Ltd. Method and system for estimating the speed of a mobile device in a network
JP4539326B2 (en) 2004-12-27 2010-09-08 日産自動車株式会社 Navigation device
TWI268342B (en) 2004-12-31 2006-12-11 Giga Byte Tech Co Ltd System and method for planning route
WO2006093047A1 (en) * 2005-03-04 2006-09-08 Pioneer Corporation Route search device, route search method, route search program, and recording medium
JP4329711B2 (en) 2005-03-09 2009-09-09 株式会社日立製作所 Traffic information system
JP2006293876A (en) 2005-04-14 2006-10-26 Hitachi Ltd Traffic information collection device and on-vehicle equipment
WO2006121986A2 (en) * 2005-05-06 2006-11-16 Facet Technology Corp. Network-based navigation system having virtual drive-thru advertisements integrated with actual imagery from along a physical route
JP2006329712A (en) 2005-05-24 2006-12-07 Matsushita Electric Ind Co Ltd Route search device
JP2006337182A (en) 2005-06-02 2006-12-14 Xanavi Informatics Corp Car navigation system, traffic information providing device, car navigation device, traffic information providing method, and traffic information providing program
US7454288B2 (en) * 2005-07-29 2008-11-18 Gm Global Technology Operations, Inc. System and method for clustering probe vehicles for real-time traffic application
JP2007047034A (en) 2005-08-10 2007-02-22 Toyota Motor Corp Route information providing device
TW200712529A (en) 2005-09-23 2007-04-01 Wonde Proud Technology Co Ltd Dual-directional GPS navigation method and device
US7698061B2 (en) 2005-09-23 2010-04-13 Scenera Technologies, Llc System and method for selecting and presenting a route to a user
GB0520576D0 (en) * 2005-10-10 2005-11-16 Applied Generics Ltd Using traffic monitoring information to provide better driver route planning
JP4735179B2 (en) * 2005-10-12 2011-07-27 株式会社デンソー Vehicle control device
WO2007047780A2 (en) 2005-10-14 2007-04-26 Dash Navigation Inc. System and method for identifying road features
CN1956566B (en) * 2005-10-28 2010-04-21 环达电脑(上海)有限公司 Method for automatically modified road attribute information on mobile equipment allocated with GPS module
CN1963847B (en) * 2005-11-07 2011-03-09 同济大学 Method for forecasting reaching station of bus
JP4735296B2 (en) 2006-02-03 2011-07-27 株式会社デンソー Probe information collection system and FCD in-vehicle device
JP4816124B2 (en) * 2006-02-20 2011-11-16 株式会社デンソー Map evaluation apparatus and map evaluation method
US20070208501A1 (en) * 2006-03-03 2007-09-06 Inrix, Inc. Assessing road traffic speed using data obtained from mobile data sources
JP4811063B2 (en) * 2006-03-10 2011-11-09 アイシン・エィ・ダブリュ株式会社 Traffic data calculation system
JP2007248347A (en) * 2006-03-17 2007-09-27 Iseki & Co Ltd Management system for agriculture
TW200737058A (en) 2006-03-17 2007-10-01 Mitac Int Corp A safety navigation system using wireless communication technology and method thereof
JP2007263710A (en) 2006-03-28 2007-10-11 Aisin Aw Co Ltd Route search method and navigation apparatus
US20070296575A1 (en) 2006-04-29 2007-12-27 Trex Enterprises Corp. Disaster alert device, system and method
FR2900728B1 (en) 2006-05-04 2008-10-10 Peugeot Citroen Automobiles Sa ROAD INFORMATION METHOD AND DEVICE USING SPEED PROFILES FOR EACH ROAD
US7706964B2 (en) * 2006-06-30 2010-04-27 Microsoft Corporation Inferring road speeds for context-sensitive routing
US8160814B2 (en) * 2006-07-10 2012-04-17 Aisin Aw Co., Ltd. Map distribution systems, methods and programs
JP4886421B2 (en) 2006-08-09 2012-02-29 株式会社日立製作所 Navigation device and display method thereof
US7908076B2 (en) * 2006-08-18 2011-03-15 Inrix, Inc. Representative road traffic flow information based on historical data
DE102006044438A1 (en) * 2006-09-21 2008-04-03 Robert Bosch Gmbh Display device for displaying a travel route
WO2008110321A1 (en) 2007-03-09 2008-09-18 Tomtom International B.V. Navigation device assisting road traffic congestion management
KR101467557B1 (en) * 2007-05-02 2014-12-10 엘지전자 주식회사 Selecting Route According To Traffic Information
EP2006818B1 (en) * 2007-06-15 2012-04-25 Xanavi Informatics Corporation Traffic information providing system and method for generating traffic information
JP4555321B2 (en) 2007-07-25 2010-09-29 クラリオン株式会社 Route search apparatus and route search method
US7774121B2 (en) * 2007-07-31 2010-08-10 Gm Global Technology Operations, Inc. Curve speed control system with adaptive map preview time and driving mode selection
JP2009036996A (en) 2007-08-01 2009-02-19 Clarion Co Ltd On-vehicle information terminal, its control method and control program
US8353749B2 (en) * 2007-09-04 2013-01-15 Dean Sanders Vehicle tracking system, method and game
US20090088965A1 (en) 2007-10-02 2009-04-02 International Business Machines Corporation Enhancement for navigation systems for using weather information when predicting a quickest travel path
US9952057B2 (en) 2007-10-26 2018-04-24 Tomtom Traffic B.V. Method of processing positioning data
JP4918918B2 (en) 2008-03-24 2012-04-18 アイシン・エィ・ダブリュ株式会社 Navigation system, route guidance method and route guidance program
US20090287405A1 (en) * 2008-05-15 2009-11-19 Garmin Ltd. Traffic data quality
CA2726146A1 (en) 2008-06-25 2009-12-30 Tomtom International B.V. Navigation apparatus and method of detection that a parking facility is sought
US8108141B2 (en) 2008-08-28 2012-01-31 Empire Technology Development Llc Intelligent travel routing system and method
US8121415B2 (en) * 2008-10-28 2012-02-21 Quality Vision International, Inc. Combining feature boundaries
US20100209882A1 (en) * 2009-02-18 2010-08-19 Gm Global Technology Operations, Inc. Driving skill recognition based on straight-line driving behavior
JP2010210284A (en) 2009-03-06 2010-09-24 Denso Corp Traffic management device and traffic management method
US20120047087A1 (en) 2009-03-25 2012-02-23 Waldeck Technology Llc Smart encounters
US8395529B2 (en) 2009-04-02 2013-03-12 GM Global Technology Operations LLC Traffic infrastructure indicator on head-up display
US8358224B2 (en) * 2009-04-02 2013-01-22 GM Global Technology Operations LLC Point of interest location marking on full windshield head-up display
US20110055210A1 (en) 2009-09-02 2011-03-03 The Government Of The U.S.A., As Represented By The Secretary Of The Navy Robust Adaptive Data Clustering in Evolving Environments
US8255146B2 (en) * 2009-09-23 2012-08-28 Sudharshan Srinivasan Time slot based roadway traffic management system
US8396663B2 (en) * 2009-12-15 2013-03-12 Navteq B.V. Speed profile dictionary
JP2011137725A (en) 2009-12-28 2011-07-14 Clarion Co Ltd Navigation device and method of searching route by the same
JP5066206B2 (en) 2010-03-11 2012-11-07 日立オートモティブシステムズ株式会社 Link string conversion method, road information providing apparatus, and road information providing system
DE102010029467A1 (en) * 2010-05-28 2011-12-01 Ford Global Technologies, Llc Method and device for assisting a driver in a fuel-saving driving style
JP2011252767A (en) 2010-06-01 2011-12-15 Toyota Motor Corp Information processing system
CN101846522B (en) 2010-06-21 2012-07-04 江苏新科软件有限公司 Automobile navigation device capable of calculating carbon emission
GB201018815D0 (en) * 2010-11-08 2010-12-22 Tomtom Int Bv High-definition weather for improved routing and navigation systems
CN103348392B (en) * 2010-12-31 2016-06-29 通腾比利时公司 Air navigation aid and system
EP2659469A1 (en) * 2010-12-31 2013-11-06 Tomtom Belgium N.V. Systems and methods for obtaining and using traffic flow information
CN102682041B (en) 2011-03-18 2014-06-04 日电(中国)有限公司 User behavior identification equipment and method
US8977295B2 (en) 2011-12-08 2015-03-10 Here Global B.V. Method and apparatus for generating real-time map and location-based data
US8649962B2 (en) 2011-12-19 2014-02-11 International Business Machines Corporation Planning a route for a convoy of automobiles
CN107516008B (en) 2012-01-19 2021-04-13 耐克创新有限合伙公司 Multiple activity platform and interface
US8768604B1 (en) * 2012-06-30 2014-07-01 Tomasz R. Klimek Method and system for normalizing and comparing GPS data from multiple vehicles
US20140012494A1 (en) 2012-07-06 2014-01-09 International Business Machines Corporation Collaborative gps tracking
US9883340B2 (en) 2012-08-10 2018-01-30 Here Global B.V. Method and apparatus for providing group route recommendations
US9300646B1 (en) * 2013-03-15 2016-03-29 Microstrategy Incorporated Logging location and time data associated with a credential
US10700920B2 (en) * 2013-04-29 2020-06-30 Moogsoft, Inc. System and methods for decomposing events from managed infrastructures that includes a floating point unit
US9267798B2 (en) * 2013-12-11 2016-02-23 Strava, Inc. Generating elevation data for maps
US9536424B2 (en) * 2014-02-10 2017-01-03 Here Global B.V. Adaptive traffic dynamics prediction
US9824505B2 (en) 2014-02-25 2017-11-21 Ford Global Technologies, Llc Method for triggering a vehicle system monitor
US9613527B2 (en) * 2014-09-26 2017-04-04 Here Global B.V. Method and apparatus for providing smaller incremental updates to a navigational database
US20160269411A1 (en) * 2015-03-12 2016-09-15 Ronen MALACHI System and Method for Anonymous Biometric Access Control

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6707421B1 (en) * 1997-08-19 2004-03-16 Siemens Vdo Automotive Corporation Driver information system
US6401027B1 (en) * 1999-03-19 2002-06-04 Wenking Corp. Remote road traffic data collection and intelligent vehicle highway system
US20040034467A1 (en) * 2002-08-09 2004-02-19 Paul Sampedro System and method for determining and employing road network traffic status
US20040230373A1 (en) * 2003-05-12 2004-11-18 Assimakis Tzamaloukas Hierarchical floating car data network
US20070208496A1 (en) * 2006-03-03 2007-09-06 Downs Oliver B Obtaining road traffic condition data from mobile data sources
DE102006010572A1 (en) * 2006-03-06 2007-09-13 Gerhard Lauche Traffic guidance system for use in vehicle, has data processing unit transmitting processed data to application unit over communication unit, where application unit uses data for computing vehicle travel route

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290695B2 (en) 2009-01-16 2012-10-16 Volker Hiestermann Method for computing an energy efficient route
US8712676B2 (en) 2009-01-16 2014-04-29 Tomtom Global Content B.V. Method for computing an energy efficient route
US10161758B2 (en) 2009-01-16 2018-12-25 Tomtom Global Content B.V. Method for creating speed profiles for digital maps
WO2011004029A2 (en) 2009-07-09 2011-01-13 Tomtom International Bv Navigation devices
WO2011004026A2 (en) 2009-07-09 2011-01-13 Tomtom International Bv Navigation devices and methods carried out thereon
EP2565582A1 (en) 2009-07-09 2013-03-06 TomTom International B.V. Method for compressing route search acceleration data
EP2746727A1 (en) 2009-07-09 2014-06-25 TomTom International B.V. Method and device for time-dependent route calculation
WO2011131376A1 (en) 2010-04-23 2011-10-27 Tomtom International B.V. Navigation devices and methods carried out thereon
EP3309514A1 (en) 2010-04-23 2018-04-18 TomTom International B.V. Navigation devices and methods carried out thereon
WO2012034582A1 (en) 2010-09-13 2012-03-22 Tomtom International B.V. Improvements in or relating to portable processing devices
JP2013538403A (en) * 2010-09-13 2013-10-10 トムトム インターナショナル ベスローテン フエンノートシャップ Improvement of portable processing equipment or related improvements
US10648815B2 (en) 2013-03-21 2020-05-12 Sony Corporation Information processing device, information processing system, and information processing method

Also Published As

Publication number Publication date
RU2498220C2 (en) 2013-11-10
CA2703502C (en) 2017-09-26
US20100286907A1 (en) 2010-11-11
RU2010121136A (en) 2011-12-10
CA2703515C (en) 2018-11-13
CA2703502A1 (en) 2009-04-30
EP2203718A1 (en) 2010-07-07
AU2008316530A1 (en) 2009-04-30
TW200925556A (en) 2009-06-16
US20100250127A1 (en) 2010-09-30
AU2008316525A1 (en) 2009-04-30
RU2010121277A (en) 2011-12-10
TW200925554A (en) 2009-06-16
CA2703515A1 (en) 2009-04-30
CN101836079A (en) 2010-09-15
CN101836083A (en) 2010-09-15
JP2011502248A (en) 2011-01-20
RU2010121151A (en) 2011-12-10
CA2703505A1 (en) 2009-04-30
JP5990498B2 (en) 2016-09-14
EP2203715A1 (en) 2010-07-07
EP2203713A1 (en) 2010-07-07
TW200928312A (en) 2009-07-01
RU2010121147A (en) 2011-12-10
JP5713676B2 (en) 2015-05-07
JP2015096957A (en) 2015-05-21
JP5315353B2 (en) 2013-10-16
CN101836084A (en) 2010-09-15
CA2703507C (en) 2017-08-15
JP2013254499A (en) 2013-12-19
CN104316064A (en) 2015-01-28
CA2703510A1 (en) 2009-04-30
US20150308847A1 (en) 2015-10-29
EP2203718B1 (en) 2014-03-12
AU2008316527A1 (en) 2009-04-30
US10024677B2 (en) 2018-07-17
WO2009053405A1 (en) 2009-04-30
WO2009053408A1 (en) 2009-04-30
EP2203714B1 (en) 2017-05-10
ES2386394T3 (en) 2012-08-20
JP2011504253A (en) 2011-02-03
RU2489681C2 (en) 2013-08-10
WO2009053411A1 (en) 2009-04-30
JP2016164563A (en) 2016-09-08
US9952057B2 (en) 2018-04-24
CN101836083B (en) 2015-03-18
CN101836082A (en) 2010-09-15
CN101836084B (en) 2013-03-20
CN101836081A (en) 2010-09-15
ES2458144T3 (en) 2014-04-30
JP2011501224A (en) 2011-01-06
RU2010121152A (en) 2011-12-10
EP2203714A1 (en) 2010-07-07
AU2008316523A1 (en) 2009-04-30
TW200925557A (en) 2009-06-16
TW200925631A (en) 2009-06-16
AU2008316529A1 (en) 2009-04-30
JP2011502299A (en) 2011-01-20
US20100299064A1 (en) 2010-11-25
US20100299055A1 (en) 2010-11-25
WO2009053407A1 (en) 2009-04-30
CA2703507A1 (en) 2009-04-30
US9829332B2 (en) 2017-11-28
EP2963389B1 (en) 2019-01-16
EP2203717A1 (en) 2010-07-07
US8958983B2 (en) 2015-02-17
JP5460604B2 (en) 2014-04-02
EP2963389A1 (en) 2016-01-06
RU2501087C2 (en) 2013-12-10
CN101836080B (en) 2014-12-17
US20100312472A1 (en) 2010-12-09
RU2486473C2 (en) 2013-06-27
TW200928308A (en) 2009-07-01
AU2008316522A1 (en) 2009-04-30
JP6284970B2 (en) 2018-02-28
JP5315352B2 (en) 2013-10-16
CN104316064B (en) 2018-07-10
CA2703503A1 (en) 2009-04-30
EP2203717B1 (en) 2012-05-16
EP2573519A1 (en) 2013-03-27
WO2009053406A1 (en) 2009-04-30
WO2009053405A9 (en) 2009-06-18
CN101836080A (en) 2010-09-15
JP2011501173A (en) 2011-01-06
CN101836079B (en) 2013-08-21
CA2703503C (en) 2018-10-16
JP6450716B2 (en) 2019-01-09
JP2011502298A (en) 2011-01-20
EP2203716A1 (en) 2010-07-07
JP2017021815A (en) 2017-01-26
US9297664B2 (en) 2016-03-29
US10024676B2 (en) 2018-07-17

Similar Documents

Publication Publication Date Title
CA2703507C (en) A method of processing positioning data
EP2671047B1 (en) Generating jam related segment data

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880113016.6

Country of ref document: CN

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

Ref document number: 08842327

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008842327

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008316529

Country of ref document: AU

Ref document number: 584483

Country of ref document: NZ

WWE Wipo information: entry into national phase

Ref document number: 2010530451

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2703510

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2008316529

Country of ref document: AU

Date of ref document: 20081022

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010121151

Country of ref document: RU