This invention relates to an apparatus and method for generating a display from a digital map, the display including a representation of elevation information. The invention is especially suitable for navigation devices, including portable navigation devices (so-called PNDs), but may find utility in any type of processing device for generating a display from digital map information.
Two methods are known for rendering elevation information in a display generated from an electronic map, namely (i) isolines (also called contour lines) representing points of the same elevation, and (ii) shading of the map colour to represent elevation information. While isolines may provide an accurate representation of elevation, isolines can clutter the map display and are not intuitive to all users. Map clutter may be a particular problem when displaying the map on a relatively small electronic display device, or when it is also desired to display other map information such as navigation and location information. Shading can provide a more intuitive representation of elevation information without cluttering the display. As used herein, the term “shading” means applying a darkening and/or lightening of the map colour, akin to a positive or negative shadow.
Referring to
In devising the present invention, it has been appreciated that the above technique lacks considerable finesse in being able to adapt to displaying the map at different viewing scales or zoom levels. The shading is fixed as part of the digital map 12, and is not adaptive. The shading pattern also depends on the specific shading technique used when creating the digital map 12. Different shading techniques create different shading patterns based on the same elevation data. While a certain shading technique may be suited to displaying the map at a certain display scale, generating a display at other display scales can require interpolation or averaging of the shading pattern. This can create severe inaccuracies in the elevation shading. For example, as the display scale is varied, peaks and valleys in the elevation may appear to change shape and location as a result of averaging or interpolation inaccuracies.
The present invention has been devised bearing the above problems in mind.
In pursuit of this aim, a presently preferred embodiment of the present invention provides a method of rendering a display image generated from digital map information.
The method includes the steps of:
The shading value varies as a function of the elevation information and the display scale information, whereby the display is generated to represent elevation information by pixel shading that varies with display scale.
Features and advantages of the invention include: (i) ability to dynamically render a map image with elevation shading that is relevant to the display scale being used; (ii) ability to smoothly vary the elevation shading as the display scale is varied between two extremes; and (iii) avoiding the problems of a single fixed shading pattern used in the prior art.
Various aspects of the teachings of the present invention, and arrangements embodying those teachings, will hereafter be described by way of illustrative example with reference to the accompanying drawings, in which:
a-5f are schematic illustrations of screenshots of a rendered map image at different display scales, decreasing in display scale (increasing in zoom out height) from
Preferred embodiments of the present invention are now described with reference to any system for generating a display using a digital map. The system may comprise an automomous device, such as a portable navigation device, a portable map viewer, a device including a positioning system (for example, a satellite based positioning system such as a Global Positioning System (GPS)), a portable digital assistant (PDA), a portable computer, or non-portable computer. Alternatively, the system may comprise a server storing the digital map, and a remote terminal or computer configured to generate a display of the digital map based on information received from the server over one or more networks, such as an internet or intranet. One application for which provision of elevation information is especially useful is for a pedestrian and hiking navigation device or system.
A map rendering module 22 dynamically renders a display image 24 based on (i) map information 26 received from the digital map 20, (ii) elevation information 26a also received from the digital map 20, and (iii) display scale information 28 indicating the display scale of the image 24, ie. the degree to which the map image is zoomed in towards, or zoomed out from, the map. In one form, the display scale is represented by a notional viewing (or zoom-out) height value “z” above the map. A relatively large display scale is represented by a respectively small value of z, and a relatively small display scale is represented by a respectively large value of z. The map rendering module 22 may comprise dedicated graphics processor circuitry and/or rendering software executed by a general purpose processor.
The map rendering module 22 is configured to render the map by applying a shading algorithm that darkens and/or lightens the map color to represent elevation in the map image 24. The output will be represented by the percentage of shading applied to each pixel on the screen. The screen is normally represented by a matrix of pixels, which gives the resolution of the screen. Each pixel has a colour associated with, in this case, the form of relief that it represents (for example, different colours for meadow, forest, built area, etc.), as represented by the map information 26. The term “shading percentage” is an indication of the extent the that colour should be darkened or made lighter (whitened). A negative shading percentage takes the colour closer to white, and a positive shading percentage takes the colour closer to black. The shading algorithm is a function of (i) the elevation information 20a/26a from the digital map 20, and (ii) the display scale information 28. The shading algorithm is configured to vary the shading style based on the same elevation information, as a varying function of the display scale information. In other words, as the display scale is varied, not just the magnification of the shading is varied, but also the style of shading. This enables the style of shading to be adapted to the display scale of the image 24.
Before the overall shading algorithm is explained, it is useful to illustrate how two different styles of shading produce different shading patterns suitable for different display scales.
A first shading style is to apply shading that depends on the absolute elevation of an individual point in the image. A typical shading pattern produced using predominantly this style is illustrated in
A very different second shading style is based on elevation slope, namely the difference in elevation between adjacent points in the display image, taken in a certain sampling direction, for example, from North-West to South-East. A negative slope is rendered with one type of shading (e.g. with a lighter colour 34), and a positive slope with another type of shading (e.g. a darker colour 36). The steeper the slope the lighter or respective darker the colour that is used. A typical shading pattern produced using predominantly this style is illustrated in
In the present embodiment, the shading algorithm preferably combines first and second different shading functions or styles, each weighted by a respective coefficient indicating the respective strength of contribution of each shading function as a component of the shading algorithm. Preferably, the coefficients vary as a function of the display scale information 28 (for example, the zoom out height “z”). More preferably, the coefficients vary as a substantially continuous function of the display scale information. When two shading functions are used, a single coefficient l(z) may be used, where l(z) takes values between zero and 1, (l(z)ε[0,1]), with l(z) representing the weight of one shading function, and 1−l(z) representing the weight of the other shading function.
The coefficient l(z) could vary linearly as a function of the display scale “z”. However, referring to
In a preferred embodiment, and using the following variables:
or in a more explicit form
where lε[0,1] (the weight factor) is the function of the zoom level that takes values in the interval 0 . . . 1, Pslope (α) is the slope dependent shading percentage function (second shading function referred to above) and the Pheight (h) is the absolute height dependent shading percentage function (first shading function referred to above).
As illustrated in
The two shading percentage functions presented above can be computed by using the following formulas:
where hmax is a conventional maximal value of the altitude and Pslope(α)=sin(α).
The main formula also includes two sub-unitary, or secondary, weight functions for “tuning” the combined shading effect. The W1(sin(α)) component is a sub-unitary weight function which tries to attenuate the height values of the slope and has a descending hyperbolic graphic, which “almost” asymptotically approach a minimum value when sin(α) approaches 1 (as illustrated in
In the present embodiment, the elevation information 20a is provided as absolute elevation information for points in the digital map 20, and the rending module 22 performs all of the calculations necessary to calculate a shading percentage to apply to each display pixel. In an alternative form, the elevation information 20a could, alternatively or additionally, include pre-calculated values (for example of one or more of h, α, Pheight(h), Pslope(α), and/or l(z)), for use in the shading algorithm, to reduce the calculation burden within the rendering module. In one alternative, the elevation information 20a may be represented directly as the pre-calculated shading percentages according to the first and second different shading functions. Even though the shading percentages may be pre-calculated in the digital map 20, the provision of at least first and second different shading percentages for the same point, can enable dynamic rending according to the display scale, by applying a weighted combination of the two pre-calculated percentages using the same principles as described above. In
Although the shading algorithm has been expressed as a mathematical function that may be calculated on demand by a suitable processor, an alternative is to provide a function map containing pre-calculated values, for example, as a function of look-up coordinate variables (α the angle of the elevation slope, h the current height (elevation), and z the zoom-out level (display scale)). Such a pre-calculated function map could be provided within the map display apparatus, or it could be incorporated as an integral part of the data representing the digital map 20 (represented in
It will be appreciated that whilst various aspects and embodiments of the present invention have heretofore been described, the scope of the present invention is not limited to the particular arrangements set out herein and instead extends to encompass all arrangements, and modifications and alterations thereto, which fall within the scope of the appended claims.
It should also be noted that whilst the accompanying claims set out particular combinations of features described herein, the scope of the present invention is not limited to the particular combinations hereafter claimed, but instead extends to encompass any combination of features or embodiments herein disclosed irrespective of whether or not that particular combination has been specifically enumerated in the accompanying claims at this time.
The present application hereby claims priority under 35 U.S.C. §119(e) on U.S. Provisional Patent Application No. 60/879,607 filed Jan. 10, 2007, the entire contents of which is hereby incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4970682 | Beckwith et al. | Nov 1990 | A |
5140532 | Beckwith et al. | Aug 1992 | A |
5542032 | Pritt | Jul 1996 | A |
5579456 | Cosman | Nov 1996 | A |
6288721 | Donoghue et al. | Sep 2001 | B1 |
6434481 | Winter et al. | Aug 2002 | B2 |
6600489 | Cook | Jul 2003 | B2 |
6654490 | Love | Nov 2003 | B2 |
6765584 | Wloka et al. | Jul 2004 | B1 |
6819319 | Fenney | Nov 2004 | B1 |
7098809 | Feyereisen et al. | Aug 2006 | B2 |
7107146 | Christianson | Sep 2006 | B2 |
7116806 | Werthiem et al. | Oct 2006 | B2 |
7242407 | Blais | Jul 2007 | B2 |
7283654 | McLain | Oct 2007 | B2 |
7612775 | Goyne et al. | Nov 2009 | B2 |
7764282 | Chiba | Jul 2010 | B2 |
20040160341 | Feyereisen et al. | Aug 2004 | A1 |
20050104884 | Iwata et al. | May 2005 | A1 |
20070146364 | Aspen | Jun 2007 | A1 |
20080212893 | Serbanescu | Sep 2008 | A1 |
Entry |
---|
Feibush et al: “Geo-spatial visualization for situational awareness” Visualization '99. Proceedings San Francisco, CA, USA Oct. 24-29, 1999, Piscataway, NJ, USA,IEEE, US, Jan. 1, 1999, p. 441-443,559, XP031172641 ISBN: 978-0-7803-5897-3. |
Rayson, James: “Aggregate Towers: Scale Sensitive Visualization and Decluttering of Geospatial Data” Proceedings. IEEE Symposium on Information Visualization, XX, XX, Oct. 1, 1999, pp. 92-99,149, XP002942892. |
Number | Date | Country | |
---|---|---|---|
20080212893 A1 | Sep 2008 | US |
Number | Date | Country | |
---|---|---|---|
60879607 | Jan 2007 | US |