Efficient graphical element top surface rendering in digital map
AssigneeMapbox, Inc.
InventorAleksandar Stojiljkovic
Life of this patent
Estimating the term…
Abstract
A system for 3D rendering of map features on a client device receives adjacent map tiles and terrain data from a mapping server. Each map tile includes subsets of vertices defining portions of a map feature with a geometric base and height value. The system determines that the subsets represent the same map feature based on vertex proximity along tile boundaries. The system identifies a sample point on the map feature, and determines a top surface elevation based on the sample point. The map feature is rendered in three dimensions with a continuous top surface and vertical edges connecting the top surface to the ground.
Claims20
A method comprising:
- receiving, by a computing device from a mapping server, a first map tile and a second map tile, each of the first map tile and the second map tile representing a portion of a geographic region adjacent to each other, wherein:
- the first map tile includes a first subset of vertices of a first map feature having a first geometric base and a first height value, and
- the second map tile includes a second subset of vertices of a second map feature having a second geometric base and a second height value;
- receiving, by the computing device from a mapping service, terrain data describing elevation values corresponding to ground points on the first map tile and the second map tile;
- determining the first map feature and the second map feature are a same map feature based on proximity of the vertices along a boundary between the first map tile and the second map tile;
- identifying a sample point on the map feature;
- determining an elevation value of a top surface of the map feature at the sample point;
- rendering the map feature across the first map tile and the second map tile based on the ground elevation values for the vertices in the first subset and the second subset and the elevation value of the top surface of the map feature, wherein the map feature is rendered in three dimensions with a continuous top surface and vertical edges spanning between the top surface and the ground.
A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by one or more processors, cause the one or more processors to:
- receive, by a computing device from a mapping server, a first map tile and a second map tile, each of the first map tile and the second map tile representing a portion of a geographic region adjacent to each other, wherein:
- the first map tile includes a first subset of vertices of a first map feature having a first geometric base and a first height value, and
- the second map tile includes a second subset of vertices of a second map feature having a second geometric base and a second height value;
- receive, by the computing device from a mapping service, terrain data describing elevation values corresponding to ground points on the first map tile and the second map tile;
- determine the first map feature and the second map feature are a same map feature based on proximity of the vertices along a boundary between the first map tile and the second map tile;
- identify a sample point on the map feature;
- determine an elevation value of a top surface of the map feature at the sample point;
- render the map feature across the first map tile and the second map tile based on the ground elevation values for the vertices in the first subset and the second subset and the elevation value of the top surface of the map feature, wherein the map feature is rendered in three dimensions with a continuous top surface and vertical edges spanning between the top surface and the ground.
A system, comprising:
- one or more processors;
- and
- a non-transitory computer-readable storage medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the instructions comprising instructions to:
- receive, by a computing device from a mapping server, a first map tile and a second map tile, each of the first map tile and the second map tile representing a portion of a geographic region adjacent to each other, wherein:
- the first map tile includes a first subset of vertices of a first map feature having a first geometric base and a first height value, and
- the second map tile includes a second subset of vertices of a second map feature having a second geometric base and a second height value;
- receive, by the computing device from a mapping service, terrain data describing elevation values corresponding to ground points on the first map tile and the second map tile;
- determine the first map feature and the second map feature are a same map feature based on proximity of the vertices along a boundary between the first map tile and the second map tile;
- identify a sample point on the map feature;
- determine an elevation value of a top surface of the map feature at the sample point;
- render the map feature across the first map tile and the second map tile based on the ground elevation values for the vertices in the first subset and the second subset and the elevation value of the top surface of the map feature, wherein the map feature is rendered in three dimensions with a continuous top surface and vertical edges spanning between the top surface and the ground.
Dependencies are inferred from the claim text.