The present application generally relates to navigation devices and traffic analysis methods.
Governments, corporations and other bodies conduct transportation planning to ease traffic and reduce travel time. In transportation planning, governments need information regarding road infrastructure and traffic analysis to make proper decisions.
Conventionally, traffic analysis was obtained doing limited surveys. These surveys include drivers liming a specific route using a stop watch or temporarily placing cameras along a road to match license plates and monitor the traffic. However, surveys are costly and result in limited samples.
Inductive loops or cameras may be placed in a road to measure speed and how many drivers use that road. However, inductive loops or cameras are generally very costly and time consuming.
In recent years, consumers have been provided with a variety of devices and systems to enable them to locate places on a digital map using GPS (Global Positioning System) signal reception and processing functionality. The term “place” is a general term used throughout the description of example embodiments. The term “place” includes street addresses, buildings located at street addresses such as businesses and landmarks, and facilities located at a number of street addresses such as shopping malls and business parks. The variety of devices and systems used by consumers are in the form of in-vehicle navigation systems that enable drivers to navigate over streets and roads; hand-held devices such as personal digital assistants (“PDAs”), personal navigation devices (PNDs), and cell phones or other types of mobile devices that can do the same; desktop applications, and Internet applications in which users can generate maps showing desired places. The common aspect in all of these and other types of devices and systems is a map database of geographic features, vectors and attributes, and software to access, manipulate and navigate the map database in response to user inputs.
In at least one example embodiment, a method of analyzing traffic by a system is disclosed. The method includes receiving sequential location measurements from users of the system, mapping the received sequential location measurements to a digital map, and determining traffic information for a first time period based on mapped sequential location measurements corresponding to the first time period.
In another example embodiment, a system includes a database configured to store sequential location measurements received from users of the system and a processor configured to extract sequential location measurements from the database and determine traffic information for a first period based on the extracted sequential location measurements. The sequential location measurements include periodic times and associated coordinates.
Another example embodiment provides computer software including one or more software modules operable, when executed in an execution environment, to cause a processor to connect to a database configured to store sequential location measurements received from users of the system and extract sequential location measurements from the database and determine traffic information for a first period based on the extracted sequential location measurements. The sequential location measurements include periodic times and associated coordinates.
The present application will be described in more detail below by using example embodiments, which will be explained with the aid of the drawings, in which:
a and 4b illustrate perspective views of the navigation device of
Various example embodiments will now be described more fully with reference to the accompanying drawings in which some example embodiments are illustrated.
Accordingly, while example embodiments are capable Of various modifications and alternative forms, embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit example embodiments to the particular forms disclosed, but on the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of example embodiments. Like numbers refer to like elements throughout the description of the figures.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groups thereof.
Spatially relative terms, e.g., “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for ease of description to describe one element or a relationship between a feature and another element or feature as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, for example, the term “below” can encompass both an orientation which is above as well as below. The device may be otherwise oriented (rotated 90 degrees or viewed or referenced at other orientations) and the spatially relative descriptors used herein should be interpreted accordingly.
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. It will be further understood that terms, e.g., those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Portions of example embodiments and corresponding detailed description are presented in terms of software, or algorithms and symbolic representations of operation on data bits within a computer memory. These descriptions and representations are the ones by which those of ordinary skill in the art effectively convey the substance of their work to others of ordinary skill in the art. An algorithm, as the term is used here, and as it is used generally, is conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of optical, electrical, or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
In the following description, illustrative embodiments will be described with reference to acts and symbolic representations of operations (e.g., in the form of flowcharts) that may be implemented as program modules or functional processes include routines, programs, objects, components, data structures, that perform particular tasks or implement particular abstract data types and may be implemented using existing hardware at existing network elements or control nodes (e.g., a database). Such existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific-integrated-circuits, field programmable gate arrays (FPGAs) computers or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, or as is apparent from the discussion, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Note also that the software implemented aspects of example embodiments are typically encoded on some form of computer readable medium or implemented over some type of transmission medium. The computer readable medium may be magnetic (e.g., a floppy disk or a hard drive) or optical (e.g., a compact disk read only memory, or “CD ROM”), and may be read only or random access. Similarly, the transmission medium may be twisted wire pairs, coaxial cable, optical fiber, or some other suitable transmission medium known to the art. Example embodiments are not limited by these aspects of any given implementation.
Example embodiments will now be described with particular reference to a portable navigation device (PND). It should be understood that the teachings of the present disclosure are not limited to PNDs and are universally applicable to any type of processing device that is configured to execute navigation software 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/or navigation device, irrespective of whether that device is embodied as a PND, a navigation device built into a vehicle, or indeed a computing resource (such as a desktop or portable personal computer (PC), mobile telephone or portable digital assistant (PDA) executing route planning and navigation software).
It will also be apparent from the following that the teachings of the present disclosure 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.
Example embodiments provide for using historical sequential location measurements (e.g., GPS data) to analyze traffic and aid in road planning.
Formerly known as NAVSTAR, the GPS incorporates a plurality of satellites which work with the earth in extremely precise orbits. Based on these precise orbits, GPS satellites can relay their location to any number of receiving units.
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 can be determined, with only two signals using other triangulation techniques). When implementing geometric triangulation, the receiver utilizes the three known positions to determine an own two-dimensional position relative to the satellites. Determining the two-dimensional position can be done in a known manner. Additionally, acquiring a fourth satellite signal will allow the receiving device to calculate a three dimensional position of the receiver 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 spread spectrum signals 160 may be continuously transmitted from each satellite 120 to utilize a highly accurate frequency standard accomplished with an extremely accurate atomic clock. Each satellite 120, as part of its data signal transmission 160, transmits a data stream indicative of that particular satellite 120. It is appreciated by those skilled in the relevant art that the GPS receiver 140 generally acquires spread spectrum GPS satellite signals 160 from at least three satellites 120 for the GPS receiver 140 to calculate its two-dimensional position by triangulation. Acquisition of an additional signal, resulting in signals 160 from a total of four satellites 120, permits the GPS receiver 140 to calculate its three-dimensional position in a known manner.
The navigation device 200 includes a processor 210 connected to an input device 220 and a display screen 240. The input device 220 may include a keyboard device, voice input device, and/or any other known input device utilized to input information; and the display screen 240 can include any type of display screen such as an LCD display, for example. In at least one example embodiment, the input device 220 and the display screen 240 are integrated into an integrated input and display device, including a touchpad or touchscreen input wherein a user need only touch a portion of the display screen 240 to select one of a plurality of display choices or to activate one of a plurality of virtual buttons.
The navigation device may include an output device 260, for example, an audible output device (e.g., a loudspeaker). As the output device 260 can produce audible information for a user of the navigation device 200, it is should equally be understood that the input device 220 can include a microphone and software for receiving input voice commands as well.
In the navigation device 200, the processor 210 is operatively connected to and set to receive input information from input device 240 via a connection 225, and operatively connected to at least one of the display screen 240 and the output device 250, via output connections 245, to output information thereto. Further, the processor 210 is operatively connected to the memory 230 via the connection 235 and is further adapted to receive/send information from/to input/output (I/O) ports 270 via a connection 275, wherein the I/O port 270 is connectible to an I/O device 280 external to the navigation device 200.
The external I/O device 280 may include, but is not limited to an external listening device such as an earpiece. For example, the connection to the I/O device 280 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 connection to an ear piece or head phones, and/or for connection to a mobile phone. Moreover, the mobile phone connection may be used to establish a TCP/IP connection between the navigation device 200 and the internet or any other network, and/or to establish a connection to a server via the internet or some other network.
Further, it will be understood by one of ordinary skill in the art that the electronic components shown in
In addition, the portable or handheld navigation device 200 of
Referring now to
The establishing of the network connection between the mobile device (via a service provider) and another device such as the server 302, using the Internet (such as the World Wide Web), for example, can be done in a known manner. This can include use of a TCP/IP layered protocol, for example. The mobile device can utilize any number of communication standards such as CDMA, GSM and WAN.
As such, an internet connection may be utilized which is achieved via data connection, via a mobile phone or mobile phone technology within the navigation device 200, for example. For this connection, the internet connection between the server 302 and the navigation device 200 is established. This can be done, for example, through a mobile phone or other mobile device and a GPRS (General Packet Radio Service)-connection. GPRS connection is a high-speed data connection for mobile devices provided by telecom operators; GPRS is a method to connect to the internet.
The navigation device 200 can further complete a data connection with the mobile device, and eventually with the internet and server 302, via existing Bluetooth technology, for example, in a known manner, wherein the data protocol can utilize any number of standards, such as the GSRM, the Data Protocol Standard for the GSM standard, for example.
The navigation device 200 may include its own mobile phone technology within the navigation device 200 (including an internal antenna, of the navigation device 200, for example). The mobile phone technology within the navigation device 200 can include internal components as specified above, and/or can include an insertable card (e.g. Subscriber Identity Module or 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 302, via the Internet for example, in a manner similar to that of any mobile device.
For GPRS phone settings, a Bluetooth enabled navigation device may be used to correctly work with the ever changing spectrum of mobile phone models and manufacturers. Model/manufacturer specific settings may be stored on the navigation device 200, for example. The data stored for this information can be updated.
In
The server 302 includes, in addition to other components which may not be illustrated, a processor 304 operatively connected to a memory 306 and further operatively connected, via a wired or wireless connection 314, to a mass data storage device. The processor 304 is further operatively connected to a transmitter 308 and a receiver 310, to transmit and send information to and from navigation device 200 via communications channel 318, respectively. The signals sent and received may include data, communication, and/or other propagated signals. The transmitter 308 and receiver 310 may be selected and/or designed according to a communications requirement and communication technology used in the communication design for the navigation system 200. Further, it should be noted that the functions of the transmitter 308 and receiver 310 may be combined into a signal transceiver.
The server 302 is further connected to (or includes) the mass storage device 312. The mass storage device 312 may be coupled to the server 302 via communication link 314. The mass storage device 312 contains a store of navigation data and map information, and can again be a separate device from the server 302 or can be incorporated into the server 302.
The navigation device 200 is adapted to communicate with the server 302 through a communications channel 318, and includes the processor 210 and the memory 230, as previously described with regard to
Software stored in the memory 306 provides instructions for the processor 304 and allows the server 302 to provide services to the navigation device 200. One service provided by the server 302 involves processing requests from the navigation device 200 and transmitting navigation data from the mass data storage 312 to the navigation device 200. Another service provided by the server 302 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 communications channel 318 generically represents a propagating medium or path that connects the navigation device 200 and the server 302. Both the server 302 and navigation device 200 include transmitters 308, 320 for transmitting data through the communication channel 318 and receivers 310, 322 for receiving data that has been transmitted through the communications channel 318.
The communications channel 318 is not limited to a particular communication technology. Additionally, the communications channel 318 is not limited to a single communication technology. The communication channel 318 may include several communication links that use a variety of technologies. For example, the communications channel 318 can be adapted to provide a path for electrical, optical, and/or electromagnetic communications. As such, the communications channel 318 includes, but is not limited to, one or a combination of the following: electric circuits, electrical conductors such as wires and coaxial cables, fiber optic cables, converters, radio-frequency (RF) waves, the atmosphere and empty space. Furthermore, the communications channel 318 can include intermediate devices such as routers, repeaters, buffers, transmitters, and receivers.
In an example embodiment, the communications channel 318 includes telephone and computer networks. Furthermore, the communications channel 318 may be capable of accommodating wireless communications such as radio frequency, microwave frequency, and infrared communication. Additionally, the communications channel 318 can accommodate satellite communication.
The communications signals transmitted through the communications channel 318 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) and Global System for Mobile Communications (GSM). Both digital and analogue signals can be transmitted through the communication channel 318. These signals may be modulated, encrypted and/or compressed signals as may be desirable for the communication technology.
The server 302 is a remote server accessible by the navigation device 200 via a wireless channel. The server 302 may include a network server located on a local area network (LAN), wide area network (WAN) and/or virtual private network (VPN).
The server 302 may include a personal computer such as a desktop or laptop computer, and the communications channel 318 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 302 to establish an internet connection between the server 302 and the navigation device 200. Alternatively, a mobile telephone or other handheld device may establish a wireless connection to the internet, for connecting the navigation device 200 to the server 302 via the internet.
The navigation device 200 may be provided with information from the server 302 via information downloads which may be periodically updated automatically or upon a user connecting navigation device 200 to the server 302 and/or may be more dynamic upon a more constant or frequent connection being made between the server 302 and navigation device 200 via a wireless mobile connection device and TCP/IP connection, for example. For many dynamic calculations, the processor 304 in the server 302 may be used to handle the bulk of the processing; however, processor 210 of navigation device 200 can also handle much processing and calculation, oftentimes independent of a connection to a server 302.
As indicated above in
a and 4b are perspective views of the navigation device 200. As shown in
The navigation device 200 may sit on an arm 292, which itself may be secured to a vehicle dashboard/window/etc. using a suction cup 294. This arm 292 is one example of a docking station to which the navigation device 200 can be docked.
As shown in
In at least one example embodiment, a method of analyzing traffic includes receiving sequential location measurements from users of a system, mapping the received sequential location measurements to a digital map and determining traffic information for a first time period based on mapped sequential location measurements corresponding to the first period. The example embodiments described below use GPS data as an example of sequential location measurements, however, the example embodiments should not be limited thereto.
Segments in navigation networks, such as a portion of a road and/or a sidewalk are often referred to as navigable features. Boundaries of these segments, such as centrelines, lanes, curbs, shoulder lines and stop sign lines may be referred to as geometric features.
Moreover, while example embodiments described below utilize GPS measurements (trace points) including latitudinal and longitudinal coordinates as location measurements, it should be understood that location measurements may be obtained from any source and are not limited to GPS.
Traffic information may include (1) travel times on a road network; (2) speeds on the road network; (3) an overview of the most used road segments in the road network; (4) an overview of traffic bottleneck in the road network; (5) which routes are used to travel between a specific origin and destination; (6) flows of traffic between geographic areas; (7) flows of traffic over complex intersections; (8) measured speeds (from a storage database) being provided in a display of what speeds traffic moved at on a road on what days and times; and (9) differences in speeds between peak and off-peak time periods displayed by road segment.
The system 500 further includes the navigation device 200 and navigation devices 200B-200X connected to the storage database 530 through the Internet 520. Although
The navigation devices 200, 200B-200X are connected to the Internet 520 by computing devices 505, 505B-505X, respectively. The navigation devices 200B-200X may have the same circuit and hardware design of the navigation device 200 and, therefore, may perform the same functions that the navigation device 200 may perform. Alternatively, the navigation devices 200B-200X may be a navigation device that is known and is different from the navigation device 200.
The navigation devices 200, 200B-200X may be connected to the computing devices 505, 505B-505X in a known manner such as a USB (Universal Serial Bus) cord. The computing devices 505, 505B-505X are connected to the Internet 520 through connections 510, 510B-510X. The establishing of a connection between the navigation devices 200, 200B-200X and the storage database 530 using the Internet 520 may be done in a known manner.
In the example embodiment, the establishment of a connection between the storage database 530 and at least one of the navigation devices 200, 200B-200X can be used to send information acquired by the navigation devices 200, 200B-200X to the storage database 530.
For the sake of clarity and brevity, the description of the navigation device 200 and the computing device 505 will be described. However, it should be understood that the navigation devices 200B-200X may have the same functionality of the navigation device 200 and the computing devices 505B-505X may have the same functionality of the computing device 505. Therefore, for the sake of clarity and brevity, a detailed description of the navigation devices 200B-200X and the computing devices 505B-505X will not be discussed.
The navigation device 200 is configured to acquire data. The acquired data are GPS data (GPS registrations) which include time and latitudinal and longitudinal coordinates of the navigation device 200. To acquire data, a user of the navigation device 200 is asked whether the user is willing to provide data. If the user agrees to provide data, then the navigation device periodically acquires the data such as time and coordinates. The time includes the time of day and the coordinates that identify the location of the navigation device 200.
The navigation device 200 acquires the data periodically. For example, the navigation device 200 may acquire GPS data every 10 seconds. The GPS data are written to the memory 230 of the navigation device 200. The GPS data form a data set covering paths (e.g., roads) that have been covered by the navigation device 200 with dates, times and coordinates. Thus, velocities may be calculated from the GPS data since coordinates and times are known.
The GPS data are stored in an archive file in the memory 230 of the navigation device as anonymous data. The archive file may be accessed from the computing device 505.
The computing device 505 may be a personal computer, mobile phone, PDA or any type of device that is configured to upload the archive file stored in the memory 230 to the storage database 530 through the Internet 520 when connected to the navigation device 200. If the computing device 505 is a mobile device, the mobile computing device can utilize any number of communication standards such as CDMA, GSM and WAN.
The storage database 530 stores the anonymous archive files that are downloaded from the various navigation devices 200, 200B-200X. Therefore, the storage database 530 stores numerous measurements regarding the paths that the navigations devices 200, 200B-200X have covered.
The map-matched database 540 is operatively coupled to the storage database 530. The map-matched database 540 is configured to map the GPS data to a digital map. The storage database 530 and the map-matched database 540 may be implemented in the server 302 and/or the mass storage device 312, for example.
The map-matched database 540 is operatively coupled to a computing device 560. Based on various request criteria, such as day, time of day, originating location and destination, a processor and software of the map-matched database may provide traffic information to a user of the computing device 560. While the computing device 560 is illustrated as a separate entity from the computing devices 505, 505B-505X, it should not be limited thereto.
As shown in
The map-matched database 540 is shown as external storage to the computing device 560, but the map-matched database 540 in some instances may be the same memory as memory 562. The map-matched database 540 includes map segments 542 of digital maps, shape points 544, address points 546 and a processor 547 configured to run proprietary map-matched database software 548. The processor 547 may be the processor 304 and, therefore, has the same functionality as the processor 304.
Moreover, while the processor 547 is shown as internal to the map-matched database 540, the processor may be external to the map-matched database 540.
The map-matched database software 548 (computer software) includes one or more software modules operable, when executed in an execution environment, to cause the processor 547 to connect to the map-matched database 540 that is configured to store sequential location measurements received from users of the system, the sequential location measurements including periodic times and associated coordinates, and extract sequential location measurements from the storage database 540 and determine traffic information for a first period based on the extracted sequential location measurements.
The map-matched database software 548 uses real-world locality sources and latitude/longitude sources 570 to create the map segments 542, shape points 544 and address points 546 in the map-matched database 540.
The map-matched database 540 includes GPS data that is matched to the map segments 542 in the digital maps. The matched GPS data is then mapped GPS data. Methods of map-matching are well know and, therefore, will not be described in greater detail for the sake of clarity and brevity.
The map-matched database 540 is configured to perform data mining on the mapped GPS data using the processor 547 with the map-matched database software 548. The data mining utilizes slices. For one map segment comparison, a slice is formed of a map segment and time frame. The time frame can be any form. A map segment may be referred to as the smallest 2-dimensional unit in the underlying map implementation. For inter-segment comparisons, a slice is formed by a collection of map segments. All mapped GPS data along the slice are processed and accumulated. The GPS data of all map segments are then accumulated. The GPS data is processed per segment to increase coverage.
The data mining allows the map-matched database 540 to extract mapped GPS data based on the associated coordinates and times of the GPS data. The mapped GPS data may be stored on a per day level. If a user requests traffic information for a time period smaller than a day, further filtering is applied to obtain the mapped GPS data corresponding to the time period.
Using the computing device 560, a user may access the map-matched database 540 for traffic analysis and planning. A user may be governmental official(s), commercial customers or any user who travels the road network. The map-matched database 540 uses actual calculated speeds from the GPS data to analyze traffic rather than theoretical speeds (e.g., speed limits). For example, a user uses the computing device 560 to request an estimated travel time for Jan. 1, 2011 from a first origin to a first destination (e.g., a user-specified route). The map-matched database software 548 of the map-matched database 540 receives the request and instructs the processor 547 to extract GPS data that are digitally mapped that correspond to January 1 of previous years (historical data) and are for coordinates on the user specified route on the road network. The map-matched database 540 then uses the extracted GPS data to calculate the estimated travel time and speeds. More specifically, the map-matched database compares the times of the extracted mapped GPS data across roads in the map to calculate the estimated travel time and speeds.
Estimated travel time is just one example of traffic information. Other examples of traffic information include: (1) origin(A)-destination(B) flow patterns, which are the percentages of users that travel along various routes from A to B; (2) origin(A)-destination(B) route patterns, which are routes used between A and B; (3) isochronal maps, which are bands of travel times around specific locations illustrating accessibility, by day and time of day; (4) selected link origin-destination flow patterns, which indicate where traffic is coming and going on a route; (5) rat runs, which is how much undesirable traffic is cutting through a center of town, compared to total traffic flows (e.g., traffic using a small residential street as a through-route, when the traffic should be using a bypass or major thoroughfare); (6) bottleneck analysis, which is based on measured speeds on the roads and indicates where traffic is slow by day and time of day; (7) intersection analysis, which indicates the relative flows of traffic between different legs of an intersection; (8) measured speeds (from a storage database) being provided in a display of what speeds traffic moved at on a road on what days and times; and (9) differences in speeds between peak and off-peak time periods displayed by road segment.
The above also applies to a method of an example embodiment. The method includes receiving GPS data by the storage database from users of the navigations devices 200, 200B-200X, mapping the received GPS data to a digital map in the map-matched database 540 and determining traffic information for a first time period based on the mapped GPS data during a previous second period. For example, traffic information for a future date of Jan. 1, 2011 may be determined based on the GPS data that corresponds to Jan. 1, 2010, Jan. 1, 2009 and other January 1 of previous years.
Since the map-matched database 540 acquires data from navigation devices that travel paths and roads, the cost of traffic analysis is reduced because the acquired data may replace costly camera systems, inductive loops and other traffic measuring systems. Furthermore, as described in more detail below, the navigation devices provide more precise measurements than the costly devices, thereby improving traffic analysis and planning.
As shown in
At S750, the received GPS data (sequential location measurements) are mapped to a digital map by a map-matched database. The map-matched database of
At S800, the processor and map-matched software of the map-matched database may determine traffic information for a time period.
The request may include a type of traffic information requested, origin, destination and a time period. The time period may be for just a certain time of day. For example, a user may request any type of traffic information described above such as bottleneck analysis from 3 p.p. to 7 p.m. from the Amsterdam Centraal railway station to the Vondelpark in Amsterdam on Jan. 1, 2011.
A processor with map-matched database software in the map-matched database is configured to receive the request and process the request from the user. The processor and the map-matched database software described in
If a request is received at S805, the processor processes the request which includes extracting mapped GPS data that correspond to the type of traffic information requested and the time. The mapped GPS data is extracted by data mining the GPS data based on the associated coordinates and times of the GPS data. For example, if a user requests a bottleneck analysis from 3 p.m. to 7 p.m. from the Amsterdam Centraal railway station to the Vondelpark in Amsterdam on Jan. 1, 2011, the map-matched database software selects all segments needed to travel from the railway station to Vondelpark. The map-matched database extracts all mapped GPS data on each selected segment on Jan. 1, 2010, Jan. 1, 2009 and previous January 1 from 3 p.m. to 7 p.m. and, based on a transit time distribution per segment, derives a global transit time. In a case where multiple routes between the railway and Vondelpark, each route may be analyzed individually.
Once the map-matched database software extracts the mapped GPS data that corresponds to the request, the map-matched database determines the traffic information based on the request at S815. Based on the amount of GPS data (number of GPS registrations), associated coordinates, time of year, time of day and speed, the map-matched database may provide the following types of traffic information:
(1) origin(A)-destination(B) flow patterns;
(2) origin(A)-destination(B) route patterns;
(3) isochronal maps;
(4) selected link origin-destination flow patterns;
(5) rat runs;
(6) bottleneck analysis;
(7) intersection analysis;
(8) measured speeds (from a storage database) being provided in a display of what speeds traffic moved at on a road on what days and times; and
(9) differences in speeds between peak and off-peak time periods displayed by road segment.
Origin(A)-destination(B) flow patterns, origin(A)-destination(B) route patterns, and selected link origin-destination flow patterns are variants of the same algorithm. The algorithm first extracts all sequential location measurements (e.g., GPS data) touching the selected areas (origin and destination or selected segment). Then, the extracted sequential location measurements are broken up into continuous pieces (stop detection). Break up criterion is used to break the sequential location measurements into the pieces. If there is no GPS data for time period, the location measurements are broken into pieces at that time period. The time period may fifteen minutes and may be configurable. A start and an end of the pieces constitute the result for origin(A)-destination(B) flow patterns and selected link origin-destination flow patterns. Segments constitute the result for origin(A)-destination(B) route patterns.
Isochronal maps are based on a Dijkstra algorithm using dynamic speed profiles.
For bottleneck analysis, the processor calculates histogram transit times per segment and time interval and then accumulates the transit times to a global transit time histogram. Both, transit time on segment base and global transit time pinpoint the existence of bottlenecks and location. The algorithm uses a set of segments and a set of time definitions (any time frame, like Monday mornings). The processor then calculates average (median) speeds for all time definitions and segments (the processor collects all GPS data on that segment in that time and calculates average/median). A bottleneck during one time frame is a segment with a significantly lower speed than all others. A bottleneck along a segment is a time definition with significantly lower speed than all other time definitions. To find such bottlenecks the low percentiles of the speed distribution are compared to the median.
An intersection analysis is an origin/destination analysis, where the origins are the segments entering the intersection and the destinations are the segments leaving the intersection.
For the display of what speeds traffic moved at on a road on what days and time and differences in speeds between peak and off-peak time periods by road segments, all GPS data of all segments along the road and the specified time frame is accumulated to a single value (average, percentile) or a set of values (percentile histogram). Afterwards, a visualization of the route is drawn using the calculated values. The values can be visualized by color (heat map), height, or width. For differences in speeds between peak and off-peak time period, the visualized value is the ratio between two runs on the same segment.
Once the map-matched software has determined the traffic information requested, the requested traffic information is displayed at S820. The traffic information may be displayed on the computing device for the user. More specifically, the traffic information may be displayed on the display 568. It should also be understood that the computing device may be part of the map-matched database and, therefore, the traffic information may be displayed at the map-matched database.
For a rat run, the processor takes two areas and a time definition. The processor then finds all location measurements groups touching both areas. For all these groups, the groups are split into consecutive parts (stop detection). For each part, if the part is completely in a defined time frame and touches a first area before a second area (time-wise), all segments used by that part will be marked as used. Usage is an accumulative mark, that is, if a segment is used several times, the mark indicates the number of usage. The most heavily used segments are found by looking at the usage distribution.
As described above, the method of
Using known methods of graphing, the graph 950 is produced based on the extracted information. As shown in
Area 985 is an area where the average travel time to the location 980 is less then five minutes, an area 990 illustrates an area where the average travel time is less than ten minutes, an area 995 illustrates an area where the average travel time is less than fifteen minutes, an area 997 illustrates an area where the average travel time is less than twenty minutes. More specifically, a key 999 illustrates the average travel time for a corresponding color. Based on the display 975, a user such as a government official may determine poorly accessible areas and roads. A user may zoom in on a particular road to get a closer view of accessibility of the road. Thus, travel times may be used for planning purposes.
Those areas outside of the area 997 are areas where the average travel time is greater than twenty minutes. As provided above, a user may request average travel times over a certain day and/or certain time of day, for example.
GPS data regarding the request from the user are extracted from the storage database (e.g., the storage database 530) for the roadway 1005. The different shades of color in the display 1000 represent different average speeds. A shown in
Moreover, a user may determine where traffic lights are based on the information displayed in the display 1000. More specifically, since the section 1010 is the slowest and the section 1050 is the fastest, there is a high likelihood that a traffic light exists in the section 1010. The delay could also be caused by other factors such as insufficient road capacity. Moreover, a user can compare morning to midday travel to see how speeds vary or how the speeds vary by day and time of day. For example, user may look at the traffic information displayed in the display 1000 for 8 a.m. to 9 a.m. and then the traffic information from 5 p.m. to 6 p.m. Moreover, it should be understood that it is possible to compare between hours, days or even longer periods such as weeks, months and years. It is possible to study the effects of changes to the network by analyzing information before and after changes arc made.
Once the GPS data are extracted, the map-matched database software may produce graphs that illustrate the traffic flow through the intersection 1105.
Based on the graphs of
Moreover, government officials may only have measurements for a limited amount of roads in a city due to the cost of implementing traffic cameras and inductive loops. However, the navigation devices are able to provide data for all roads that are traveled, thereby, generating more data and more accurate data. Moreover, the acquired data is updated all the time to continuously provide accurate data.
The methods of the embodiments expressed above may be implemented in the form of a device, such as a server and/or a navigation device for example. Thus, such aspects are encompassed within at least one embodiment of the present application.
Further, at least one of the methods of at least one embodiment may be implemented as a computer data signal embodied in the carrier wave or propagated signal that represents a sequence of instructions which, when executed by a processor (such as the processor 304 of the server 302, and/or the processor 210 of the navigation device 200, for example) causes the processor to perform a respective method. In at least one other embodiment, at least one method provided above may be implemented above as a set of instructions contained on a computer readable or computer accessible medium, such as one of the memory devices previously described, for example, to perform the respective method when executed by a processor or other computer device. In varying embodiments, the medium may be a magnetic medium, electronic medium and/or optical medium.
Even further, any of the aforementioned methods may be embodied in the form of a program. The program may be stored on a computer readable media and is adapted to perform any one of the aforementioned methods when run on a computer device (a device including a processor). Thus, the storage medium or computer readable medium, is adapted to store information and is adapted to interact with a data processing facility or computer device to perform the method of any of the above mentioned embodiments.
As one of ordinary skill in the art will understand upon reading the disclosure, the electronic components of the navigation device 200 and/or the components of the server 302 can be embodied as computer hardware circuitry or as a computer readable program, or as a combination of both.
The system and method of embodiments of the present application include software operative on the processor to perform at least one of the methods according to the teachings of the present application. One of ordinary skill in the art will understand, upon reading and comprehending this disclosure, the manner in which a software program can be launched from a computer readable medium in a computer based system to execute the functions found in the software program. One of ordinary skill in the art will further understand the various programming languages which may be employed to create a software program designed to implement and perform at least one of the methods of the present application.
The programs can be structured in an object-orientation using an object-oriented language including but not limited to JAVA, Smalltalk and C++, and the programs can be structured in a procedural-orientation using a procedural language including but not limited to COBAL and C. The software components can communicate in any number of ways that are well known to those of ordinary skill in the art, including but not limited to by application of program interfaces (API), interprocess communication techniques, including but not limited to report procedure call (RPC), common object request broker architecture (CORBA), Component Object Model (COM), Distributed Component Object Model (DCOM), Distributed System Object Model (DSOM), and Remote Method Invocation (RMI). However, as will be appreciated by one of ordinary skill in the art upon reading the present application disclosure, the teachings of the present application are not limited to a particular programming language or environment.
The above systems, devices, and methods have been described by way of example and not by way of limitation with respect to improving accuracy, processor speed, and ease of user interaction with a navigation device.
Further, elements and/or features of different example embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.
Still further, any one of the above-described and other example features may be embodied in the form of an apparatus, method, system, computer program and computer program product. For example, any of the aforementioned methods may be embodied in the form of a system or device, including, but not limited to, any of the structure for performing the methodology illustrated in the drawings.
Example embodiments being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.