Smoothing road geometry
First Claim
Patent Images
1. For a mapping service, a method comprising:
- receiving a road graph comprising a plurality of roads for a map region, each road comprising one or more road segments combined together, each road segment comprising a plurality of vertices, wherein the vertices for the road segments of each road define a centerline of the road;
automatically identifying a bend in the centerline of a particular road that is at least a threshold angle, wherein a segment of the particular road that includes at least a portion of the identified bend has a defined speed limit;
defining a threshold distance by which a vertex can move based on the speed limit of said segment of the particular road; and
based on the defined threshold distance, automatically modifying the vertices of said segment of the particular road around the identified bend in order to smooth the road.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a method for a mapping service. For a set of road segments that intersect at a junction in a map region, the method generates an initial set of geometries for use in generating downloadable map information for the map region. For each corner formed by the geometries at the junction, the method determines whether to perform a smoothing operation. When a particular corner meets a set of criteria, the method modifies the geometries of at least one road segment to smooth the corner.
60 Citations
27 Claims
-
1. For a mapping service, a method comprising:
-
receiving a road graph comprising a plurality of roads for a map region, each road comprising one or more road segments combined together, each road segment comprising a plurality of vertices, wherein the vertices for the road segments of each road define a centerline of the road; automatically identifying a bend in the centerline of a particular road that is at least a threshold angle, wherein a segment of the particular road that includes at least a portion of the identified bend has a defined speed limit; defining a threshold distance by which a vertex can move based on the speed limit of said segment of the particular road; and based on the defined threshold distance, automatically modifying the vertices of said segment of the particular road around the identified bend in order to smooth the road. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program comprising sets of instructions for:
-
receiving a road graph comprising a plurality of roads for a map region, each road comprising one or more road segments combined together, each road segment comprising a plurality of vertices, wherein the vertices for the road segments of each road define a centerline for the road; automatically identifying a bend in the centerline of a particular road that is at least a threshold angle, wherein a segment of the particular road that includes at least a portion of the identified bend has a defined speed limit; defining a threshold distance by which a vertex can move based on the speed limit of said segment of the particular road; and based on the defined threshold distance, automatically modifying the vertices of said segment of the particular road around the identified bend in order to smooth the road. - View Dependent Claims (9, 10, 11)
-
-
12. A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program comprising sets of instructions for:
-
for a set of road segments that intersect at a junction in a map region, generating an initial set of geometries for use in generating downloadable map information for the map region; and for each corner formed between two geometries at the junction, determining whether to perform a smoothing operation based on an angle formed at the corner; when the angle is greater than a first threshold angle, modifying the two geometries to smooth the corner by applying a first smoothing operation; when the angle is greater than a second threshold angle and less than the first threshold angle, modifying the two geometries to smooth the corner by applying a second smoothing operation; and when the angle is greater than a third threshold angle and less than a fourth threshold angle, modifying the two geometries to smooth the corner by applying a third smoothing operation. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A mapping service system for generating map tiles, the system comprising:
-
a set of processing units; and a set of machine-readable media storing; a road graph generation module which when executed by at least one of the processing units aggregates road segments and junctions into roads; a road smoothing module which when executed by at least one of the processing units identifies angled bends in aggregated roads and modifies vertices of the roads in order to smooth the angled bends; a geometry growing module which when executed by at least one of the processing units generates initial geometries for road segments in a road graph; and a geometry smoothing module which when executed by at least one of the processing units smooths corners between pairs of geometries that intersect each other based on angles formed at the corners in order to generate more realistic road geometries, wherein the geometry smoothing module smooths a particular corner by performing (i) a first smoothing operation when a particular angle of the particular corner is greater than a first threshold angle, (ii) a second smoothing operation when the particular angle is greater than a second threshold angle and less than the first threshold angle, and (iii) a third smoothing operation when the particular angle is greater than a third threshold angle and less than a fourth threshold angle. - View Dependent Claims (26, 27)
-
Specification