Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND APPARATUSES FOR DETERMINING A GEOMETRIC FEATURE OF A NAVIGABLE FEATURE
Document Type and Number:
WIPO Patent Application WO/2011/053389
Kind Code:
A1
Abstract:
At least one example embodiment discloses a method of determining a geometric feature of at least one navigable feature. The method includes first determining a baseline based on sequential location measurements along the at least one navigable feature, first sorting and clustering the sequential location measurements into a plurality of location measurement groups that are along the baseline, second determining a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and third determining the geometric feature based on the normal distributions.

Inventors:
WITMER JAMES ALAN (US)
Application Number:
PCT/US2010/036298
Publication Date:
May 05, 2011
Filing Date:
May 27, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TELE ATLAS NORTH AMERICA INC (US)
WITMER JAMES ALAN (US)
International Classes:
G01S1/00
Foreign References:
US20080113672A12008-05-15
US20090019402A12009-01-15
US20060047413A12006-03-02
US20090043504A12009-02-12
Attorney, Agent or Firm:
EISENBERG, Jacob (Lebanon, New Hampshire, US)
Download PDF:
Claims:
What is claimed is:

1. A method of determining a geometric feature of at least one navigable feature, the method comprising:

first determining a baseline based on sequential location measurements along the at least one navigable feature (S320);

first sorting and clustering the sequential location measurements into a plurality of location measurement groups that are along the baseline (S340); second determining a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements (S340); and

third determining the geometric feature based on the normal

distributions (S380).

2. The method of claim 1 , wherein

the first sorting and clustering (S340) includes,

determining a center of at least one of the plurality of location measurement groups (S350), and

the third determining (S380) includes,

determining the geometric feature based further on the determined center.

3. The method of claim 2, wherein the second determining (S340) includes, determining normal distributions of distances between the center of the least one of the plurality of location measurement groups and the sequential location measurements in the at least one of the plurality of location

measurement groups (S352).

4. The method of any one of claims 1 to 3, further comprising:

second sorting and clustering the sequential location measurements based on the second determining.

5. The method of claim 4, wherein the second sorting and clustering includes, excluding sequential location measurements based on the second determining (S358) .

6. The method of any of claims 1 to 3, wherein the third determining (S380) includes,

determining the geographic feature based on weighted averages applied to corresponding sequential location measurements.

7. The method of claim 6, wherein each weighted average is based on a perpendicular distance between the corresponding sequential location measurement and the baseline.

8. The method of any of claims 1 to 7, further comprising:

third sorting and clustering sequential location measurements along a second baseline into a second plurality of location measurement groups, wherein

the determined geometric feature is the second baseline.

9. The method of claim 8, further comprising:

fourth determining a normal distribution for each of the second plurality of location measurement groups; and

fifth determining a second geometric feature based on the normal distributions generated from the fourth determining.

10. The method of any of claims 1 -9, wherein the first determining (S320) includes,

generating a new map based on the sequential location measurements along the at least one navigable feature.

1 1. The method as claimed in any of claims 1 to 10, wherein the navigable feature includes at least one of a same road, a same path, a same highway and a same transportation segment.

12. The method of any of claims 1 to 1 1 , wherein the geometric feature is a street centreline.

13. The method as claimed in any of claims 1 to 12, wherein the sequential location measurements are collected by a navigation device (200).

14. The method of claim 13, wherein the navigation device (200) is any one of a personal navigation device, a mobile phone, a personal digital assistant and an in vehicle device.

15. A computer readable medium including program segments for, when executed on a processor of a server (202), causing the server (202) to implement the method of any of claims 1 to 14.

16. Computer software comprising one or more software modules operable, when executed in an execution environment, to cause a processor (204) to: determine a baseline (410) based on sequential location measurements along at least one navigable feature;

sort and cluster the sequential location measurements into a plurality of location measurement groups that are along the baseline;

determine a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements; and

determine a geometric feature (460) of the at least one navigable feature based on the normal distributions.

17. The computer software of claim 16, wherein the processor (204) further: determines a center of at least one of the plurality of location

measurement groups, and

determines the geometric feature (460) based further on the determined centers.

18. The computer software of claim 17, wherein the processor (204) further: determines normal distributions of distances between the center of the least one of the plurality of location measurement groups and the location measurements in the at least one of the plurality of location measurement groups.

19. The computer software of any one of claims 16 to 18, wherein the processor (204) further:

sorts and clusters the sequential location measurements based on the normal distributions.

20. The computer software of claim 19, wherein the processor (204) further: excludes sequential location measurements based on the normal distributions.

21. The computer software of any of claims 16 to 18, wherein the processor (204) further:

determines the geographic feature (460) based on weighted averages applied to corresponding sequential location measurements.

22. The computer software of claim 21 , wherein each weighted average is based on a perpendicular distance between the corresponding sequential location measurement and the baseline.

23. The computer software of any of claims 16 to 22, wherein the processor (204) further:

sorts and clusters sequential location measurements along a second baseline (460), wherein

the determined geometric feature (460) is the second baseline

(460).

24. The computer software of claim 23, wherein the processor further:

determines a normal distribution for each of the second plurality of location measurement groups; and

determines a second geometric feature (710) based on the normal distributions of the second plurality of location measurement groups.

25. The computer software of any of claims 16-24, wherein the processor (204) further:

generates a new map based on the sequential location measurements along the at least one navigable feature.

26. The computer software as claimed in any of claims 16 to 25, wherein the navigable feature includes at least one of a same road, a same path, a same highway and a same transportation segment.

27. The computer software of any of claims 16 to 26, wherein the geometric feature (460) is a street centreline.

28. The computer software as claimed in any of claims 16 to 27, wherein the probe sensor data is collected by a navigation device (200).

29. The computer software of claim 28, wherein the navigation device (200) is any one of a personal navigation device, a mobile phone, a personal digital assistant and an in vehicle device.

30. A server (202) comprising:

an input device configured to receive sequential location measurements; and

a processor (204) configured to,

determine a baseline (410) based on the sequential location measurements along at least one navigable feature,

sort and cluster the sequential location measurements into a plurality of location measurement groups that are along the baseline (410), determine a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and

determine a geometric feature (460) of the at least one navigable feature based on the normal distributions.

Description:
METHODS AND APPARATUSES FOR DETERMINING A GEOMETRIC

FEATURE OF A NAVIGABLE FEATURE

Cross-Reference to Related Application(s)

[0001] This application claims priority under 35 U.S.C. § 1 19(e) to provisional application no. 61 /279,981 , filed on October 26, 2009, entitled "Methods for Digital Map Construction and Usage", the entire contents of each of which are hereby incorporated herein by reference.

Field

[0002] The present application generally relates to map databases having information for determining locations of specific addresses and, more particularly, to map databases having a data structure that is used for accurately determining the positions or locations of places desired by a user. The present application also generally relates to determining a geometric feature such as a street centreline from sequential location measurements such as Global Positioning System (GPS) data.

Background

[0003] More and more use is being made of electronic maps, e.g., routing, navigation, finding addresses, and points of interest. New uses are continually appearing and some of them relate to safety applications. As a consequence of these map uses, the necessity to identify changes in the real world and reflect that change in the electronic map data in a timely fashion becomes more important as these uses advance in technology.

[0004] In the past, updating mapping data has been a very difficult, time consuming and expensive task, with some items failing to be promptly entered and other items being entered erroneously. For example, road map databases for a country the size of the U.S. are enormous. They represent hundreds of millions of individual facts. Man and nature are continuously changing or adding to those facts. Mapping companies are continuously looking for new methods to find changes, or even an indication of change, so they may more effectively research the issue and update the electronic map.

[0005] In the recent years, new technologies have come on line including, aerial and satellite photography, terrestrial based imagery from Mobile Mapping Vehicles, GPS and other position determination equipment and their enhancements, GIS platforms and spatial database engines to facilitate making and housing the changes, Lidar, Laser Scanners, radars and, of course, the Internet. These technologies have helped create map updates faster, cheaper, and more accurate, and have also enabled maps to carry new forms of information such as 3D buildings and the like.

[0006] A digital representation of a street centreline can be constructed by averaging GPS traces of several vehicles travelling down the street. Each GPS trace may be represented by line segments connecting a sequential set of discrete location measurements (e.g., GPS trace points including longitude and latitude coordinates) or a mathematical curve derived to pass through the discrete location measurements.

[0007] However, a piece-wise line segment or curve fit to the GPS trace points may not adequately represent a curvature of the street due to the sampling rate of the GPS trace points and the speed of the vehicle. Moreover, GPS path detail may be lost or aliased due to lower frequency sampling if one or more directional changes (analogous to signal frequency) occur near or above half the sampling rate. The signal frequency that is half the sampling rate is often referred to as the "Nyquist frequency."

[0008] Portable navigation devices (PNDs) that include GPS (Global Positioning System) signal reception and processing functionality are well known and are widely employed as in-car or other vehicle navigation systems. Such devices are of great utility when the user is not familiar with the route to the destination to which they are navigating. The wide use of PND's and other navigation devices has increased the availability of data acquisition devices for use in creating map updates.

Summary

[0009] At least one example embodiment discloses a method of determining a geometric feature of at least one navigable feature. The method includes first determining a baseline based on sequential location measurements along the at least one navigable feature, first sorting and clustering the sequential location measurements into a plurality of location measurement groups that are along the baseline, second determining a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and third determining the geometric feature based on the normal distributions.

[OOIO] At least another example embodiment provides computer software including one or more software modules operable, when executed in an execution environment, to cause a processor to determine a baseline based on sequential location measurements along at least one navigable feature, sort and cluster the sequential location measurements into a plurality of location measurement groups that are along the baseline, determine a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and determine a geometric feature of the at least one navigable feature based on the normal distributions.

[0011] At least one other example embodiment discloses a server including an input device and a processor. The input device is configured to receive sequential location measurements. The processor is configured to determine a baseline based on the sequential location measurements along at least one navigable feature, sort and cluster the sequential location measurements into a plurality of location measurement groups that are along the baseline, determine a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and determine a geometric feature of the at least one navigable feature based on the normal distributions.

[0012] Another example embodiment of the present disclosure is directed to a navigation device.

[0013] Advantages of these embodiments are set out hereafter, and further details and features of each of these embodiments are defined in the accompanying claims and elsewhere in the following detailed description.

Brief Description of the Drawings

[0014] Various aspects of the teachings of the present disclosure, and arrangements embodying those teachings, will hereafter be described by way of illustrative example with reference to the accompanying drawings, in which:

[0015] FIG. 1 is an illustration of a block diagram detailing various component parts of a map database update system according to an example embodiment; [0016] FIG. 2 is a schematic illustration of a manner in which a navigation device may receive or transmit information over a wireless communication channel according to an example embodiment;

[0017] FIG. 3A illustrates an example embodiment of a method of determining a geometric feature according to an example embodiment;

[0018] FIG. 3B illustrates an example embodiment of determining a baseline according to an example embodiment;

[0019] FIG. 3C illustrates an example embodiment of sorting, clustering and determining a normal distribution;

[0020] FIG. 3D illustrates an example embodiment of determining a geometric feature;

[0021] FIG. 4A illustrates a piece-wise linear function path according to an example embodiment;

[0022] FIG. 4B illustrates a longitudinal offset function according to an example embodiment;

[0023] FIG. 4C illustrates a latitudinal offset function according to an example embodiment;

[0024] FIG. 4D illustrates the latitudinal offset function of FIG. 4C with a sliding window;

[0025] FIG. 4E illustrates a new baseline function according to an example embodiment;

[0026] FIG. 5A illustrates another example embodiment of a path and sliding windows used to determine a geometric feature;

[0027] FIG. 5B illustrates a more detailed view of a sliding window shown in FIG. 5A;

[0028] FIGS. 6A-6C illustrate normal distributions of the sliding windows of FIGS. 5A and 5B, according to an example embodiment;

[0029] FIG. 7 illustrates an example embodiment including second and third generated baselines;

[0030] FIG. 8 illustrates an example embodiment of modifying an adjustment for a tight curve;

[0031] FIG. 9 is a schematic illustration of a Global Positioning System (GPS); [0032] FIG. 10 is a schematic illustration of electronic components arranged to provide a navigation device according to an example embodiment; and

[0033] FIGS. HA and 1 1 B are illustrative perspective views of a navigation device according to an example embodiment.

Detailed Description of Example Embodiments

[0034] Various example embodiments will now be described more fully with reference to the accompanying drawings in which some example embodiments are illustrated.

[0035] 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.

[0036] 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.

[0037] 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.) . [0038] 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.

[0039] 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.

[0040] 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.

[0041] 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. [0042] 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.

[0043] 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.

[0044] 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. [0045] 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.

[0046] Example embodiments of the present disclosure may be described with particular reference to a geographic database. It should be remembered, however, that the teachings of the present disclosure are not limited to any particular form of database but are instead universally applicable to any type of processing device that is configured to execute a program to access data in a data structure. The data being associated with mapping data, but not exclusively mapping data. It follows therefore that in the context of the present application, a geographic database is intended to include any server, computer or computing device configured for accessing data and generating and/ or updating maps based on the accessed data and generating new maps based on the accessed data.

[0047] Example embodiments of the present disclosure may be described with particular reference to a personal navigation device PND. It should be remembered, however, that the teachings of the present disclosure are not limited to PNDs but are instead 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 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. In addition to street networks, the example embodiments may be implemented in pedestrian navigation networks and any other type of transportation network. [0048] Segments in these networks, such as a portion of a road and/or a sidewalk are often referred to as navigable features. More abstract path portions, such as lanes within a road as they are commonly travelled, including the legal and physical connections or connection limitations between them, are also 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.

[0049] Moreover, while example embodiments described below utilize GPS measurements (trace points) including latitude and longitude coordinates as location measurements, it should be understood that location measurements may be obtained from any source and are not limited to GPS, nor are such location measurements limited to the two dimensions of latitude and longitude, but may additionally include elevation, capture time, or other dimensional information.

[0050] While location measurements in the example embodiments described below operate in two dimensions, it should be understood that a person of ordinary skill in the art will be able to implement the discussed example embodiments in three or more dimensions.

[0051] It will also be apparent from the following that the teachings of the present disclosure 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.

[0052] FIG. 1 is an illustration of a block diagram detailing various component parts of a map database system. Referring to Fig. 1 , a navigational device 200 may be provided with communication facilities through a communication network 1 10 and a server 1 12 to a geographic database management facility 104. The communication network 1 10 may be a wireless communications network 154 through a service provider, such as provided through a cellular network; a wireless communications network 154 through an area network, such as provided through a Wi-Fi hot spot or WiMAX; a wired connection to a computing facility 158, such as provided to a home personal computer; and the like.

[0053] In example embodiments, the server 1 12 connected between the communications network 1 10 and the geographic database management facility 104 may be, for example, a local area network (LAN), personal area network (PAN), campus area network (CAN), Metropolitan area network (MAN), wide area network (WAN), global area network (GAN), internetwork, intranet, extranet, the internet.

[0054] The communication network 1 10 is not limited to a particular communication technology. Additionally, the communication network 1 10 is not limited to a single communication technology; that is, the network 1 10 may include several communication links that use a variety of technology. For example, the communication network 1 10 may be adapted to provide a path for electrical, optical, and/or electromagnetic communications. As such, the communication network 1 10 may include, 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, empty space, etc. Furthermore, the communication network 1 10 may include intermediate devices such as routers, repeaters, buffers, transmitters, and receivers, for example.

[0055] In one illustrative arrangement, the communication network 1 10 may include telephone and computer networks. Furthermore, the communication network 1 10 may be capable of accommodating wireless communication such as radio frequency, microwave frequency, and/or infrared communication. Additionally, the communication network 1 10 may accommodate satellite communication.

[0056] The communication signals transmitted through the communication network 1 10 may 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 analog signals can be transmitted through the communication network 1 10. These signals may be modulated, encrypted and/ or compressed signals as may be desirable for the communication technology.

[0057] The geographic database management facility 104 may include a collection facility 138 that may collect probe data from a plurality of navigation devices 200, or other non-navigation probe devices, e.g., truck monitoring systems.

[0058] The probe data may include sequential location measurements such as GPS trace points. The GPS trace points identify latitude and longitude coordinates as well as heading, velocity, height and slope. The location measurements may be acquired periodically (e.g., every five seconds) by the navigation device 200.

[0059] The probe data may then be provided to a probe inference attribute facility 144 where road segment attributes may be inferred from the collected probe data. Probe inference attributes may then be compared at an attribute compare 148 with the attributes stored in the geographic database 152, where differences may be detected and interpreted, and where notifications may be generated for possible generation of geographic database alterations 150. Possible database alternations include generating new maps based on the acquired probe data. Ultimately, database alterations 150 may be provided to the geographic database 152 and on to users as a part of an update facility to a local geographic database as part of, for example, navigation device 200.

[0060] Example embodiments also make use of vehicles as probes, where the vehicles may be equipped with sensors that collect information such as position, speed, heading, height, slope, time, and the like, that may be used to infer the changing conditions of a road network 108 over time. In example embodiments, a system may collect data from a plurality of vehicles that are traversing a road network 108 over a first period of time, and then compare this data to a plurality of vehicles traversing the same road network 108 over a second period of time. The comparison may also be between the first set of data and data associated with the same road network which is stored in geographic database 152. By comparing these two sets of data, changes in travel patterns may be used to infer a change in road conditions and/or road routings. For example, if in the first time period drivers travel both North and South over the same or a closely similar locus of points (likely a road) , and in the second period of time travel only North for the same locus of points, it may be inferred that a significant change has been made to the direction of travel allowed on the road that represents this collection of data, and that the road has been made a oneway road. In another example embodiment, the comparing may be omitted by generating a new map based on the collected probe data for a segment.

[0061] Similarly, if most vehicles merely slow before proceeding through a specific intersection in a first period of time, but in a second period of time all come to a full stop, it may be inferred that a new stop sign has been placed at the intersection. By tracking the vehicles over time, a geographic database provider may be provided a timelier indicator of changes in the road network 108, which may lead to more timely changes in the geographic database 152. These changes may then lead to user updates and/ or new maps that better reflect the current state of a road network 108.

[0062] Referring now to FIG. 2, the navigation device 200 may establish a "mobile" or telecommunications network connection with the server 202 via a mobile device (not shown) (e.g., a mobile phone, PDA, and /or any device with mobile phone technology) establishing a digital connection (such as a digital connection via known Bluetooth technology for example). Thereafter, through its network service provider, the mobile device can establish a network connection (through the internet for example) with a server 202. As such, a "mobile" network connection is 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 202 to provide a "real-time" or at least very "up to date" gateway for information via communication network 1 10.

[0063] The establishing of the network connection between the mobile device (via a service provider) and another device such as the server 202, using the Internet (such as the World Wide Web) for example, can be done in a known manner. This can include use of TCP/IP layered protocol, for example. The mobile device can utilize any number of communication standards such as CDMA, GSM and WAN.

[0064] As such, an internet connection may be utilised which is achieved via data connection, via a mobile phone or mobile phone technology within the navigation device 200, for example. For this connection, an internet connection between the server 202 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).

[0065] The navigation device 200 can further complete a data connection with the mobile device, and eventually with the Internet and server 202, 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.

[0066] The navigation device 200 may include its own mobile phone 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 may include internal components as specified above, and/ or may 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 may similarly establish a network connection between the navigation device 200 and the server 202, via the internet, for example, in a manner similar to that of any mobile device.

[0067] For GPRS phone settings, a Bluetooth enabled navigation device may be used to correctly work 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 may be updated.

[0068] In FIG. 2, the navigation device 200 is depicted as being in communication with the server 202 via the communication network 1 10 that may be implemented by any of a number of different arrangements.

[0069] The server 202 includes an input device such as a receiver 210 that is configured to receive sequential location measurements (e.g., GPS trace points). The server 202 further includes a processor 204 configured to determine a baseline based on the sequential location measurements along the at least one navigable feature, sort and cluster the sequential location measurements into a plurality of location measurement groups that are along the baseline, determine a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and determine a geometric feature of the at least one navigable feature based on the normal distributions. [0070] In an example embodiment, the server is configured to implement the method illustrated in FIG.3A, which will be described below.

[0071] The server 202 and the navigation device 200 may communicate when a connection via communication network 1 10 is established between the server 202 and the navigation device 200 (noting that such a connection may be a data connection via mobile device, a direct connection via personal computer via the internet, etc.).

[0072] The server 202 includes, in addition to other components which may not be illustrated, the processor 204 operatively connected to a memory 206 and further operatively connected, via a wired or wireless connection 214, to a mass data storage device 212. The processor 204 may be further operatively connected to a transmitter 208 and a receiver 210, to transmit and send information to and from the navigation device 200 via the communication network 1 10. The signals sent and received may include, for example, data, communication, and/or other propagated signals. The transmitter 208 and receiver 210 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 the transmitter 208 and the receiver 210 may be combined into a signal transceiver.

[0073] The server 202 is further connected to (or includes) a mass storage device 212, noting that the mass storage device 212 may be coupled to the server 202 via communication link 214. The mass storage device 212 may contain a store of navigation data and map information, and may be a separate device from the server 202 or may be incorporated into the server 202.

[0074] The server 202 is further connected to (or includes) the geographic database management facility 104 as described above with regard to FIG. 1. For example, the collection facility 138 may be code segments stored in memory 206 and executed by processor 204. The mass storage device 212 may also be connected to or be part of the geographic database management facility 104. For example, the geographic database 152 may be a data structure stored on mass storage device 212.

[0075] The navigation device 200 may be adapted to communicate with the server 202 through communication network 1 10, and may include a processor, a memory, etc. as described in more detail below with regard to FIG. 10, as well as a transmitter 220 and a receiver 222 to send and receive signals and/or data through the communication network 1 10, noting that these devices may further be used to communicate with devices other than the server 202. Further, the transmitter 220 and receiver 222 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 220 and receiver 222 may be combined into a single transceiver.

[0076] Software stored in the server memory 206 provides instructions for the processor 204 and allows the server 202 to provide services to the navigation device 200. The software may include one or more software modules operable, when executed in an execution environment (e.g., computing device), to cause the processor 204 to determine a baseline based on sequential location measurements along at least one navigable feature, sort and cluster the sequential location measurements into a plurality of location measurement groups that are along the baseline, determine a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and determine a geometric feature of the at least one navigable feature based on the normal distributions.

[0077] One service provided by the server 202 may involve, for example, processing requests from the navigation device 200 and transmitting navigation data from the mass data storage 212 to the navigation device 200. Another service provided by the server 202 may include, for example, processing the navigation data using various algorithms for a desired application and sending the results of these calculations to the navigation device 200.

[0078] The communication network 1 10 generically represents the propagating medium or path that connects the navigation device 200 and the server 202. Both the server 202 and navigation device 200 include a transmitter for transmitting data through the communication channel and a receiver for receiving data that has been transmitted through the communication channel.

[0079] The server 202 may include a remote server accessible by the navigation device 200 via a wireless channel. The server 202 may include a network server located on a local area network (LAN), wide area network (WAN), virtual private network (VPN), etc. [0080] The server 202 may include a personal computer such as a desktop or laptop computer, and the communication network 1 10 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 202 to establish an internet connection between the server 202 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 202 via the internet.

[0081] The navigation device 200 may be provided with information from the server 202 via information downloads which may be periodically updated automatically or upon a user connecting navigation device 200 to the server 202 and/ or may be more dynamic upon a more constant or frequent connection being made between the server 202 and navigation device 200 via a wireless mobile connection device and TCP/IP connection for example. For many dynamic calculations, the processor 204 in the server 202 may be used to handle the bulk of the processing; however, the processor of navigation device 200 can also handle much processing and calculation, oftentimes independent of a connection to server 202.

[0082] The navigation device 200 may also provide information to the server 202. For example, navigation device 200 may include hardware and/or software (described in more detail below with regard to FIG. 10) configured to provide probe data to the geographic database management facility 104 via, for example, communication network 1 10 and server 202.

[0083] FIG. 3A illustrates a method of determining a geometric feature of at least one navigable feature. The method includes first determining a baseline based on sequential location measurements along the at least one navigable feature, first sorting and clustering the sequential location measurements into a plurality of location measurement groups that are along the baseline, second determining a normal distribution for each of the plurality of location measurement groups based on the sequential location measurements, and third determining the geometric feature based on the normal distributions.

[0084] It should be understood that the method of FIG. 3A may be implemented in street networks, pedestrian navigation networks and any other type of transportation network. Moreover, while GPS trace points are used to illustrate location measurements in the method of FIG. 3 A, it should be understood that the location measurements may come from any source and are not limited to GPS.

[0085] The method of FIG. 3A may be implemented by the server 202 or any other device that has the same functionality as the server 202 including the processor 204.

[0086] As shown in FIG. 3A, S300 indicates a start. The start may be a new map is being created or new location measurements (e.g., GPS trace points from a navigation device) have been received by the server. Moreover, a navigable feature (transportation segment such as a portion of a road) to be analyzed may be identified.

[0087] At S320, a baseline is determined by the processor based on location measurements that have been acquired and are associated with the navigable feature to be analyzed. The baseline may be an available trace that extends the entire length of the navigable feature (transportation segment) to be analyzed. In another embodiment, the baseline may be a spline, polynomial or other curve fit to the location measurements being analyzed. An example embodiment of S320 is illustrated in FIG. 3B, which is described in more detail further below.

[0088] At S340, location measurements along the baseline are sorted and clustered into a plurality of location measurement groups by the processor. The location measurements are sorted and clustered by determining a set of sliding windows that are of fixed or variable width in a direction parallel to the baseline and infinite in the perpendicular direction from the baseline. The variable size windows may be determined by clustering algorithms such as k- means clustering.

[0089] For each of the plurality of measurement groups, a centroid is determined. A centroid may also be referred to as an average. Once the centroids are determined, a normal distribution is determined based on the distances between the centroid and each location measurement within the corresponding measurement group.

[0090] If the location measurements are within an accepted tolerance, a chain of the centroids becomes the new baseline. An example embodiment of S340 is illustrated in FIG. 3C, which is described in more detail further below.

[0091] At S360, the processor determines if the new baseline is within a tolerance, based on convergence with the baseline that is determined at S320 and any other previous assumed or determined baselines. The convergence tolerance may be chosen based on a permissible variation of the location measurements from an ideal location of use. For example, if the navigable feature is being determined for display purposes only, and the display device is capable of discriminating down to one meter of accuracy, then the convergence tolerance between successive assumed or determined baselines does not have to be less than one meter.

[0092] At S380, the processor determines that the new baseline is a sufficient representation of a geometric feature (e.g., centreline) the navigable feature. For example, the new baseline becomes a representation of a centreline for a road. An example embodiment of S380 is illustrated in FIG. 3D, which is described in more detail further below.

[0093] If the new baseline is not within a tolerance at S360, the method returns to S320.

[0094] FIG. 3B illustrates an example embodiment of S320. At S322, the processor determines whether new location measurements have been received. The new location measurements are in addition to the previously acquired location measurements.

[0095] If no new measurements are received at S322, the processor knows that the method of FIG. 3 A is in at least a second iteration to determine a more precise geometric feature such as a centreline. Therefore, at S324, the processor selects the new baseline that is determined at S340, as the baseline.

[0096] If the processor determines that new location measurements have been received, the processor acquires location measurements known to be along the analyzed navigable feature, at S326. The processor may acquire location measurements known to be along the analyzed navigable feature by any one of numerous methods. One method of such acquiring is "bundling," which is disclosed in U.S. application no. ΧΧΧ,ΧΧΧ, filed concurrently herewith, entitled "Methods and Systems for Creating Digital Street Network Database," and claiming priority to U.S. provisional application no. 61 /279,981 , filed on October 29, 2009, entitled "Methods for Digital Map Construction and Usage", the entire contents of which are herein incorporated by reference. As described in the 'XXX application, bundling includes acquiring all traces for a large region and determining which traces pass through (or near) a common entrance point in the large region, travel to (or near) a common exit point for the large region, and travel within a threshold standard deviation of each other. The determined traces are deemed to be along a common navigable feature. The bundling is performed by the processor. Other methods of acquiring location measurements known to be along the analyzed navigable feature are known and, therefore, will not be described in greater detail.

[0097] At S328, the processor determines whether a location measurement trace (GPS trace) exists that extends the length of the analyzed navigable feature. If a trace does not exist, a baseline may be determined by fitting a spline, polynomial or other curve to the location measurements being analyzed for the navigable feature, at S332. If a full length trace does exist, the processor selects one of the available full length traces as the baseline, at S330. The baseline is created by a piece-wise linear function connecting location measurements in the selected trace that extends the length of the navigable feature (transportation segment) being modelled.

[0098] FIG. 4A illustrates a piece-wise linear function path 410 that may be generated at S320. As shown, the piece-wise linear path 410 includes a start point ST and path segments 410a, 410b and 410c.

[0099] As shown in FIG. 3C, once the baseline is selected, the location measurements are ordered by offset from the baseline's starting point, at S342.

[00100] An example of ordering the location measurements according to S342 is described with reference to FIGS. 4A-4E. Where the path 410 is the baseline, location measurements (regardless of the trace they come from) may be associated with the baseline by the shortest perpendicular intersection with the path 410. The location measurements may be retrieved from a geographic database, such as the geographic database management facility 104. Location measurements closest to the path segment 410a, the path segment from which the path 410 starts are considered to have an offset equal to their perpendicular intersection's distance from the start ST. In FIG. 4, location measurements p i and p2 are closest to the path segment 410a. Therefore, the offset of the location measurement pi is the distance from the start ST to the point di on the path 410. The offset of the location measurement p2 is the distance from the start ST to the point d2 on the path 410.

[00101] Location measurements nearest the next path segment, in this example the path segment 410b, are assigned an offset equal to the distance of the first path 410a plus the distance of that point's perpendicular intersection from the endpoint of the first segment. In this example, location measurement p3 is closest to the path segment 410b. Therefore, the offset of the location measurement is the distance from start ST to point d3 (the distance of the path segment 410a) plus the distance from the point d3 to the point d 4 .

[00102] Location measurements nearest the third successive path segment, in this example the path segment 410c, are assigned an offset equal to the summed lengths of the first two path segments (410a and 410b), plus the distance of the location measurement's perpendicular intersection from the end of the second path segment. In this example, location measurement p4 is closest to the path segment 410c. Therefore, the offset of the location measurement is the distance from start ST to point d3 (the distance of the path segment 410a) plus the distance from the point d3 to the point ds (the distance of the path segment 410b) plus the distance from ds to de-

[00103] For the sake of clarity and brevity, the example embodiment illustrates and is described with three path segments 410a, 410b and 410c. However, it should be understood that the path may include more or less than three segments.

[00104] FIG. 4A also illustrates three bad location measurements (outliers). As will be described later, the three bad location measurements may be discarded.

[00105] Once the location measurements are ordered by relative offset along the baseline, the processor constructs an approximate functional representation of the position of each location measurement within any geographic axis, and related to the baseline offset.

[00106] For example, given location measurement points P n = (Xn, Yn) , in which the processor calculates a base line perpendicular intersection distance from ST of D n , the processor forms a longitudinal offset function (D n , X n ) , and a latitudinal offset function (D n , Y n ) .

[00107] FIGS. 4B and 4C illustrate functions for the longitudinal and latitudinal offsets from the starting point ST, respectively. More specifically, FIG. 4B illustrates the longitudinal offset function of D n versus X n and FIG. 4C illustrates the latitudinal offset function of D n versus Y n . The longitudinal and latitudinal functions will then be evaluated in a means described below, in order to determine a new baseline.

[00108] Once the location measurements are ordered, at S342, function fitting techniques are used for each geographic axis. Referring to FIGS. 4B and 4C, the fitted functions are shown as Gaussian average lines 450 and 460. The Gaussian average lines 450 and 460 are for the latitudinal and longitudinal offsets, respectively.

[00109] While a sliding windows technique for function fitting is described below, it should be understood that function fitting techniques known to one of ordinary skill in the art may be used. Some examples include least squares polynomial or piecewise polynomial fitting, or fitting via cubic splines.

[00110] A set of sliding windows that are of fixed or variable width in a direction parallel to the reference baseline and infinite in the perpendicular direction are determined, at S344. Functionally speaking, the windows are vertical partitionings along the distance travelled, as shown in FIG. 4D. A sliding window 470 illustrates a partitioning of location measurements, where four location measurements are included in the sliding window 470.

[00111] Clustering algorithms such as k-means may be used to determine a variable size window. For example, the acquired location measurements are clustered into a plurality of location measurement groups. For each location measurement group a window width is determined.

[00112] In general, a fixed width window may be used and requires less computational effort to generate. For a fixed window width, the processor calculates an average value (centroid) of all location measurements within the fixed width window or a weighted average (weighted centroid). Using FIG. 4D as an example, the Y n values of the four location measurements within the window 470 may be averaged or may be averaged by weight. A weighted average may be calculated in which each location measurement value (e.g., Y n ) is weighted based on available quality information for the location measurement, and/or based on a calculated probability of goodness, as is described in more detail below.

[00113] Quality information for use in weighting of points is readily available from GPS devices. Examples include a DOP (dilution of precision) field commonly generated by GPS devices, which may include precision information in a number of dimensions. Descriptions of the DOP information are readily available to one of ordinary skill in the art. Similarly, the GPS device may indicate the quality of enhanced accuracy information, such as generated in the Americas by the Wide Area Augmentation System (WAAS) . [00114] Furthermore, the fixed width window may include Gaussian weighting based on the travel distance between the location measurement's perpendicular intercept with the baseline versus the centroid of the window. For example, weighting may be based on the position of a corresponding location measurement within a Gaussian function centered at the centroid of the window including the corresponding location measurement. The Gaussian function has a Gaussian sigma o.

[00115] Any of the described function fitting techniques may be used singularly, or in conjunction with others, to find a function fit. For example, one of the above-mentioned function fitting techniques may be used for each of the geographic axes, followed by simplification using the least squares to produce a piecewise linear function in that axis. The Gaussian average lines 450 and 460 may be sampled at regular travel distance intervals as will be described with reference to S354, thereby producing a new baseline 480, as shown in FIG. 4E.

[00116] FIGS. 5A-5B illustrate an alternative to the function fit method illustrated in FIGS. 4A-4E. More specifically, FIGS. 5A-5B illustrate a path 500 in which the baseline (not shown) has already been determined by earlier traces and sliding windows are used to determine a geometric feature such as a centreline of the path 500. The path 500 may be a road segment.

[00117] As shown in FIG. 5A, multiple new location measurement traces TRi, TR 2 , TR 3 and TR 4 are along the path 500. Each trace TRi, TR 2 , TR 3 and TR 4 may represent location measurements taken as a vehicle drives along the path 500. The traces TRi, TR 2 , TR3 and TR 4 may be generated using known methods to generate a trace.

[00118] Sliding windows 510, 520 and 530 illustrate types of data variation that may be encountered within a sliding window implementation. In sliding window 510, the traces TRi, TR 2 , TR3 and TR 4 and all location measurements within the window 510 are widely dispersed. In window 520, all of the location measurements within the window 520 are well aligned. Window 530 illustrates a random dispersion. The windows 510, 520 and 530, as shown, are a subset of an overall set of sliding windows that are determined as described above, using the location measurements of the location measurement traces TRi, TR 2 , TR3 and TR 4 against the baseline. More specifically, the sliding windows are determined in accordance with S344-S348. While only three sliding windows 510, 520 and 530 are shown, it should be understood that the number of sliding windows is determined at S344-S348 and may overlap.

[00119] FIG. 5B illustrates a more detailed view of the window 510 shown in FIG. 5A. As shown in FIG. 5B, a centroid 535 of the window 510 is determined. The centroid 535 and centroids for the windows 520 and 530 may be determined using any known methods. For example, the centroid 535 may be determined by weighted averaged and/ or from the Gaussian weight value derived from the travel distance between the location measurement's perpendicular intercept with the baseline versus the centroid of the window.

[00120] The Gaussian width or sliding window width is chosen small enough so that the real world curvature change can be captured, but large enough to capture a number of location measurements. The width is expressed in either terms of standard deviation or distance (meters) for navigable features. For example, when considering a navigable street segment, a window width should take into account smoothness of curves, in which a driver is not expected to make significant changes in steering more frequently than once per second. In such a case, and considering an expected travel speed of no less than 25 km/hr (7 m/s), a sliding window width of seven meters captures enough detail.

[00121] In other embodiments, the width of the window may be set to a half of the farthest inter-location measurement distance so the sliding window contains enough location measurements to form an average functional value (e.g., more than three location measurements).

[00122] For each sliding window that is determined by the processor, the processor determines all location measurements within the sliding window, at S346. If the number of location measurements within the sliding window is less than 3, the processor adds more location points into the sliding window, at S348. For example, many of the location measurement traces may not have a location measurement within a sliding window due to a relatively low sampling frequency. Therefore, for each location measurement trace that does not have a location measurement within the sliding window, the trace may be interpolated to estimate a location measurement value within the sliding window. Alternatively, at S348, the nearest location measurement of the trace to the sliding window may be used with Gaussian weighting based on the distance of the nearest location measurement to the center of the window. [00123] Once the number of location measurements is greater than 3 within the sliding window, the processor calculates a centroid or weighted average of each sliding window at S350, or as described earlier, performs the function fit in each axis and generates a sample point within the window. If the location measurements are weighted, then a center of gravity is determined for the sliding window. It should be understood that "center" may refer to at least a centroid or a center of gravity. For simplicity in the following paragraphs, we will refer to the results of either method of calculation as a "sliding window" centroid or center of gravity - whether actually computed simultaneously in two dimensions as a centroid, or independently in each dimension via function fit, then sampled.

[00124] As stated above, after the centroid or center of gravity of each sliding window is determined by the processor at S350, the processor determines a normal distribution for each sliding window at S352. More specifically, the processor fits a normal distribution for each sliding window to distances between the centroid and each location measurement within the corresponding sliding window.

[00125] For example, FIGS. 6A-6C illustrate normal distributions of the sliding windows 510, 520 and 530, respectively, viewing location measurements across a cross sectional interval that runs from left to right across the travel path 500. It should be understood that in the example embodiment of FIGS. 4A-4E, the normal distributions of the sliding windows are likewise determined. Thus, the same applies to FIGS. 4A-4E. For the sake of clarity and brevity, the normal distributions of FIGS. 4A-4E will not be discussed in more detail.

[00126] As shown in FIG. 6A, the location measurements of the traces TRi and TR3 are closest to the centroid 535 of the window 510. By contrast the location measurements of the traces TR and TR 4 are farthest from the centroid 535 of the window. The location measurements of each of the traces TRi, TR2, TR3 and TR 4 are within a small distance from the centroids of windows 520 and 530, as shown in FIGS.6B-6C.

[00127] After the normal distributions have been determined, the processor determines a chain of the centroids to become the new baseline at S354 and replaces the baseline generated at S320.

[00128] As previously stated above, the new baseline 480 has been calculated by successive centroids or by multiple function fit. More specifically, the centroids for each of the latitudinal and longitudinal axes may form the Gaussian average lines 460 and 450, respectively. The processor then determines the new baseline 480 by combining the Gaussian average lines 460 and 450.

[00129] At S356, the processor determines whether there are location measurements outside of a maximum distance from the new baseline or outside of a multiple of the standard deviation (e.g., 1.5o of the corresponding window) of the corresponding normal distribution of distance between location measurements and the new baseline. If there are location measurements outside of the maximum distance or multiple of the corresponding standard deviation, the processor discards the location measurements at S356 and repeats S342-S354. By discarding the location measurements outside a multiple of the corresponding standard deviation or maximum distance, the effects of random noise in the location measurements that are not accounted for in pre-processing may be removed.

[00130] As an alternative to discarding the location measurements that are outside a multiple of the corresponding standard deviation or maximum distance, the location measurements may be weighted. For example, the weight of a location measurement can be el- 1 / 2 ^ 2 / 0 " 2) , where d is the location measurement's closest perpendicular distance to the baseline and o is the standard deviation of the location measurements from the baseline.

[00131] The number of standard deviations used to discard location measurements may be adjusted per iteration. For example, after the first iteration of S342-S354, the processor may use a stringent threshold of 1.4o, in order to remove location measurements that are inconsistent with the new baseline. After a second iteration of S342-S354, the processor re-allows location measurements that are likely statistically meaningful, by using a higher 2. 1o threshold. Therefore, a good centreline may be determined and the outliers illustrated in FIGS. 4E may be eliminated.

[00132] FIG. 7 illustrates second and third new baselines after iterations of S342-358. As shown in FIG. 4E, the new baseline 480 reasonably follows the center of the location measurements, but has cusps because the new baseline 480 is influenced by the outliers. However, second and third new baselines 710 and 720 are determined with the removal of location measurements outside of 1.4o and 2. 1o, respectively. As indicated in FIG. 7, the location measurements that are outside a maximum distance and / or outside a multiple of the standard deviation are discarded (filtered out). The second and third new baselines 710 and 720 are more stable and less affected by outlying location measurements, if at all. Moreover, after multiple iterations, the determined baselines converge, as shown in FIG. 7. Lastly, after three iterations, the third determined baseline 720 becomes the geometric feature as will be described in more detail below.

[00133] In FIGS. 4E and 7, the new baselines 480, 710 and 720 are determined by Gaussian weighting functions operating in sliding windows on each axis. Since thousands of location measurements may be available for a navigable feature, iterated rectangular filters may be used to reduce the number of independently repeated multiplication and additions for every location measurement within a sliding window. Iterated rectangular filters are well known and, therefore, will not be described in greater detail.

[00134] If no new location measurements are outside a maximum distance or multiple of the standard deviation, the processor determines whether the new baseline is within a tolerance, at S360. If the new baseline is not within a tolerance, the processor repeats S320-S360. The new baseline is selected as the baseline at S320.

[00135] If the new baseline is within a tolerance, the processor determines the geometric feature of the navigable feature, at S380. The new baseline becomes a representation of the geometric feature at S385, as shown in FIG. 3D. For example, in FIG. 7, the third determined baseline 720 would become the representation of the geometric feature of the path 410. The new baseline is then tagged with a number by the processor at S390. The number is a function of accuracy which can be expressed as a function of the average of the standard deviation of the location measurements relative to the centroids.

[00136] Lastly, the method may be adjusted for tight curves. As shown in FIG. 8, a path 810 is a tight curve. Location measurements LM1-LM5 are within a sliding Gaussian weighted window centered on LM3. The weight of each location measurement LM1-LM5 is indicated by the size of the location measurement LM1-LM5. For example, the location measurement LM3 is the largest, therefore, indicating that the location measurement LM3 is weighted the most. However, strict weighted averaging (e.g., a centroid) would generate the approximation GM, shown in FIG. 8. To compensate, the three point curvature is calculated for the sliding window centroids calculated at the location measurements [LM-o*4, LM, LM+o*4]. A correcting offset vector r is determined by r( l -cos(o/r)) ( 1)

[00137] The processor is then able to determine an adjusted mean, GM a dj by applying an outward directed adjustment vector to GM.

[00138] With the above provisos in mind, FIG. 9 illustrates an example view of Global Positioning System (GPS), usable by navigation devices. Such systems are known and are used for a variety of purposes. In general, 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 to any number of receiving units.

[00139] 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 will allow 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.

[00140] As shown in FIG. 9, the GPS system is denoted generally by reference numeral 900. A plurality of satellites 920 are in orbit about the earth 924. The orbit of each satellite 920 is not necessarily synchronous with the orbits of other satellites 920 and, in fact, is likely asynchronous. A GPS receiver 940 is shown receiving spread spectrum GPS satellite signals 960 from the various satellites 920.

[00141] The spread spectrum signals 960, continuously transmitted from each satellite 920, utilize a highly accurate frequency standard accomplished with an extremely accurate atomic clock. Each satellite 920, as part of its data signal transmission 960, transmits a data stream indicative of that particular satellite 920. It is appreciated by those skilled in the relevant art that the GPS receiver device 940 generally acquires spread spectrum GPS satellite signals 960 from at least three satellites 920 for the GPS receiver device 940 to calculate its two-dimensional position by triangulation. Acquisition of an additional signal, resulting in signals 960 from a total of four satellites 920, permits the GPS receiver device 940 to calculate its three-dimensional position in a known manner.

[00142] FIG. 10 is an illustrative representation of electronic components of the navigation device 200 according to an example embodiment of the present disclosure, in block component format. 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.

[00143] The navigation device 200 is located within a housing (not shown). The housing includes a processor 1010 connected to an input device 1020 and a display screen 1040. The input device 1020 can include a keyboard device, voice input device, touch panel and /or any other known input device utilised to input information; and the display screen 1040 can include any type of display screen such as an LCD display, for example. In an example arrangement, the input device 1020 and display screen 1040 are integrated into an integrated input and display device, including a touchpad or touch screen input so that a user need only touch a portion of the display screen 1040 to select one of a plurality of display choices or to activate one of a plurality of virtual buttons.

[00144] The navigation device may include an output device 1060, for example an audible output device (e.g. a loudspeaker). As output device 1060 can produce audible information for a user of the navigation device 200, it is should equally be understood that input device 1040 can include a microphone and software for receiving input voice commands as well.

[00145] In the navigation device 200, processor 1010 is operatively connected to and set to receive input information from input device 1020 via a connection 1025, and operatively connected to at least one of display screen 1040 and output device 1060, via output connections 1045, to output information thereto. Further, the processor 1010 is operably coupled to a memory resource 1030 via connection 1035 and is further adapted to receive/send information from/to input/output (I/O) ports 1070 via connection 1075, wherein the I/O port 1070 is connectible to an I/O device 1080 external to the navigation device 200.

[00146] The memory resource 1030 may include, for example, a volatile memory, such as a Random Access Memory (RAM) and a non-volatile memory, for example a digital memory, such as a flash memory. The external I/O device 1080 may include, but is not limited to an external listening device such as an earpiece for example. The connection to I/O device 1080 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 ear piece or head phones, and /or for connection to a mobile phone for example, wherein the mobile phone connection may 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 the server 202 via e.g., communication network 1 10, the internet or some other network.

[00147] FIG. 10 further illustrates an operative connection between the processor 1010 and an antenna/ receiver 1050 via connection 1055, wherein the antenna/ receiver 1050 can be a GPS antenna/ receiver for example. It will be understood that the antenna and receiver designated by reference numeral 1050 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.

[00148] The navigation device 200 may use the embedded GPS 226 facility to determine current data, e.g., position, speed, heading and slope, associated with the navigation device 200. This data, in combination with a local geographic database stored in, for example, memory 1030, may be used to provide a user of the navigation device 200 with information associated with their current travel conditions, e.g., location in relation to a stored map in the local geographic database, estimated time of arrival given a destination, location of proximate points of interest and information thereof. The probe data collection facility 1092 may collect said information from the navigation device 200 and local geographic database over a period of time, and either store the information for later transmission, or transmit the information real-time through the navigation device's 200 communication system, for example, via I/O device 1080 and communication network 1 10.

[00149] Further, it will be understood by one of ordinary skill in the art that the electronic components shown in FIG. 10 are powered by power sources (not shown) in a conventional manner. As will be understood by one of ordinary skill in the art, different configurations of the components shown in FIG. 10 are considered to be within the scope of the present application. For example, the components shown in FIG. 10 may be in communication with one another via wired and /or wireless connections and the like. Thus, the scope of the navigation device 200 of the present application includes a portable or handheld navigation device 200.

[00150] In addition, the portable or handheld navigation device 200 of FIG. 10 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.

[00151] As indicated above in FIG. 10, a navigation device 200 includes a processor 1010, an input device 1020, and a display screen 1040. The input device 1020 and display screen 1040 may be integrated into an integrated input and display device to enable both input of information (via direct input, menu selection, etc.) and display of information through a touch panel screen, for example. Such a screen may be a touch input LCD screen, for example, as is well known to those of ordinary skill in the art. Further, the navigation device 200 can also include any additional input device 1020 and/or any additional output device 1060, such as audio input/output devices for example.

[00152] FIGS. 1 1A and 1 1B are perspective views of a navigation device 200. As shown in FIG. 1 1A, the navigation device 200 may be a unit that includes an integrated input and display device 1 190 (a touch panel screen for example) and the other components of FIG. 1 1A (including but not limited to internal GPS receiver 1050, microprocessor 1010, a power supply, memory systems 1030, etc.).

[00153] The navigation device 200 may sit on an arm 1 192, which itself may be secured to a vehicle dashboard/ window/ etc. using a suction cup 1 194. This arm 1 192 is one example of a docking station to which the navigation device 200 can be docked.

[00154] As shown in FIG. 1 1B, the navigation device 200 can be docked or otherwise connected to an arm 1 192 of the docking station by snap connecting the navigation device 200 to the arm 1 192, for example. The navigation device 200 may then be rotatable on the arm 1 192, as shown by the arrow of FIG. 1 1B. To release the connection between the navigation device 200 and the docking station, a button on the navigation device 200 may be pressed, for example. Other equally suitable arrangements for coupling and decoupling the navigation device to a docking station are well known to persons of ordinary skill in the art.

[00155] 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.

[00156] 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 204 of the server 202, and/or the processor 1010 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.

[00157] 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. [00158] 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 202 can be embodied as computer hardware circuitry or as a computer readable program, or as a combination of both.

[00159] 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.

[00160] 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.

[00161] 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.

[00162] 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. [00163] 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.

[00164] 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.