Constructing road geometry
First Claim
1. A machine readable medium storing a program for execution by at least one processing unit of a server, the program comprising sets of instructions for:
- generating an initial set of geometries for a road graph defined for a map region, the road graph comprising a plurality of road segments and junctions aggregated into roads;
identifying an overlap between a first geometry of a first road segment and a second geometry of a second road segment, wherein the first road segment and the second road segment are parts of different roads and do not meet at a junction, wherein the first and second geometries comprise centerline vertices;
for at least two pairs of centerline vertices of the first and second geometries that are located adjacent to the overlap, applying a displacement amount that is proportional to an amount of overlap that is adjacent to each centerline vertex in the pairs, wherein the applied displacement amount is larger when the overlap is greater; and
based on the applied displacement amount, moving centerline vertices of the first and second geometries apart from each other in order to prevent the first geometry and second geometry from overlapping.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a method for a mapping service. The method generates an initial set of geometries for a road graph defined for a map region. The road graph includes several road segments and junctions aggregated into roads. The method identifies an overlap between a first geometry of a first road segment and a second geometry of a second road segment. The first road segment and the second road segment are parts of different roads and do not meet at a junction. The method automatically modifies at least one of the first and second geometries in order to prevent the first geometry and second geometry from overlapping. In some embodiments each geometry is defined by a set of vertices that specify its boundaries. The method of some embodiments automatically modifies the vertices of at least one of the first and second geometries.
-
Citations
22 Claims
-
1. A machine readable medium storing a program for execution by at least one processing unit of a server, the program comprising sets of instructions for:
-
generating an initial set of geometries for a road graph defined for a map region, the road graph comprising a plurality of road segments and junctions aggregated into roads; identifying an overlap between a first geometry of a first road segment and a second geometry of a second road segment, wherein the first road segment and the second road segment are parts of different roads and do not meet at a junction, wherein the first and second geometries comprise centerline vertices; for at least two pairs of centerline vertices of the first and second geometries that are located adjacent to the overlap, applying a displacement amount that is proportional to an amount of overlap that is adjacent to each centerline vertex in the pairs, wherein the applied displacement amount is larger when the overlap is greater; and based on the applied displacement amount, moving centerline vertices of the first and second geometries apart from each other in order to prevent the first geometry and second geometry from overlapping. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. For a mapping service, a method comprising:
-
receiving a road graph for a map region, the road graph comprising (i) a plurality of road segments aggregated into roads and (ii) a plurality of junctions at which two or more road segments intersect; generating an initial set of geometries for the road segments in the road graph, each geometry defined by a set of vertices that specify boundaries of the geometry; determining that a boundary of a first geometry for a first road segment and a boundary of a second geometry for a second road segment overlap based on locations of the vertices that specify the boundary of the first geometry and the vertices that specify the boundary of the second geometry, wherein the first road segment and the second road segment do not share a junction; for at least two pairs of vertices that specify overlapping boundaries the first and second geometries, applying a displacement amount that is proportional to an amount of overlap between the two pairs of vertices, wherein the applied displacement amount is larger when the overlap is greater; and based on the applied displacement amount, moving the vertices that specify the boundaries of the first and second geometries in order to remove the overlap, wherein said receiving, generating, determining, applying, and moving are performed by at least one server. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. For a mapping service, a method comprising:
-
generating an initial set of geometries for a road graph defined for a map region, the road graph comprising a plurality of road segments and junctions aggregated into roads; identifying an overlap between a first geometry of a first road segment and a second geometry of a second road segment, wherein the first road segment and the second road segment are parts of different roads and do not meet at a junction, wherein the first and second geometries comprise centerline vertices; for at least two pairs of centerline vertices of the first and second geometries that are located adjacent to the overlap, applying a displacement amount that is proportional to an amount of overlap that is adjacent to each centerline vertex in the pairs, wherein the applied displacement amount is larger when the overlap is greater; and based on the applied displacement amount, moving centerline vertices of the first and second geometries apart from each other in order to prevent the first geometry and second geometry from overlapping. - View Dependent Claims (19, 20, 21, 22)
-
Specification