-
VERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die vorliegende Gebrauchsmusteranmeldung beruft sich auf den Anmeldetag der vorläufigen US-Patentanmeldung Nr. 61/420.515, eingereicht am 7. Dezember 2010, deren Offenbarung als Verweis hierin aufgenommen ist. 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.
-
ALLGEMEINER STAND DER TECHNIK
-
1. Anwendungsbereich der Erfindung
-
Die vorliegende Anmeldung bezieht sich im Allgemeinen auf Navigationssysteme.
-
2. Beschreibung des Stands der Technik
-
Mit dem Aufkommen tragbarer elektronischer Geräte sind Navigationssysteme jetzt überall zu finden und haben weltweit viele Benutzer. Tragbare elektronische Geräte („Client-Geräte”) wie Mobiltelefone, PDA und Laptop-/Palmtop-Computer können während der Reise zu einem bestimmten Ziel verwendet werden. Navigationsserver erhalten in der Regel Anfragen von einem Client-Gerät nach dem Weg zu einem Ziel, erstellen Routen durch die Anwendung von Routing-Algorithmen auf Kartendaten und stellen anschließend die Route auf dem Client-Gerät zur Verfügung. Client-Geräte können Kartendaten und Routing-Algorithmen auch lokal speichern, so dass sie Routen ohne die Hilfe eines Navigationsservers generieren können.
-
Die Kartendaten enthalten in der Regel Informationen über die Lage von Straßen, Verbindungen zwischen Straßen und die Kosten, um von einer zur anderen zu gelangen. Die Kartendaten können als eine Reihe von Datenobjekten („Segmente”) angeordnet werden, die durch Verbindungen („Bögen”) verbunden werden, die als Graph bekannt sind. In einem Graphendatenmodell stellt jedes Segment eine Straße dar, während die Bögen einen Übergang zur nächsten Straße darstellen. Viele beliebte Routing-Algorithmen, wie z. B. der Dijkstra-Algorithmus, sind so ausgelegt, dass sie innerhalb des Graphenmodells arbeiten. Mithilfe konventioneller Konzepte der Graphentheorie versuchen Routing-Algorithmen anhand von Kennzahlen (z. B. Entfernung, Zeit usw.) die beste Route zu berechnen.
-
Nach der Bestimmung einer Route geben Navigationsserver die Route zurück an das anfordernde Client-Gerät, woraufhin ein Kartenbild der Route auf dem Bildschirm des Client-Geräts angezeigt wird. Wenn ein Benutzer von der ursprünglichen Route abweicht, kann das Client-Gerät eine zusätzliche Routenanforderung zum Navigationsserver senden, um anhand der neuen Position eine neue Route zu erstellen. Bei einem Netzwerkausfall hat das Client-Gerät jedoch möglicherweise keinen Zugriff auf die Kartendaten und Routing-Algorithmen auf dem Navigationsserver.
-
Bei Systemen, die Kartendaten herunterladen, erlauben es die Systeme den Nutzern möglicherweise, regelmäßig neue Kartendaten herunterzuladen, um zu vermeiden, dass Routen aufgrund von veralteten Informationen erstellt werden.
-
KURZE ZUSAMMENFASSUNG
-
In einem Aspekt werden ein System und ein Verfahren vorgestellt, die einem Client-Gerät die Erstellung von Routinginformationen unter Verwendung aktueller Kartendaten ermöglichen.
-
In einem anderen Aspekt wird ein Verfahren für die Zielführung auf einem Client-Gerät vorgestellt, das eine Vielzahl von Kartenausschnittsdaten von einem Remotecomputer vorabruft, wobei jede der Vielzahl an Kartenausschnittsdaten mit Informationen zur Generierung von Wegbeschreibungen verschlüsselt ist. Die Vielzahl an Kartenausschnittsdaten kann dann in einem Speicher abgelegt werden, und es kann bestimmt werden, ob auf den Remotecomputer zugegriffen werden kann. Die Vielzahl der Kartenausschnittsdaten kann aus dem Speicher abgerufen werden, wenn feststeht, dass der Remotecomputer nicht zugänglich ist. Die Kartendaten, die ein geografisches Gebiet darstellen, können zusammengesetzt werden, wobei die Kartendaten eine Zusammensetzung der Vielzahl an Kartenausschnittsdaten sind. Eine beste Route zu einem Ziel kann dann mithilfe der Kartendaten generiert werden.
-
Ein weiterer Aspekt stellt eine Vorrichtung bereit, die aus einem Speicher besteht, auf dem mindestens ein Modul abgelegt ist. Dabei hat der Speicher einen Zwischenspeicher zur Ablage einer Vielzahl von Kartentrennungsdaten. Ein Prozessor kann mit dem Speicher in Kommunikation stehen, um die Vielzahl der Kartenausschnittsdaten nach den Anweisungen des mindestens einen Moduls zu verarbeiten. Die Vorrichtung kann auch eine Anzeige beinhalten, die mit dem Prozessor in Kommunikation steht und die Informationen, die sie von diesem erhält, anzeigt. Das mindestens eine Modul kann Anweisungen haben, um eine Vielzahl von Kartenausschnittsdaten von einem Remotecomputer vorabzurufen, wobei jede der Vielzahl der Kartenausschnittsdaten dabei mit Informationen zur Erzeugung von Wegbeschreibungen verschlüsselt ist; um die Vielzahl der Kartenausschnittsdaten in einem Speicher zu speichern; um festzustellen, ob auf den Remotecomputer zugegriffen werden kann; um die Vielzahl der Kartentrennungsdaten aus dem Speicher abzurufen, wenn feststeht, dass der Remotecomputer nicht zugänglich ist; Kartendaten für eine geografische Region zusammenzusetzen, wobei die Kartendaten eine Zusammensetzung aus der Vielzahl der Kartentrennungskarten ist; und um die beste Route zu einem Ziel mit den Kartendaten zu generieren.
-
In einem weiteren Aspekt wird ein Verfahren für die Bereitstellung von Kartendaten beschrieben, das die beste Route zu einem ersten Ziel generieren kann. Es kann eine Anforderung von einem Client-Gerät für eine Vielzahl von Kartenausschnittsdaten empfangen werden, wobei die Kartenausschnittsdaten Teile der Kartendaten sein können, die ein geografisches Gebiet darstellen. Die Kartendaten können auch für die Routenerstellung zu einem zweiten Ziel verfügbar sein. Die Vielzahl der Kartenausschnittsdaten kann dann abgerufen werden. Als nächstes kann die Vielzahl der Kartenausschnittsdaten auf das Client-Gerät übertragen werden.
-
In einem weiteren Aspekt wird ein System beschrieben, das aus einem Server, einem Speicher, auf dem mindestens ein Modul und eine Vielzahl an Kartenausschnittsdaten gespeichert sind, und aus einem Prozessor besteht, der mit dem Speicher in Kommunikation steht, sodass die Vielzahl der Kartenausschnittsdaten gemäß den Anweisungen in mindestens einem Modul verarbeitet werden kann. Das mindestens eine Modul kann Anweisungen haben, um die beste Route zu einem ersten Ziel zu generieren; um eine Anfrage von einem Client-Gerät für eine Vielzahl von Kartenausschnittsdaten zu empfangen, die Teile der Kartendaten sind, die ein geografisches Gebiet darstellen, wobei die Kartendaten auch zur Generierung von Routen für ein zweites Ziel zur Verfügung stehen; um die Vielzahl der Kartenausschnittsdaten abzurufen; und um die Vielzahl der Kartendaten an das Client-Gerät zu übertragen.
-
In einem weiteren Aspekt wird ein Verfahren zur Anzeige einer Route auf einem Gerät vorgestellt, bei welchem ein Start- und ein Zielort über ein Netzwerk an einen ersten Computer übertragen wird. Der erste Computer kann dabei Zugang zu Daten haben, die einen ersten Satz an Straßenpositionen identifizieren. Ein zweiter Satz von Straßenpositionen, ausgewählt aus einer Teilmenge des ersten Satzes, kann über das Netzwerk vom ersten Computer empfangen werden, worin der zweite Satz von Straßenpositionen eine erste Route enthält, die eine zusammenhängende Reihe an Straßenpositionen zwischen Start- und Zielort umfasst, und weiter zusätzliche Straßenpositionen enthält, die sich innerhalb eines geografischen Gebiets befinden, die in der Nähe der ersten Route liegen. Eine zweite Route zusammenhängender Straßenpositionen kann anhand der Straßenpositionen bestimmt werden, die sich im zweiten Satz befinden, wenn Daten, die einen aktuellen Standort des Geräts identifizieren, anzeigen, dass sich der aktuelle Standort des Geräts von den Straßenpositionen der ersten Route unterscheidet, worin die zweite Route bestimmt wird, wenn das Gerät nicht in der Lage ist, die Identifikation der Straßenpositionen vom ersten Computer zu empfangen. Als nächstes kann die zweite Route auf einem Display angezeigt werden.
-
In einem weiteren Aspekt wird ein System für das Anzeigen einer Route auf einem Gerät vorgestellt, das einen Speicher umfasst, der mindestens ein Modul speichert, einen Prozessor, der in Kommunikation mit dem Speicher steht, und eine Anzeige, die in Kommunikation mit einem Prozessor steht und Informationen, die sie vom Prozessor empfängt, anzeigt. Das mindestens eine Modul hat Anweisungen, die den Prozessor anweisen, über ein Netzwerk einen Start- und einen Zielort an einen ersten Computer zu übertragen, wobei der erste Computer Zugriff auf Daten hat, die einen ersten Satz von Straßenpositionen identifizieren. Das Modul hat ferner Anweisungen, den Prozessor anzuweisen, über das Netzwerk und vom ersten Computer einen zweiten Satz von Straßenpositionen zu empfangen, die aus einer Teilmenge des ersten Satzes ausgewählt wurden, worin der zweite Satz von Straßenpositionen eine erste Route enthält, die eine zusammenhängende Reihe von Straßenpositionen zwischen Start- und Zielort umfasst. Der zweite Satz von Straßenpositionen enthält ferner zusätzliche Straßenpositionen, die sich innerhalb eines geografischen Gebiets in der Nähe der ersten Route befinden. Das Modul hat ferner Anweisungen, den Prozessor anzuweisen, anhand der Straßenpositionen, die im zweiten Satz enthalten sind, eine zweite Route von zusammenhängenden Straßenpositionen festzulegen, wenn aus Daten, die eine aktuelle Position des Geräts identifizieren, hervorgeht, dass der aktuelle Standort des Geräts nicht mit den Straßenpositionen der ersten Route übereinstimmt, worin die zweite Route festgelegt wird, wenn das Gerät nicht fähig ist, die Identifikation der Straßenpositionen vom ersten Computer zu empfangen. Das Modul hat ferner Anweisungen, den Prozessor anzuweisen, die zweite Route auf einem Display anzuzeigen.
-
In einem weiteren Aspekt kann ein Verfahren für die Bereitstellung von Straßendaten zur Verfügung gestellt werden, das einen Start- und einen Zielort von einem ersten Computer über ein Netzwerk empfängt und das einen zweiten Satz von Straßenpositionen, aus einer Teilmenge des ersten Satzes ausgewählt, an den ersten Computer überträgt, worin der zweite Satz von Straßenstandorten eine erste Route enthält, die eine zusammenhängende Reihe von Straßenstandorten zwischen Start- und Zielort umfasst, und weiter zusätzliche Straßenstandorte enthält, die sich innerhalb eines geografischen Gebiets in der Nähe der ersten Route befinden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Funktionsdiagramm eines Systems.
-
2 ist eine bildliche Darstellung eines Systems.
-
3 ist ein Beispielkartenbild.
-
4 ist ein Diagramm, das das Beispiel eines Kartendatenmodells einer Route veranschaulicht.
-
5 ist ein weiteres Diagramm, das ein Kartendatenmodell eines Teilkartenbereichs veranschaulicht.
-
6 ist ein Funktionsdiagramm, das die Anordnung einer Karte zeigt.
-
7 ist ein anderes Kartenbild, das zeigt, wie ein Benutzer von einer Hauptroute abweicht.
-
8 ist ein Beispiel für eine Bildschirmaufnahme.
-
9 ist das Beispiel eines Kartenbilds, das vorgegebene Unterkartenbereiche entlang einer Route zeigt.
-
10 ist das Flussdiagramm eines Verfahrens.
-
11 ist das Flussdiagramm eines Verfahrens.
-
12 ist das Flussdiagramm eines Verfahrens.
-
DETAILLIERTE BESCHREIBUNG
-
In einem Aspekt werden geteilte Kartendaten an ein Client-Gerät oder ein Nutzergerät übertragen. Jeder Kartenausschnitt kann Straßendaten, wie zum Beispiel Straßengeometrien, Straßennamen, Straßennetztopologie oder andere Informationen enthalten, die benötigt werden, um Wegbeschreibungen innerhalb des Ausschnitts zur Verfügung zu stellen. Jeder Kartenausschnitt kann mit genügend Daten verschlüsselt werden, um die einzelnen Ausschnitte miteinander zu verbinden und eine größere Karte zusammenzusetzen. Auf Kartenausschnitte kann entlang jeder Route zurückgegriffen werden, falls der Navigationsserver nicht erreichbar ist. Wenn beispielsweise ein Benutzer von der ursprünglichen Route abweicht und ein Netzwerkausfall auftritt, können die Kartendaten zusammengesetzt und ein Routing-Algorithmus auf die Kartendaten angewendet werden, um den Benutzer zur ursprünglichen Route zurückzuleiten.
-
Wie in 1–2 gezeigt, beinhaltet ein System 100 einen Bildkachelserver 110 und einen Routingserver 120, die jeweils einen Prozessor 210, einen Speicher 220 und andere Komponenten enthalten, wie sie normalerweise in Mehrzweckcomputern vorkommen. 1 zeigt auch ein Client-Gerät oder Nutzergerät 150, das einen Prozessor 151 und einen Speicher 162 enthält.
-
Die Speicher 220 und 162 können Befehle und Programme speichern, die durch die Prozessoren 210 und 151 ausführbar sind, einschließlich des Kartenexportmoduls 240, des Vorabrufmoduls 153 und des lokalen Kartenroutermoduls 154. Die Speicher 220 und 162 können auch Daten beinhalten, die von den Prozessoren 210 und 151 abgerufen, bearbeitet oder gespeichert werden können, wie rohe Kartendaten 272 des Routingservers 120 und Kartenbildkacheln 271 vom Bildkachelserver 110. Die Speicher 220 und 162 können von jeder beliebigen Art sein, der in der Lage ist, für die Prozessoren 210 und 151 zugängliche Informationen zu speichern, wie zum Beispiel eine Festplatte, Speicherkarte, RAM, DVD, CD-ROM und schreibfähige Speicher. Die Prozessoren 210 und 151 können beliebige bekannte Prozessoren sein, wie beispielsweise Prozessoren von Intel oder Advanced Micro Devices. Alternativ können die Prozessoren auch spezielle Controller sein wie beispielsweise ein ASIC.
-
Das Kartenexportmodul 240 kann eine beliebige Menge von Anweisungen sein, die direkt (wie ein Maschinencode) oder indirekt (wie Skripte) durch den Prozessor ausgeführt werden. In ähnlicher Weise können das Vorabrufmodul 153 und das lokale Kartenroutermodul 154 auch jeder beliebige Satz Anweisungen sein, die direkt oder indirekt durch den Prozessor ausgeführt werden. In dieser Hinsicht können die Begriffe „Anweisungen”, „Schritte” und „Programme” hierin austauschbar verwendet werden. Die Anweisungen können im Objektcodeformat zur direkten Verarbeitung durch den Prozessor oder in jeder anderen Computersprache einschließlich Scripts und Sammlungen von unabhängigen Sourcecodemodulen gespeichert werden, die auf Anfrage interpretiert oder im Voraus erstellt werden können.
-
Funktionen, Verfahren und Routinen der Anweisungen werden unten ausführlicher erklärt.
-
Obwohl 1 die Prozessoren und Speicher funktionell veranschaulicht, als befänden sie sich in den gleichen entsprechenden Blöcken, ist dies so zu verstehen, dass die Prozessoren und Speicher tatsächlich mehrere Prozessoren und Speicher umfassen können, die innerhalb des gleichen physischen Gehäuses untergebracht werden können, aber nicht müssen. Beispielsweise können einige der Anweisungen und Daten auf entfernbare CD-ROM und andere in einem Nur-Lese-Computer-Chip gespeichert werden. Einige oder alle der Anweisungen und Daten können an einem Standort gespeichert werden, der physisch vom Prozessor entfernt ist, zu dem der Prozessor aber trotzdem Zugang hat. In ähnlicher Weise kann ein gegebener Prozessor tatsächlich eine Reihe von Prozessoren umfassen, die parallel betrieben werden können, aber nicht müssen.
-
Routingserver 120 kann auch eine Vielzahl von Computern umfassen, wie beispielsweise ein Lastausgleichsnetz, das Informationen mit verschiedenen Knoten eines Netzes austauscht, um Kartendaten an mehrere Client-Geräte zu empfangen, zu verarbeiten und zu übertragen. In diesem Fall befinden sich die Client-Geräte typischerweise immer noch an anderen Knoten des Netzes als jeder der Computer, die den Routingserver 120 umfassen.
-
In einem Aspekt kommuniziert der Routingserver 120 mit einem oder mehreren Client-Computern 150, 170, wie in 2 dargestellt. Jedes Client-Gerät 150, 170 kann ein Laptop-Computer sein, der für den Gebrauch durch eine Person 190–191 vorgesehen ist und alle Komponenten aufweist, die normalerweise in einem Laptop-Computer zu finden sind, wie ein Anzeigegerät 160 (beispielsweise ein Monitor mit einem Bildschirm, ein Touchscreen, ein kleiner LED-Bildschirm oder eine andere Vorrichtung wie ein elektrisches Gerät, das die vom Prozessor verarbeitete Information anzeigen kann), CD-Rom, Festplatte, Nutzereingabegerät (beispielsweise eine Maus, eine Tastatur, ein Touchscreen oder ein Mikrofon), Lautsprecher, Modem bzw. Netzschnittstellengerät (Telefon, Kabel o. ä.) und alle Komponenten, mit welchen diese Elemente miteinander verbunden werden.
-
Obwohl die Client-Computer 150 und 170 Laptop-Computer umfassen können, können das System und das Verfahren auch in Verbindung mit Mobilgeräten verwendet werden, die drahtlos Daten mit einem Server über ein Netzwerk wie das Internet auszutauschen können. Zum Beispiel kann ein Client-Computer 170 ein mobiler PDA oder ein internetfähiges Mobiltelefon sein. In beiden Fällen erfolgt die Informationseingabe durch den Benutzer über ein Tastenfeld (im Fall eines typischen Mobiltelefons), ein Touchscreen (im Fall eines PDA) oder durch andere Mittel der Benutzereingabe.
-
Die Client-Computer 150 und 170 können eine Komponente umfassen, um den geografischen Standort des Geräts zu bestimmen. Das Mobilgerät 170 kann beispielsweise einen GPS-Empfänger 155 beinhalten. Als weiteres Beispiel kann die Komponente Software beinhalten, um die Position des Geräts anhand anderer auf dem Mobilgerät 170 erhaltener Signale zu bestimmen, wie Signale, die an einer Mobiltelefonantenne von einem oder mehreren Mobilfunkmasten empfangen wurden, wenn es sich bei dem Mobilgerät um ein Mobiltelefon handelt.
-
Der Bildkachelserver 110, der Routingserver 120 und die Client-Computer 150 und 170 sind fähig, direkt und indirekt miteinander zu kommunizieren, wie zum Beispiel über ein Netzwerk 295. Obwohl nur wenige Computer in den 1–2 dargestellt sind, sollte es klar sein, dass ein typisches System eine große Anzahl von verbundenen Computern beinhalten kann, wobei sich jeder dieser Computer 295 an einem anderen Knoten des Netzwerks befindet. Das Netzwerk und die dazwischen liegenden Knoten können verschiedene Konfigurationen und Protokolle umfassen, wie Internet, World Wide Web, Intranet, virtuelle private Netzwerke, Wide Area Networks, lokale Netzwerke, private Netzwerke, die Kommunikationsprotokolle im Eigentum von einem oder mehreren Unternehmen verwenden, Ethernet, WiFi und HTTP sowie verschiedene Kombinationen davon. Eine solche Kommunikation kann von jedem Gerät ermöglicht werden, das in der Lage ist, Daten von einem zum anderen Computer zu übertragen, wie Modems (z. B. Dial-up, Kabel oder Lichtwellenleiter) und drahtlose Schnittstellen.
-
Kartenrohdaten 272 können durch die Prozessoren 210 und 151 in Übereinstimmung mit den Anweisungen im Kartenexportmodul 240, im Vorabrufmodul 153 und im lokalen Kartenroutermodul 154 abgerufen, gespeichert oder geändert werden. Obwohl das System und das Verfahren nicht durch irgendeine spezielle Datenstruktur beschränkt sind, können ihre Daten in Computerregistern, in einer relationalen Datenbank als Tabelle mit einer Vielzahl verschiedener Felder und Datensätze, Dokumente in Extended Markup Language („XML”) oder in flachen Dateien gespeichert werden. Die Daten können auch in jedem computerlesbaren Format formatiert werden. Kartenrohdaten 272 beinhalten Straßendaten, die zur Erzeugung von Routen verwendet werden.
-
Die Kartendatenbank 270 des Bildkachelservers 110 speichert idealerweise kartenbezogene Informationen, von welchen zumindest ein Teil an ein Client-Gerät übertragen werden kann. Die Kartendatenbank 270 kann beispielsweise Kartenbildkacheln 271 speichern, wobei jede Kachel ein Kartenbild eines bestimmten geografischen Gebiets ist. Je nach Auflösung (z. B. ob die Karte vergrößert oder verkleinert wird) kann eine Kachel eine ganze Region abdecken, wie zum Beispiel einen Bundesstaat, und dabei relativ wenig Details zeigen. Eine andere Fliese deckt vielleicht nur ein paar Straßen in hoher Detailgenauigkeit ab. Die Karteninformationen beschränken sich nicht auf ein bestimmtes Format. Die Bilder können beispielsweise Straßenkarten, Satellitenbilder oder eine Kombination aus diesen umfassen, und können als Vektoren (insbesondere in Bezug auf Straßenkarten) oder Bitmaps (insbesondere in Bezug auf Satellitenbilder) gespeichert werden. Die verschiedenen Kartenkacheln sind jeweils geografischen Standorten zugeordnet, sodass der Bildkachelserver 110 in der Lage ist, in Reaktion auf den Empfang eines geografischen Standorts eine oder mehrere Kacheln auszuwählen, abzurufen und zu übertragen. Kartenkachelstandorte können als Kachelkoordinaten oder als andere Daten ausgedrückt werden, die ein geografisches Gebiet identifizieren können.
-
Die in den Daten 230 des Routingservers 120 enthaltene Kartendatenbank 280 kann Kartenrohdaten 272 speichern, bestehend aus Kartenausschnitten von Straßendaten, die eines oder mehrere geografische Gebiete abdecken. Zum Beispiel kann jeder Kartenausschnitt einen bestimmten Straßenzug oder Bundesstaat, eine bestimmte Stadt oder ein bestimmtes Land usw. darstellen. Wie nachstehend näher erläutert wird, kann jeder Kartenausschnitt mit anderen Kartenausschnitten verbunden oder zusammengesetzt werden. Durch das Zusammensetzen mehrerer Kartenausschnitte kann eine größere Kartendarstellung gebildet werden. Kartenstandorte können als Breitengrad-/Längengrad-Positionen oder als andere Daten ausgedrückt werden, die die Identifizierung eines oder mehrerer geografischer Standorte ermöglichen. In einem Beispiel können Kartenausschnitte 273 in einem Drahtformat wie XML an ein Client-Gerät übertragen werden. Jeder Kartenausschnitt 273 kann eine Fläche abdecken, die einer jeweiligen Kartenbildkachel 271 entspricht und kann auch die gleiche Vergrößerungsstufe abdecken, wie die jeweilige Kartenbildkachel. Über alle Vergrößerungsstufen hinweg kann die abgedeckte Fläche 100 Mal auf demselben Platz zwischengespeichert werden, im Gegensatz zu einem System, das auf den laufenden oder kontinuierlichen Zugang zu einem Kartenserver angewiesen ist. In einem Beispiel kann die Zwischenspeicherung automatisch sein, beispielsweise beim Aktivieren eines Vorabruf- oder eines anderen Zwischenspeichervorgangs, wenn das Nutzergerät WiFi oder anderen Netzwerkzugang hat.
-
3 zeigt eine illustrative Karte mit einem Startpunkt A, der der Ausgangsposition 420 entspricht, und einen Zielpunkt B, der einer Zielposition 421 entspricht. Die 4–5 sind Beispieldatenmodelle der auf 3 dargestellten Karte. Während die 4–5 die als Graph modellierten Kartenrohdaten 272 zeigen, kann auch jedes andere Datenmodell angepasst werden, das innerhalb eines Routing-Algorithmus arbeitet.
-
Zurück zu 3 zeigt die Abbildung den Unterkartenbereich 422 zusätzlich zu den Ausgangs- und Zielpositionen 420 bzw. 421. Der Unterkartenbereich 422 kann eine Reihe von geografischen Positionen auf der Grundlage der Position 420 eines Benutzers sein, wie zum Beispiel ein Bereich, der mögliche Streckenabschnitte beinhaltet, die Position 420 auf einem vorgegebenen Radius umgeben. In einem Beispiel kann das Vorabrufmodul 153 des Client-Geräts 150 Unterkartendaten vom Routingserver 120 der Straßen anfordern, die in den vorgegebenen Unterkartenbereich 422 fallen, und diese wie in 1 abgebildet in einem Zwischenspeicher 164 oder jedem anderen Speichermedium ablegen. Das lokale Kartenroutermodul 154 kann einen Routing-Algorithmus auf die Kartenausschnittsdaten 273 anwenden, um trotz der fehlenden Netzwerkverbindung weiter Routen zu erzeugen. Unterkartengebiet 422 kann alle Straßen innerhalb einer bestimmten Distanz von der Ausgangsposition 420, der Zielposition 421, oder allen Straßen auf der ursprünglich vom Routingserver 120 generierten Route abdecken. Zusätzlich zu den Unterkartendaten können die jeweiligen Kartenbildkacheln 271 auch vorabgerufen werden, um die Karte auf dem Bildschirm darzustellen.
-
Die Vergrößerungsstufe der einzelnen Kartenausschnitte 273 und die entsprechende Bildkachel 271 können auf verschiedenste Weise skaliert werden. Mit einer Vergrößerungsstufe von 0 kann beispielsweise der gesamte Planet angezeigt werden, während mit einer Zoomstufe von 21 einzelne Gebäude angezeigt werden können. Die zwischengespeicherten Kartendaten und die entsprechenden Bilddaten können auf unterschiedliche Vergrößerungsstufen eingestellt werden. Die jeweilige Vergrößerungsstufe kann davon abhängen, wie stark die bestehende Netzwerkverbindung ist. In einem Beispiel kann eine höhere Vergrößerungsstufe zwischengespeichert werden, wenn eine starke Netzwerkverbindung besteht.
-
Alternativ kann Unterkartenbereich 422 aus Zellen eines räumlichen Index bestehen. Die Zellen können in einem Knoten oder Index enthalten sein, die Teil einer größeren Hierarchie von miteinander verbundenen Knoten ist. Jede Ebene der Hierarchie kann eine andere Vergrößerungsstufe darstellen. Je höher die Vergrößerungsstufe, desto größer ist die Anzahl der Zellen in dem Knoten und desto kleiner ist die Größe jeder Zelle. Die Stufe des Knotens für den räumlichen Index kann mit der Vergrößerungsstufe der Unterkartendaten übereinstimmen. Die durch den gewünschten Unterkartenbereich abgedeckten Zellen können durch das Vorabrufmodul 153 zwischengespeichert werden.
-
Das Vorabrufmodul 153 kann geeignete Zellen von bestimmten Knoten auf verschiedenen Ebenen zwischenspeichern und es dem lokalen Kartenroutermodul 154 ermöglichen, flexiblere Routen zur Verfügung zu stellen. Beispielsweise können Routen durch kleinere Korridore erzeugt werden. Während es unter bestimmten Umständen angemessen sein kann, verschiedene zusammenhängende Bereiche von Kartendaten zwischenzuspeichern, die für Kartenwiedergabe und Offline-Routing ausreichend sind, müssen in diesem Fall nicht alle zusammenhängenden Teile der Karte mit der gleichen Körnigkeit zwischengespeichert werden. Während zwischengespeicherte Bereiche durch Breite, Länge und Radius identifiziert werden können, kann auch ein zellenartiger räumlicher Index verwendet werden. Wenn also ein Benutzer aus der Stadt A in die Stadt B pendelt, kann ein kleinerer Korridor aus Zellen für die Straßen entlang der Route zwischengespeichert werden, während größere Bereiche am Ausgangs- und Zielpunkt zwischengespeichert werden können. In diesem Fall kann eine Vektorzoomebene zwischengespeichert werden, um dem Benutzer ausreichende Einzelheiten zur Verfügung zu stellen, und je nach Netzwerkverbindung können ein oder mehrere zusätzliche Vergrößerungsstufen für detailliertere Daten abgerufen werden.
-
4 zeigt Kartendaten, die die beste Route vom Ausgangspunkt 420 zum Zielpunkt 421 darstellen. Die beste Route kann je nach den Kriterien des Routing-Algorithmus die kürzeste, die am wenigsten überlastete, die sicherste, die landschaftlich schönste oder eine beliebige andere Strecke sein. Zur Bestimmung einer besten Route können die verschiedensten Faktoren berücksichtigt werden. Diese Route kann von einem Routingserver 120 erzeugt werden. Der Client 150 kann dann Bilddaten vom Bildkachelserver 110 anfordern, um das Kartenbild auf dem Bildschirm anzuzeigen. 4 zeigt auch Segment 509, das „W. Main Street” darstellt, in Verbindung mit Segment 508, das „E. Main Street” über Bogen 507 darstellt. Route 500 kann die beste Route sein, die vom Routingserver 120 erzeugt wird.
-
5 zeigt ein Beispiel für Unterkartendaten 600 und 600A, die auch als Graphen modelliert sind. Unterkartendaten 600 und 600A können innerhalb des vorgegebenen Unterkartenbereichs 422 fallen. Insbesondere zeigen die Unterkartendaten 600 Segmente 602–605, die jeweils „Broadway”, „Dewey Avenue”, „End Avenue” und „Huron Avenue” darstellen, respektive. Es werden drei Bögen 602.1–602.3 gezeigt, die aus dem Segment 602 projizieren. Segment 602 ist mit Segment 603 über Bogen 602.1 verbunden, Segment 604 über Bogen 602.2 und Segment 605 über Bogen 602.3.
-
Die Unterkartendaten 600A zeigen Segmente 606–609, die „Tuttle Parkway”, „Mountain Avenue”, „Gifford Avenue” und „Sip Avenue” darstellen, respektive. Es werden drei Bögen 606.1–606.3 gezeigt, die aus dem Segment 606 projizieren. Insbesondere ist Segment 606 mit Segment 607 über Bogen 606.1 verbunden, Segment 608 über Bogen 606.2 und Segment 609 über Bogen 606.3.
-
Vorabrufmodul 153 kann eine Anfrage an das Kartenexportmodul 240 des Routingservers 120 senden. Vorabrufmodul 153 kann die Kartenausschnitte 273 anhand des gewünschten Standorts vom Routingserver 120 abrufen. Der angeforderte Standort kann innerhalb eines vorgegebenen Unterkartenbereichs 422 liegen. In einem Beispiel sendet das Vorabrufmodul 153 die Anfrage unter Verwendung einer Reihe von Breiten-/Längenkoordinaten, die innerhalb des Unterkartengebiets 422 liegen. Die Breiten-/Längenkoordinaten können verwendet werden, um Kartendaten vom Kartenexportmodul 240 des Routingservers 120 abzufragen. Andere Formate zum Speichern von Positionsdaten können auch verwendet werden. Anstatt zum Beispiel absoluten Werten wie Breitengrad/Längengrad zugeordnet zu werden, können die Werte relativ und in jedem Maßstab sein. Sobald die Ausschnitte vom Kartenexportmodul 240 abgerufen wurden, kann das Vorabrufmodul 153 die Kartenausschnitte 273 im Zwischenspeicher 164 des Client 150 für den Einsatz im Falle eines Netzwerkausfalls oder eines anderen Verlusts der Konnektivität speichern.
-
Wenn Client 150 nicht in der Lage ist, über das Netzwerk zu kommunizieren, kann der Prozessor mit der Ausführung des lokalen Kartenroutermoduls 154 des Client 150 beginnen. Das lokale Kartenroutermodul 154 kann die im Zwischenspeicher 164 gespeicherten Kartenausschnitte 273 lesen und beginnen, eine Karte zusammenzusetzen. Wie in dem früheren Beispiel angegeben, können die Kartenausschnitte 273 innerhalb des Unterkartenbereichs 422 liegen, der sich innerhalb eines vorgegebenen Radius um den Benutzer herum befinden kann. Alternativ kann Unterkartenbereich 422 die gesamte Stadt oder der Bundesstaat sein, in welchem der Benutzer unterwegs ist. Beispielsweise kann das Vorabrufmodul 153 nach jeder Meile, jeder Stadt, jedem Bundesstaat oder jeder Provinz Kartendaten anfragen. Wenn ein Benutzer über die Grenze in einen neuen Bundesstaat fährt, kann das Vorabrufmodul 153 die Kartenausschnitte 273 aus dem Zwischenspeicher löschen und Kartendaten für den neuen Bundesstaat anfragen. Vorabrufmodul 153 kann auch Kartendaten anfragen, wie beispielsweise von allen Straßen, die sich in einer bestimmten Entfernung von der Strecke befinden, oder von allen Straßen, die die Strecke an einem Punkt schneiden, der sich innerhalb einer bestimmten Entfernung vom aktuellen Standort des Geräts befindet. Somit kann der Zwischenspeicher 164 die aktuellsten verfügbaren Kartendaten auf dem Client 150 pflegen.
-
6 veranschaulicht eine Anordnung von Kartenausschnittsdaten 700, die Ausschnitte innerhalb des Unterkartenbereichs 422 von 3 darstellen. Die in 6 gezeigte Anordnung kann von dem lokalen Kartenroutermodul 154 durchgeführt werden. Beispielhaft stellt Kartenausschnitt 701 Unterkartendaten 600 von 5 dar, Kartenausschnitt 702 stellt Unterkartendaten 600A aus 5 dar, und Kartenausschnitt 703 stellt die Strecke 500 von 4 dar. Jeder gezeigte Kartenausschnitt enthält Straßenverbindungen innerhalb seiner jeweiligen Ausschnitte sowie die Straßennutzungskosten. Wenn eine Verbindungsstraße außerhalb des Ausschnitts liegt, können die Daten einen Verweis auf den Ausschnitt enthalten, in dem die Verbindungsstraße und die Kosten enthalten sind. Die Kartenausschnittsdaten können auf unterschiedlichste Weise verschlüsselt werden, einschließlich kundenspezifischer Binärformate, XML usw., ohne darauf beschränkt zu sein. Während jeder Kartenausschnitt 701–703 nur mit Straßenverbindungen und Straßennutzungskosten gezeigt wird, kann jeder Kartenausschnitt auch einige oder alle Straßengeometrien, Straßennamen, Straßennetztopologien oder andere Informationen enthalten, die zur Wegbeschreibung zur Verfügung gestellt werden. Die Fahranweisungen können einem Benutzer in Übereinstimmung mit verschiedenen Bedienoberflächen bereitgestellt werden. Zum Beispiel können die Fahrtanweisungen Echtzeit-Anweisungen für jede Abbiegung mit Sprachansagen sein, eine einmalige Liste von Abbiegevorgängen, eine markierte Strecke auf einer Karte usw.
-
7 zeigt den Benutzer auf der Position C entsprechend der Position 820. Position 820 ist eine Abweichung von der Route 500 von „W. Main Street” nach „E. Main Street”. Wenn ein Netzwerkausfall oder ein anderer Verbindungsverlust auftritt, während sich der Benutzer auf Position 820 befindet, kann das lokale Kartenroutermodul 154 die Karte wie in 6 gezeigt innerhalb des Unterkartenbereichs 422 zusammensetzen und einen Routing-Algorithmus auf die neu zusammengesetzte Karte anwenden, um so eine Route zu einem Ziel zu erzeugen. Der Routing-Algorithmus kann ein beliebiger Algorithmus sein, der zum Betrieb innerhalb des gewählten Datenmodells angepasst wurde. Beispielhaft kann das in 4–5 dargestellte Graphdatenmodell einen Dijkstra-Algorithmus, einen Floyd-Warshall-Algorithmus, einen Bellman-Ford-Algorithmus o. ä. verwenden.
-
Sobald das lokale Kartenroutermodul 154 die beste Route zurück zur ursprünglichen Route berechnet, kann das Client-Gerät 150 ein Bild der besten Route auf das Display 160 übertragen, wie in 8 gezeigt. 8 zeigt auch Anweisungen pro Abbiegung 902, die auf dem Display 160 angezeigt werden. Beispielsweise kann ein lokales Karteroutermodul 154 bestimmen, dass der beste Weg von Position 820 zurück zu „W. Main Street” links über die „Mountain Avenue” führt, wie in 8 dargestellt.
-
9 ist ein Beispiel für das Vorabrufmodul 153, das entlang einer Route Unterkarteninformationen anfordert. 9 zeigt Unterkartenbereiche 1007–1009, die angefordert werden, wenn sich ein Benutzer von Positionen D, E und F weg- und entsprechend den Positionen 1003–1005 zum Zielort 421 hinbewegt. Wie bereits erläutert, können Unterkartenbereiche vorgegebene Radien um einen Benutzer herum sein. Diese Bereiche können angefordert werden, während sich ein Benutzer auf ein Ziel zubewegt. Wenn ein neuer Unterkartenbereich angefordert wird, kann der Zwischenspeicher 164 gelöscht werden, um Platz für den nächsten Unterkartenbereich zu schaffen. Der Unterkartenbereich kann auch einen größeren Maßstab aufweisen (z. B. Stadt, Land, Bundesstaat usw.), um die Menge der Vorabrufe vom Client zum Server zu minimieren.
-
Der Bereich, der vorabgerufene Segmente umfasst, kann in Gebieten, die für eine schwache Netzwerkverbindung bekannt sind, erweitert werden. Vorabrufmodul 153 kann auch ausgewählte Gebiete entlang der Strecke anfordern. Zum Beispiel kann Vorabrufmodul 153 nur den Unterkartenbereich 1009 und nur 1008. Unterkartenbereich 153 kann auch einen Bereich rund um das Ziel 421 wählen.
-
Das Vorabrufmodul 153 kann so konfiguriert werden, dass die geografischen Gebiete automatisch zwischengespeichert werden, bei welchen die Wahrscheinlichkeit, dass der Benutzer sie besucht, relativ hoch ist. Dies erfolgt anhand der Reisehistorie des Benutzers, des Suchverlaufs, des persönlichen Profils, der Kalendereinträge oder anhand von anderen Ressourcen. Die automatische Zwischenspeicherung kann ausgelöst werden, wenn ein Nutzergerät eingeschaltet ist und sich in einem Gebiet mit Netzwerkzugang (z. B. WiFi) befindet. Automatisches Zwischenspeichern kann je nach Art des verfügbaren Netzwerkzugriffs aktiviert werden. Wenn also ein freies Netzwerk wie ein WiFi-Netzwerk verfügbar ist, kann das Vorabrufmodul 153 einen automatische Vorabruf auszuführen. In einem anderen Beispiel kann die automatische Zwischenspeicherung nicht durchgeführt werden, wenn kein freies Netzwerk zur Verfügung steht, oder es ist möglicherweise eine Nutzerberechtigung erforderlich, was dann zu entsprechenden Kosten führen kann.
-
Das System und das Verfahren können ferner erfordern, dass der Benutzer das Zwischenspeichern verschiedener Arten von geografischen Informationen genehmigen muss, bevor die Informationen auf den Client übertragen oder von ihm gespeichert werden. Es ist ferner möglich, dass System und Verfahren die zwischengespeicherten Daten während des Vorgangs der Übertragung und Speicherung verschlüsseln. Zwischengespeicherte Daten können auf Wunsch von einem Benutzer auch automatisch oder manuell gelöscht werden.
-
In einem Beispiel wird ein Protokoll definiert, um die wichtigsten geografischen Gebiete N vorabzurufen (z. B. vor kurzem gesehen Orte, häufig besuchte Orte, Heimatstadt des Benutzers oder Arbeitsbereich). Jeder geografische Ort kann vorabgerufen und im Zwischenspeicher oder dauerhaft an einem anderen Speicherort gespeichert und beim Start in den Zwischenspeicher geladen werden. Dadurch können die im Zwischenspeicher gespeicherten Kartendaten für einen bestimmten Benutzer personalisiert werden. Die zwischengespeicherten Kartendaten können je nach relevanten Nutzerereignissen automatisch aktualisiert werden (z. B. Umzug zu einer neuen Adresse, Erhalt einer neue Arbeitsadresse, Änderungen von Reisegewohnheiten usw.). Die N Orte können ein oder mehrere Informationen enthalten, wie Name des Ortes, Adresse, Telefonnummer, Breitengrad/Längengrad, Typ (z. B. mit Sternen versehen oder eine andere Art von Sehenswürdigkeit) oder eine andere Kennung.
-
In einem anderen Aspekt kann ein Benutzer die geografischen Standorte für die Zwischenspeicherung auswählen. Zum Beispiel kann ein Benutzer ein Gebiet wählen, das er zu besuchen beabsichtigt. Die Zwischenspeichergröße kann auf einen Standardwert gesetzt werden oder durch einen Benutzer konfigurierbar sein. Ein Benutzer kann diese geografischen Gebiete direkt auf einem mobilen Nutzergerät oder auf einem PC auswählen und die ausgewählten Unterkartenbereiche mit den Unterkartenbereichen synchronisieren, die bereits im Zwischenspeicher des Mobilgeräts gespeichert sind. Eine Bedienoberfläche kann eine Liste von Orten anzeigen, die ein Benutzer explizit zwischengespeichert hat. Die Liste kann den Downloadfortschritt für das Zwischenspeichern von Kartendaten anzeigen. Über die Bedienoberfläche kann es auch möglich sein, heruntergeladene Karten zu löschen. In einer Alternative werden Karten von Orten, die der Benutzer angegeben hat, immer aufbewahrt, während Karten von automatisch ermittelten Orten zwischengespeichert und je nach Verwendung gelöscht werden.
-
In einer Alternative können je nach unterschiedlichen Kriterien andere Bereiche zwischengespeichert werden. Zum Beispiel können ein oder mehrere Sehenswürdigkeiten auf einer sehr hohen Stufe der Detaillgenauigkeit zwischengespeichert werden, während andere Orte auf einer sehr niedrigen Stufe der Detaillgenauigkeit zwischengespeichert werden können. Im ersten Fall ist es wahrscheinlicher, dass der Benutzer Karten dieser Gebiete relativ häufig sehen möchte, dabei garantiert das Zwischenspeichern auf einer sehr hohen Stufe der Detaillgenauigkeit, dass detaillierte Karten der Sehenswürdigkeiten (z. B. mit Sternen versehene oder sehr hoch bewertete Orte) auch dann noch verfügbar sind, wenn der Netzzugang eingeschränkt oder gar nicht vorhanden ist. Im letzteren Fall können dem Benutzer damit jederzeit einige grundlegende Karteninformationen zur Verfügung gestellt werden.
-
Zusätzlich zu den in den vorhergehenden Figuren dargestellten Vorgänge werden nun verschiedene weitere Vorgänge beschrieben. Es wird darauf hingewiesen, dass die vorhergehenden oder nachfolgenden Vorgänge nicht genau in der unten beschriebenen Reihenfolge durchgeführt werden müssen. Vielmehr können verschiedene Schritte in umgekehrter Reihenfolge oder gleichzeitig behandelt werden. Andere Vorgänge können zu diesen Verfahren hinzugefügt oder aus ihnen entfernt werden.
-
10 zeigt ein Ausführungsbeispiel eines Verfahrens 1100 zum Abrufen von Unterkartendatenausschnitten auf ein Client-Gerät. Zuerst in Block 1101 sendet das Vorabrufmodul 153 eine Vorabrufanforderung für Kartenausschnittsdaten, indem es eine Reihe von Breiten-/Längenkoordinaten sendet, die möglicherweise innerhalb eines Unterkartenbereichs liegen, wie zum Beispiel dem Unterkartenbereich 422 aus 3. Als nächstes kann im Block 1102 das Kartenexportmodul 240 nach Empfang der Anforderung für Kartenausschnittsdaten Unterkartenausschnitte aus dem Kartenrohdaten 272 abrufen. Sobald die Ausschnitte, die in ein Unterkartengebiet fallen, abgerufen sind, können die Ausschnitte in Block 1103 zum Vorabrufmodul 153 zurückgesendet werden. In Block 1104 kann das Vorabrufmodul 153 die Kartenausschnitte im Zwischenspeicher ablegen. Das Vorabrufverfahren 1100 kann wiederholt und immer dann ausgeführt werden, wenn das Gerät den Bereich verlässt, der einen Standort umgibt und in ein Gebiet gelangt, das einen anderen Standort umgibt, wie in 9 beschrieben. Alternativ kann das Vorabrufverfahren entlang einer Route für ausgewählte Bereiche ausgeführt werden.
-
11 ist ein beispielhaftes Verfahren, das durch das lokale Kartenroutermodul 154 ausgeführt werden kann. Zunächst kann in Block 1201 ein lokales Kartenroutermodul 154 bestimmen, ob ein Netzausfall oder ein anderer Konnektivitätsverlust aufgetreten ist. Ist dies der Fall, kann das lokale Kartenroutermodul 154 dazu übergehen, 1202 zu blockieren und die vom Vorabrufmodul 153 im Zwischenspeicher gespeicherten Kartenausschnittsdaten abzurufen. Nach Abrufen der Kartenausschnittsdaten kann das lokale Kartenroutermodul 154 die Kartendaten in Block 1203 zusammensetzen. Die Zusammensetzung der Karte kann wie in 6 dargestellt durchgeführt werden. Sobald die Karte vollständig zusammengesetzt ist, kann in Block 1204 ein Routing-Algorithmus, der an das gewählte Datenmodell angepasst ist, ausgeführt werden, um die beste Strecke zum Ziel zu erzeugen. Wenn beispielsweise ein Graphdatenmodell verwendet wird, kann ein Dijkstra-Algorithmus verwendet werden. Sobald die beste Route festgelegt ist, kann die Strecke wie in Block 1205 gezeigt auf einem Bildschirm angezeigt werden.
-
12 ist eine weitere beispielhafte Ausführungsform eines Verfahrens 1300, das zwischen den verschiedenen Modulen im Server 120 über den Prozessor 210 und den Client 150 über Prozessor 151 ausgeführt werden kann. In Block 1301 kann der Prozessor 151 eine Ausgangs- und eine Zielposition an den Server 120 übertragen, um eine Route anzufordern. In Block 1302 kann der Prozessor 210 von Server 120 eine Route vom Ausgangs- bis zum Zielort erzeugen, die in einer Teilmenge von Kartenrohdaten 272 enthalten sind. Die Teilmenge kann eine zusammenhängende Reihe von Straßen zwischen Ausgangs- und Zielort beschreiben. Die Route kann durch den Prozessor 151 von Client 150 in Block 1303 empfangen werden. In Block 1304 kann der Prozessor 151 eine Anforderung für eine andere Teilmenge von Kartenrohdaten 272 übertragen. In Block 1305 kann der Prozessor 210 von Server 120 die andere Teilmenge an den Client 150 übertragen. Die andere Teilmenge kann aus einer geografischen Region ausgewählt werden, die den Benutzer umgibt. Alternativ kann es sich bei der geografische Region der anderen Teilmenge um ausgewählte Bereiche entlang der oben genannten zusammenhängenden Reihen von Straßen handeln, wie beispielsweise ein Bereich um den Ausgangsort, den Zielort oder um einen beliebigen anderen Ort entlang der Route. Darüber hinaus kann die andere Teilmenge auch die ursprünglich angeforderte Route über die oben erwähnte zusammenhängenden Reihe von Straßen beschreiben.
-
Im Block 1306 kann der Prozessor 151 von Client 150 nach Empfang der anderen Teilmenge der Kartenrohdaten 272 die andere Teilmenge im Zwischenspeicher speichern. In Block 1306 kann der Prozessor 151 von Client 150 bestimmen, ob der Client 150 von der zusammenhängenden Reihe von Straßen der Route abgewichen ist. Wenn festgestellt wird, dass das Client-Gerät 150 abgewichen ist, kann der Prozessor 151 zu Block 1308 vorrücken, um zu bestimmen, ob der Server 120 zugänglich ist, sodass der Prozessor 151 eine zusätzliche Anforderung für eine Strecke übertragen kann. Wenn der Server 120 nicht verfügbar ist, kann der Prozessor 151 Block 1310 blockieren und anhand der Vielzahl von anderen Straßen, die in der anderen Teilmenge der Kartenrohdaten 272 enthalten sind, eine neue Route zu einem anderen Zielort erzeugen. Das andere Ziel kann das gleiche wie oder ein anderes als das ursprünglich erzeugte Ziel sein. Wenn der Server 120 verfügbar ist, kann der Prozessor 151 Server 120 anfordern, die zweite Route in Block 1309 zu erzeugen. Der Prozessor 151 des Client 150 kann dann auf einem Display im Block 1311 die zweite Route anzeigen.
-
Auch wenn verschiedentlich Bezug auf bestimmte Module genommen wurde, wie Kartenexportmodul 240, Vorabrufmodul 153 und lokales Kartenroutermodul 154, kann eine beliebige Anzahl von verschiedenen Modulen verwendet und auf einem Client und/oder Server ausgeführt werden. Die beschriebenen Module sind lediglich veranschaulichend, verschiedene Aspekte des Systems und des Verfahrens können unterschiedliche Module verwenden.
-
In einem weiteren Beispiel kann Offline-Rerouting zurück zu der Strecke, der der Benutzer folgt, generiert werden, um Anweisungen nach Abbiegevorgängen auch bei fehlender Netzwerkverbindung bereitzustellen. Wenn eine lange Strecke angefordert wird, während das Client-Gerät Netzzugang hat, kann die Rückfahrt auch abgerufen werden und zusammen mit Offline-Rerouting auch bei fehlender Netzwerkverbindung die Navigation nach Hause ermöglichen.
-
In noch einem weiteren Beispiel können Anforderungen nach herunterzuladenden Kacheln (für benutzerspezifische Orte) und Anforderungen für zwischenzuspeichernde Kacheln (für automatisch festgelegte Orte) von gewöhnlichen on-demand-Kartenkachel-Anforderungen unterschieden werden. Dies kann für Logging-Analysen verwendet werden und ermöglicht es dem Server, eine Zwischenspeicher-Anforderung zu verweigern, wenn es nicht erlaubt ist. Um zu vermeiden, dass Kacheln heruntergeladen werden, die bereits für die Anzeige abgerufen wurden, wird eine Liste von Kacheln in der Anforderung bereits aufrechterhalten.
-
Da diese und andere Variationen und Kombinationen der oben diskutierten Merkmale verwendet werden können, ohne die Systeme und Verfahren, wie sie durch die Ansprüche definiert werden, zu verlassen, ist die vorstehende Beschreibung von beispielhaften Ausführungsformen lediglich als Veranschaulichung zu verstehen, nicht als Beschränkung des Gegenstands wie durch die Ansprüche definiert. Es wird ferner darauf hingewiesen, dass die Angabe von Beispielen (sowie Formulierungen wie „wie”, „zum Beispiel”, „einschließlich” und dergleichen) nicht als Einschränkung des beanspruchten Gegenstands auf die spezifischen Beispiele auszulegen ist; vielmehr sollen die Beispiele nur einige von vielen möglichen Aspekte veranschaulichen. Sofern nicht ausdrücklich das Gegenteil angegeben ist, kann jedes Merkmal in einer bestimmten Ausführungsform, Alternative oder einem bestimmten Beispiel in einer beliebigen anderen Ausführungsform, Alternative oder einem anderen Beispiel verwendet werden.
-
INDUSTRIELLE ANWENDBARKEIT
-
Die vorliegende Erfindung genießt breite industrielle Anwendbarkeit, darunter, aber ohne Einschränkung, Kartierungs- und Navigationssysteme und die entsprechenden Geräte.