System and method for loading and rendering curved features in a map
First Claim
1. A method for rendering a feature in a map, comprising:
- performing, by a computer;
receiving data defining a curve of the feature as a Bé
zier path;
determining a resolution of the feature to be displayed, wherein said determining is dependent on a performance characteristic of a device on which the feature is to be rendered;
determining a number of points on the curve for which data is to be extracted from the received data dependent on the determined resolution of the feature;
extracting data representing each of the determined number of points on the curve from the received data;
rendering the feature within the map dependent on the extracted data; and
in response to a changed zoom level at which the feature is displayed;
determining, based at least on the changed zoom level and on the data defining the curve of the feature of the Bezier path used in said determining the number of points on the curve, a different number of points on the curve for which data is to be extracted;
extracting data representing the different number of points on the curve from the received data; and
rendering the feature in the map dependent on the extracted data representing the different number of points on the curve.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of a system and method for loading and rendering curved features in a map are described. Embodiments may include a map tool of a mapping or navigation application configured to generate a display for a map that includes one or more curved features (e.g., curved roads or curved polygons). The map tool may be executed in a client/server environment in which a server portion receives digitized map data in the form of polylines, detects a curved feature in the map data by fitting it to a parametric curve, and transmits data representing the parametric curve to a client device for subsequent rendering. The client device may render the curved feature using the received parametric curve data or, dependent on characteristics of the client device, extract data corresponding to points on the parametric curve to generate a triangle mesh for rendering the curved feature at a suitable resolution.
33 Citations
14 Claims
-
1. A method for rendering a feature in a map, comprising:
performing, by a computer; receiving data defining a curve of the feature as a Bé
zier path;determining a resolution of the feature to be displayed, wherein said determining is dependent on a performance characteristic of a device on which the feature is to be rendered; determining a number of points on the curve for which data is to be extracted from the received data dependent on the determined resolution of the feature; extracting data representing each of the determined number of points on the curve from the received data; rendering the feature within the map dependent on the extracted data; and in response to a changed zoom level at which the feature is displayed; determining, based at least on the changed zoom level and on the data defining the curve of the feature of the Bezier path used in said determining the number of points on the curve, a different number of points on the curve for which data is to be extracted; extracting data representing the different number of points on the curve from the received data; and rendering the feature in the map dependent on the extracted data representing the different number of points on the curve. - View Dependent Claims (2, 3, 4)
-
5. A multifunction device, comprising:
-
one or more processors; and one or more memories storing a mapping application that is executable on the one or more processors to; receive data defining a curve of a feature of a map using a parametric curve representation; determine a resolution of the feature to be displayed on the multifunction device; determine a number of points on the curve for which data is to be extracted from the received data dependent on the determined resolution; extract data representing each of the determined number of points on the curve from the received data; generate a collection of triangles that represents the feature and whose vertices are defined by the extracted data; render the feature within the map dependent on the collection of triangles generated from the extracted data; and in response to a changed zoom level at which the feature is displayed; determine, based at least on the changed zoom level, a different number of points on the curve for which data is to be extracted from the received data; extract data representing the different number of points on the curve from the received data; and render the feature in the map dependent on the extracted data representing the different number of points on the curve. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A non-transitory, computer-readable storage medium, storing program instructions executable on a computer to implement a mapping application configured to:
-
obtain data defining a curve as a parametric curve representation, wherein the curve is a feature in a map; determine a number of points on the curve for which data is to be extracted from the obtained data; extract data representing each of the determined number of points on the curve from the obtained data; render the curve within the map dependent on the extracted data; and in response to a changed zoom level at which the feature is displayed; determine, based at least on the changed zoom level, a different number of points on the curve for which data is to be extracted from the received data; extract data representing the different number of points on the curve from the received data; and render the feature in the map dependent on the extracted data representing the different number of points on the curve. - View Dependent Claims (11, 12, 13, 14)
-
Specification