METHOD FOR STITCHING MULTIPLE CONVERGING PATHS

Abstract
A method of stitching converging path segments to aesthetically label Y-intersections, path bifurcations or splits in roads or the like entails determining which pair of adjacent path segments subtend the largest angle. The path segments subtending the largest angle are reconstructed (stitched together) and a single instance of the label is then rendered along the reconstructed path. Although this stitching can be performed on the client device, pre-stitching server-side is even more efficient in terms of economizing over-the-air bandwidth and onboard processing resources.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present technology will become apparent from the following detailed description, taken in combination with the appended drawings, in which:



FIG. 1 is a block diagram schematically illustrating pertinent components of a wireless communications device and of a wireless communications network for implementing the present technology;



FIG. 2 is a more detailed block diagram of a wireless communications device on which the present technology can be implemented;



FIG. 3A is a system diagram of exemplary network components which provide mapping functionality in the wireless communications devices of FIG. 1 and FIG. 2;



FIG. 3B illustrates, by way of example, a message exchange between a wireless communications device and a map server for downloading map content to the wireless communications device based on the system of FIG. 3A;



FIG. 3C is a diagram showing a preferred Maplet data structure;



FIG. 4 is a schematic depiction of another example of a wireless network having an applications gateway for optimizing the downloading of map data from map servers to wireless communications devices on which the present technology can be implemented;



FIG. 5A is a flowchart presenting steps of a method of displaying a map on a wireless device by stitching together on the client side the two path segments subtending the largest angle in a Y-intersection to generate a reconstructed path along which a single label is rendered;



FIG. 5B is a flowchart presenting steps of a method of displaying a map on a wireless device by pre-stitching on the server side the two path segments subtending the largest angle in a Y-intersection to generate a reconstructed path along which a single label is rendered;



FIG. 6 schematically depicts the potential difficulties of labelling a Y-intersection that may be encountered when path segments of a Y-intersection are randomly stitched;



FIG. 7 schematically depicts a method of aesthetically labelling a Y-intersection by stitching together the pair of adjacent path segments subtending the largest angle;



FIG. 8 schematically depicts an angle determination based on vector path segments for the segments forming the Y-intersection;



FIG. 9 schematically depicts another example involving labelling of a cul-de-sac having three path segments;



FIG. 10 shows the vector angle determination for the example of FIG. 9;



FIG. 11 schematically depicts yet another example involving labelling of a waterway having three path segments; and



FIG. 12 shows the vector angle determination for the example of FIG. 11.


Claims
  • 1. A method of stitching multiple converging paths of a map to be displayed on a wireless communications device, the method comprising steps of: providing map data for rendering the map on a display of the device, the map data including label data for labelling paths on the map;identifying at least three path segments that converge to a common point on the map, each of the path segments having an identical label;determining an angle subtended by each pair of adjacent path segments in order to identify which pair of adjacent path segments subtends the largest angle; andgenerating a reconstructed path by stitching together the pair of adjacent path segments subtending the largest angle.
  • 2. The method as claimed in claim 1 further comprising a step of rendering a single instance of the label along the reconstructed path.
  • 3. The method as claimed in claim 1 wherein the steps of identifying, determining and generating are performed on a server.
  • 4. The method as claimed in claim 1 wherein the steps of identifying, determining and generating are performed on a wireless communications device.
  • 5. The method as claimed in claim 1 wherein the step of determining the angle subtended by each pair of adjacent path segments comprises steps of: determining vector directions for each of the path segments at the common point where the path segments converge; andcomputing angles between adjacent vectors.
  • 6. The method as claimed in claim 1 wherein the step of rendering a single instance of the label comprises steps of: determining a center of the reconstructed path; andverifying whether placement of the label at the center of the reconstructed path interferes with any other label.
  • 7. The method as claimed in claim 1 wherein the step of identifying at least three path segments that converge to a common point on the map comprises a step of identifying a Y-intersection having exactly three path segments.
  • 8. The method as claimed in claim 1 wherein the step of determining an angle in order to identify which pair of adjacent path segments subtends the largest angle comprises a further step of determining, in a case where two of the largest angles are equal, which of the adjacent path segments would result in a more horizontally level label.
  • 9. A computer program product comprising a computer-readable medium having code executable by a processor to perform the steps of: providing map data for rendering the map on a display of the device, the map data including label data for labelling paths on the map;identifying at least three path segments that converge to a common point on the map, each of the path segments having an identical label;determining an angle subtended by each pair of adjacent path segments in order to identify which pair of adjacent path segments subtends the largest angle; andgenerating a reconstructed path by stitching together the pair of adjacent path segments subtending the largest angle.
  • 10. The computer program product as claimed in claim 9 wherein the computer-readable medium further comprises code to perform a step of rendering a single instance of the label along the reconstructed path.
  • 11. The method as claimed in claim 9 wherein the steps of identifying, determining and generating are performed on a server.
  • 12. The method as claimed in claim 9 wherein the steps of identifying, determining and generating are performed on a wireless communications device.
  • 13. The computer program product as claimed in claim 9 wherein the step of determining the angle subtended by each pair of adjacent path segments comprises steps of: determining vector directions for each of the path segments at the common point where the path segments converge; andcomputing angles between adjacent vectors.
  • 14. The computer program product as claimed in claim 9 wherein the step of rendering a single instance of the label comprises steps of: determining a center of the reconstructed path; andverifying whether placement of the label at the center of the reconstructed path interferes with any other label.
  • 15. The computer program product as claimed in claim 9 wherein the step of identifying at least three path segments that converge to a common point on the map comprises a step of identifying a Y-intersection having exactly three path segments.
  • 16. The computer program product as claimed in claim 9 wherein the step of determining an angle in order to identify which pair of adjacent path segments subtends the largest angle comprises a further step of determining, in a case where two of the largest angles are equal, which of the adjacent path segments would result in a more horizontally level label.
  • 17. A wireless communications device for enabling a user of the device to display a map on the device, the wireless device comprising: an input device for enabling the user to cause the device to obtain map data for rendering the map to be displayed on a display of the device, the map data including label data for labelling paths on the map; anda memory for storing code to instruct a processor to: identify at least three path segments that converge to a common point on the map, each of the path segments having an identical label;determine an angle subtended by each pair of adjacent path segments in order to identify which pair of adjacent path segments subtends the largest angle;generate a reconstructed path by stitching together the pair of adjacent path segments subtending the largest angle; andrender a single instance of the label along the reconstructed path.
  • 18. The wireless communications device as claimed in claim 17 wherein the processor determines the angle subtended by each pair of adjacent path segments by: determining vector directions for each of the path segments at the common point where the path segments converge; andcomputing angles between adjacent vectors.
  • 19. The wireless communications device as claimed in claim 17 wherein the processor renders a single instance of the label comprises by: determining a center of the reconstructed path; andverifying whether placement of the label at the center of the reconstructed path interferes with any other label.
  • 20. The wireless communications device as claimed in claim 17 wherein the processor identifies at least three path segments that converge to a common point on the map by identifying a Y-intersection having exactly three path segments.
  • 21. The wireless communications device as claimed in claim 17 wherein the processor further determines, in a case where two of the largest angles are equal, which of the adjacent path segments would result in a more horizontally level label.
Provisional Applications (2)
Number Date Country
60788434 Mar 2006 US
60787541 Mar 2006 US