DE202015009120U1 - Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation - Google Patents

Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation Download PDF

Info

Publication number
DE202015009120U1
DE202015009120U1 DE202015009120.2U DE202015009120U DE202015009120U1 DE 202015009120 U1 DE202015009120 U1 DE 202015009120U1 DE 202015009120 U DE202015009120 U DE 202015009120U DE 202015009120 U1 DE202015009120 U1 DE 202015009120U1
Authority
DE
Germany
Prior art keywords
offline
navigation
online
navigation directions
navigation instructions
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
DE202015009120.2U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202015009120U1 publication Critical patent/DE202015009120U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • 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/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • 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/20Instruments for performing navigational calculations
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Navigation (AREA)

Abstract

Nicht flüchtiger, computerlesbarer Speicher, gekoppelt mit einem oder mehreren Prozessoren, in denen (i) Offline-Kartendaten und (ii) Anweisungen gespeichert sind, die ein Navigationsmodul implementieren, das auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: Offline-Navigationsrichtungen von einem ersten Ort zu einem zweiten Ort mithilfe der Offline-Kartendaten zu erzeugen, die Offline-Navigationsrichtungen über eine Benutzeroberfläche anzuzeigen, nach Erzeugung der Offline-Navigationsrichtungen Online-Navigationsrichtungen von einem Navigationsserver über ein Kommunikationsnetzwerk zu empfangen, eine Differenzmetrik zumindest teilweise auf Basis der Offline-Navigationsrichtungen und der Online-Navigationsrichtungen zu bestimmen; als Reaktion auf die Bestimmung, dass die Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen unter einem bestimmten Schwellenwert ist, die Anzeige der Offline-Navigationsrichtungen zumindest teilweise auf Basis der Online-Navigationsrichtungen zu aktualisieren, und als Reaktion auf die Bestimmung, dass die Differenzmetrik nicht unter dem Schwellenwert liegt, die Online-Navigationsrichtungen über die Benutzeroberfläche als eine Alternative zu den Offline-Navigationsrichtungen bereitzustellen.

Description

  • GEBIET DER OFFENBARUNG
  • Die vorliegende Offenlegung bezieht sich auf digitale Kartendaten und insbesondere auf Online-Navigationsdaten, die mit Offline-Navigationsdaten zusammengeführt sind.
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • HINTERGRUND
  • Die hierin angegebene Hintergrundbeschreibung soll den Kontext der Offenbarung allgemein darstellen. Die Arbeit der vorliegend genannten Erfinder, in dem Umfang, wie sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung sonst möglicherweise nicht als Stand der Technik qualifiziert sind, werden weder ausdrücklich noch stillschweigend als Stand der Technik gegenüber der vorliegenden Offenbarung anerkannt.
  • Heutzutage generieren Software-Anwendungen, die auf Recheneinheiten, Smartphones, Embedded-Geräten, usw. ausgeführt werden, Schritt-für-Schritt-Navigationsanweisungen, die Verkehrsdaten beinhalten können. Typischerweise spezifiziert ein Benutzer den ersten und den zweiten Standort und eine Software-Anwendung zeigt die Anweisungen, unmittelbar bzw. während der Benutzer sich von dem ersten Standort zu dem zweiten Standort bewegt, an. In einigen Fällen erzeugen die Software-Anwendungen auch Sprachansagen entsprechend den Navigationsanweisungen.
  • ZUSAMMENFASSUNG
  • Ein digitales Navigationsmodul arbeitet in einem Benutzergerät, um Anweisungen von einem Navigationsserver zu erhalten, wenn eine Netzwerkverbindung von akzeptabler Qualität zur Verfügung steht, und erzeugt die Anweisungen lokal, indem es Offline-Kartendaten zu anderen Zeiten verwendet. In einem typischen Fall kann der Navigationsserver aktuellere Richtungsinformationen als das Benutzergerät speichern, indem dieser Echtzeit-Verkehrsdaten, Streckendaten und Daten über Straßensperrungen, Wetterdaten, usw. anwendet.
  • Wenn das Navigationsmodul zuerst die Anweisungen lokal generiert und nachtäglich die aktualisierten Anweisungen von dem Navigationsserver erhält, bietet das Navigationsmodul die Aktualisierung über eine Benutzeroberfläche in einer am wenigsten störenden Weise an. Die Aktualisierung wird beispielsweise so bereitgestellt, dass keine Umleitung des Benutzers stattfinden muss. Zu diesem Zweck generiert das Navigationsmodul Offline-Navigationsanweisungen lokal über Offline-Kartendaten. Anschließend, wenn Online-Navigationsansweisungen von dem Navigationsserver verfügbar sind, berechnet das Navigationsmodul die Differenz zwischen den lokal erzeugten (oder „Offline”-) Navigationsanweisungen und den servergenerierten (oder „Online”-) Navigationsanweisungen. Das Navigationsmodul vergleicht dann die Differenz zwischen den Offline-Navigationsanweisungen und den Online-Navigationsanweisungen mit einem bestimmten Schwellenwert. Liegt die Differenz zwischen den Online- und den Offline-Navigationsanweisungen unter dem Schwellenwert, fügt das Navigationsmodul die Online- mit den Offline-Navigationsanweisungen zusammen, indem die Anzeige der geschätzten Zeit, des Verkehrs, usw. aktualisiert wird. Ansonsten stellt, wenn sich die Differenz bei oder über dem Schwellenwert befindet, das Navigationsmodul die Online-Navigationsanweisungen als auswählbare Alternative zu den Offline-Navigationsanweisungen zur Verfügung.
  • Namentlich ist eine beispielhafte Ausführungsform der Techniken der vorliegenden Offenlegung ein nicht-transitorischer, von einer Recheneinheit lesbarer Speicher, der an einem oder mehreren Prozessoren und an daraufhin (i) Offline-Kartendaten und (ii) Anweisungen gekoppelt ist, die ein Navigationsmodul implementieren. Das Navigationsmodul wird auf dem einen oder den mehreren Prozessoren ausgeführt, um Offline-Navigationsanweisungen von einem ersten Standort zu einem zweiten Standort zu generieren, indem die Offline-Kartendaten verwendet werden, um die Offline-Navigationsanweisungen über eine Benutzeroberfläche anzuzeigen und demzufolge die Offline-Navigationsanweisungen zu generieren und um Online-Navigationsanweisungen von einem Navigationsserver via eines Kommunikationsnetzwerkes zu empfangen. Das Navigationsmodul wird des Weiteren auf dem einen oder auf mehreren Prozessoren ausgeführt, um eine Differenzmetrik, zumindest teilweise auf den Online-Navigationsanweisungen und auf den Offline-Navigationsanweisungen basierend, zu bestimmen. Als Reaktion auf die Bestimmung, ob sich die Differenzmetrik zwischen den Offline-Navigationsanweisungen und den Online-Navigationsanweisungen unter einem bestimmten Schwellenwert befindet, wird das Navigationsmodul auf dem einen oder dem mehreren Prozessoren ausgeführt, um die Anzeige der Offline-Navigationsanweisungen so zu aktualisieren, dass diese zumindest teilweise auf der Online-Navigationsanweisungen basieren. Als Reaktion auf die Bestimmung, ob sich die Differenzmetrik zwischen den Offline-Navigationsanweisungen und den Online-Navigationsanweisungen nicht unter einem bestimmten Schwellenwert befindet, wird das Navigationsmodul auf dem einen oder den mehreren Prozessoren ausgeführt, um die Online-Navigationsanweisungen über die Benutzeroberfläche als eine Alternative zu den Offline-Navigationsanweisungen bereitzustellen.
  • Eine weitere Ausführungsform dieser Techniken ist ein Verfahren zur Integrierung der Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen. Das Verfahren umfasst das Generieren von Offline-Navigationsanweisungen von einem ersten Standort zu einem zweiten Standort mittels der Offline-Kartendaten und das Anzeigen der Offline-Navigationsanweisungen über eine Benutzeroberfläche. Nach dem Generieren der Offline-Navigationsanweisungen umfasst das Verfahren das Empfangen von Online-Navigationsanweisungen von einem Navigationsserver über ein Kommunikationsnetzwerk und die Bestimmung der Differenzmetrik, zumindest teilweise auf den Offline-Navigationsanweisungen und auf den Online-Navigationsanweisungen basierend. Als Reaktion auf die Bestimmung, ob sich die Differenzmetrik zwischen den Offline-Navigationsanweisungen und den Online-Navigationsanweisungen nicht unter einem bestimmten Schwellenwert befindet, umfasst das Verfahren die Aktualisierung der Anzeige der Offline-Navigationsanweisungen, zumindest teilweise auf den Online-Navigationsanweisungen basierend. Ferner umfasst das Verfahren als Reaktion auf die Bestimmung, ob sich die Differenzmetrik nicht unter einem bestimmten Schwellenwert befindet, die Bereitstellung von Online-Navigationsanweisungen über die Benutzeroberfläche als eine Alternative zu den Offline-Navigationsanweisungen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 illustriert ein Blockdiagramm eines beispielhaften Kommunikationssystems, in dem Techniken zur Verbindung der Offline- mit den Online-Navigationsanweisungen implementiert werden können.
  • 2A illustriert ein Beispiel einer Benutzeroberfläche zur Anzeige der Offline-Navigationsanweisungen.
  • 2B illustriert ein Beispiel einer Benutzeroberfläche zur Anzeige der Online-Navigationsanweisungen, die mit den Offline-Navigationsanweisungen der 2A zusammengeführt werden.
  • 2C illustriert ein Beispiel einer Benutzeroberfläche zur Anzeige der Online-Navigationsanweisungen als eine Alternative zu den Offline-Navigationsanweisungen von 2A.
  • 2D illustriert ein Beispiel einer Benutzeroberfläche zur Anzeige der Online-Navigationsanweisungen nachdem dem Beginn der Navigation durch den Benutzer.
  • 3A ist ein Ablaufdiagramm eines beispielhaften Verfahrens für das Zusammenfügen der Online- mit den Offline-Navigationsanweisungen im Falle einer Client-Recheneinheit, und
  • 3B ist ein Ablaufdiagramm eines beispielhaften Verfahrens für das Vergleichen der Online- mit den Offline-Navigationsanweisungen, wie in dem Verfahren von 3A.
  • DETAILLIERTE BESCHREIBUNG
  • Überblick
  • Im Allgemeinen können Techniken zur Integrierung der Online-Navigationsanweisungen mit einer Offline-Version in einem digitalen Navigationsmodul implementiert werden, das von einer tragbaren Recheneinheit, einer nicht-tragbaren Recheneinheit, einem oder mehreren Netzwerkservern oder einem System, das eine Kombination dieser Geräte umfasst, ausgeführt wird. Aus Gründen der Klarheit konzentrieren sich die nachfolgenden Beispiele aber in erster Linie auf eine Ausführungsform, bei der ein Benutzer Navigationsanweisungen auf einer tragbaren Recheneinheit anfordert und als Antwort die tragbare Recheneinheit versucht, die Navigationsanweisungen von einem Navigationsserver anzufordern. Kann die tragbare Recheneinheit nicht mit einem Netzwerk verbunden werden, ist die Netzwerkverbindung von schlechter Qualität oder ist der Navigationsserver sonst nicht verfügbar, werden die Navigationsanweisungen auf der tragbaren Recheneinheit lokal über Offline-Kartendaten generiert und auf einer Benutzeroberfläche angezeigt. Ist die tragbare Recheneinheit später mit dem Netzwerk verbunden, dann stellt der Navigationsserver zusätzliche Sätze von Online-Navigationsanweisungen für die tragbare Recheneinheit bereit.
  • Jeder Satz von Online-Navigationsanweisungen wird dann zur Bestimmung eine Differenzmetrik mit den Offline-Navigationsanweisungen verglichen. Wird ein Satz von Online-Navigationsanweisungen als den Offline-Navigationsanweisungen ähnlich bestimmt, basierend darauf, dass sich die Differenzmetrik unter einem Schwellenwert, einem Sollwert oder einem bestimmten Bereich, usw. befindet, dann werden die Offline-Navigationsanweisungen auf der Benutzeroberfläche aktualisiert, damit diese die Information der Online-Navigationsanweisungen wiederspiegeln. Zum Beispiel kann die geschätzte Zeit zum zweiten Standort so aktualisiert werden, dass diese die aktuellen Verkehrsdaten vom Navigationsserver reflektiert. Die aktuellen Navigations-Verkehrsdaten können auch zusätzlich zu anderen Navigationsinformationen von dem Server, wie beispielsweise Daten über Wegsperrungen, Wetterdaten, usw. auf der Benutzeroberfläche angezeigt werden.
  • Ähnelt ein Satz von Online-Navigationsanweisungen nicht ausreichend den Offline-Navigationsanweisungen, basierend auf der Bestimmung, ob die Differenzmetrik bei oder über einem Schwellenwert, einem Sollwert oder einem bestimmten Bereich usw. liegt, werden die Online-Navigationsanweisungen als alternative Route auf der Benutzeroberfläche angezeigt. Unterscheiden sich drei Sätze von Online-Navigationsanweisungen beispielsweise deutlich von den Offline-Navigationsanweisungen, dann werden drei alternative Routen über die Benutzeroberfläche zusätzlich zu den Offline-Navigationsanweisungen vorgeschlagen (beispielsweise in einer Liste oder auf irgendeine andere geeignete Art).
  • In einigen Ausführungsformen können, basierend auf der Differenzmetrik, die Offline-Navigationsanweisungen auf der Benutzeroberfläche aktualisiert werden, um die Informationen der Online-Navigationsanweisungen ohne eine entsprechende Benachrichtigung des Benutzers widerzuspiegeln. Des Weiteren können in manchen auf der Differenzmetrik basierenden Szenarien die Offline-Navigationsanweisungen überhaupt nicht aktualisiert werden bzw. der Satz von Online-Navigationsanweisungen kann nicht als alternative Route auf der Benutzeroberfläche bereitgestellt werden. Beispielsweise können mehrere Schwellenwerte, Zielwerte oder Bereiche usw. vorhanden sein. Befindet sich die Differenzmetrik unter einem ersten Bereich, kann das Navigationsmodul beispielsweise nichts tun, und die Offline-Navigationsanweisungen können nicht aktualisiert werden. Befindet sich die Differenzmetrik innerhalb des ersten Bereiches, kann das Navigationsmodul die Offline-Navigationsanweisungen mit Online-Navigationsanweisungen aktualisieren und eine Mitteilung an den Benutzer über die erfolgte Aktualisierung bereitstellen. Befindet sich die Differenzmetrik innerhalb des zweiten Bereiches, kann das Navigationsmodul die Offline-Navigationsanweisungen mit Online-Navigationsanweisungen ohne eine Mitteilung an den Benutzer aktualisieren. Befindet sich die Differenzmetrik oberhalb des zweiten Bereiches, kann das Navigationsmodul die Online-Navigationsanweisungen als eine alternative Route anzeigen.
  • In einem beispielhaften Szenario fährt John Doe von Philadelphia nach New York City. Bei der Anfrage von Navigationsanweisungen lässt sich seine Recheneinheit nicht erfolgreich mit einem Netzwerk verbinden. Stattdessen erzeugt die Recheneinheit Offline-Navigationsanweisungen über Offline-Kartendaten, die von vergangenen Fahrten zwischen Philadelphia und New York gespeichert wurden. Jedoch verfügt John Doe nicht über keine präzisen Verkehrs- oder Zeitschätzungsdaten für die Route. Während John Doe den Offline-Navigationsanweisungen folgt, identifiziert die Recheneinheit ein verfügbares, zur Verbindung bereites Netzwerk und empfängt Online-Navigationsanweisungen von dem Navigationsserver. Liegt die Differenzmetrik zwischen einem Satz von Online-Navigationsanweisungen und Offline-Navigationsanweisungen innerhalb eines Schwellenwertes, Sollwertes oder bestimmten Bereiches usw., dann werden die Offline-Navigationsanweisungen auf der Recheneinheit so aktualisiert, dass diese den Informationen der Online-Navigationsanweisungen entsprechen. Zum Beispiel kann John Doe dann Verkehrsdaten und Zeitschätzungsdaten für seine Route aufgrund der Aktualisierung sehen.
  • Exemplarische Hard- und Softwarekomponenten
  • Bezugnehmend auf 1, umfasst ein beispielhaftes System 10, in dem die oben beschriebenen Techniken implementiert werden können, ein tragbares Gerät 12 (auch als „Recheneinheit” bezeichnet), einen Kartendatenserver 20 und einen Navigationsserver 22. Abhängig von der Implementierung kann die tragbare Recheneinheit 12 beispielsweise ein Smartphone, ein Tablet-Computer, ein tragbares Computergerät, ein Laptop, ein Desktop-Computer, eine Telematikeinheit, ein tragbares Navigationsgerät, usw. sein. Das tragbare Gerät 12 ist über eine oder mehrere Verbindungen mit einem oder mehreren Kommunikationsnetzwerken 18, die beliebige geeignete lokale oder Weitbereichsnetzwerke sein können, einschließlich Netzwerken wie beispielsweise 3G, 4G, Long-Term Evolution (LTE), das Internet, usw. mit dem Kartendatenserver 20 und Navigationsserver 22 verbunden. Das tragbare Gerät 12 kann auch über das Kommunikationsnetzwerk 18 mit zusätzlichen Content-Providern, Servern, usw. kommunizieren. In einer beispielhaften Ausführungsform kann das tragbare Gerät 12 ein Smartphone sein, das mit einem Remote-Server, wie dem Navigationsserver 22, über ein LTE-Netzwerk verbunden ist.
  • Der Kartendatenserver 20 und der Navigationsserver 22 sind mit einer Kartendatenbank 30 verbunden, die schematische Daten und Satellitendaten umfasst und in der Informationen wie beispielsweise Straßen- und Weginformationen, topographische Daten, Satellitenbilder usw. gespeichert sind. Die Server 20, 22 sind auch mit einer Verkehrsdatenbank 36 gekoppelt, die aktuelle Verkehrszustände und auch Wetterdaten, Daten über Straßensperrungen, geschätzte Zeitdaten, usw. archiviert. Im Allgemeinen kann der Navigationsserver 22 Informationen im Zusammenhang mit geografischen Standorten von einer beliebigen Anzahl geeigneter Datenbanken, Web-Services, usw. empfangen. Ein oder mehrere Betreiber können in regelmäßigen Abständen die Datenbanken 30 und 36 aktualisieren, wobei jeder der Betreiber Aktualisierungen der Datenbanken 30 und 36 in jeweiligen Zeitintervallen zur Verfügung stellt. Die Verkehrsdatenbank 36 kann beispielsweise im Wesentlichen Daten in Echtzeit speichern, wobei die schematische Datenbank und die Satelliten-Datenbank 30 relativ selten aktualisiert werden können, wie etwa einmal pro Woche.
  • Die schematische Datenbank und die Satelliten-Datenbank 30 können Daten in einem Rasterformat, in einem Vektor-Format, in jedem anderen geeigneten Format oder in einer beliebigen Kombination von diesen speichern. Bei einigen Implementierungen können die Daten in Form von Kartenkacheln mit mehreren Zoomstufen organisiert sein, um die Bereitstellung von Kartendaten auf Client-Recheneinheiten zu erleichtern. Je nach Implementierung kann der Navigationsserver 22 Kartendaten und Fahranweisungsdaten auf Client-Geräten bereitstellen, beispielsweise getrennt oder zusammen in Form von Kartenkacheln. In anderen Ausführungsformen können Kartendaten und Navigationsanweisungen dezentral auf Remote-Servern, getrennt von dem Kartendatenserver 20 und von dem Navigationsserver 22, generiert werden. Ferner können in einigen Ausführungsformen die Karte und die Navigationsanweisungen durch eine Kombination von Kartendatenserver 20, Navigationsserver 22 und einer beliebigen Anzahl von zusätzlichen Server generiert werden.
  • In einer beispielhaften Implementierung umfasst das tragbare Gerät 12 einen Speicher 40, einen oder mehrere Prozessor(en) (CPU) 50, eine Grafikverarbeitungseinheit (GPU) 52, eine Netzwerk-Schnittstelleneinheit 54 und ein E/A-Modul 56. Das tragbare Gerät 12 umfasst auch eine Benutzerschnittstelle (UI) 58 zur Anzeige von Kartendaten und Anweisungen und ein globales Positionsbestimmungssystem (GPS) 60 oder ein anderes geeignetes Positionsbestimmungsmodul. In einigen Ausführungsformen kann das tragbare Gerät die Offline-Navigationsanweisungen bzw. die Online-Navigationsanweisungen zu einer Benutzerschnittstelle auf einem anderen Gerät zur Anzeige übertragen, wie beispielsweise auf ein Steuergerät eines Fahrzeuges (nicht dargestellt).
  • Der Speicher 40 kann ein materieller, ein nicht-transitorischer Speicher sein und alle Arten von geeigneten Speichermodulen umfassen, einschließlich eines Schreib-Lese-Speichers mit wahlfreiem Zugriff (RAM), eines Nur-Lese-Speichers (ROM), eines Flash-Speichers, anderer Arten von persistenten Speichern, usw. Der Speicher 40 speichert ein Betriebssystem (BS) 42 und eine oder mehrere Applikationen oder Module, einschließlich einer Kartenanwendung 14 und eines digitalen Navigationsmoduls 44. Das Betriebssystem 42 kann jede Art von geeignetem Betriebssystem sein, wie beispielsweise moderne Smartphone-Betriebssysteme. Das E/A-Modul 56 kann beispielsweise ein Touchscreen sein. Allgemeiner gesagt können diese Techniken in anderen Arten von Geräten implementiert werden, beispielsweise in einem Laptop oder in einem Desktop-Computer, in Autonavigationsgeräten usw.
  • Die Kartenapplikation 14 erzeugt eine digitale Karte, indem diese grafische Vektordaten, Rasterkacheln oder Kartendaten in jedem anderen, zur Anzeige auf einem Bildschirm geeigneten Format verwendet. In einigen Fällen generiert das digitale Navigationsmodul 44 Offline-Navigationsanweisungen und zeigt diese Anweisungen auf der digitalen Karte an. In einigen Fällen fügt das Navigationsmodul 44 auch von dem Navigationsserver 22 empfangene Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zusammen, was zu einer Aktualisierung ohne eine Umleitung des Benutzers führt. In anderen Szenarien stellt das Navigationsmodul 44 die Online-Navigationsanweisungen als Alternative zu den Offline-Navigationsanweisungen zur Verfügung.
  • Ein Satz von Navigationsanweisungen kann beispielsweise Schritt-für-Schritt-Anweisungen für die Fahrt von einem ersten Standort zu einem zweiten Standort umfassen. Jede Anweisung kann ein Manöver (z. B. nach links abbiegen, geradeaus weiter, usw.), die Zeit zur Präsentierung einer Beschreibung des Manövers (z. B. etwa 153 m, bevor man den Punkt des Manövers erreicht), weitere geeignete Navigationsinformationen oder eine beliebige Kombination hiervon beschreiben. In einigen Fällen beschreiben Navigationsanweisungen Manöver für einen Radfahrer, einen Fußgänger, einen Autofahrer, usw. Bei der Anforderung von Navigationsanweisungen kann der Benutzer festlegen, ob er ein Auto fährt, mit dem Fahrrad fährt oder zu Fuß geht. Es sollte ebenfalls verstanden werden, dass die Karten mittels der nachfolgend beschriebenen Techniken für andere Zwecke als Verkehr und Navigation aktualisiert werden können, beispielsweise für das Paket-Routing, das Durchsuchen von Karten, die Reiseplanung, Interessenpunkt(POI)-Erkundung, jeden anderen geeigneten Zweck oder jede Kombination hiervon. Ferner ist das nachfolgend beschriebene System nicht auf dem Vergleich von Schritt-für-Schritt-Anweisungen zur Integrierung von Online-Daten mit Offline-Daten beschränkt, und die nachfolgend beschriebenen Techniken können für jeden geeigneten Zweck zum Durchsuchen von Karten verwendet werden. Karten können beispielsweise unter Verwendung der nachfolgend beschriebenen Techniken aktualisiert werden, während ein Benutzer den Verkehr in einem bestimmten geografischen Gebiet verfolgt.
  • Je nach Implementierung ist die Kartenapplikation 14 eine separate ausführbare Applikation, die aus direkt auf dem Betriebssystem 42 ausführbaren kompilierten Anweisungen besteht, Anweisungen in einer Skriptsprache (oder in einem anderen geeigneten Format), die von einer anderen Applikation während der Laufzeit interpretiert werden, wie beispielsweise einem Web-Browser, oder einem Plug-In, das die Funktionalität einer anderen Software-Applikation erweitert. In einer beispielhaften Implementierung ist die Kartenapplikation 14 eine „App”, die auf die tragbare Recheneinheit 12 von einem Web-Server heruntergeladen wurde. In einer anderen Implementierung ist die Kartenapplikation 14 ein Web-Browser.
  • Bei der Ausführung fordert das digitale Navigationsmodul 44 Navigationsanweisungen an und je nach Szenario Zusatzdaten, einschließlich von Verkehrsinformationen vom Navigationsserver 22. Kann die tragbare Recheneinheit 12 nicht mit einem Netzwerk 18 verbunden werden, ist die Netzwerkverbindung begrenzt, ist die Netzwerkverbindung von schlechter Qualität oder der Navigationsserver anderweitig aufgrund der Art des drahtlosen Abonnements, des Abstandes von einem drahtlosen Zugangspunkt, usw. nicht verfügbar, generiert das digitale Navigationsmodul 44 durch Verwendung von Offline-Verkehrsdaten 62 die Navigationsanweisungen lokal.
  • Die Offline-Verkehrsdaten 62 können in einem im Speicher 40 implementierten Cache gespeichert werden. Je nach Implementierung können die Offline-Verkehrsdaten 62 solche Parameter wie beispielsweise Straßengeometrie (beispielsweise Längen von Straßenabschnitten), Positionen von Kreuzungen und erlaubte Manöver an den Kreuzungspunkten (beispielsweise vorhandenes Abbiegen nach links und rechts von der Straße A auf die Straße B, nur rechtes Abbiegen von der Straße B auf die Straße A), Straßentypinformationen (z. B. Autobahn, Landstraße, lokale Straße), erlaubte Fahrtrichtungen (z. B. Einbahnstraße, doppelspurige Straße), Daten über die Geschwindigkeitsbegrenzung, usw. beschreiben. Ferner können die Offline-Verkehrsdaten 62 in einigen Implementierungen spezifische Informationen (z. B. Anzahl der Fahrspuren, Fahrgemeinschaftbeschilderungen und andere spurspezifische Einschränkungen) umfassen. Die Offline-Verkehrsdaten 62 können im Allgemeinen den Verkehrsdaten, die der Navigationsserver 22 zur Erzeugung von Navigationsanweisungen verwendet, ähnlich sein. In zumindest einigen der Implementierungen speichert das tragbare Gerät 62 nicht alle, auf dem Navigationsserver 22 zur Verfügung stehende Verkehrsdaten. Das tragbare Gerät 12 kann Offline-Verkehrsdaten für Standorte speichern, wie beispielsweise den Bereich in der Nähe der Wohnung des Benutzers, den Bereich in der Nähe des Büros des Benutzers, Bereiche entlang der Strecke von der Wohnung des Benutzers zu seinem Büro, Gebiete um beliebte Orte, Bereiche in der Umgebung von Orten, die von dem Benutzer häufig besucht werden, usw. In einigen Szenarien kann die Kartenapplikation 14 entscheiden, Offline-Verkehrsdaten für die gesamte Stadt, in dem der Benutzer lebt, zwischenzuspeichern. In einigen Ausführungsformen muss der Benutzer, damit dieser von den Vorteilen dieser Techniken und deren Vorteilen Gebrauch machen kann, möglicherweise eine Einstellung auswählen bzw. eine Applikation installieren. Generell kann die Kartenapplikation 14 die geografische Abdeckung und die Einzelheitenebene für die Offline-Kartendaten 62 im Hinblick auf Faktoren, wie beispielsweise die Speicherverfügbarkeit, die geschätzte Wahrscheinlichkeit für vom Benutzer angeforderte bestimmte Anweisungen, die geschätzte Wahrscheinlichkeit des Verlustes einer Netzwerkabdeckung des tragbaren Gerätes 12 usw. auswählen. Ferner kann der Benutzer in einigen Implementierungen der Kartenapplikation 14 manuell geografische Bereiche auswählen, für die die Kartenapplikation 14 Verkehrsdaten zwischenspeichern sollte.
  • 2A illustriert eine beispielhafte Benutzeroberfläche 200 zur Anzeige von Offline-Navigationsanweisungen. Die Benutzeroberfläche kann die Benutzeroberfläche 58 von 1 sein und eine Karte umfassen, die die Offline-Navigationsanweisungen 216 von einem ersten Standort zu einem zweiten Standort anzeigt. Die Offline-Navigationsanweisungen 216 sind in diesem Beispiel durch eine dunklere Linie gekennzeichnet, die einen Weg von einem ersten Standort zu einem zweiten Standort veranschaulicht. Die Benutzeroberfläche 200 kann auch einen Offline-Indikator 202 einschließen, der dem Benutzer mitteilt, dass die Anweisungen offline erzeugt wurden, und als Folge hiervon, Verkehrsinformationen oder andere Kartendaten nicht verfügbar oder veraltet sind. Im Allgemeinen kann der Offline-Indikator 202 eine Form, eine Farbe, eine Zahl, ein Text oder irgendeine andere geeignete Darstellung besitzen, die verwendet werden kann, um einem Benutzer anzuzeigen, dass die Anweisungen lokal erzeugt wurden.
  • Die Navigationsanweisungen 216 können den Benutzer von einem ersten Standort zu einem zweiten Standort führen, wie beispielsweise von „Mein Ort” 208 zu dem Standort „Bercy” 210, wobei der zweite Standort durch einen Indikator 212 gekennzeichnet ist. Ferner können die Offline-Navigationsanweisungen von dem ersten Standort zu dem zweiten Standort auf den in dem Cache der tragbaren Recheneinheit 12 gespeicherten Offline-Verkehrsdaten 62 basieren. Offline-Verkehrsdaten 62 können beispielsweise in dem Cache gespeichert werden, der verwendet werden kann, um den Pfad 216 von „Mein Ort” 208 zu dem Standort „Bercy” 210 zu generieren. Die Benutzeroberfläche 200 umfasst auch Informationen über die Entfernung 214 von dem ersten Standort zu dem zweiten Standort (2,6 km) und eine geschätzte Zeitdauer 218, die der Benutzer benötigt, um den Pfad zu vollenden (11 Minuten). Da jedoch keine Verkehrsinformationen verfügbar sind, kann die geschätzte Zeitdauer 218 ungenau oder veraltet sein, und zwar auf Grundlage der betreffenden Verkehrsbedingungen, die dem Zeitpunkt entsprechen, an dem die Navigationsanweisungen ursprünglich aus dem Navigationsserver 22 abgerufen wurden. In anderen Ausführungsformen kann die geschätzte Zeitdauer 218 auf dem Abstand von dem ersten Standort zu dem zweiten Standort basieren. Eine „Start”-Schaltfläche 206 ist ebenfalls auf der Benutzeroberfläche 200 verfügbar. Wenn der Benutzer diese Option auswählt, dann kann das tragbare Gerät 12 Routenführungsanweisungen bereitstellen, die dem Pfad 216 der Offline-Navigationsanweisungen folgen. Die Routenführungsanweisungen können Audio-Anweisungen sein, oder als Text auf der Benutzeroberfläche 200 oder auf einer anderen Benutzeroberfläche angezeigt werden.
  • In einigen Szenarien kann das tragbare Gerät 12, während der Benutzer den Routenführungsanweisungen folgt bzw. nachdem die Offline-Navigationsanweisungen erzeugt wurden, eine Verbindung mit einem Netzwerk 18 herstellen. In diesem Fall kann das tragbare Gerät 12 einen oder mehrere Sätze von Online-Navigationsanweisungen von dem ersten Standort zu dem zweiten Standort von dem Navigationsserver 22 anfordern. Nachdem diese abgerufen wurden, ersetzen die Sätze von Online-Navigationsanweisungen nicht lediglich die Offline-Navigationsanweisungen, da dies verwirrend bzw. für den Benutzer störend sein könnte. Die Sätze von Online-Navigationsanweisungen können in die Offline-Navigationsanweisungen integriert werden, um bei Verbindung des tragbaren Gerätes 12 mit einem Netzwerk einen reibungslosen Übergang zu erzeugen.
  • Um die Sätze von Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zu integrieren, vergleicht das digitale Navigationsmodul 44 von 1 jeden Satz von Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen. Liegt eine quantitative Differenzmetrik zwischen einem Satz von Online-Navigationsanweisungen und Offline-Navigationsanweisungen bei oder über einem vorbestimmten Schwellenwert, einem Sollwert oder einem bestimmten Bereich usw., so wird der Satz der Online-Navigationsanweisungen auf der gleichen Benutzeroberfläche, auf der die Offline-Navigationsanweisungen angezeigt werden, als eine alternative Route bereitgestellt. Auf der anderen Seite kombiniert, wenn die Differenzmetrik unter dem vorgegebenen Schwellenwert, Sollwert oder einem bestimmten Bereich usw. liegt, das digitale Navigationsmodul 44 den Satz von Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen durch das Aktualisieren der Benutzeroberfläche mit aktuellen Verkehrsinformationen, Zeitschätzungen, Daten über Straßensperrungen usw. Ein Schwellenwert kann beispielsweise bei 50 Prozent der sich voneinander unterscheidenden Wegpunkte festgelegt werden. Besitzen der Satz der Online-Navigationsanweisungen und die Offline-Navigationsanweisungen weniger als 50 Prozent sich voneinander unterscheidende Wegpunkte, dann wird der Satz der Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zusammengefügt. Auf der anderen Seite wird, wenn sich mehr als 50 Prozent der Wegpunkte voneinander unterscheiden, der Satz von Online-Navigationsanweisungen als eine alternative Route auf der gleichen Bedieneroberfläche, auf der die Offline-Navigationsanweisungen angezeigt werden, bereitgestellt.
  • Verkehrsinformationen können für Straßen oder Wegpunkte (zum Beispiel einen Satz von Koordinaten, die einen physischen Raum identifizieren), die sowohl in den Online- als auch in den Offline-Navigationsanweisungen enthalten sind, bereitgestellt werden. Ferner kann eine Zeitschätzung, basierend auf dem Satz der Online-Navigationsanweisungen, bereitgestellt werden. In einigen Fällen kann die Zeitschätzung aufgrund der aktuelleren Verkehrsdaten von dem Navigationsserver 22, genauer sein als die Zeitschätzung für die Offline-Navigationsanweisungen. Der Vergleich kann für mehrere Sätze von Online-Navigationsanweisungen wiederholt werden, sodass einige Sätze von Online-Navigationsanweisungen auf der Benutzeroberfläche als alternative Routen bereitgestellt werden und andere Sätze von Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zusammengefügt werden, um die Benutzeroberfläche mit zusätzlichen Informationen von dem Navigationsserver 22 zu aktualisieren.
  • Um den Vergleich zwischen einem Satz von Online-Navigationsanweisungen und den Offline-Navigationsanweisungen durchzuführen, kann das digitale Navigationsmodul 44 den Unterschied in der Anzahl der Wegpunkte zwischen den Online- und Offline-Navigationsanweisungen berechnen. Das digitale Navigationsmodul 44 kann beispielsweise feststellen, dass die Offline-Navigationsanweisungen 9, mit dem Satz von Online-Navigationsanweisungen gemeinsame Wegpunkte und 2 von diesen abweichende Wegpunkte aufweisen. In einigen Ausführungsformen können, wenn der Benutzer durch Folgen der Routenführungsanweisungen die Navigation beginnt, passierte Wegpunkte verworfen werden, während die in Kürze anstehenden Wegpunkte stärker gewichtet werden. Haben beispielsweise die Offline-Navigationsanweisungen 5 Wegpunkte mit dem Satz von Online-Navigationsanweisungen gemeinsam und weisen diese 5 sich unterscheidende Wegpunkte auf, hat aber der Benutzer bereits zwei der sich unterscheidenden Wegpunkte passiert und befinden sich 2 der gemeinsamen Wegpunkte sehr nahe dem Benutzer, dann kann das digitale Navigationsmodul 44 bestimmen, dass die Differenzmetrik zwischen den Online- und Offline-Navigationsanweisungen klein ist.
  • Zusätzlich zum Vergleichen von Wegpunkten kann das digitale Navigationsmodul 44 auch eine Differenzmetrik zwischen der geschätzten Zeit, die zur Vollendung der Offline-Navigationsanweisungen im Vergleich zu dem Satz von Online-Navigationsanweisungen notwendig ist, berechnen. Zum Beispiel kann das digitale Navigationsmodul 44, wenn die geschätzte Zeit für den Satz von Online-Navigationsanweisungen wesentlich kürzer ist, dann bestimmen, dass dies eine schnellere Route ist und den Satz von Online-Navigationsanweisungen als Alternative getrennt zu den Offline-Navigationsanweisungen bereitstellen. Auf der anderen Seite kann das digitale Navigationsmodul 44, wenn die geschätzte Zeit für beide Versionen von Anweisungen ähnlich ist, den Satz der Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zusammenfügen. In einigen Ausführungsformen können die Differenzen kombiniert bzw. aggregiert werden, um eine quantitative Metrik des Gesamtunterschiedes zwischen den Versionen von Anweisungen zu bestimmen. Die Metrik kann dann mit dem vorbestimmten Schwellenwert verglichen werden, um zu bestimmen, ob der Satz der Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zusammengefügt werden soll oder um einen Satz von Online-Navigationsanweisungen als Alternativroute bereitzustellen.
  • 2B illustriert eine beispielhafte Benutzeroberfläche 250, die die mit den Offline-Navigationsanweisungen zusammengefügten Online-Navigationsanweisungen anzeigt. Ähnlich zu 2A führen die Offline-Navigationsanweisungen einen Benutzer auf dem Pfad 268 (der dem Pfad 216 in 2A entsprechen kann), und zwar von „Mein Ort” 264 nach „Bercy” 266, und die Entfernungsanzeige 254 zeigt die Entfernung als 2,6 km an. Nach dem Verbinden des tragbaren Gerätes 12 mit dem Netzwerk 18 erscheint die Offline-Anzeige 202 von 2A nicht mehr auf der Benutzeroberfläche 250. Eine Meldung 260 (in diesem Fall „Verbunden! Weitere Routenoptionen verfügbar”) können auf der Benutzeroberfläche 250 angezeigt werden. In anderen Ausführungsformen können verschiedene Meldungen erscheinen, die die Anwesenheit von Online-Navigationsanweisungen kennzeichnen oder es kann keine Meldung enthalten sein. Wird ein Satz von Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zusammengefügt, können die Verkehrsdaten 256 auf der Benutzeroberfläche 250 angezeigt werden. Auf der beispielhaften Benutzeroberfläche 250 zeigen die Verkehrsdaten 256 „Normalverkehr über Bd de Sébastopol” an und als Ergebnis könnte der Benutzer für das Befahren dieser Route von 2,6 km Länge 11 Minuten (Referenz 252) benötigen. Die Verkehrsdaten 256 und Zeitschätzungsdaten 252 können durch das digitale Navigationsmodul 44 abgerufen werden, und zwar aus einem Satz von Online-Navigationsanweisungen, die sich von den Offline-Navigationsanweisungen um weniger als ein vorbestimmter Schwellenbetrag unterscheiden. Die Zeitschätzungsdaten 252 von 2B schätzen die gleiche Zeitdauer wie die Zeitschätzungsdaten 218 von 2A. In einigen Fällen ändern sich die Zeitschätzänderungen, nachdem die Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen, basierend auf neueren Verkehrsinformationen, zusammengefügt wurden. Die Zeitschätzung kann sich beispielsweise bei hohem Verkehrsaufkommen auf dem Pfad 268 erhöhen und bei geringem Verkehrsaufkommen sinken.
  • Zusätzlich zu dem Pfad 268, der die Offline-Navigationsanweisungen anzeigt, werden die alternativen Pfade 258, 259 auf der Benutzeroberfläche 250 angezeigt. Die alternativen Pfade 258, 259 enthalten Teile der Strecke von dem ersten Standort zu dem zweiten Standort. Der Rest der Strecken könnte der gleiche Pfad, wie Pfad 268 für die Offline-Navigationsanweisungen, sein. Die alternativen Pfade 258, 259 können durch Sätze von Online-Navigationsanweisungen abgerufen werden, die sich beispielsweise um mehr als einen vorbestimmten Schwellenwertbetrag von den Offline-Navigationsanweisungen unterscheiden. Ferner können die alternativen Pfade 258, 259 schnellere Strecken als die Offline-Navigationsanweisungen umfassen. Der Navigationsserver 22 kann beispielsweise durch Verwendung von Verkehrsdaten ermitteln, dass die alternative Strecke 258 9 Minuten dauert, während der Pfad 268 der Offline-Navigationsanweisungen 11 Minuten benötigt. Beispielsweise können die Straßen für die alternative Strecke 258 weniger überlastet sein und dadurch dem Benutzer Zeit sparen. Zusätzlich kann die Benutzeroberfläche 250 die Schaltfläche „Start” 262 umfassen. Der Benutzer kann die Navigation für den Pfad 268, für die alternativen Pfade 258, 259 oder für weitere alternative Strecken starten, die von dem Navigationsserver 22 abgerufen wurden. Der Benutzer kann beispielsweise einen Pfad durch das Antippen oder das Anklicken der Verkehrsdaten 256, der Zeitschätzungsdaten 252 bzw. der dem Pfad entsprechenden Entfernungsdaten 214 auswählen. Zur Auswahl eines alternativen Pfades kann der Benutzer beispielsweise eine „Wisch”-Geste am unteren Rand des Bildschirms durchführen, wodurch das tragbare Gerät 12 Verkehrsdaten, Zeitschätzungsdaten bzw. Entfernungsdaten für einen der alternativen Pfade 258, 259 anzeigt. Während die Benutzeroberfläche 250 nur zwei alternative Pfade 258, 259 umfasst, kann eine beliebige Anzahl von alternativen Pfaden angezeigt werden.
  • 2C illustriert eine weitere Benutzeroberfläche 270, die Navigationsanweisungen als alternativen Strecken zu den Offline-Navigationsanweisungen anzeigt. Ähnlich zu 2A führen die Offline-Navigationsanweisungen den Benutzer auf dem Pfad 282 (der der Strecke 216 in 2A entsprechen kann) von „Mein Ort” 288 nach „Bercy” 289, und die Entfernungsanzeige 274 zeigt die Entfernung von 2,6 km. Ferner umfasst die Benutzeroberfläche 270 die Offline-Anzeige 280 (ähnlich zu der Offline-Anzeige 202 von 2A), die anzeigt, dass die Anweisungen offline generiert wurden, und dass als Ergebnis keine Verkehrsinformationen verfügbar sind. Die Benutzeroberfläche 270 umfasst auch die alternativen Pfade 284, 286 (die den alternativen Pfaden 258, 259 von 2B entsprechen können), die als Online-Navigationsanweisungen von dem Navigationsserver 22 empfangen wurden. Während Online-Navigationsanweisungen auf dem tragbaren Gerät 12 empfangen werden, werden keine der Sätze von Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zusammengefügt, um Verkehrsdaten und Zeitschätzungsdaten für die Offline-Strecke bereitzustellen. In diesem Fall empfängt das tragbare Gerät 12 keinen Satz von Online-Navigationsanweisungen, die sich von den Offline-Navigationsanweisungen um weniger als einen vorbestimmten Schwellenwert unterscheiden. Stattdessen kann eine Nachricht 272 (in diesem Fall ”Verbunden! Schnellere Route verfügbar”) auf der Benutzeroberfläche 270 angezeigt werden. Die Nachricht 272 kann auch eine Schaltfläche „Anzeigen” umfassen, die, wenn diese vom Benutzer gewählt wird, eine Detailansicht einer alternativen Strecke bereitstellen kann (zum Beispiel Routenführungsanweisungen). Zusätzlich kann der Benutzer eine „Wisch”-Geste am unteren Rand der Benutzeroberfläche ausführen, um Verkehrsdaten und Zeitschätzungsdaten für einen der alternativen Pfade 284, 286 zu empfangen, und kann die Navigation für den ausgewählten Pfad durch das Antippen oder das Anklicken der Schaltfläche „Start” 276 beginnen.
  • 2D illustriert eine Benutzeroberfläche 290 zur Anzeige der Online-Navigationsanweisungen, nachdem der Benutzer die Navigation beginnt. In diesem Fall wählt der Benutzer den Offline-Pfad 299 zur Navigation, aber die Benutzeroberfläche 290 zeigt durch Anzeige der Meldung 292 („Online-Route jetzt verfügbar”) an, dass derzeit eine Online-Strecke verfügbar ist. Die Benutzeroberfläche 290 umfasst auch die Optionen „Umleiten” 294 und „Nein danke” 296. Der Benutzer kann auf die Option 294 „Umleiten” tippen oder klicken, damit er Anweisungen zur Verwendung einer Online-Strecke wie Pfad 298 erhält. Alternativ kann der Benutzer auf die Option 296 „Nein danke” tippen oder klicken, um weiterhin Anweisungen für den Offline-Pfad 299 zu erhalten.
  • 3A illustriert ein Ablaufdiagramm eines beispielhaften Verfahrens 300 zum Zusammenfügen von Online- mit Offline-Navigationsanweisungen auf dem tragbaren Gerät 12 von 1. Bei Block 301 empfängt das tragbare Gerät 12 eine Anforderung für Navigationsanweisungen von einem Benutzer. Zum Beispiel kann der Benutzer Anweisungen von einem ersten Ort zu einem zweiten Ort anfordern, wie beispielsweise von der aktuellen Position des Benutzers nach Wrigley Field. Das tragbare Gerät 12 bestimmt dann den Status der Kommunikationsverbindung zwischen dem tragbaren Gerät 12 und dem Navigationsserver (Block 302). Das tragbare Gerät 12 kann beispielsweise mit dem Internet über ein Kommunikationsnetzwerk, wie beispielsweise ein WLAN, ein anderes drahtloses lokales Netzwerk (WLAN), ein Weitverkehrsnetzwerk (WAN), ein lokales Netzwerk (LAN), 3G, 4G usw. verbunden werden.
  • Ist das tragbare Gerät 12 mit einem Netzwerk mit einer ausreichend guten Verbindung verbunden, dann werden Online-Navigationsanweisungen von dem ersten Standort zu dem zweiten Standort von dem Navigationsserver 22 (Block 319) abgerufen und dem Benutzer (316 Block) über die Benutzeroberfläche 58 auf dem tragbaren Gerät 12 zur Verfügung gestellt. Auf der anderen Seite kann, wenn die Dienstequalität (QoS) der Kommunikationsverbindung unter einem vorbestimmten Schwellenwert, einem Sollwert oder einem bestimmten Bereich usw. liegt, der von mehreren gespeicherten Schwellenwerten, Wertzielen, Bereichen auswählbar ist, wenn sich das tragbare Gerät 12 im Flugzeugmodus befindet, wenn der Benutzer den Empfang von Offline-Navigationsanweisungen wählt, wenn das tragbare Gerät 12 automatisch den Erhalt von Offline-Navigationsanweisungen wählt, die auf einer Kombination von Faktoren wie Trends, Änderungen oder Mittelwerte der QoS der Kommunikationsverbindung, der Prozessorverfügbarkeit, usw. basieren oder wenn keine verfügbaren Netzwerke vorhanden sind, mit denen das tragbare Gerät 12 verbunden werden kann, das tragbare Gerät 12 Offline-Navigationsanweisungen von dem ersten Standort zu dem zweiten Standort erzeugen (Block 306). Die Offline-Navigationsanweisungen können mittels eines Caches in dem tragbaren Gerät 12 generiert werden. Beispielsweise kann das tragbare Gerät 12 Offline-Verkehrsdaten für solche Standorte speichern, wie beispielsweise den Bereich in der Nähe der Wohnung des Benutzers, den Bereich in der Nähe des Büros des Benutzers, Bereiche entlang der Strecke von der Wohnung des Benutzers zu seinem Büro, Gebiete um beliebte Orte herum, Bereiche in der Umgebung von Orten, die von dem Benutzer häufig besucht werden, usw. Die Offline-Navigationsanweisungen werden dann auf der Benutzeroberfläche 58 auf dem tragbaren Gerät 12 (Block 308) angezeigt.
  • Nach der Anzeige der Offline-Navigationsanweisungen kann das tragbare Gerät 12 in der Lage sein, eine Verbindung mit dem Netzwerk 18 herzustellen bzw. kann sich die Qualität der Kommunikationsverbindung zwischen dem tragbaren Gerät 12 und dem Navigationsserver 22 verbessern. In diesem Fall kann das tragbare Gerät 12 einen Satz von Online-Navigationsanweisungen von dem Navigationsserver 22 (Block 310) anfordern und empfangen. Der Satz von Online-Navigationsanweisungen kann mit den Offline-Navigationsanweisungen verglichen werden, um eine Differenzmetrik zwischen den Varianten (Block 312) zu bestimmen, wie nachfolgend unter Bezugnahme auf 3B näher beschrieben wird. Das tragbare Gerät 12 kann beispielsweise die Anzahl der Wegpunkte, die sich zwischen dem Satz von Online-Navigationsanweisungen und den Offline-Navigationsanweisungen unterscheiden, bestimmen. Liegt die Differenzmetrik bei oder über einem vorbestimmten Schwellenwert, wird der Satz von Online-Navigationsanweisungen als eine alternative Strecke zu den Offline-Navigationsanweisungen (Block 316) für den Benutzer bereitgestellt. Andernfalls kann, wenn sich die Differenzmetrik unterhalb des Schwellenwertpegels befindet, die Benutzeroberfläche auf dem tragbaren Gerät 12 mit Verkehrsdaten bzw. Zeitschätzungsdaten aus dem Satz der Online-Navigationsanweisungen (Block 318) aktualisiert werden.
  • In einigen Ausführungsformen kann das tragbare Gerät 12 mehrere Sätze von Online-Navigationsanweisungen empfangen, und in diesem Fall wird die Differenz zwischen jedem Satz von Online-Navigationsanweisungen und den Offline-Navigationsanweisungen ermittelt. Bei jedem Satz, bei dem die Online-Navigationsanweisungen um mehr als einen vorbestimmten Betrag von den Offline-Navigationsanweisungen abweichen, werden beide Versionen auf der Benutzeroberfläche bereitgestellt, und die Online-Navigationsanweisungen werden als eine alternative Strecke zur Verfügung gestellt. Andernfalls werden nur die Offline-Navigationsanweisungen auf der Benutzeroberfläche bereitgestellt, aber die Offline-Navigationsanweisungen werden aktualisiert, um die Verkehrsdaten bzw. Zeitschätzungsdaten aus den Online-Navigationsanweisungen zu umfassen.
  • 3B illustriert ein beispielhaftes Verfahren, das bei Block 312 des Verfahrens 300 ausgeführt werden kann. Das Ablaufdiagramm 312 zeigt jedoch lediglich ein beispielhaftes Verfahren im Sinne des Vergleiches eines Satzes von Online-Navigationsanweisungen mit den Offline-Navigationsanweisungen zur Erzeugung einer Differenzmetrik. Die Online- und Offline-Navigationsanweisungen können in einer beliebigen Anzahl von Arten und in irgendeiner geeigneten Weise verglichen werden.
  • Bei Block 320 bestimmt das tragbare Gerät 12 Wegpunkte für sowohl Online- als auch für Offline-Navigationsanweisungen. Hat der Benutzer bereits die Navigation zu dem zweiten Ziel begonnen, verwirft das tragbare Gerät 12 alle bereits von dem Benutzer passierten Wegpunkte (Block 322). In einigen Implementierungen werden, wenn der Benutzer die Routenführung noch nicht begonnen hat, keine der Wegpunkte verworfen. Dann wird jeder Wegpunkt gewichtet, basierend auf der Nähe zu dem Benutzer (Block 324). Beispielsweise wird allen Wegpunkten innerhalb einer Strecke von 1,5 km um den Benutzer herum eine Gewichtung von 2 zugeordnet, während Wegpunkten, die sich zwischen 1,5 km und 7,5 km vom Benutzer entfernt befinden, eine Gewichtung von 1 zugeordnet wird. Ferner kann Wegpunkten, die mehr als 7,5 km von dem Benutzer entfernt sind, eine Gewichtung von 0,5 zugewiesen werden. Dies ist jedoch lediglich ein Beispiel und jeder Wert von Gewichtungen kann für eine beliebige Anzahl von Entfernungen vom Benutzer zugeordnet werden.
  • Nachdem jedem Wegpunkt eine Gewichtung zugeordnet wurde, bestimmt das tragbare Gerät 12 eine Differenzmetrik zwischen den Online- und Offline-Wegpunkten, basierend auf der Anzahl der verschiedenen Wegpunkte und ihren jeweiligen Gewichtungen (Block 326). Habe die Offline-Navigationsanweisungen beispielsweise 10 Wegpunkte, die sich von den Online-Navigationsanweisungen unterscheiden, sind die Wegpunkte aber dabei sehr weit voneinander entfernt und ist diesen jeweils eine Gewichtung von 0,1 zugeordnet, dann kann die Differenzmetrik 1 sein. Haben die Offline-Navigationsanweisungen auf der anderen Seite nur 1 Wegpunkt, der sich von den Online-Navigationsanweisungen unterscheidet, und befindet sich dieser Wegpunkt aber in extremer Nähe und wurde diesem eine Gewichtung von 2 zugeordnet, dann kann die Differenzmetrik 2 sein.
  • Zusätzlich zu der Bereitstellung einer Differenzmetrik zwischen den Online- und den Offline-Navigationsanweisungen, basierend auf Wegpunkten, kann das tragbare Gerät 12 eine Differenzmetrik der geschätzten Zeit zwischen den Online- und den Offline-Navigationsanweisungen (Block 328) berechnen. Die Offline-Navigationsanweisungen können geschätzt eine Stunde benötigen, während die Online-Navigationsanweisungen geschätzt 45 Minuten benötigen würden. Daher kann die Differenzmetrik der geschätzten Zeit mit einem Zeitintervall von 15 Minuten festgelegt werden, oder in einer anderen Ausführungsform kann die Differenzmetrik als 75 Prozent der Zeit berechnet werden, die die Offline-Navigationsanweisungen benötigen würde.
  • Die Differenzmetrik für die Anzahl der Wegpunkte und deren jeweiligen Gewichtungen können über die Differenzmetrik aggregiert bzw. kombiniert werden, um eine Gesamtmetrik der Differenz zwischen den Online- und den Offline-Navigationsanweisungen (Block 330) zu bestimmen. Die Gesamtmetrik der Differenz kann beispielsweise durch das Addieren der Unterschiede für Wegpunkte und für die geschätzte Zeit berechnet werden. Darüberhinaus kann die Gesamtmetrik der Differenz auch durch die Kombination der Differenzen für Wegpunkte und für die geschätzte Zeit in jede andere geeignete Weise berechnet werden.
  • Es sollte verstanden werden, dass die Schritte der Ablaufdiagramme in den 3A und 3B lediglich beispielhaft sind. In einigen Implementierungen können die Schritte der Ablaufdiagramme neu angeordnet, wiederholt, entfernt, ergänzt oder sonstwie verändert werden bzw. jede Kombination hiervon, nach Bedarf, verwendet werden.
  • Zusätzliche Überlegungen
  • Die folgenden zusätzlichen Überlegungen gelten für die vorstehende Erörterung. In dieser gesamten Spezifikation können mehrere Instanzen Komponenten, Operationen oder Strukturen implementieren, die als einzelne Instanz beschreiben sind. Auch wenn einzelne Operationen von einem oder mehreren Verfahren als getrennte Operationen veranschaulicht und beschrieben sind, können eine oder mehrere der einzelnen Operationen gleichzeitig durchgeführt werden, und nichts erfordert, dass die Operationen in der veranschaulichten Reihenfolge durchgeführt werden. Strukturen und Funktionen, die in exemplarischen Konfigurationen als getrennte Komponenten dargestellt werden, können als kombinierte Struktur oder Komponente implementiert werden. In ähnlicher Weise können Strukturen und Funktionen, die als einzelne Komponenten dargestellt werden, als getrennte Komponenten implementiert werden. Diese und andere Varianten, Änderungen, Hinzufügungen und Verbesserungen fallen in den Umfang des Gegenstands der vorliegenden Offenbarung.
  • Außerdem sind bestimmte Ausführungsformen hierin als Logik oder eine Reihe von Komponenten, Modulen oder Mechanismen umfassend beschrieben. Module können entweder Softwaremodule (z. B. Code, der auf einem maschinenlesbaren Medium gespeichert ist) oder Hardwaremodule darstellen. Ein Hardwaremodul ist ein greifbares Gerät, das bestimmte Operationen durchführen kann, und es kann in einer bestimmten Weise konfiguriert oder angeordnet sein. In exemplarischen Ausführungsformen können eines oder mehrere Computersysteme (z. B. ein eigenständiges, Client- oder Server-Computersystem) oder eines oder mehrere Hardwaremodule eines Computersystems (z. B. ein Prozessor oder eine Gruppe von Prozessoren) von der Software (z. B. einer Anwendung oder einem Anwendungsteil) als Hardwaremodul konfiguriert sein, um bestimmte, hierin beschriebene Operationen durchzuführen.
  • In verschiedenen Ausführungsformen kann ein Hardwaremodul mechanisch oder elektronisch implementiert werden. Ein Hardwaremodul kann beispielsweise eine spezielle Schaltung oder Logik umfassen, die dauerhaft zur Ausführung bestimmter Operationen konfiguriert ist (z. B. als ein spezieller Prozessor, wie beispielsweise ein Field Programmable Gate Array (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC)). Ein Hardwaremodul kann außerdem programmierbare Logik oder Schaltkreise umfassen (z. B. wie in einem Allzweck-Prozessor oder einem anderen programmierbaren Prozessor eingeschlossen), der von der Software temporär für die Durchführung bestimmter Operationen konfiguriert ist. Es wird darauf hingewiesen, dass die Entscheidung für die mechanische Implementierung eines Hardwaremoduls in spezielle und dauerhaft konfigurierte oder temporär konfigurierte Schaltungen (z. B. per Software konfiguriert) von Kosten- und Zeitüberlegungen abhängig sein kann.
  • Demgemäß sollte der Begriff Hardware so verstanden werden, dass er eine greifbare Entität umfasst, sei es eine Entität, die physisch konstruiert, permanent konfiguriert (z. B. hartverdrahtet) oder temporär konfiguriert (z. B. programmiert) ist, um auf bestimmte Weise zu arbeiten oder bestimmte, hierin beschriebene Operationen durchzuführen. Bei Berücksichtigung von Ausführungsformen, in denen Hardwaremodule temporär konfiguriert (z. B. programmiert) sind, müssen die jeweiligen Hardwaremodule nicht zu jeder einzelnen zeitlichen Instanz konfiguriert oder instanziiert sein. Wenn die Hardwaremodule zum Beispiel einen Allzweck-Prozessor umfassen, der für die Verwendung von Software konfiguriert ist, kann der Allzweck-Prozessor als entsprechend unterschiedliche Hardwaremodule zu verschiedenen Zeiten konfiguriert sein. Software kann demgemäß einen Prozessor zum Beispiel so konfigurieren, dass er zu einer zeitlichen Instanz ein bestimmtes Hardwaremodul und zu einer anderen zeitlichen Instanz ein anderes Hardwaremodul darstellt.
  • Hardware- und Softwaremodule können Informationen anderen Hardware- und/oder Softwaremodulen bereitstellen und Informationen von diesen empfangen. Demgemäß können die beschriebenen Hardwaremodule als kommunikativ gekoppelt betrachtet werden. Wenn mehrere solcher Hardware- oder Softwaremodule gleichzeitig vorhanden sind, kann die Kommunikation über Signalübertragung (z. B. über entsprechende Schaltkreise und Busse) erreicht werden, die mit den Hardware- oder Softwaremodulen verbunden sind. In Ausführungsformen, in denen mehrere Hardware- und Softwaremodule zu verschiedenen Zeiten konfiguriert oder instanziiert sind, kann die Kommunikation zwischen solchen Hardware- und Softwaremodulen zum Beispiel durch die Speicherung und das Abrufen von Informationen in Speicherstrukturen erreicht werden, zu denen die mehreren Hardware- und Softwaremodule Zugriff haben. Zum Beispiel kann ein Hardware- oder Softwaremodul eine Operation durchführen und den Ausgang dieser Operation in einem Speichergerät speichern, mit dem es kommunikativ gekoppelt ist. Ein weiteres Hardware- oder Softwaremodul kann dann, zu einem späteren Zeitpunkt, auf das Speichergerät zugreifen, um die gespeicherte Ausgabe abzurufen und zu verarbeiten. Hardware- und Softwaremodule können außerdem die Kommunikation mit Eingabe- und Ausgabegeräten initiieren und sie können auf einer Ressource (z. B. einer Informationssammlung) betrieben werden.
  • Die verschiedenen Operationen hierin beschriebener exemplarischer Verfahren können, zumindest teilweise, von einem oder mehreren Prozessoren durchgeführt werden, die temporär (z. B. durch Software) oder permanent für die Durchführung der relevanten Operationen konfiguriert sind. Ganz gleich, ob sie temporär oder permanent konfiguriert sind, stellen solche Prozessoren von Prozessoren implementierte Module dar, die betrieben werden, um eine oder mehrere Operationen oder Funktionen durchzuführen. Module, auf die hierin verwiesen wird, umfassen in einigen exemplarischen Ausführungsformen von Prozessoren implementierte Module.
  • Ihn ähnlicher Weise können hierin beschriebene Verfahren oder Routinen zumindest teilweise von Prozessoren implementiert sein. Zum Beispiel können zumindest einige der Operationen eines Verfahrens von einem oder mehreren Prozessoren oder durch Prozessoren implementierte Hardwaremodule durchgeführt werden. Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich der Prozessor oder die Prozessoren an einem einzigen Ort (z. B. in einer Wohnungsumgebung, in einer Büroumgebung oder als eine Serverfarm) befinden, während in anderen Ausführungsformen die Prozessoren über eine Reihe von Orten verteilt sein können.
  • Die ein oder mehreren Prozessoren können auch so betrieben werden, dass sie die Durchführung der relevanten Operationen in einer „Cloud-Computer”-Umgebung oder einer SaaS unterstützen. Zum Beispiel können, wie oben angegeben, einige der Operationen durch eine Gruppe von Computern (z. B. von Maschinen einschließlich Prozessoren) durchgeführt werden, wobei dieses Operationen über ein Netzwerk (z. B. das Internet) und über eine oder mehrere geeignete Schnittstellen (z. B. APIs) zugänglich sind.
  • Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module an einem einzigen geografischen Ort (z. B. einer Wohnumgebung, einer Büroumgebung oder einer Serverfarm) befinden. In anderen exemplarischen Ausführungsformen können die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module über eine Reihe geografischer Orte verteilt sein.
  • Einige Teile dieser Spezifikation werden in Bezug auf Algorithmen oder symbolische Darstellungen von Operationen bei Daten dargestellt, die als Bits oder binäre digitale Signale in einem Maschinenspeicher (z. B. einem Computerspeicher) gespeichert sind. Diese Algorithmen oder symbolischen Darstellungen sind Beispiele von Techniken, die von Fachleuten der Datenverarbeitungstechnik verwendet werden, um anderen Fachleuten die wesentlichen Inhalte ihrer Arbeit zu vermitteln. Wie hierin verwendet, ist ein „Algorithmus” oder eine „Routine” eine eigenkonsistente Sequenz von Operationen oder ähnliche Verarbeitung, die zu einem gewünschten Ergebnis führt. In diesem Kontext beinhalten Algorithmen, Routinen und Operationen die physische Manipulation physischer Mengen.
  • Normalerweise, aber nicht notwendigerweise, können solche Mengen die Form elektrischer, magnetischer oder optischer Signale annehmen, die von einer Maschine gespeichert, aufgerufen, übertragen, kombiniert, vergleichen oder sonst manipuliert werden können. Hauptsächlich aus Gründen der allgemeinen Verwendung ist es manchmal praktisch, solche Signale mithilfe von Wörtern wie „Daten”, „Inhalt”, „Bits”, „Werte”, „Elemente”, „Symbole”, „Zeichen”, „Begriffe”, „Zahlen”, „Ziffern” oder ähnlichem zu bezeichnen. Diese Wörter sind jedoch lediglich praktische Bezeichnungen und dürfen nicht mit entsprechenden physischen Mengen verbunden werden.
  • Sofern nicht speziell anders angegeben, können sich Erörterungen hierin, die Wörter wie „Verarbeitung”, „Berechnung”, „Bestimmung”, „Darstellung”, „Anzeige” oder ähnliches verwenden, auf Aktionen oder Prozesse einer Maschine (z. B. eines Computers) beziehen, die Daten manipulieren oder transformieren, die als physische (z. B: elektronische, magnetische oder optische) Mengen in einem oder mehreren Speichern (z. B. flüchtiger Speicher, nicht flüchtiger Speicher oder eine Kombination davon), Register oder andere Maschinenkomponenten dargestellt sind, die Informationen empfangen, speichern, übertragen oder anzeigen.
  • Wie hierin verwendet, bedeuten Verweise auf „eine Ausführungsform” oder „Ausführungsformen”, dass ein bestimmtes Element, Merkmal, eine Struktur oder eine Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, zumindest in einer Ausführungsform enthalten ist. Das Erscheinen der Phrase „in einer Ausführungsform” an verschiedenen Orten in der Spezifikation bezieht sich nicht notwendigerweise immer auf dieselbe Ausführungsform.
  • Einige Ausführungsformen können mithilfe des Ausdrucks „gekoppelt” und „verbunden” zusammen mit deren Ableitungen beschrieben werden. Zum Beispiel können einige Ausführungsformen mithilfe des Begriffs „gekoppelt” beschrieben werden, um anzugeben, dass eines oder mehrere Elemente im direkten physischen oder elektrischen Kontakt sind. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass eines oder mehrere Elemente nicht im direkten Kontakt miteinander sind, aber trotzdem noch miteinander zusammenarbeiten oder interagieren. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Wie hierin verwendet, sollen die Begriffe „umfasst”, „umfassend”, „beinhaltet”, „enthält”, „hat”, „haben” und andere Varianten davon eine nicht ausschließliche Einbeziehung abdecken. Zum Beispiel ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der/die eine Liste von Elementen umfasst, nicht notwendigerweise nur auf diese Elemente beschränkt, sondern kann andere Elemente beinhalten, die nicht ausdrücklich aufgelistet oder bei einem solchen Prozess, einem solchen Verfahren, einem solchen Artikel oder einer solchen Vorrichtung inhärent sind. Des Weiteren bezieht sich, sofern nichts Gegenteiliges angegeben, „oder” auf ein einschließendes und nicht auf ein ausschließendes Oder. Zum Beispiel ist eine Bedingung A oder B durch eines der folgenden erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden) und sowohl A als auch B sind wahr (oder vorhanden).
  • Außerdem wird „eine”, „einer” oder „eines” verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Dies erfolgt lediglich aus praktischen Gründen, und um eine allgemeine Vorstellung der Beschreibung zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines enthält, und der Singular umfasst auch den Plural, außer es ist offensichtlich anders gedacht.
  • Nach dem Lesen dieser Offenlegung werden die Fachleute auf diesem Gebiet erkennen, dass noch weitere alternative strukturelle und funktionelle Konstruktionen zur Integration von Online- mit Offline-Navigationsanweisungen durch die hier offengelegten Prinzipien möglich sind. Somit sollte, während bestimmte Ausführungsformen und Anwendungen veranschaulicht und beschrieben wurden, es selbstverständlich sein, dass die offenbarten Ausführungsformen nicht auf die genaue Konstruktion und Komponenten beschränkt sind, die hierin offenbart wurden. Verschiedene Modifikationen, Änderungen und Variationen, die für Fachleute auf dem Gebiet ersichtlich werden, können in der Anordnung, dem Betrieb und in den Einzelheiten der Verfahren und der Vorrichtung, die hierin offengelegt werden, ohne Abweichung von der Idee und dem Umfang der angehängten Patentansprüche erfolgen.

Claims (10)

  1. Nicht flüchtiger, computerlesbarer Speicher, gekoppelt mit einem oder mehreren Prozessoren, in denen (i) Offline-Kartendaten und (ii) Anweisungen gespeichert sind, die ein Navigationsmodul implementieren, das auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: Offline-Navigationsrichtungen von einem ersten Ort zu einem zweiten Ort mithilfe der Offline-Kartendaten zu erzeugen, die Offline-Navigationsrichtungen über eine Benutzeroberfläche anzuzeigen, nach Erzeugung der Offline-Navigationsrichtungen Online-Navigationsrichtungen von einem Navigationsserver über ein Kommunikationsnetzwerk zu empfangen, eine Differenzmetrik zumindest teilweise auf Basis der Offline-Navigationsrichtungen und der Online-Navigationsrichtungen zu bestimmen; als Reaktion auf die Bestimmung, dass die Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen unter einem bestimmten Schwellenwert ist, die Anzeige der Offline-Navigationsrichtungen zumindest teilweise auf Basis der Online-Navigationsrichtungen zu aktualisieren, und als Reaktion auf die Bestimmung, dass die Differenzmetrik nicht unter dem Schwellenwert liegt, die Online-Navigationsrichtungen über die Benutzeroberfläche als eine Alternative zu den Offline-Navigationsrichtungen bereitzustellen.
  2. Computerlesbarer Speicher nach Anspruch 1, worin, um eine Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen zu bestimmen, das Navigationsmodul auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: einen oder mehrere Offline-Wegpunkte in den Offline-Navigationsrichtungen mit dem einen oder den mehreren Online-Wegpunkten in den Online-Navigationsrichtungen zu vergleichen, und die Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen auf Basis des Vergleichs zu berechnen.
  3. Computerlesbarer Speicher nach Anspruch 2, worin, um eine Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen zu berechnen, das Navigationsmodul auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: jedem der Offline-Wegpunkte und der Online-Wegpunkte ein Gewicht auf Basis eines Abstands von einem Computergerät zum jeweiligen Offline- oder Online-Wegpunkt zuzuweisen, und eine gewichtete Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen zu berechnen.
  4. Computerlesbarer Speicher nach Anspruch 2, worin, um eine Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen zu bestimmen, das Navigationsmodul des Weiteren auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: eine geschätzte Zeit für die Ausführung der Offline-Navigationsrichtungen mit einer geschätzten Zeit für die Ausführung der Online-Navigationsrichtungen zu vergleichen.
  5. Computerlesbarer Speicher nach Anspruch 2, worin, um den einen oder die mehrere Offline-Wegpunkte in den Offline-Navigationsrichtungen mit dem einen oder den mehreren Wegpunkten in den Online-Navigationsrichtungen zu vergleichen, das Navigationsmodul des Weiteren auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: jeden der Offline- und Online-Wegpunkte zu verwerfen, die von einem Computergerät passiert wurden, und die Offline-Wegpunkte, die vom Computergerät nicht passiert wurden, mit den Online-Wegpunkten zu vergleichen, die vom Computergerät passiert wurden.
  6. Computerlesbarer Speicher nach Anspruch 1, worin das Navigationsmodul des Weiteren auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: zum bestimmen, ob die Offline-Navigationsrichtungen erzeugt werden sollen, wobei die Bestimmung auf einem aktuellen Status des Kommunikationsnetzwerks basiert.
  7. Computerlesbarer Speicher nach Anspruch 6, worin ein aktueller Status des Kommunikationsnetzwerks mindestens auf Basis einer der folgenden Faktoren bestimmt wird: (i) Servicequalität (QoS) des Kommunikationsnetzwerks, und (ii) eine Art des drahtlosen Abonnements.
  8. Computerlesbarer Speicher nach Anspruch 1, worin das Navigationsmodul des Weiteren auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: Anzeige eines Offline-Indikators über die Benutzeroberfläche, worin der Offline-Indikator einem Benutzer zu erkennen gibt, dass die Navigationsrichtungen offline erzeugt wurden.
  9. Computerlesbarer Speicher nach Anspruch 1, worin, um eine Differenzmetrik zwischen den Offline-Navigationsrichtungen und den Online-Navigationsrichtungen zu bestimmen, das Navigationsmodul auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: eine Vielzahl von Sätzen von Online-Navigationsrichtungen vom Navigationsserver zu empfangen, worin jeder Satz von Online-Navigationsrichtungen einen Benutzer über einen anderen Weg zum selben Ort führt, und eine Differenzmetrik zwischen den Offline-Navigationsrichtungen und dem jeweiligen Satz von Online-Navigationsrichtungen zu bestimmen.
  10. Computerlesbarer Speicher nach Anspruch 1, worin, um zu de Anzeige der Offline-Navigationsrichtungen mithilfe der Online-Navigationsrichtungen anzuzeigen, das Navigationsmodul auf dem einen oder den mehreren Prozessoren ausgeführt wird, um: mindestens eines der Folgenden anzuzeigen: (i) Geschätzte Zeitdaten oder der (ii) Verkehrsdaten mittels der Online-Navigationsanweisungen über die Benutzeroberfläche.
DE202015009120.2U 2014-06-20 2015-06-15 Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation Active DE202015009120U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462014813P 2014-06-20 2014-06-20
US62/014,813 2014-06-20

Publications (1)

Publication Number Publication Date
DE202015009120U1 true DE202015009120U1 (de) 2016-10-24

Family

ID=53442609

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202015009120.2U Active DE202015009120U1 (de) 2014-06-20 2015-06-15 Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation

Country Status (5)

Country Link
US (2) US9927247B2 (de)
EP (2) EP2957870B1 (de)
CN (2) CN112857386A (de)
DE (1) DE202015009120U1 (de)
WO (1) WO2015195529A1 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160025497A1 (en) * 2014-07-24 2016-01-28 Harman International Industries, Incorporated Pre-caching of navigation content based on cellular network coverage
US9686451B2 (en) * 2015-01-21 2017-06-20 Toyota Jidosha Kabushiki Kaisha Real time driving difficulty categorization
US10623305B1 (en) * 2015-03-30 2020-04-14 Amazon Technologies, Inc. Contextual substitution of audiovisual application resources in response to unavailability
US9876836B1 (en) 2015-03-30 2018-01-23 Amazon Technologies, Inc. Contextual generation and substitution of audiovisual application resources
US9616773B2 (en) 2015-05-11 2017-04-11 Uber Technologies, Inc. Detecting objects within a vehicle in connection with a service
US10077987B2 (en) * 2015-05-28 2018-09-18 Google Llc Dynamically integrating offline and online data in a geographic application
US10712160B2 (en) 2015-12-10 2020-07-14 Uatc, Llc Vehicle traction map for autonomous vehicles
US9840256B1 (en) 2015-12-16 2017-12-12 Uber Technologies, Inc. Predictive sensor array configuration system for an autonomous vehicle
US9841763B1 (en) 2015-12-16 2017-12-12 Uber Technologies, Inc. Predictive sensor array configuration system for an autonomous vehicle
US9990548B2 (en) 2016-03-09 2018-06-05 Uber Technologies, Inc. Traffic signal analysis system
US9953523B2 (en) * 2016-04-22 2018-04-24 Here Global B.V. Node-centric navigation optimization
JP6758599B2 (ja) * 2016-06-23 2020-09-23 富士ゼロックス株式会社 端末装置
US10852744B2 (en) 2016-07-01 2020-12-01 Uatc, Llc Detecting deviations in driving behavior for autonomous vehicles
US10332039B2 (en) * 2016-08-17 2019-06-25 International Business Machines Corporation Intelligent travel planning
JP6660917B2 (ja) 2016-08-24 2020-03-11 上海潘氏投資管理有限公司Shang Hai Pan Shi Tou Zi Guan Li You Xian Gong Si 地図生成システム及び地図生成方法
US10438493B2 (en) 2016-08-24 2019-10-08 Uber Technologies, Inc. Hybrid trip planning for autonomous vehicles
CN107806883B (zh) * 2016-09-08 2020-02-18 高德信息技术有限公司 一种导航方法和装置
US10452068B2 (en) 2016-10-17 2019-10-22 Uber Technologies, Inc. Neural network system for autonomous vehicle control
US10296001B2 (en) * 2016-10-27 2019-05-21 Uber Technologies, Inc. Radar multipath processing
US10254121B2 (en) 2017-01-23 2019-04-09 Uber Technologies, Inc. Dynamic routing for self-driving vehicles
US10499186B2 (en) * 2017-06-02 2019-12-03 Apple Inc. User interface for providing offline access to maps
US10796484B2 (en) * 2017-06-14 2020-10-06 Anand Babu Chitavadigi System and method for interactive multimedia and multi-lingual guided tour/panorama tour
JP6722154B2 (ja) * 2017-08-22 2020-07-15 アイシン・エィ・ダブリュ株式会社 運転支援システム、経路案内システム、運転支援方法および運転支援プログラム
DE102017010183A1 (de) 2017-10-30 2018-04-05 Daimler Ag Verfahren zur Validierung einer Route auf unterschiedlichen Routingsystemen
DE102017011036A1 (de) 2017-11-29 2018-05-17 Daimler Ag Verfahren zur Synchronisation von einem in einem Fahrzeug installierten Onboard-Routingsystem und mindestens einem externen Offboard-Routingsystem, Onboard-Routingsystem zum Ausführen eines solchen Verfahrens, sowie ein Fahrzeug mit einem solchen Onboard-Routingsystem.
US10989538B2 (en) 2017-12-15 2021-04-27 Uatc, Llc IMU data offset compensation for an autonomous vehicle
CN108318042A (zh) * 2018-01-29 2018-07-24 广东欧珀移动通信有限公司 导航模式切换方法、装置、终端及存储介质
DE102018002265A1 (de) 2018-03-20 2018-09-20 Daimler Ag Verfahren zur Berechnung einer optimierten Route für ein Fahrzeug
US11520335B2 (en) * 2018-04-12 2022-12-06 Baidu Usa Llc Determining driving paths for autonomous driving vehicles based on map data
US11334753B2 (en) 2018-04-30 2022-05-17 Uatc, Llc Traffic signal state classification for autonomous vehicles
US10957195B2 (en) * 2018-06-29 2021-03-23 Lyft, Inc. Apparatuses, systems, and methods for graphical progress interfaces for dynamic transportation networks
CN109672508A (zh) * 2018-12-31 2019-04-23 叶春林 智能型防止车辆导航断网系统
CN110567466B (zh) * 2019-08-20 2022-11-25 广州力挚网络科技有限公司 一种地图生成方法、装置、电子设备以及可读存储介质
US11761772B2 (en) 2019-10-28 2023-09-19 Here Global B.V. Method and apparatus for providing speculative navigation routing in incomplete offline maps
US11692839B2 (en) 2020-05-20 2023-07-04 Here Global B.V. Methods and apparatuses for providing navigation instructions
CN112732858B (zh) * 2021-01-25 2022-06-07 腾讯科技(深圳)有限公司 路径规划方法、装置、计算机设备及存储介质
US20230106925A1 (en) * 2021-10-06 2023-04-06 Motorola Mobility Llc Mobile device navigation to a location having communication access to/connectivity with a wireless network
CN114185908B (zh) * 2021-12-13 2024-02-06 北京百度网讯科技有限公司 一种地图数据处理方法、装置、电子设备及存储介质
CN115512562A (zh) * 2022-09-26 2022-12-23 星河智联汽车科技有限公司 导航算路方法、设备及计算机可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522041A (en) * 1992-12-17 1996-05-28 Hitachi, Ltd. Data processor and data transfer method
JP4036012B2 (ja) * 2001-04-26 2008-01-23 トヨタ自動車株式会社 経路案内システム、経路案内を行うクライアント端末、同クライアント端末と通信を行うサーバ、経路案内方法及び経路一致判定方法
EP1695032A4 (de) * 2003-12-08 2009-03-11 Google Inc Verfahren und vorrichtung zur anpassung von reisewegbeschreibungen
US8620319B1 (en) * 2007-04-24 2013-12-31 At&T Mobility Ii Llc Intelligent algorithm to determine service availability and presentation to user
US7801675B2 (en) * 2007-07-13 2010-09-21 Dash Navigation, Inc. System and method of identifying portions of roads
ATE456118T1 (de) * 2007-10-19 2010-02-15 Fiat Ricerche System zur dynamischen navigation für ein fahrzeug
US7496444B1 (en) * 2008-03-10 2009-02-24 International Business Machines Corporation Near route interactive map search
TWI384378B (zh) * 2008-12-29 2013-02-01 Ind Tech Res Inst 網頁應用程式執行方法
US8346279B1 (en) * 2009-11-10 2013-01-01 Cellco Partnership Mobile device navigation
US8700327B2 (en) * 2010-04-27 2014-04-15 Honda Motor Co., Ltd. Method of determining routes for use in navigation
JP5141739B2 (ja) * 2010-09-30 2013-02-13 株式会社デンソー 通信システムおよび移動端末
EP3309515B1 (de) * 2010-12-07 2020-05-27 Google LLC Verfahren und vorrichtung zur routenführung
CN103870533A (zh) * 2013-12-12 2014-06-18 沈阳美行科技有限公司 一种导航设备的在线离线混合检索方法

Also Published As

Publication number Publication date
EP3499189A1 (de) 2019-06-19
US20180188048A1 (en) 2018-07-05
CN112857386A (zh) 2021-05-28
US20150369617A1 (en) 2015-12-24
US9927247B2 (en) 2018-03-27
CN105222796A (zh) 2016-01-06
CN105222796B (zh) 2021-02-09
US10890454B2 (en) 2021-01-12
EP2957870B1 (de) 2019-04-17
EP2957870A1 (de) 2015-12-23
WO2015195529A1 (en) 2015-12-23

Similar Documents

Publication Publication Date Title
DE202015009120U1 (de) Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation
DE202015009117U1 (de) Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation
DE202015009184U1 (de) Wegbeschreibung zwischen automatisch bestimmten Ausgangspunkten und ausgewählten Zielen
DE202016007736U1 (de) Dynamische Integration von Offline- und Onlinedaten in einer geografischen Anwendung
DE10217880B4 (de) Verfahren zum Kompilieren von Navigationsrouteninhalt
DE102017109400A1 (de) Routenerzeugung unter verwendung der qualität von fahrspurlinien
DE102017109401A1 (de) Netzwerkbasierte speicherung von fahrzeug- und infrastrukturdaten zur optimierung der fahrzeugroutenplanung
DE202011110851U1 (de) Vorrichtung der Zielführung
DE202015009187U1 (de) Kartenpersonalisierung auf der Grundlage sozialer Anhaltspunkte
DE112015005974T5 (de) Fahrplanungsvorrichtung und Fahrplanungsverfahren
DE202012013434U1 (de) Vorabruf von Kartenkacheldaten entlang einer Route
DE102021133415A1 (de) Sicheres und skalierbares modell für kultursensitives fahren durch automatisierte fahrzeuge
JP2018523821A (ja) ナビゲーションマップの制御方法、装置及び記憶媒体
DE102016012596A1 (de) Auf thematischer Karte basierende Routenoptimierung
DE112017007882T5 (de) Fahrzeug und navigationssystem
DE102018119882A1 (de) Übertragen von Bilddaten, die von einer Fahrzeugkamera aufgenommen werden
DE202016006079U1 (de) Das dynamische Steuern eines Kartenansichtsfensters im Hinblick auf Benutzersignale
DE202016008227U1 (de) Navigations-Anwendungsprogrammierungsschnittstelle zum Unterbringen einer Mehrfachwegpunkte-Führung
WO2018197537A1 (de) Verfahren und einrichtung zum erzeugen von dynamischen hinweisen über eine änderung einer routenführung
DE102015111105A1 (de) Massenbeschaffung zur vorhersage von fahrzeug-energieverbrauch
DE102015223656A1 (de) Fahrerassistenzsystem und -Verfahren zur Fahrspurempfehlung
DE202014010950U1 (de) Das Anzeigen von dynamischen Inhalten auf einer Karte auf Basis des Standorts des Benutzers und der geplanten Aufgabe
DE112020001255T5 (de) Tiefes neurales netzwerk mit niedrigem leistungsverbrauch zur gleichzeitigen objekterkennung und semantischen segmentation in bildern auf einem mobilen rechengerät
DE102014225122A1 (de) Verfahren und System zur Bereitstellung von Informationen zur Verfügbarkeit von Ladestationen
DE202014010934U1 (de) Cachen von geografischen Daten entsprechend einer vom Server angegebenen Richtlinie

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years