WO2008100656A1 - Apparatus and method for generating curved baseline for map labeling - Google Patents

Apparatus and method for generating curved baseline for map labeling Download PDF

Info

Publication number
WO2008100656A1
WO2008100656A1 PCT/US2008/050650 US2008050650W WO2008100656A1 WO 2008100656 A1 WO2008100656 A1 WO 2008100656A1 US 2008050650 W US2008050650 W US 2008050650W WO 2008100656 A1 WO2008100656 A1 WO 2008100656A1
Authority
WO
WIPO (PCT)
Prior art keywords
polyline
points
generating
curved
supporting
Prior art date
Application number
PCT/US2008/050650
Other languages
French (fr)
Inventor
Hongjie Ni
Original Assignee
Mitac International Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitac International Corporation filed Critical Mitac International Corporation
Priority to EP08705813.7A priority Critical patent/EP2115719A4/en
Publication of WO2008100656A1 publication Critical patent/WO2008100656A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/3673Labelling using text of road map data items, e.g. road names, POI names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Definitions

  • the present invention relates generally to apparatus and methods for displaying maps, and more specifically, to apparatus and methods that generate curved labeling on portable GPS (Global Positioning System) devices.
  • GPS Global Positioning System
  • Global positioning systems allow automatic route calculation from a current position to a destination location. Such systems guide a driver of a vehicle along a calculated trip route from the particular instantaneous vehicle location to the destination location by outputting trip instructions in conjunction with a visual display of route segments as the vehicle progresses.
  • GPS Global Positioning System
  • U.S. Defense Department which includes a series of 24 constellation satellites orbiting the earth at a distance of approximately 20,000 kilometers.
  • the GPS position location parameters permit wireless device processors to determine their respective three dimensional positions and velocities using very precise location parameters and timing signals received from the satellites.
  • the displays on many portable GPS devices are small and the data populating the screen must be efficiently presented. Care must be taken to prevent overcrowding the screen with too much data.
  • text labels accompanying objects should be accurately positioned so as to best associate the text with the object, i.e. road, river, etc., with minimal crossovers and crowding.
  • Alexander Wolff provides in reference [1] a method of curved labeling by generating circular arcs. The method executes in O(n 2 ) time, where n is the number of points of the polyline.
  • the present invention provided an efficient method and apparatus for calculating a curved baseline for display text on an end user's portable map displaying device, and in particular, on a portable global positioning system (GPS) device, that may for instance, be handheld by a user and/or mounted in a vehicle.
  • GPS global positioning system
  • map information includes for example, a representation of objects such as roads, which are formed by polylines. In many cases, the polylines are best annotated with a curved label for visual clarity.
  • a portable GPS device is configured to perform the actions performed on the end user device as disclosed above.
  • a device may include a computer platform further including a memory that comprises a map display module that further includes a curved baseline generator module.
  • the curved baseline generator module further includes logic operable to generate a predetermined number of B-Spline points based upon the generated supporting polyline Q.
  • An output of the curved baseline generator module comprises the B-Spline points, which is connected to form curved baseline L for displaying a label.
  • a third aspect of the method includes connecting the generated B-Spline points to form the curved baseline L for displaying a label.
  • a fourth further aspect includes a computer-readable medium embodying logic to perform the steps described in the second and third aspects described above.
  • Another aspect includes a processor capable of executing the logic stored in the computer-readable medium of the fourth aspect.
  • Fig. 1 is a system diagram of a GPS navigation system that includes a portable end user device capable of drawing labels on a curved baseline according to the present invention
  • Fig. 2 is a block diagram of an exemplary embodiment of a portable end user device using a method of generating a curved baseline for map labeling
  • FIG. 3 is a flowchart of one embodiment of method of generating a curved baseline for map labeling, according to the device of Fig. 2;
  • Fig. 5 is a geometric drawing of a right-turning point of a polyline P
  • Fig. 6 is a geometric drawing of a left-turning point of a polyline P
  • Fig. 7 is a geometric drawing illustrating the generation of a point p' i from a left-turning point p i wherein the angle is less than 135 degrees, according to Fig. 1;
  • Fig. 8 is a geometric diagram of the first point of supporting set Q
  • Fig. 9 is a geometric diagram of the last point of supporting set Q.
  • FIGs. 10 and 11 illustrate an exemplary method of generating the points between the first and last points of supporting set Q;
  • Fig. 12 is a geometric drawing illustrating finding a position/, the intersection of
  • Fig. 13 is a geometric drawing generating a point q j to add to Q when point p i is a left-turning point;
  • Fig. 14 is a geometric generating points q j , q j+1 , and q j+2 , to add to Q when point
  • Fig. 15 a geometric drawing generating two points, q j and q j+1 , to add to Q when point p i is a right-turning point and
  • Fig. 16 a geometric drawing generating two points, q j and q j+1 , to add to Q when
  • point p i is a right-turning point and ;
  • Fig. 17 illustrates an exemplary flowchart of a method of generating the discrete points comprising curved base line L.
  • FIG. 1 is an illustration of a navigation system 100 for determining the position of a portable user device 102.
  • the system 100 may also provide the capability of guiding a user in navigating the user to a predetermined location.
  • the system 100 determines the position of a portable user device 102 using location parameters derived from, a radio-navigation system, such as the Global Positioning System (GPS), developed and operated by the U.S. Defense Department.
  • GPS Global Positioning System
  • the GPS navigation system 100 receives data from several satellites 132 orbiting the earth at a distance of approximately 20,000 kilometers.
  • the GPS position location parameters permit a user device 102, in communication with the satellites, to determine their respective three dimensional positions and velocities using very precise location parameters and timing signals received from the satellites 132.
  • the user device 102 includes an integrated/external display unit, i.e., display screen 106, on which a map 134, or portion thereof, is displayed.
  • the map 134 includes curved objects, e.g., roads, rivers, topographical boundaries, etc., which, for the sake of visual clarity, a curved baseline is best suited for displaying text related to the curved object.
  • map data is stored on the user device 102.
  • a particular map 134, or map object e.g., points of interest along a predetermined may be downloaded from another computer, i.e., remote server 120, over a communication network 130.
  • the remote server 120 includes a memory 122 including maps and map related information stored in a map database 136.
  • the remote server 120 includes a communication module 128 that under control of a processor assembly 126, receives a request for information from, and transmits the requested data to, the end user device 102 over a communications network 130.
  • the portable end user device 102 illustrated in Fig. 1, and provided in greater detail in Fig., 2, is embodied in a hand held computing device. In other embodiments, the end user device 102 is integral to, or removable mounted to, a vehicle such as an automobile (not shown).
  • the portable end user device 102 may comprise a computer platform 104 operable to determine and display a position of the portable end user device
  • map information displayed on the output display 106 is based upon map information 144 stored on internal/external memory devices 110, such as a compact disk (CD) and a secure digital (SD) product.
  • map information may be is downloaded from a remote computing system 126.
  • map information may be obtained from a desktop or notebook computer maintained by the user that may communicate with the end user device 102 over a communication link that includes a hardwired connection or wireless connection, using such technologies as BLUETOOTH and infra-red (IR) radio transmissions.
  • a polyline P is drawn on display 106 to represent an object, for example, a road. Furthermore, associated with polyline P, a curved baseline L is generated, but not drawn, at a predetermined distance from the polyline P, on which a curved label, for example, "Expedition Way,” is drawn. Curved labels provide a more cognitive approach for labeling map polylines because the shape of curved labels can be drawn more faithful to the original polylines.
  • computer platform 104 includes a processor 108 for controlling the operation of the device 102.
  • Processor 108 may comprise an application-specific integrated circuit (ASIC), or other chipset, processor, microprocessor, logic circuit, or other data processing device operable to perform one or more processing functions for the end user device 102.
  • ASIC application-specific integrated circuit
  • processor 108 may include various processing subsystems, embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of the end user device 102.
  • computer platform 104 includes a location module 114 that comprises, in whole or in part, a geographic information system (GIS), such as a tool used to gather, transform, manipulate, analyze, and produce information related to the surface of the earth.
  • GIS geographic information system
  • such a GIS may include a global positioning system (GPS), such as a satellite navigational system formed by satellites 132, orbiting the earth and their corresponding receivers on the earth.
  • GPS global positioning system
  • the GPS satellites continuously transmit digital radio signals that contain data on the satellites' location and the exact time to the earth-bound receiver.
  • the satellites are equipped with atomic clocks that are precise, for example, to within a billionth of a second.
  • the computer platform 104 of portable end user device 102 further includes a communication module 116 operable to transfer data between components of the portable end user device 102 and between the portable end user device 102 and external devices, such as GPS satellite 132 and remote computer system 120.
  • communication module 116 may include one or any combination of input and/or output ports, transmit and receive chain components, transceivers, antenna, etc, i.e., a wired or wireless universal serial bus (USB) port.
  • Communication module 116 may include, but is not limited to, technologies such as a one or any combination of a wireless GPS satellite interface; a serial port, i.e., a universal serial bus (USB) port and a FIREWIRE serial bus interface; an infrared interface; and a short range radio frequency interface, such as a BLUETOOTH technology interface.
  • Memory 110 includes any type of memory, including read-only memory (ROM), random-access memory (RAM), EPROM, EEPROM, flash memory cells, secondary or tertiary storage devices, such as magnetic media, optical media, tape, or soft or hard disk, whether resident on computer platform 102 or remote therefrom.
  • Processor 108 is operable to execute programs stored in memory 110, including a map display module 136 that includes program instructions to receive inputs from location module 114 and display the position of portable end user device 102 on display unit 106 along with memory resident map information 144 stored on device 102 or downloaded from remote server 120.
  • Map display module 136 also includes control logic 140 operable to manage the operation of map display module 136 and, based upon commands from input/output logic 138, retrieve and store map information 144 on portable end user device 102 or on another device not shown.
  • position information retrieved from satellites 132, as well as portions of map information 144, is processed and data is transmitted to display unit 106, to display the location of device 102 on a varying background of highways, roads, bridges, and rivers.
  • control logic 140 transmits a polyline P, comprising points ⁇ p 1 ,p 2 , ...,p n ⁇ , to a curved baseline generator module 142.
  • Curved baseline generator module 142 computes curved baseline L and transmits discrete points making up curved baseline L to control logic 140.
  • Control logic 140 then operates to draw an appropriate curved label on display unit 106 using the curved baseline L.
  • curved baseline generator module 142 generates curved baseline L above, or left of polyline P, as shown in Fig. 2.
  • the position of the curved baseline L relative to the polyline P is predetermined.
  • curved baseline generating module 142 is located in the portable end user device 102 or alternatively, in a remote device in communication with portable device 102.
  • Fig. 3 is a high-level embodiment of a method implemented by curved baseline generation module 142 to generate curved baseline L that is above and does not touch polyline P.
  • the curved baseline generating module 142 initializes indexes used throughout the process.
  • a polyline P is input to curved baseline generator module 142 executing on the portable end user device 102 or a connected device.
  • Curved baseline generator module 142 is operable to generate, above and not touching polyline P, curved baseline L upon which a curved label is drawn.
  • a supporting polyline Q is generated based upon polyline P.
  • map display module 110 displays a curved map label above and the left of polyline P.
  • p i lies to the right of the directed line through p i-1 and p i (Fig. 5). Otherwise, p i is said to be a left-turning point (Fig. 6).
  • Preliminary treatment of polyline P is performed by modifying the individual points p, making up the polyline P.
  • step 404 a determination is made whether
  • program determines if the angle is less than 135 degrees. If true, the point p i is replaced by p' i at step 410.
  • FIG. 7 illustrates an exemplary situation wherein point p' i is calculated by letting
  • m be the midpoint of and determining a point C that satisfies a condition
  • step 412 a determination is made as to whether point p i+1 may be ignored and is based upon a distance d defined at Fig. 3 step 200.
  • Distance d is the expected distance between P and a curved base line L to be determined. If some
  • point p i+1 may be ignored.
  • Supporting set Q ⁇ q 1 ,q 2 ,..., q m ) (m ⁇ n) , which is also a polyline, is also built according to distance d.
  • polyline Q ⁇ q 1 ,q 2 , ...,q m ⁇ (m ⁇ n) include the following properties.
  • step 500 the curved baseline L is then built by generating a predetermined number of B-Spline points with Q as the supporting set, and then connecting the points to form a curved baseline L.
  • Literature generating of B-Spine points includes, for example, Fujio Yamaguchi, "Curves and Surfaces in Computer Aided Geometric Design", 1988, Springer-Verlag (pp 169-198 and pp 233-245), hereby incorporated herein in its entirety.
  • Fig.17 illustrates an exemplary flowchart detailing step 500 of Fig.3.
  • a third order B-Spline curve and of degree 2 is defined as:
  • polyline L is generated, it is used to draw a curved label.
  • the over all run time of the algorithm is O(n).

Abstract

Apparatus and methods of generating a curved baseline for a map labeling include receiving a polyline P= {p1,p2,...,Pn} of n points, generating a supporting polyline Q = {q1, q2,...qm} (m ≥ n) of m points at an expected distance d between polyline P and a curved base line L. A predetermined number of B-Spline points is generated based upon supporting polyline Q. The B-Spline points are then connected to form a curved baseline L for displaying a label.

Description

APPARATUS AND METHOD FOR GENERATING CURVED BASELINE FOR MAP
LABELING
FIELD OF THE INVENTION
[0001] The present invention relates generally to apparatus and methods for displaying maps, and more specifically, to apparatus and methods that generate curved labeling on portable GPS (Global Positioning System) devices.
BACKGROUND OF THE INVENTION
[0002] Global positioning systems allow automatic route calculation from a current position to a destination location. Such systems guide a driver of a vehicle along a calculated trip route from the particular instantaneous vehicle location to the destination location by outputting trip instructions in conjunction with a visual display of route segments as the vehicle progresses.
[0003] One exemplary geographical position location system receives and analyzes location parameters derived from the Global Positioning System (GPS), a radio- navigation system, developed and operated by the U.S. Defense Department, which includes a series of 24 constellation satellites orbiting the earth at a distance of approximately 20,000 kilometers. The GPS position location parameters permit wireless device processors to determine their respective three dimensional positions and velocities using very precise location parameters and timing signals received from the satellites. [0004] The displays on many portable GPS devices are small and the data populating the screen must be efficiently presented. Care must be taken to prevent overcrowding the screen with too much data. Furthermore, text labels accompanying objects should be accurately positioned so as to best associate the text with the object, i.e. road, river, etc., with minimal crossovers and crowding.
[0005] Accordingly, the interest and the demand of finding efficient map labeling methods is increasing. Most discussions of map labeling are concentrating on straight line, horizontal or slant, based labeling. However, not all roads and rivers are straight objects wherein their accompanying text may be drawn on a baseline calculated using a linear equation of the form y=mx+b. Curved labeling may deliver better results for labeling map polylines such as rivers and roads because it can be more faithful to the original polylines.
[0006] Alexander Wolff provides in reference [1] a method of curved labeling by generating circular arcs. The method executes in O(n2) time, where n is the number of points of the polyline.
[0007] However, the number of points of polylines can be very large and the computation burden of generating curved labels may compromise the map drawing performance of a handheld or vehicle navigation GPS device.
[0008] Accordingly there is a need for apparatus and methods that efficiently generate curved labels for maps drawn on portable GPS devices.
[0009] [1] Alexander Wolff, Lars Knipping, Marc van Kreveld, Tycho Strijk and
Pankaj K. Agarwal, 2002, A Simple and Efficient Algorithm for High-quality Line
Labeling. http://i11www.iti.uni-karlsruhe.de/map-labeling/papers/wkksa-seahq-00.pdf SUMMARY OF THE INVENTION
[0010] The present invention provided an efficient method and apparatus for calculating a curved baseline for display text on an end user's portable map displaying device, and in particular, on a portable global positioning system (GPS) device, that may for instance, be handheld by a user and/or mounted in a vehicle.
[0011] Under control of processor within the portable end user device, position information retrieved from the GPS network, and map data that, in at least one embodiment, is stored in the end user device, a display of the current location of the device is displayed. Map information includes for example, a representation of objects such as roads, which are formed by polylines. In many cases, the polylines are best annotated with a curved label for visual clarity.
[0012] According to one aspect, a portable GPS device is configured to perform the actions performed on the end user device as disclosed above. Such a device may include a computer platform further including a memory that comprises a map display module that further includes a curved baseline generator module. The curved baseline generator module comprises an input of a polyline P of n points, where P= {p1,p2, ...,pn} and logic operable to generate a supporting polyline Q of m points at an expected distance d between P and a curved base line L, where Q = {q1,q2, ...,qm} {m ≥n) . The curved baseline generator module further includes logic operable to generate a predetermined number of B-Spline points based upon the generated supporting polyline Q. An output of the curved baseline generator module comprises the B-Spline points, which is connected to form curved baseline L for displaying a label.
[0013] In a second aspect, a method to generate curved labels for maps drawn on portable GPS devices includes receiving a polyline P of n points, where P= {p1,p2, ...,pn} and generating a supporting polyline Q of m points an expected distance d between P and a to be determined curved base line L, where Q = {q1,q2, ...,qm} (m ≥n) , Based upon the supporting polyline Q, a predetermined number of B-Spline points are generated and outputted.
[0014] A third aspect of the method includes connecting the generated B-Spline points to form the curved baseline L for displaying a label.
[0015] A fourth further aspect includes a computer-readable medium embodying logic to perform the steps described in the second and third aspects described above.
[0016] Another aspect includes a processor capable of executing the logic stored in the computer-readable medium of the fourth aspect.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The present apparatus and methods are illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
[0018] Fig. 1 is a system diagram of a GPS navigation system that includes a portable end user device capable of drawing labels on a curved baseline according to the present invention; [0019] Fig. 2 is a block diagram of an exemplary embodiment of a portable end user device using a method of generating a curved baseline for map labeling;
[0020] Fig. 3 is a flowchart of one embodiment of method of generating a curved baseline for map labeling, according to the device of Fig. 2;
[0021] Fig. 4 illustrates a more detailed flowchart generating the first point of supporting set Q and performing preliminary treatment for an zth point of Polyline P, where P = {p1,p2, ...,Pn-1};
[0022] Fig. 5 is a geometric drawing of a right-turning point of a polyline P;
[0023] Fig. 6 is a geometric drawing of a left-turning point of a polyline P;
[0024] Fig. 7 is a geometric drawing illustrating the generation of a point p'i from a left-turning point pi wherein the angle
Figure imgf000007_0002
is less than 135 degrees, according to Fig. 1;
[0025] Fig. 8 is a geometric diagram of the first point of supporting set Q;
[0026] Fig. 9 is a geometric diagram of the last point of supporting set Q;
[0027] Figs. 10 and 11 illustrate an exemplary method of generating the points between the first and last points of supporting set Q;
[0028] Fig. 12 is a geometric drawing illustrating finding a position/, the intersection of
I1 and I2 wherein point pi is a right-turning point;
[0029] Fig. 13 is a geometric drawing generating a point qj to add to Q when point pi is a left-turning point;
[0030] Fig. 14 is a geometric generating points qj, qj+1, and qj+2, to add to Q when point
pi is a right-turning point and
Figure imgf000007_0001
[0031] Fig. 15 a geometric drawing generating two points, qj and qj+1, to add to Q when point pi is a right-turning point and
Figure imgf000008_0002
[0032] Fig. 16 a geometric drawing generating two points, qj and qj+1, to add to Q when
point pi is a right-turning point and
Figure imgf000008_0001
; and
[0033] Fig. 17 illustrates an exemplary flowchart of a method of generating the discrete points comprising curved base line L.
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS [0034] Fig. 1 is an illustration of a navigation system 100 for determining the position of a portable user device 102. The system 100 may also provide the capability of guiding a user in navigating the user to a predetermined location.
[0035] In one exemplary embodiment, the system 100 determines the position of a portable user device 102 using location parameters derived from, a radio-navigation system, such as the Global Positioning System (GPS), developed and operated by the U.S. Defense Department. In some embodiments, the GPS navigation system 100 receives data from several satellites 132 orbiting the earth at a distance of approximately 20,000 kilometers. The GPS position location parameters permit a user device 102, in communication with the satellites, to determine their respective three dimensional positions and velocities using very precise location parameters and timing signals received from the satellites 132.
[0036] The user device 102 includes an integrated/external display unit, i.e., display screen 106, on which a map 134, or portion thereof, is displayed. In some embodiments the map 134 includes curved objects, e.g., roads, rivers, topographical boundaries, etc., which, for the sake of visual clarity, a curved baseline is best suited for displaying text related to the curved object.
[0037] In some embodiments, map data is stored on the user device 102. In other embodiments, a particular map 134, or map object, e.g., points of interest along a predetermined may be downloaded from another computer, i.e., remote server 120, over a communication network 130.
[0038] Non-limiting, the remote server 120 includes a memory 122 including maps and map related information stored in a map database 136. The remote server 120 includes a communication module 128 that under control of a processor assembly 126, receives a request for information from, and transmits the requested data to, the end user device 102 over a communications network 130.
[0039] The portable end user device 102 illustrated in Fig. 1, and provided in greater detail in Fig., 2, is embodied in a hand held computing device. In other embodiments, the end user device 102 is integral to, or removable mounted to, a vehicle such as an automobile (not shown).
[0040] Non-limiting, the portable end user device 102 may comprise a computer platform 104 operable to determine and display a position of the portable end user device
102 and display its position on an output display 106 integrally or remotely connected to the device 102. The map information displayed on the output display 106 is based upon map information 144 stored on internal/external memory devices 110, such as a compact disk (CD) and a secure digital (SD) product. Alternatively, map information may be is downloaded from a remote computing system 126. Still further, map information may be obtained from a desktop or notebook computer maintained by the user that may communicate with the end user device 102 over a communication link that includes a hardwired connection or wireless connection, using such technologies as BLUETOOTH and infra-red (IR) radio transmissions.
[0041] As illustrated in Fig. 2, a polyline P is drawn on display 106 to represent an object, for example, a road. Furthermore, associated with polyline P, a curved baseline L is generated, but not drawn, at a predetermined distance from the polyline P, on which a curved label, for example, "Expedition Way," is drawn. Curved labels provide a more cognitive approach for labeling map polylines because the shape of curved labels can be drawn more faithful to the original polylines.
[0042] In some aspects, computer platform 104 includes a processor 108 for controlling the operation of the device 102. Processor 108 may comprise an application-specific integrated circuit (ASIC), or other chipset, processor, microprocessor, logic circuit, or other data processing device operable to perform one or more processing functions for the end user device 102. Furthermore, processor 108 may include various processing subsystems, embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of the end user device 102.
[0043] In some aspects, computer platform 104 includes a location module 114 that comprises, in whole or in part, a geographic information system (GIS), such as a tool used to gather, transform, manipulate, analyze, and produce information related to the surface of the earth. In some aspects, such a GIS may include a global positioning system (GPS), such as a satellite navigational system formed by satellites 132, orbiting the earth and their corresponding receivers on the earth. The GPS satellites continuously transmit digital radio signals that contain data on the satellites' location and the exact time to the earth-bound receiver. The satellites are equipped with atomic clocks that are precise, for example, to within a billionth of a second.
[0044] The computer platform 104 of portable end user device 102 further includes a communication module 116 operable to transfer data between components of the portable end user device 102 and between the portable end user device 102 and external devices, such as GPS satellite 132 and remote computer system 120.
[0045] For instance, communication module 116 may include one or any combination of input and/or output ports, transmit and receive chain components, transceivers, antenna, etc, i.e., a wired or wireless universal serial bus (USB) port. Communication module 116 may include, but is not limited to, technologies such as a one or any combination of a wireless GPS satellite interface; a serial port, i.e., a universal serial bus (USB) port and a FIREWIRE serial bus interface; an infrared interface; and a short range radio frequency interface, such as a BLUETOOTH technology interface.
[0046] Memory 110 includes any type of memory, including read-only memory (ROM), random-access memory (RAM), EPROM, EEPROM, flash memory cells, secondary or tertiary storage devices, such as magnetic media, optical media, tape, or soft or hard disk, whether resident on computer platform 102 or remote therefrom. Processor 108 is operable to execute programs stored in memory 110, including a map display module 136 that includes program instructions to receive inputs from location module 114 and display the position of portable end user device 102 on display unit 106 along with memory resident map information 144 stored on device 102 or downloaded from remote server 120. [0047] Map display module 136 also includes control logic 140 operable to manage the operation of map display module 136 and, based upon commands from input/output logic 138, retrieve and store map information 144 on portable end user device 102 or on another device not shown.
[0048] Under control of processor 108, position information retrieved from satellites 132, as well as portions of map information 144, is processed and data is transmitted to display unit 106, to display the location of device 102 on a varying background of highways, roads, bridges, and rivers.
[0049] Still referring to Fig. 2, based upon map information 144, control logic 140 transmits a polyline P, comprising points {p1,p2, ...,pn}, to a curved baseline generator module 142. Curved baseline generator module 142 computes curved baseline L and transmits discrete points making up curved baseline L to control logic 140. Control logic 140 then operates to draw an appropriate curved label on display unit 106 using the curved baseline L. In some embodiments, curved baseline generator module 142 generates curved baseline L above, or left of polyline P, as shown in Fig. 2. Non-limiting, the position of the curved baseline L relative to the polyline P is predetermined. [0050] Depending upon the specific portable end user device 102, and more specifically, the available computing power within the portable device 102, curved baseline generating module 142 is located in the portable end user device 102 or alternatively, in a remote device in communication with portable device 102. [0051] Fig. 3 is a high-level embodiment of a method implemented by curved baseline generation module 142 to generate curved baseline L that is above and does not touch polyline P. At step 200 the curved baseline generating module 142 initializes indexes used throughout the process. At step 300, a polyline P is input to curved baseline generator module 142 executing on the portable end user device 102 or a connected device.
[0052] Curved baseline generator module 142 is operable to generate, above and not touching polyline P, curved baseline L upon which a curved label is drawn. At step 400, a supporting polyline Q is generated based upon polyline P. At step 500, curved baseline
L is generated based upon polyline Q. At step 600, curved baseline generator module
142 outputs discrete points along curved baseline L upon which map display module 110 displays a curved map label above and the left of polyline P.
DEFINITIONS
[0053] In one aspect, curved baseline generating module 136 is operable to generate a curved baseline L based upon a polyline P= {p1,p2, ...,pn} with a plurality of points pi = (xi ,yi ), (i = 1,2,..,n) input at step 300. Polyline P is defined as a polyline having n points, hi one aspect, points xi ≤ xi+1 (i = 1,2,..,n - 1) and polyline P is directed from p1 to pn and the labels are placed on the upper side, i.e., the left side, of the polyline P without touch it.
[0054] Each point pi (i = 1,2,..,n) includes a turning property that, in one embodiment, is defined as follows, based upon the geometric drawings of Figs. 5 and 6: i) The first point p1 and the last point pn are both defined as left-turning points. ii) For i = 2,3,. .. ,n - 1, pi is said to be a right-turning point if the point pi+1
lies to the right of the directed line through p i-1 and pi (Fig. 5). Otherwise, pi is said to be a left-turning point (Fig. 6).
PRELIMINARY TREATMENT
[0055] Preliminary treatment of polyline P is performed by modifying the individual points p, making up the polyline P. At Fig. 4, step 404, a determination is made whether
i is within the range 1 < i < n. If true, control passes to step 406, which further
determines if pi is a left-turning point. If pi is a left- turning point, at step 408 the
program determines if the angle is less than 135 degrees. If true, the point
Figure imgf000014_0007
pi is replaced by p'i at step 410.
[0056] Fig. 7 illustrates an exemplary situation wherein point p'i is calculated by letting
m be the midpoint of
Figure imgf000014_0001
and determining a point C that satisfies a condition
wherein and , Point p'i is the intersection of the
Figure imgf000014_0002
Figure imgf000014_0003
circle Cp centered at C with radius
Figure imgf000014_0004
and the line connecting C and pi . As shown in
Fig. 7, the resultant segments and . For
Figure imgf000014_0005
Figure imgf000014_0006
convenience, p'i is henceforth labeled p, ,
[0057] At Fig. 4, step 412, a determination is made as to whether point pi+1 may be ignored and is based upon a distance d defined at Fig. 3 step 200. Distance d, where d > 0, is the expected distance between P and a curved base line L to be determined. If some
segment, e.g., , is shorter than 2d, point pi+1 may be ignored.
Figure imgf000015_0005
BUILDING THE SET OF SUPPORTING POINTS Q
[0058] The preliminary treatment disclosed above generates a polyline P, wherein P =
{ p1 ,p2, ...,pn } . Supporting set Q = {q1,q2,..., qm) (m ≥n) , which is also a polyline, is also built according to distance d.
[0059] Referring to the geometric drawing of Fig. 8 and step 402 of Fig. 4, q1 , the first point of Q, is calculated as follows:
Let and let vector wx = d . uy, wy = -d . ux .
Figure imgf000015_0001
Then, q1 = p1 + w .
Point q1 of Fig. 8 satisfies the following three conditions:
i) {The line passing through the point q1 and p1 is
Figure imgf000015_0002
perpendicular to the line passing through the point p1 and p2 ).
ii) (The distance between q1 and p1 is equal to d).
Figure imgf000015_0003
iii) The point q1 is on the left side of the vector from p1 to p2 .
[0060] Referring to Fig. 9 and the flowcharts of Figs. 10 and 11, qm , the last point of Q, is calculated as follows:
Let and let vector z be calculated as follows.
Figure imgf000015_0004
Figure imgf000016_0001
Then, calculate qm = Pn + z , wherein point qm satisfies the following three conditions. i) (The line passing through the point qm and pn is
Figure imgf000016_0002
perpendicular to the line passing through the point pn_1 and pn ).
ii) (The distance between qm and pn is equal to d).
Figure imgf000016_0003
iii) The point qm is on the left side of the vector from pn_1 to pn . [0061] Referring to the flowcharts illustrated in Figs. 10 and 11, qm , the 2nd to (m-1)th
point of Q, is calculated wherein for 1 < i <= n - 1, assume points
Figure imgf000016_0004
have been generated corresponding to points Consider two lines, l1 and I2 , that satisfy the following two
Figure imgf000016_0005
conditions: i) l1 is to the left or above the segment pi-1pi and parallel to the segment Pi_1P i . The distance between l1 and the segment pi-1pi is equal to d, and ii) l2 is to the left or above the segment pipi+1 and parallel to the segment pipi+1 . The distance between l2 and the segment pi pi+1 is equal to d.
[0062] Referring to step 416 of Fig. 10, the position f, the intersection of l1 and l2 is determined as follows. Letting and
Figure imgf000017_0002
Figure imgf000017_0003
calculate vector w and z according to: wx = d . uy , wy = -d . ux ; and zx = d . vy , zy = -d . vx .
Then, letting point a = pi + w and point b = pi + z calculate point c = (a +b) /2. The intersection f of I1 and I2 can be calculated by:
Figure imgf000017_0001
[0063] The diagram of Fig. 12 and step 424 of Fig. 10 shows the determination of point in the case wherein point pi is a right-turning point (the calculations are the same if pi is a left-turning point). If point pi (0 < i < n) is a left-turning point (Fig. 13), one point qj = f will be added to Q.
[0064] If point pi (0 < i < n) is a right-turning point, there are the following three cases, as illustrated in Figs. 14-16 : i) If
Figure imgf000017_0004
, i.e., Fig. 14, three points, q, qj+1, and qj+2 will be added to Q as shown in step 426 of Fig. 11. Referring back to Fig. 13, q=a, qj+1=a+(b-pi), and qj+2=b. ii) If , i.e., Fig. 15, two points, q and qj+1 are added at
Figure imgf000017_0005
step 428, wherein qj = a and qj+1 = b . iii) If , i.e., Fig. 16, two points qj and qj+1 will be added
Figure imgf000018_0005
to Q. In this case, they are calculated as:
and (Fig. 10, step 430);
Figure imgf000018_0004
Figure imgf000018_0003
wherein the segment satisfies:
Figure imgf000018_0006
Figure imgf000018_0002
[0065] Based upon steps described above, polyline Q = {q1,q2, ...,qm} (m ≥n) include the following properties.
1) Q is above the original line polyline P and does not touch P.
2) Each triangle Δququ+1qu+2 (u=1,2,...,m-2) in Figs. 14-16 is above the original polyline P and does not touch P.
3) Because the operations required to build the supporting points Q are limited, the total run time to generate Q is O(n), the time required to execute the above procedure for n points.
4) Q satisfies
Figure imgf000018_0001
BUILDING THE CURVED BASELINE BY GENERATING B-SPLINE POINTS [0066] Referring back to Fig. 3, step 500, the curved baseline L is then built by generating a predetermined number of B-Spline points with Q as the supporting set, and then connecting the points to form a curved baseline L. Literature generating of B-Spine points includes, for example, Fujio Yamaguchi, "Curves and Surfaces in Computer Aided Geometric Design", 1988, Springer-Verlag (pp 169-198 and pp 233-245), hereby incorporated herein in its entirety. [0067] Fig.17 illustrates an exemplary flowchart detailing step 500 of Fig.3. From the preliminary treatment section, Q ={q1,q2,...,qm} (m≥n) , where n is the total number of points of the original polyline P. In one embodiment, a third order B-Spline curve and of degree 2 is defined as:
Figure imgf000019_0001
where Si(t) = X0 (t) qi+ X1(t) qi+1+X2(t) qi+2 (i = 1, 2, ..., m-2) (II)
and
Figure imgf000019_0002
[0068] Choosing a constant k> 1, let and tv=v-Δ (v = 0,1,2,...,k).
Figure imgf000019_0004
[0069] Calculate Si(tj) ( i = 1,2,.. , m - 2 and j = 0,1,2, ... ,k).
[0070] Connecting these points in order generates the following polyline:
Figure imgf000019_0003
Since S1(tk) = S2 (t0 ), S2(tk) = S3(t0), ..., Sm-3(t0) = Sm-2(tk) , there's no need to keep both Si(tk) and Si+1(t0) if 1≤i≤m-3. Only when i = m-2, the last point Sm-2(tk) is needed.
[0071] Once polyline L is generated, it is used to draw a curved label. According to a property of B-Spline generated points, polyline L has following three properties: [0072] 1. L is above the original polyline P and does not touch it because each sub curve L1 = {Si(t0), Si(t1),..., Si(tk)} is totally contained in the triangle Δqiqi+1qi+2 (i = 1, 2, ... , m - 2) , based upon the teachings of Fujio Yamaguchi, as previously disclosed. [0073] 2. L is "continuous" for two reasons: i. Si is a polynomial of degree 2 on [0, 1] (i = 1, 2, ... , m - 2) , and
ii. Si(tk)= Si+1(t0) or Si(1)= Si+1(0) (i=1, 2, ..., m-3).
[0074] 2. L is "smooth" because the derivatives of function S, that is S' , are continuous, i.e.: i) The derivatives S'i is a polynomial of degree 1 on [0,1] (i = 1,2,...,m-2); and
ii) S'i(tk)=S'i+1(t0) or S'i(1)=S'i+1(0) (i = 1,2,...,m-3).
[0075] Following is an analysis of the performance of the method heretofore disclosed. [0076] For a fixed t (0 < t < 1) , from equation III, the number of multiplications for calculating Xi(t) (i = 0,1,2) is a constant, for example C1. Then, the number of multiplications for calculating one point Su(tv) for a fixed u and fixed v ( 1≤u≤m-2; 0≤v≤k-1 ) is 3C1 . The total number of multiplications for calculating k points Su(t0), Su(t1),..., Su(tk-1) for a fixed u ( 1 ≤u ≤m-2) is 3 kC1. Therefore, the total number of multiplications for generating L is 3(m - 2)kC1 + 3C1 = 3((m - 2)k + 1)C1 < 3mkC1. The extra 3C1 is for the last
point Sm-2(tk). [0077] The total number of points of Q is no more than 3n, where n is the number of points of the original polyline, i.e., m ≤ 3n . Therefore, the total number of multiplications for calculating (m-2)k+1 points of L is no more than 9C1kn , Because both C1 and k are constants, the run time for generating L s O(n).
[0078] The preliminary treatment and the supporting set build runs in O(n) time.
Accordingly, the over all run time of the algorithm is O(n).
[0079] While the foregoing disclosure shows illustrative aspects and/or aspects, it should be noted that various changes and modifications could be made herein without departing from the scope of the described aspects and/or aspects as defined by the appended claims. Furthermore, although elements of the described aspects s described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated. Additionally, all or a portion of any aspect and/or aspects may be utilized with all or a portion of any other aspect and/or aspect, unless stated otherwise.

Claims

CLAIMSWhat is claimed is:
1. A method of generating a curved baseline for a map labeling, comprising the steps of: receiving a polyline P of n points, where P= {p1,p2, ...,pn} ; generating a supporting polyline Q of m points an expected distance d between P and a curved base line L, where Q = {q1,q2, ...,qm} (m ≥n) ; generating a predetermined number of B-Spline points based upon supporting polyline Q; and outputting the generated B-Spline points.
2. The method of claim 1, wherein said generating support polyline Q step further comprises the step of: generating points {q1,q2, ...,qm} such that each triangle Δququ+1 qu+2 (u = 1, 2, ... , m - 2) is above polyline P and does not touch P.
3. The method of claim 1, wherein said generating support polyline Q step further comprises the step of: generating points {q1,q2, ...,qm} such that Q satisfies
Figure imgf000022_0001
4. The method of claim 2, wherein said generating support polyline Q step further comprises the step of: generating first point q1 , wherein:
Figure imgf000023_0001
5. The method of claim 4, wherein said generating support polyline Q step further comprises the step of: generating last point qm, wherein:
Figure imgf000023_0002
6. The method of claim 1, further comprising the step of connecting the B- Spline points to form a curved baseline L.
7. The method of claim 6, further comprising the step of using curved baseline L to draw a curved label.
8. At least one processor configured to perform the actions of: receiving a polyline P of n points, where P= {p1,p2, ...,pn}; generating a supporting polyline Q of m points an expected distance d between P and a curved base line L, where Q = {q1,q2, ...,qm} (m ≥n) ; generating a predetermined number of B-Spline points based upon supporting polyline Q.
9. A computer program product, comprising: a computer-readable medium comprising: a first set of codes for causing a computer to receive a polyline P of n points, where P= {p1,p2, ...,pn}; a second set of codes for causing a computer to generating a supporting polyline Q of m points at an expected distance d between P and a curved base line L, where Q = {q1,q2, ...,qm} (m ≥n) ; a third set of codes for causing a computer to generate a predetermined number of B-Spline points based upon supporting polyline Q; and a fourth set of codes for causing a computer to connect the B-Spline points in sequence.
10. A portable end user device operable to generate a curved baseline for map labeling, comprising a computer platform further including: a processor; a memory executable by the processor, the memory including a curved baseline generator module that includes: an input of apolyline P of n points, where P= {p1,p2, ...,pn}; logic operable to generate a supporting polyline Q of m points at an expected distance d between P and a curved base line L, where Q = {q1,q2, ...,qm} (m ≥n) ; logic operable to generate a predetermined number of B-Spline points based upon the generated supporting polyline Q; and an output comprising the B-Spline points forming the curved baseline L.
11. The device of claim 10, wherein the portable end user device is a portable GPS device.
12. The device of claim 10, further comprising a display unit operable to display a label drawn on the curved baseline L.
PCT/US2008/050650 2007-02-16 2008-01-09 Apparatus and method for generating curved baseline for map labeling WO2008100656A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP08705813.7A EP2115719A4 (en) 2007-02-16 2008-01-09 Apparatus and method for generating curved baseline for map labeling

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/675,817 2007-02-16
US11/675,817 US7692655B2 (en) 2007-02-16 2007-02-16 Apparatus and method of generating curved baseline for map labeling

Publications (1)

Publication Number Publication Date
WO2008100656A1 true WO2008100656A1 (en) 2008-08-21

Family

ID=39690444

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/050650 WO2008100656A1 (en) 2007-02-16 2008-01-09 Apparatus and method for generating curved baseline for map labeling

Country Status (3)

Country Link
US (1) US7692655B2 (en)
EP (1) EP2115719A4 (en)
WO (1) WO2008100656A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010100215A1 (en) 2009-03-06 2010-09-10 F.I.S. Fabbrica Italiana Sintetici S.P.A. SYNTHESIS OF (4aS,7aS)-OCTAHYDRO-1H-PYRROLO[3,4-b]PYRIDINE
FR2951831A1 (en) * 2009-10-23 2011-04-29 Goodkap Satellite navigation device for use in service and satellite navigation providing system, has integration module integrated between navigation unit and modular service unit to allow exchange of data between two distinct units
US8219317B2 (en) 2008-09-22 2012-07-10 Mitac International Corporation Route navigation via a proximity point
US8249804B2 (en) 2008-08-20 2012-08-21 Mitac International Corporation Systems and methods for smart city search
US8290703B2 (en) 2008-01-18 2012-10-16 Mitac International Corporation Method and apparatus for access point recording using a position device
US8498808B2 (en) 2008-01-18 2013-07-30 Mitac International Corp. Method and apparatus for hybrid routing using breadcrumb paths
US8554475B2 (en) 2007-10-01 2013-10-08 Mitac International Corporation Static and dynamic contours
US8700314B2 (en) 2008-01-18 2014-04-15 Mitac International Corporation Method and apparatus to search for local parking

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015263B2 (en) 2004-10-29 2015-04-21 Go Daddy Operating Company, LLC Domain name searching with reputation rating
US8396657B2 (en) * 2005-12-22 2013-03-12 Hewlett-Packard Development Company, L.P. Techniques to improve location accuracy for a map
US20090222338A1 (en) * 2008-03-03 2009-09-03 Hamilton Ii Rick A Monitoring and Rewards Methodologies for "Green" Use of Vehicles
EP2503290A1 (en) 2011-03-22 2012-09-26 Harman Becker Automotive Systems GmbH Curved labeling in digital maps
EP2503292B1 (en) 2011-03-22 2016-01-06 Harman Becker Automotive Systems GmbH Landmark icons in digital maps
EP2503293B1 (en) * 2011-03-22 2015-05-20 Harman Becker Automotive Systems GmbH Labelling of map elements in digital maps
EP2503291A1 (en) 2011-03-22 2012-09-26 Harman Becker Automotive Systems GmbH Signposts in digital maps
US9002926B2 (en) 2011-04-22 2015-04-07 Go Daddy Operating Company, LLC Methods for suggesting domain names from a geographic location data
US8489746B2 (en) * 2011-04-22 2013-07-16 Go Daddy Operating Company, LLC Systems for suggesting domain names from a geographic location data
US8237745B1 (en) 2011-09-26 2012-08-07 Google Inc. Label positioning technique to reduce crawling during zoom activities
US9671233B2 (en) * 2012-11-08 2017-06-06 Uber Technologies, Inc. Dynamically providing position information of a transit object to a computing device
US20140278838A1 (en) 2013-03-14 2014-09-18 Uber Technologies, Inc. Determining an amount for a toll based on location data points provided by a computing device
US9715694B2 (en) 2013-10-10 2017-07-25 Go Daddy Operating Company, LLC System and method for website personalization from survey data
US9684918B2 (en) 2013-10-10 2017-06-20 Go Daddy Operating Company, LLC System and method for candidate domain name generation
US10424036B2 (en) 2014-06-02 2019-09-24 Uber Technologies, Inc. Maintaining data for use with a transport service during connectivity loss between systems
US10204431B1 (en) 2014-07-15 2019-02-12 Google Llc Polygon labeling by dominant shapes
US9953105B1 (en) 2014-10-01 2018-04-24 Go Daddy Operating Company, LLC System and method for creating subdomains or directories for a domain name
US9785663B2 (en) 2014-11-14 2017-10-10 Go Daddy Operating Company, LLC Verifying a correspondence address for a registrant
US9779125B2 (en) 2014-11-14 2017-10-03 Go Daddy Operating Company, LLC Ensuring accurate domain name contact information
JP6658873B2 (en) * 2016-04-26 2020-03-04 アイシン・エィ・ダブリュ株式会社 Map display system and map display program
AU2021206860B2 (en) * 2020-10-27 2022-09-08 Canva Pty Ltd Systems and methods for applying effects to design elements

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724072A (en) * 1995-03-13 1998-03-03 Rutgers, The State University Of New Jersey Computer-implemented method and apparatus for automatic curved labeling of point features
US5988853A (en) * 1996-10-05 1999-11-23 Korea Telecom Method for placing names for point-features on a map based on a plane sweeping technique
US6565610B1 (en) * 1999-02-11 2003-05-20 Navigation Technologies Corporation Method and system for text placement when forming maps
US20060058949A1 (en) * 2004-09-10 2006-03-16 Telmap Ltd. Placement of map labels

Family Cites Families (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515283A (en) 1994-06-20 1996-05-07 Zexel Corporation Method for identifying highway access ramps for route calculation in a vehicle navigation system
US5802492A (en) 1994-06-24 1998-09-01 Delorme Publishing Company, Inc. Computer aided routing and positioning system
US6321158B1 (en) 1994-06-24 2001-11-20 Delorme Publishing Company Integrated routing/mapping information
US5543789A (en) 1994-06-24 1996-08-06 Shields Enterprises, Inc. Computerized navigation system
DE19521929A1 (en) 1994-10-07 1996-04-11 Mannesmann Ag Facility for guiding people
US5844570A (en) 1995-05-02 1998-12-01 Ames Research Laboratories Method and apparatus for generating digital map images of a uniform format
US6370475B1 (en) 1997-10-22 2002-04-09 Intelligent Technologies International Inc. Accident avoidance system
JPH0914984A (en) 1995-06-28 1997-01-17 Aisin Aw Co Ltd Navigation device for vehicle
GB9520478D0 (en) 1995-10-06 1995-12-06 West Glamorgan County Council Monitoring system
JP2826086B2 (en) 1995-12-28 1998-11-18 アルパイン株式会社 Navigation device
DE69632242T2 (en) 1996-02-01 2005-04-14 Aisin AW Co., Ltd., Anjo Vehicle navigation system and method for entering and storing course change points
US6539301B1 (en) 1996-08-02 2003-03-25 Magellan Dis, Inc. System and method for controlling a vehicle emergency response network
US6141621A (en) 1996-08-02 2000-10-31 Magellan Dis, Inc. Method of providing a textual description of a remote vehicle location
US6609062B2 (en) 1996-08-22 2003-08-19 Wgrs Licensing Company, Llc Nesting grid structure for a geographic referencing system and method of creating and using the same
US6356210B1 (en) 1996-09-25 2002-03-12 Christ G. Ellis Portable safety mechanism with voice input and voice output
JP3893647B2 (en) 1996-09-30 2007-03-14 マツダ株式会社 Navigation device
US5861920A (en) 1996-11-08 1999-01-19 Hughes Electronics Corporation Hierarchical low latency video compression
US6084989A (en) 1996-11-15 2000-07-04 Lockheed Martin Corporation System and method for automatically determining the position of landmarks in digitized images derived from a satellite-based imaging system
JP3876462B2 (en) 1996-11-18 2007-01-31 ソニー株式会社 Map information providing apparatus and method
US6405130B1 (en) 1996-12-11 2002-06-11 Magellan Dis, Inc. Navigation system using forward-looking origin selection for route re-calculation
US6308134B1 (en) 1996-12-27 2001-10-23 Magellan Dis, Inc. Vehicle navigation system and method using multiple axes accelerometer
US20010018628A1 (en) 1997-03-27 2001-08-30 Mentor Heavy Vehicle Systems, Lcc System for monitoring vehicle efficiency and vehicle and driver perfomance
JP3623239B2 (en) 1997-06-20 2005-02-23 三菱電機株式会社 Mobile information map information display device
US6133853A (en) 1998-07-30 2000-10-17 American Calcar, Inc. Personal communication and positioning system
US6148261A (en) 1997-06-20 2000-11-14 American Calcar, Inc. Personal communication system to send and receive voice data positioning information
KR19990011004A (en) 1997-07-21 1999-02-18 홍종만 Parking lot guidance system and method
JP3719315B2 (en) 1997-08-08 2005-11-24 アイシン・エィ・ダブリュ株式会社 Vehicle navigation device and storage medium
US6680694B1 (en) 1997-08-19 2004-01-20 Siemens Vdo Automotive Corporation Vehicle information system
GB2328744B (en) 1997-08-28 2002-02-13 Denso Corp Route guidance apparatus
US6229546B1 (en) 1997-09-09 2001-05-08 Geosoftware, Inc. Rapid terrain model generation with 3-D object features and user customization interface
US6201540B1 (en) 1998-01-07 2001-03-13 Microsoft Corporation Graphical interface components for in-dash automotive accessories
US6249740B1 (en) 1998-01-21 2001-06-19 Kabushikikaisha Equos Research Communications navigation system, and navigation base apparatus and vehicle navigation apparatus both used in the navigation system
US6037942A (en) 1998-03-10 2000-03-14 Magellan Dis, Inc. Navigation system character input device
US6092076A (en) 1998-03-24 2000-07-18 Navigation Technologies Corporation Method and system for map display in a navigation application
US6108603A (en) 1998-04-07 2000-08-22 Magellan Dis, Inc. Navigation system using position network for map matching
US6172641B1 (en) 1998-04-09 2001-01-09 Magellan Dis, Inc. Navigation system with audible route guidance instructions
US6189130B1 (en) 1998-04-30 2001-02-13 International Business Machines Corporation System and method for determining density maps in hierarchical designs
US6184823B1 (en) 1998-05-01 2001-02-06 Navigation Technologies Corp. Geographic database architecture for representation of named intersections and complex intersections and methods for formation thereof and use in a navigation application program
KR19990040849U (en) 1998-05-02 1999-12-06 신석균 Pyramid box
US6175801B1 (en) 1998-06-19 2001-01-16 Magelan Dts, Inc. Navigation system map panning directional indicator
US6574551B1 (en) 1998-05-05 2003-06-03 Magellan Dis, Inc. Autoscaling of recommended route
US6163269A (en) 1998-05-05 2000-12-19 Magellan Dis, Inc. Navigation system with anti-alias map display
US6873907B1 (en) 1998-05-05 2005-03-29 Magellan Dis, Inc. Navigation system with user interface
JP4209496B2 (en) 1998-05-15 2009-01-14 アイシン・エィ・ダブリュ株式会社 Vehicle control device
CA2656141C (en) 1998-05-15 2012-02-07 International Road Dynamics Inc. Method for automatically controlling traffic signalling device
US6362751B1 (en) 1998-06-11 2002-03-26 Magellan Dis, Inc. Navigation system with a route exclusion list system
US6078864A (en) 1998-07-17 2000-06-20 Magellan Dis, Inc. Navigation system with predetermined indication of next maneuver
JP2000101853A (en) 1998-09-21 2000-04-07 Fuji Photo Film Co Ltd Image encryption method, image encryption device, recording medium recorded with procedure of image encryption, and recording medium recorded with image file for encrypted image
US6178380B1 (en) 1998-10-22 2001-01-23 Magellan, Dis, Inc. Street identification for a map zoom of a navigation system
US6212474B1 (en) 1998-11-19 2001-04-03 Navigation Technologies Corporation System and method for providing route guidance with a navigation application program
US6917982B1 (en) 1998-12-19 2005-07-12 International Business Machines Corporation Method and system for controlling package-oriented network traffic
US6360167B1 (en) 1999-01-29 2002-03-19 Magellan Dis, Inc. Vehicle navigation system with location-based multi-media annotation
US6816596B1 (en) 2000-01-14 2004-11-09 Microsoft Corporation Encrypting a digital object based on a key ID selected therefor
US6252814B1 (en) * 1999-04-29 2001-06-26 International Business Machines Corp. Dummy wordline circuitry
US6381536B1 (en) 1999-06-21 2002-04-30 Nissan Motor Co., Ltd. Apparatus for generating road information from stored digital map database
JP3896728B2 (en) 1999-06-23 2007-03-22 トヨタ自動車株式会社 Portable terminal device and in-vehicle information processing device
US6205397B1 (en) 1999-08-03 2001-03-20 At&T Corp Route engineering technique
US6349257B1 (en) 1999-09-15 2002-02-19 International Business Machines Corporation System for personalized mobile navigation information
US6484089B1 (en) 1999-10-15 2002-11-19 Magellan Dis, Inc. Navigation system with road condition sampling
JP3589124B2 (en) 1999-11-18 2004-11-17 トヨタ自動車株式会社 Navigation device
US6363322B1 (en) 1999-12-22 2002-03-26 Magellan Dis, Inc. Navigation system with unique audio tones for maneuver notification
JP4323045B2 (en) 2000-01-14 2009-09-02 株式会社日立製作所 Navigation device
US6430501B1 (en) 2000-01-19 2002-08-06 Magellan Dis, Inc. Navigation system with route indicators
JP3471003B2 (en) * 2000-02-02 2003-11-25 松下電器産業株式会社 Intersection display method, map display device therefor, and recording medium
US6397145B1 (en) 2000-03-06 2002-05-28 Magellan Dis, Inc. Navigation system with complex maneuver instruction
US6587782B1 (en) 2000-03-14 2003-07-01 Navigation Technologies Corp. Method and system for providing reminders about points of interests while traveling
US6278942B1 (en) 2000-03-21 2001-08-21 Navigation Technologies Corp. Method and system for providing routing guidance
US7170518B1 (en) 2000-03-27 2007-01-30 Magellan Dis, Inc. Selective rendering of cartographic entities for a navigation system
US7562042B2 (en) * 2000-04-07 2009-07-14 Massachusetts Institute Of Technology Data processor for implementing forecasting algorithms
JP2001289661A (en) 2000-04-07 2001-10-19 Alpine Electronics Inc Navigator
US6529822B1 (en) 2000-04-11 2003-03-04 Magellan Dis, Inc. Navigation system with zoomed maneuver instruction
US6253151B1 (en) 2000-06-23 2001-06-26 Navigation Technologies Corp. Navigation system with feature for reporting errors
JP2002048574A (en) 2000-07-31 2002-02-15 Fujitsu Ten Ltd Map information distribution method and map information distribution system
US6774932B1 (en) 2000-09-26 2004-08-10 Ewing Golf Associates, Llc System for enhancing the televised broadcast of a golf game
US6385542B1 (en) 2000-10-18 2002-05-07 Magellan Dis, Inc. Multiple configurations for a vehicle navigation system
US6408243B1 (en) 2000-10-26 2002-06-18 Honda Giken Kogyo Kabushiki Kaisha Service delivery system
US7010308B2 (en) 2000-12-13 2006-03-07 Telcontar Managing and querying moving point data
US6542814B2 (en) 2001-03-07 2003-04-01 Horizon Navigation, Inc. Methods and apparatus for dynamic point of interest display
US6487494B2 (en) 2001-03-29 2002-11-26 Wingcast, Llc System and method for reducing the amount of repetitive data sent by a server to a client for vehicle navigation
US6842695B1 (en) 2001-04-17 2005-01-11 Fusionone, Inc. Mapping and addressing system for a secure remote access system
KR20020084716A (en) 2001-05-02 2002-11-11 엘지이노텍 주식회사 Method and system serving for navigation and parking information via network
US7333820B2 (en) 2001-07-17 2008-02-19 Networks In Motion, Inc. System and method for providing routing, mapping, and relative position information to users of a communication network
JP2003044992A (en) 2001-07-31 2003-02-14 Pioneer Electronic Corp Updating method for map data in communication navigation system, and server device, recording medium and communication navigation terminal device
US7082365B2 (en) 2001-08-16 2006-07-25 Networks In Motion, Inc. Point of interest spatial rating search method and system
JP3841401B2 (en) 2001-09-26 2006-11-01 株式会社東芝 Campus guidance device, server device, and program
US6885874B2 (en) 2001-11-27 2005-04-26 Motorola, Inc. Group location and route sharing system for communication units in a trunked communication system
JP3908056B2 (en) 2002-02-26 2007-04-25 アルパイン株式会社 Car navigation system
US6748323B2 (en) 2002-07-31 2004-06-08 Thales North America, Inc. Displaying data
US6728608B2 (en) 2002-08-23 2004-04-27 Applied Perception, Inc. System and method for the creation of a terrain density model
US20060106534A1 (en) 2002-10-22 2006-05-18 Yukihiro Kawamata Map data delivering method for communication-type navigation system
JP2004144531A (en) 2002-10-23 2004-05-20 Hitachi Ltd Information providing system and information providing device for moving object
US6782319B1 (en) 2002-11-26 2004-08-24 Navteq North America, Llc Method for organizing map data
US6631322B1 (en) 2002-12-06 2003-10-07 General Electric Co. Method and apparatus for vehicle management
JP2004205261A (en) 2002-12-24 2004-07-22 Denso Corp Navigation system
US7421334B2 (en) 2003-04-07 2008-09-02 Zoom Information Systems Centralized facility and intelligent on-board vehicle platform for collecting, analyzing and distributing information relating to transportation infrastructure and conditions
US20040243307A1 (en) 2003-06-02 2004-12-02 Pieter Geelen Personal GPS navigation device
KR100471303B1 (en) 2003-06-11 2005-02-21 현대자동차주식회사 Parking guide service apparatus of vehicle and method thereof
US7233860B2 (en) 2003-07-16 2007-06-19 Magellan Navigation, Inc. Intelligent modular navigation information capability
US7031836B2 (en) 2003-10-28 2006-04-18 Thales Navigation, Inc. Grid mapping utility for a GPS device
US7487040B2 (en) 2003-11-14 2009-02-03 Bernard Catalinotto System and method for establishing a local page and grid numbering system in a geographic referencing system
DE50310628D1 (en) 2003-12-19 2008-11-20 Bayerische Motoren Werke Ag EXPERIENCED
DE50310088D1 (en) 2003-12-19 2008-08-14 Bayerische Motoren Werke Ag VERIFICATION OF THE SCOPE OF TRANSPORT STATUS DATA
JP2005300234A (en) 2004-04-07 2005-10-27 Denso Corp Navigation system equipped with licensing function
US20070088494A1 (en) 2004-06-29 2007-04-19 Rothman Michael A System and method for enabling wireless traffic message passing
US20060080031A1 (en) 2004-09-07 2006-04-13 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
BRPI0516840A (en) 2004-10-01 2008-09-23 Networks In Motion Inc method and system to enable an outboard navigation solution
US7480566B2 (en) 2004-10-22 2009-01-20 Alpine Electronics, Inc. Method and apparatus for navigation system for searching easily accessible POI along route
US7571157B2 (en) * 2004-12-29 2009-08-04 Aol Llc Filtering search results
KR100696801B1 (en) 2005-03-04 2007-03-19 엘지전자 주식회사 Navigation system and interesting location seaching method thereof
JP4498176B2 (en) 2005-03-14 2010-07-07 アルパイン株式会社 Navigation device and moving body position correcting method
JP4135110B2 (en) 2005-03-15 2008-08-20 ソニー株式会社 Point search device and search method
WO2006109625A1 (en) 2005-04-08 2006-10-19 Matsushita Electric Industrial Co., Ltd. Map information updating device and map information updating method
US7885758B2 (en) 2005-06-30 2011-02-08 Marvell World Trade Ltd. GPS-based traffic monitoring system
US20070050128A1 (en) 2005-08-31 2007-03-01 Garmin Ltd., A Cayman Islands Corporation Method and system for off-board navigation with a portable device
US7698061B2 (en) 2005-09-23 2010-04-13 Scenera Technologies, Llc System and method for selecting and presenting a route to a user
WO2007061409A2 (en) 2005-11-21 2007-05-31 Ford Motor Company Navigation system for a vehicle
US20070130153A1 (en) 2005-12-02 2007-06-07 Palm, Inc. Techniques to communicate and process location information from communications networks on a mobile computing device
JP2007155582A (en) 2005-12-07 2007-06-21 Casio Hitachi Mobile Communications Co Ltd Navigation system, navigation method, and program
JP4643436B2 (en) 2005-12-27 2011-03-02 アルパイン株式会社 Own vehicle position determination device
US7590490B2 (en) 2006-01-09 2009-09-15 Mitac International Corporation Smart detour
KR101202068B1 (en) 2006-02-08 2012-11-15 에스케이플래닛 주식회사 Map Data Upgrade Method for Telematics Service of Mobile Communication Terminal, Server and System Using the Same
US7450003B2 (en) 2006-02-24 2008-11-11 Yahoo! Inc. User-defined private maps
JP5183029B2 (en) 2006-03-10 2013-04-17 日立オートモティブシステムズ株式会社 Map update program and map update terminal
JP4929870B2 (en) 2006-06-23 2012-05-09 日産自動車株式会社 Navigation device
US20080091726A1 (en) * 2006-10-16 2008-04-17 Bluetie, Inc. Methods for scheduling and completing reservations within an application and systems thereof
US7512487B1 (en) 2006-11-02 2009-03-31 Google Inc. Adaptive and personalized navigation system
US7797187B2 (en) * 2006-11-13 2010-09-14 Farecast, Inc. System and method of protecting prices
US7778769B2 (en) 2006-11-27 2010-08-17 International Business Machines Corporation Method and system for calculating least-cost routes based on historical fuel efficiency, street mapping and location based services
US20080133120A1 (en) 2006-11-30 2008-06-05 Romanick Ian D Method for determining and outputting travel instructions for most fuel-efficient route
US20080134088A1 (en) 2006-12-05 2008-06-05 Palm, Inc. Device for saving results of location based searches
US20090138190A1 (en) 2007-11-26 2009-05-28 Magellan Navigation, Inc. System and Method of Providing Traffic Data to a Mobile Device
US20090171584A1 (en) 2007-12-31 2009-07-02 Magellan Navigation, Inc. System and Method for Accessing a Navigation System
US20090182498A1 (en) 2008-01-11 2009-07-16 Magellan Navigation, Inc. Systems and Methods to Provide Navigational Assistance Using an Online Social Network
US9354068B2 (en) 2008-01-14 2016-05-31 Blackberry Limited System and method for dynamically downloading and displaying map data
US8498808B2 (en) 2008-01-18 2013-07-30 Mitac International Corp. Method and apparatus for hybrid routing using breadcrumb paths
US8290703B2 (en) 2008-01-18 2012-10-16 Mitac International Corporation Method and apparatus for access point recording using a position device
US8700314B2 (en) 2008-01-18 2014-04-15 Mitac International Corporation Method and apparatus to search for local parking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724072A (en) * 1995-03-13 1998-03-03 Rutgers, The State University Of New Jersey Computer-implemented method and apparatus for automatic curved labeling of point features
US5988853A (en) * 1996-10-05 1999-11-23 Korea Telecom Method for placing names for point-features on a map based on a plane sweeping technique
US6565610B1 (en) * 1999-02-11 2003-05-20 Navigation Technologies Corporation Method and system for text placement when forming maps
US20060058949A1 (en) * 2004-09-10 2006-03-16 Telmap Ltd. Placement of map labels

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2115719A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8554475B2 (en) 2007-10-01 2013-10-08 Mitac International Corporation Static and dynamic contours
US8290703B2 (en) 2008-01-18 2012-10-16 Mitac International Corporation Method and apparatus for access point recording using a position device
US8498808B2 (en) 2008-01-18 2013-07-30 Mitac International Corp. Method and apparatus for hybrid routing using breadcrumb paths
US8700314B2 (en) 2008-01-18 2014-04-15 Mitac International Corporation Method and apparatus to search for local parking
US8249804B2 (en) 2008-08-20 2012-08-21 Mitac International Corporation Systems and methods for smart city search
US8219317B2 (en) 2008-09-22 2012-07-10 Mitac International Corporation Route navigation via a proximity point
WO2010100215A1 (en) 2009-03-06 2010-09-10 F.I.S. Fabbrica Italiana Sintetici S.P.A. SYNTHESIS OF (4aS,7aS)-OCTAHYDRO-1H-PYRROLO[3,4-b]PYRIDINE
FR2951831A1 (en) * 2009-10-23 2011-04-29 Goodkap Satellite navigation device for use in service and satellite navigation providing system, has integration module integrated between navigation unit and modular service unit to allow exchange of data between two distinct units

Also Published As

Publication number Publication date
EP2115719A1 (en) 2009-11-11
US7692655B2 (en) 2010-04-06
US20080198162A1 (en) 2008-08-21
EP2115719A4 (en) 2015-03-18

Similar Documents

Publication Publication Date Title
US7692655B2 (en) Apparatus and method of generating curved baseline for map labeling
US11355012B2 (en) Mobile device and method and system for transmission of data thereto
EP2475962B1 (en) Systems and methods for detecting bifurcations
EP2462404B1 (en) Methods of pre-processing probe data
US6546335B1 (en) System, functional data, and methods to bias map matching
US6856899B2 (en) Systems and methods for a navigational device with improved route calculation capabilities
US9506764B2 (en) System and method of generating a route across an electronic map
US20080201074A1 (en) System and method for creating and sharing navigation routes with electronic devices
WO2014044784A1 (en) Method and system for determining a deviation in the course of a stretch of a road
WO2011053389A1 (en) Methods and apparatuses for determining a geometric feature of a navigable feature
CN105008860A (en) Method and apparatus for creating map data
CN102192752A (en) Navigation apparatus, navigation method and program
US11443465B2 (en) Method, apparatus, and computer program product for generating turn paths through an intersection
US11288955B2 (en) Traffic analysis based on historical global positioning system data
US7130740B2 (en) Method and apparatus for generation of real-time graphical descriptions in navigational systems
WO2011095226A1 (en) Apparatus and method for generating a view
WO2011072753A1 (en) Traffic analysis based on historical global positioning system data
KR20130135655A (en) System and method for search service
CN101017090A (en) Navigation method for searching point of destination by telephone number and system therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08705813

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008705813

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE