-
TECHNISCHES GEBIET
-
Diese Offenbarung bezieht sich auf interaktive digitale Karten und, insbesondere, auf das Bereitstellen weltraumgestützter Daten an Client-Geräten für die Offline-Nutzung.
-
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.
-
Softwareapplikationen, die interaktive digitale Karten („Kartenapplikationen”) bieten, können auf Computergeräten bedient werden, die im Allgemeinen eine feste Netzwerkverbindung haben, sowie auch auf tragbaren Geräten, wie beispielsweise Smartphones, Tablet-Computer, Fahrzeugnavigationssysteme usw. Eine Kartenapplikation empfängt normalerweise eine Benutzeranfrage, die einen geografischen Standort angibt, erhält eine digitale Karte von dem Netzwerkserver und stellt die digitale Karte über eine Benutzeroberfläche bereit. Außerdem stellen Kartenapplikationen oftmals zusätzliche weltraumgestützte Daten bezogen auf Bereichen zur Verfügung, wie beispielsweise eine Auflistung von Unternehmen angeordnet im Bereich, sichtbar im Ansichtsfenster.
-
KURZDARSTELLUNG
-
Um Benutzer zu erlauben, für weltraumgestützte Daten auf tragbaren Geräten im Offline-Betrieb zu suchen, führt eine mobile Kartenapplikation dieser Offenbarung eine Zwischenspeicherung durchsuchbarer weltraumgestützter Daten durch, die von einem Netzwerkserver im Online-Betrieb empfangen wurden. Somit gilt, dass wenn eine Netzwerkverbindung unzuverlässig oder vollständig unverfügbar wird, der Benutzer weiterhin Interessenpunkte, Geschäfte, Empfehlungen und weiteren Inhalt suchen kann, indem er die gecachten Daten verwendet. In einer exemplarischen Ausführungsform kann die mobile Kartenapplikation durchsuchbare weltraumgestützte Daten in Form von Platten empfangen, die gleichmäßige Teile eines geografischen Bereichs beschreibt. Diese Platten können im Folgenden als „weltraumgestützte Datenplatten” bezeichnet werden. Um das effiziente Suchen zu erleichtern, kann die mobile Kartenapplikation die durchsuchbaren weltraumgestützten Daten indexieren und die Indexdaten beim Empfangen der weltraumgestützten Daten vom Netzwerkserver cachen.
-
Genauer ist eine Ausführungsform dieser Techniken ein Benutzergerät, das eine Benutzeroberfläche einschließt, die eine Netzwerkschnittstelle zum Verbinden des Benutzergeräts zu einem Kartendatenserver über ein Kommunikationsnetzwerk im Online-Betrieb und einen computerlesbaren Speicher verwendet. Der Speicher speichert Kartendaten zur Wiedergabe einer digitalen Karte eines geografischen Bereichs. Der Speicher speichert des Weiteren alle durchsuchbaren weltraumgestützten Daten, die auf mehrfachen Platten organisiert sind, wobei jede Platte einem bestimmten Teil des geografischen Bereichs von wesentlich gleicher Größe entspricht. Die weltraumgestützten Daten beinhalten, für jede der Platten, Beschreibungen von geografischen Entitäten und Standorten der geografischen Entitäten auf innerhalb des entsprechenden Teils des geografischen Bereichs. Die Datenverarbeitungshardware des Benutzergerätes (z. B., ein oder mehrere Prozessoren) ist so eingestellt, um (i) die digitale Karte via Benutzeroberfläche anzuzeigen, (ii) die Kartendaten und die durchsuchbaren weltraumgestützten Daten vom Kartendatenserver zu empfangen, im online Betrieb, (iii) eine geografische Abfrage betreffend dem geografischen Bereich zu empfangen, und (iv) die geografische Anfrage auszuführen, die die weltraumgestützten Daten benutzt, die in dem lesbaren Computerspeicher gespeichert sind.
-
In einigen Ausführungsformen umfassen die durchsuchbaren weltraumgestützten Daten für jede der Vielzahl von Platten Folgendes: (i) eine betreffende Vielzahl von durchsuchbaren Begriffen und (ii) Angaben, wozu die geografischen Entitäten gehören, die der Platte jeder der durchsuchbaren Begriffe entsprechen.
-
In einigen Ausführungsformen ist die Datenverarbeitungshardware des Weiteren so konfiguriert, dass sie eine Indextechnik auf die weltraumgestützten Daten anwendet, um indexierte weltraumgestützte Daten zu generieren, worin die indexierten weltraumgestützten Daten einen gemeinsamen Schlüssel mit einer Teilmenge von der Vielzahl von geografischen Entitäten verbinden, zu der eine gleiche von der Vielzahl von durchsuchbaren Begriffen gehören.
-
In einigen Ausführungsformen verbinden die indexierten weltraumgestützten Daten den gemeinsamen Schlüssel mit geografischen Entitäten entsprechend der verschiedenen von der Vielzahl von Platten.
-
In einigen Ausführungsformen beinhaltet die Vielzahl der durchsuchbaren Begriffe Geschäftstyp-Kennungen.
-
In einigen Ausführungsformen ist die Datenverarbeitungshardware so konfiguriert, dass sie: die geografische Abfrage über die Benutzeroberfläche empfängt, wobei die geografische Abfrage einen oder mehrere der Vielzahl der Suchbegriffe umfasst, und die geografische Abfrage auf Basis des empfangenen einen oder mehreren der Vielzahl der durchsuchbaren Begriffe ausführt.
-
In einigen Ausführungsformen ist die die Datenverarbeitungshardware so konfiguriert, dass sie die geografische Abfrage betreffend des geografischen Bereichs empfängt und die geografischen Abfrage ausführt, wenn das Benutzergerät in einem Offline-Betrieb ist.
-
In einigen Ausführungsformen ist die Datenverarbeitungshardware des Weiteren so konfiguriert, dass sie: aktualisierte weltraumgestützte Daten für eine der Vielzahl von Platten vom Kartendatenserver empfängt; aktualisierte indexierte weltraumgestützte Daten mithilfe der aktualisierten weltraumgestützten Daten und die weltraumgestützten Daten entsprechend den Platten in der Vielzahl der Platten außer der einen der Vielzahl von Platten generiert.
-
In einigen Ausführungsformen entspricht die Vielzahl der Platten, in die die durchsuchbaren weltraumgestützten Daten organisiert sind, einem ersten Zoomniveau und die Kartendaten sind in einer Vielzahl von Kartenplatten organisiert, die einem zweiten Zoomniveau entsprechen, die sich vom ersten Zoomniveau unterscheidet.
-
Eine andere Ausführungsform dieser Techniken ist ein Verfahren, welches von einem oder mehreren Prozessoren eines Benutzergerätes ausgeführt werden kann. Das Verfahren weist den Empfang auf, via eines Kommunikationsnetzwerks, durchsuchbarer, auf Platten strukturierten weltraumgestützten Daten, wobei jede Platte einem bestimmten Teil des geografischen Bereichs von wesentlich gleicher Größe entspricht, derart, dass die durchsuchbaren weltraumgestützten Daten Beschreibungen von geografischen Entitäten und Standortsangaben der geografischen Entitäten innerhalb der entsprechenden Teile des geografischen Bereichs beinhalten. Dieses Verfahren beinhaltet auch das Indexieren der weltraumgestützten Daten durch die Verwendung der Beschreibungen der geografischen Entitäten und der Standorte, die in den Platten eingeschlossen sind, um indexierte weltraumgestützte Daten zu generieren, indem die indexierten weltraumgestützten Daten, die sich in einem im Clientgerät implementierten Cache befinden, gespeichert werden, und indem die auf dem geografischen Bereich bezogene Anfrage implementiert wird, indem die indexierten weltraumgestützten, im Cache gespeicherten Daten verwendet werden.
-
In einigen Ausführungsformen umfassen die Beschreibungen von geografischen Entitäten, für jede geografische Entität eine Angabe, welcher einer Vielzahl von durchsuchbaren Begriffen die geografische Entität entspricht.
-
In einigen Ausführungsformen umfasst Indexieren der durchsuchbaren weltraumgestützten Daten das Generieren, durch einen oder mehrere Prozessoren, gemeinsamer Schlüssel für geografische Entitäten, für die das Durchsuchbare einen oder mehrere durchsuchbare Begriffe angibt.
-
In einigen Ausführungsformen umfasst das Verfahren das Empfangen, durch die einen oder mehreren Prozessoren über eine Benutzeroberfläche, einer geografischen Suchabfrage, die einen oder mehrere der Vielzahl der Suchbegriffe umfasst, und das Ausführen der geografischen Abfrage auf Basis der empfangenen einen oder mehreren der Vielzahl der durchsuchbaren Begriffe.
-
In einigen Ausführungsformen umfasst das Ausführen der Abfrage bezüglich des geografischen Bereichs anhand der indexierten, zwischengespeicherten weltraumgestützten Daten das Ausführen der Abfrage, wenn das Benutzergerät im Offline-Betrieb betrieben wird.
-
In einigen Ausführungsformen umfasst das Verfahren: Empfangen aktualisierter weltraumgestützter Daten für eine der Vielzahl von Platten vom Kartendatenserver; erneutes Indexieren der weltraumgestützten Daten mithilfe der aktualisierten weltraumgestützten Daten und der weltraumgestützten Daten, die den restlichen der Vielzahl der Platten entsprechen.
-
In einigen Ausführungsformen umfasst das Verfahren des Weiteren: Empfangen, durch den einen oder mehreren Prozessoren über das Kommunikationsnetzwerk, von Kartendaten zur Wiedergabe einer digitalen Karte des geografischen Bereichs, worin die Kartendaten in Kartenplatten organisiert sind, die dieselben Abmessungen wie die Platten haben, in welchen die durchsuchbaren weltraumgestützten Daten organisiert sind; und die Speicherung, durch den einen oder die mehreren Prozessoren, der Kartendaten im Cache.
-
In einigen Ausführungsformen entsprechen die Platten, in die die weltraumgestützten Daten organisiert sind, einem ersten Zoomniveau, und das Verfahren umfasst des Weiteren: Empfangen, durch den einen oder mehreren Prozessoren über das Kommunikationsnetzwerk, von Kartendaten zur Wiedergabe einer digitalen Karte des geografischen Bereichs, worin die Kartendaten in Kartenplatten organisiert sind, die dem zweiten Zoomniveau entsprechen, die sich vom ersten Zoomniveau unterscheidet; und Speicherung, durch den einen oder die mehreren Prozessoren, der Kartendaten im Cache.
-
Jedoch ist eine andere Ausführungsform dieser Techniken ein Verfahren zur Erleichterung geografischer Abfragen auf Benutzergeräten. Das Verfahren beinhaltet das Generieren, durch ein oder mehreren Computergeräte, von Kartendaten zur Wiedergabe einer digitalen Karte eines geografischen Bereichs auf einem Clientgerät, einschließlich das Generieren geometrischer Beschreibungen zur Wiedergabe als Teil einer digitalen Karte. Das Verfahren beinhaltet sowohl das Generieren, bei einem oder mehreren Netzwerkservern, von durchsuchbaren weltraumgestützten Daten, die Beschreibungen geografischer Entitäten beinhalten, innerhalb des durchsuchbaren geografischen Bereichs und der jeweiliger Standorte der Entitäten, die die Strukturierung der weltraumgestützten Daten zu einer Vielzahl von Platten beinhalten, wobei jede der Vielzahl von Kartenplatten eines jeweiligen Teils des geografischen Bereichs von wesentlich gleicher Größe entspricht. Des Weiteren beinhaltet das Verfahren das Liefern der Kartendaten und der weltraumgestützten Daten an ein Benutzergerät via eines Kommunikationsnetzwerkes, wobei das Benutzergerät geografische Abfragen betreffend des geografischen Bereichs durch Benutzung der weltraumgestützten Daten ausführt.
-
In einigen Ausführungsformen umfasst das Generieren weltraumgestützter Daten für jede der Vielzahl der Platten die Bereitstellung einer Vielzahl von Suchbegriffen und Angaben, zu welcher der Vielzahl der geografischen Entitäten die durchsuchbaren Begriffe gehören.
-
In einigen Ausführungsformen umfasst das Generieren der weltraumgestützten Daten das Bereitstellen eines oder mehrerer üblichen Suchbegriffe für geografische Entitäten, die mit verschiedenen Platten verbunden sind.
-
In einigen Ausführungsformen umfasst das Verfahren des Weiteren: Erkennung einer Änderung beim durchsuchbaren geografischen Bereich in Verbindung mit einem Teil des geografischen Bereichs, der einer bestimmten Platte entspricht, die in der Vielzahl der Platten enthalten ist; Generieren aktualisierter, durchsuchbarer weltraumgestützter Daten für die bestimmte Platte und Bereitstellung der aktualisierten durchsuchbaren weltraumgestützten Daten für die bestimmte Platte auf dem Benutzergerät.
-
In einigen Ausführungsformen umfasst das Generieren von Kartendaten das Organisieren der Kartendaten in eine Vielzahl von Kartenplatten bei einem ersten Zoomniveau, wobei die Vielzahl von Platten. in der der durchsuchbare geografische Bereich organisiert ist, einem zweiten Zoomniveau entspricht, das sich von dem ersten Zoomniveau unterscheidet.
-
In einigen Ausführungsformen führt das Benutzergerät geografische Abfragen betreffend den geografischen Bereich aus, indem es die weltraumgestützten Daten verwendet, wenn es im Offline-Betrieb arbeitet.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Block-Diagramm eines Beispielsystems in dem ein Netzwerkserver durchsuchbare weltraumgestützte Daten, die auf Platten strukturiert sind, einem Clientgerät für die Offline-Nutzung zur Verfügung stellt;
-
2 ist ein Blockdiagramm eines beispielhaften Clientgeräts, das in dem System nach 1 laufen kann;
-
3 ist ein Nachrichten-Flussdiagramm eines Beispielszenarios, in dem das Clientgerät von 1 durchsuchbare weltraumgestützte Daten von dem Netzwerkserver im Online-Betrieb empfängt, die empfangenen weltraumgestützten Daten indexiert und die indexierten weltraumgestützten Daten im Cache für den späteren Offline-Einsatz speichert;
-
4 ist ein Nachrichten-Flussdiagramm eines Beispielszenarios, in dem der Netzwerkserver von 1 eine Platte mit aktualisierten weltraumgestützten Daten einem Clientgerät zur Verfügung stellt;
-
5 ist ein Nachrichten-Flussdiagramm eines Beispielverfahrens für das Liefern durchsuchbarer weltraumgestützter Daten an einem Clientgerät, das im Netzwerkserver von 1 implementiert werden können;
-
6 ist ein Nachrichtenfluss-Diagramm eines Beispielverfahrens zum Generieren indexierter weltraumgestützten Daten aufgrund platten-basierter weltraumgestützter Daten, die von einem Netzwerkserver empfangen wurden, der im Clientgerät von 1 implementiert werden können; und
-
7 ist ein Nachrichten-Flussdiagramm eines Beispielverfahrens zum Neugenerieren indexierter weltraumgestützter Daten mit Hilfe einer Platte mit aktualisierten weltraumgestützten Daten und einiger bisher gespeicherten Platten, die auch im Clientgerät von 1 implementiert werden können.
-
DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
-
1 veranschaulicht ein Beispielsystem 10, in welchem ein Netzwerkserver 12 einem Clientgerät 14 durchsuchbare weltraumgestützte Daten strukturiert auf Platten bietet, so dass es geografische Abfragen auf dem Clientgerät 14 in einem Offline-Betrieb erleichtert. Das Clientgerät 14 benutzt im Folgenden die empfangenen weltraumgestützten Daten um einen Suchindex (oder einfach „Index”) mit dem Zweck aufzustellen, Offline-Suchabfragen schnell und effizient auszuführen. Zu diesem Zweck kann Clientgerät 14 jedwede passende Indextechnik benutzen. Im Allgemeinen, können durchsuchbare weltraumgestützte Daten Listen von Interessenpunkten, Geschäften, Nachbarschaften, Benutzer-spezifischen Markern usw. und den entsprechenden Standort für eine bestimmte Platte beinhalten. Durchsuchbare weltraumgestützte Daten können sowohl verschiedene zusätzliche Bedingungen für Orte beinhalten, wie beispielsweise „Preisspanne zwischen $20 und $30”, „Öffnungszeiten zwischen 11:00 pm und 6:00 pm,” „Kino” usw., mit Hilfe derer das Clientgerät 14 den Index aufstellen kann. Genauer kann das Clientgerät 14 einen Plattensatz, verfügbar für einen geografischen Bereich, verwenden und einen Satz von Suchbegriffen, um einen Index für denjenigen Bereich aufzubauen, so dass eine einzige Abfrage für mehrfache Platten ausgeführt werden kann.
-
Wenn das Clientgerät 14 im Offline-Betrieb betrieben wird, könnte eine Netzwerkverbindung an Clientgerät 14 unverfügbar oder die Netzwerkverbindung könnte unzuverlässig oder von schlechter Qualität sein. Des Weiteren kann der Benutzer des Clientgeräts 14 ausdrücklich den Offline-Betrieb aktivieren, beispielsweise im Falle eines Flugzeugbestieges.
-
Zur Vereinfachung veranschaulicht 1 nur einen der Fälle eines Netzwerkservers 12. Der Netzwerkserver 12 kann jedoch in anderen Ausführungen auch mehrere nach einer geeigneten Topologie angeordnete Server umfassen, die untereinander kommunizieren können. In ähnlicher Weise kann das System 10 im Allgemeinen jedwede Anzahl von Clientgeräten 14 beinhalten. Wie in 1 veranschaulicht, sind der Netzwerkserver 12 und das 14 kommunikativ via eines Kommunikationsnetzwerks 16 verbunden, dass jedwedes passende Netzwerk sein kann, das verkabelte und/oder drahtlose Verbindungen einschließt.
-
Der Server 12 kann Datenverarbeitungshardware beinhalten wie beispielsweise einen oder mehrere Prozessor(en) 30 verbunden mit einem Computerspeicher 32, der anhaltende und/oder nicht-anhaltende Komponenten beinhalten kann. Ein Kartenanfragprozessor 40 und ein weltraumgestützter Datenanfrageprozessor 42 können als Anleitungssets implementiert, im Computerspeicher 32 gespeichert und auf einem oder mehreren Prozessor(en) 30 ausgeführt werden. Im Betrieb, können die Komponenten 40 und 42 dem Clientgerät 14 Kartendaten zur Wiedergabe einer digitalen Karte eines geografischen Bereichs und Daten, die vielfältige Entitäten beschreiben, die im geografischem Bereich verteilt sind, beziehungsweise, zur Verfügung stellen.
-
Der Server 12 ist an eine Kartendatenbank 20 gekoppelt, die auf einem oder mehreren Servern (oder, falls erwünscht, als Komponente des Netzwerkservers 12) implementiert werden kann. Die Kartendatenbank 20 kann Beschreibungen der Geometrie und Lageangaben verschiedener natürlicher geografischer Merkmale (z. B. Flüsse, Berge und Wälder) sowie künstlicher geografischer Merkmale (z. B. Straßen, Gebäude und Parks) speichern. Die Kartendaten können unter anderen Daten Vektorgrafikdaten, Rasterbilddaten und Textdaten umfassen.
-
In einer exemplarischen Implementierung organisiert die Kartendatenbank 20 Kartendaten in Kartenplatten, die allgemein einer zweidimensionalen Strukturierung von weltraumgestützten Daten entsprechen, zu verschiebbarer Datenstruktur wie zum Beispiel ein Quadtree, sonstige Tree-Datenstruktur, jedwede sonstige passende Datenstruktur, oder jedwede Kombination dergleichen. Jede Kartenkachel entspricht in diesem Fall einem viereckigen geografischen Gebiet, wobei die Größe des Vierecks vom Vergrößerungsniveau oder Zoomniveau abhängt. Kartenplatten zum selben Vergrößerungsniveau können von wesentlich gleicher Größe sein. Deshalb wird jede Kartenkachel auf einem bestimmten Zoomniveau im nächsten Niveau in vier Kacheln aufgeteilt, bis zum höchsten Zoomniveau. Der Kartenabfrageprozessor 40 kann vom Clientgerät 14 eine Anforderung eines bestimmten Orts oder Gebiets und eine Angabe der gewünschten Zoomstufe erhalten, einen Satz von Kartenkacheln bestimmen, der für die Visualisierung einer digitalen Karte des entsprechenden Gebiets mit der angegebenen Zoomstufe erforderlich ist, und die Kartenkacheln an das Clientgerät 14 übertragen.
-
Kartenplatten können in einem Vektorformat sein, entsprechend den geometrischen Formen, die eher mathematisch als in Pixeln beschrieben werden. Alternativ oder zusätzlich, können Kartenplatten auch Textbeschriftungen und Rasterbilder (Bitmap) beinhalten.
-
Durch die ständige Bezugnahme auf 1 kann der Server 12 auch auf eine durchsuchbare weltraumgestützte Datenbank 24 zugreifen, die Information bezüglich vielerlei Interessenpunkten speichert (z. B. Gemälde, Museen, Denkmalbauten), Geschäfte (z. B. Restaurants, Hotels, Läden), Bahnhöfe und Busstationen, Nachbarschaftsgrenzen und sonstige geografische Entitäten. Beschreibungen geografischer Entitäten können jedwede Anzahl von Suchbegriffen beinhalten, bei denen die Daten indexiert oder sonst für Schnellsuche und für den Abruf strukturiert sein können. Die Suchbegriffe können eine Straßenadresse beinhalten, die wiederum eine Nummer, eine Straße, einen Ort, einen Staat usw. aufweisen. Des Weiteren kann eine Beschreibung eines Restaurants beispielsweise Suchbegriffe beinhalten, die den Geschäftstyp beschreiben („Restaurant”), den Speisentyp (z. B. „amerikanisch”, „französisch”, „Fast Food”), den Dresscode (z. B. „Freizeitkleidung”, „formal”), den Preisbereich („$20–$30”, weniger als $10”, „$50 und mehr”) oder Einzelpreise usw., zusätzlich zu Standortdaten wie beispielsweise geografische Koordinaten oder Straßenadressen. Sonstige Beispiele von geeigneten Geschäftstypbezeichnungen können Begriffe wie „Hotel”, „Tankstelle”, „Lebensmittelgeschäft” usw. beinhalten.
-
Die weltraumgestützte Datenbank 24 kann weltraumgestützte Daten in Platten organisieren, die im Allgemeinen den Kartenplatten in der Kartendatenbank 20 ähnlich sind. Dadurch kann jede Platte durchsuchbare weltraumgestützte Daten beinhalten, die betreffend dem geografischen Bereich von der Platte abgedeckt werden. Der Anfrageprozessor 42 der weltraumgestützten Daten kann eine Anfrage für durchsuchbare weltraumgestützte Daten vom Clientgerät 14 empfangen, relevante Platten identifizieren, und stellt die Platten dem Clientgerät 14 für sofortige Verwendung oder Caching, oder Speichern in einer bestimmten Region des Computerspeichers des Clientgeräts 14 für späteren einmaligen oder mehrfachen Einsatz zur Verfügung. Das Clientgerät 14 kann nachher die weltraumgestützten Daten indexieren um die durchsuchbaren weltraumgestützten Daten für spätere Abfragen zubereiten. In einer zusätzlichen oder alternativen Implementierung kann der Prozessor 42 schon indexierte Daten dem Clientgerät 14 bereitstellen.
-
Der weltraumgestützte Anfrageprozessor 42 kann einen Bezeichner der Plattenlage innerhalb eines Plattenrasters bereitstellen, als Teil der weltraumgestützten Daten oder zusammen mit den weltraumgestützten Daten. Der weltraumgestützte Anfrageprozessor 42 kann beispielsweise anzeigen, dass eine bestimmte Platte zentriert sein sollte oder anders aufgestellt sein in Bezug darauf, das Global Positioning Service (GPS) an den Koordinaten (x1, y1), eine andere Platte sollte an den Koordinaten (x2, y2) zentriert werden usw. Abwechselnd kann der weltraumgestützten Anfrageprozessor 42 anzeigen, dass eine bestimmte Platte in die Zelle (a1, b1) in einem Plattenraster gestellt werden sollte, eine andere Platte in die Zelle (a2, b2) gestellt werden sollte usw.
-
Im Allgemeinen kann das System 10 Datenverarbeitungshardware von jedweder geeigneter Art beinhalten, die so konfiguriert ist, dass sie de Techniken dieser Offenbarung implementiert. Die Datenverarbeitungshardware kann einen oder mehrere Prozessoren einschließen, und zwar auf einem oder mehreren Computergeräten, einem oder mehreren Servern, einem verteilten Netzwerk usw.
-
2 ist ein Block-Diagramm, das ein Implementierbeispiel am Clientgerät 100 veranschaulicht, das zum Beispiel dem Clientgerät 14 von 1 entsprechen könnte. Der Benutzer 14 könnte ein Desktop-Computer, ein Laptop-Computer, ein Smartphone, ein Tablet-Computer, ein anderes passendes Computergerät oder jedwede Kombination dergleichen sein. In einigen Szenarien verwendet derselbe Benutzer zwei Clientgeräte 14, wie beispielsweise ein Smartphone und ein Tablet, und die Daten 124 und 126 sind über die zwei oder mehreren Geräte synchronisiert. Das Clientgerät 14 weist Datenverarbeitungshardware wie zum Beispiel einen oder mehreren Prozessor(en) 102 auf, einen lesbaren Computerspeicher 104, eine Computernetzwerkoberfläche 105 und eine Benutzeroberfläche 106. In einigen Ausführungen umfasst/umfassen der eine oder die mehreren Prozessor(en) 102 einen Zentralprozessor (CPU) sowie einen Grafikprozessor (GPU) zur effizienten Wiedergabe von Grafikinhalt. Die Benutzeroberfläche 106 kann solche Komponente aufweisen, wie zum Beispiel einen Bildschirm, einen Touchscreen, eine Tastatur, ein Mikrofon, ein oder mehrere Lautsprecher usw. Speicher 104 kann ein nicht-transitorischer Speicher sein, der anhaltende (z. B. USB-Stick) und/oder nicht-anhaltende (z. B. RAM) Komponenten einschließt.
-
Das Speichermodul 104 speichert Anweisungen, die eine Kartenapplikation 110 implementieren, welche eine Kartenapplikation mit besonderem Zweck oder eine Applikation mit Allgemeinzweck sein kann, wie ein Webbrowser, der eine Landkarten-Application Programming Interface (API) aufweist, zum Beispiel. Das Speichermodul 104 implementiert auch einen Cache 120 als eine bestimmt gewidmete Speicherregion, zum Beispiel, für das Speichern der Kartendaten 122 und der platten-basierten weltraumgestützten Daten 126. Die Kartenapplikation 110 implementiert eine Indizierungs-Engine 112, die so konfiguriert ist, dass sie indexierte weltraumgestützte Daten (oder einfacher, der „Suchindex”) 124 anhand der plattenbasierten weltraumgestützten Daten 126 erstellt. Die Indizierungs-Engine 112 in verschiedenen Implementierungen und/oder Szenarien kann beide, weltraumgestützte und nicht-weltraumgestützten Daten, indexieren um einen Index zu generieren, der weltraumgestützte zusammen mit nicht-weltraumgestützten Daten speichert. Die Kartenapplikation 110 implementiert auch eine geografische Abfragsuchmaschine 114, die so konfiguriert ist, dass sie von dem Benutzer empfangene geografische Abfragen, wie beispielsweise „Tankstellen in der Nähe” oder „Fast-Food in Manhattan”, oder von der Landkartenapplikation 110 als Teil einer selbst empfohlenen Routine ausführt.
-
Als genaueres Beispiel, kann Indizierungs-Engine
112 die durchsuchbaren weltraumgestützten Daten
126 für mehrere Platten T1, T2, ... TN verarbeiten, um Tafel 1 im Folgenden zu generieren. Vielerlei Suchbegriffe, wie beispielsweise „Lebensmittel” oder „Benzin”, können als Schlüssel in Tafel 1 fungieren, und Tafeleinträge können geografische Entitäten auflisten, die mit diesen Kriterien übereinstimmen. Dadurch kann ein allgemeines Schlüsselwort, wie beispielsweise „Kino”, mehreren geografischen Entitäten entsprechen, die einen oder mehrere Suchbegriff(e) gemeinsam haben. Die Standorte der geografischen Entitäten können im selben Tafeleintrag oder in einer verschiedenen Tafel gespeichert werden, abhängig von den Implementierungen. Tabelle 1
SUCHBEGRIF | GEOGRAFISCHE |
Kino | Platz P1, Platz P2, Platz |
Bis spät | Platz P1 |
Italienisch | Platz P5, Platz P6 |
-
Abhängig von der Implementierung, kann Indizierungs-Engine 112 Tafel für verschiedene Regionen generieren, wie beispielsweise Region R1, aus Platten T1, T2, und T3 und Region R2 aus Platten T3, T4, T5, und Platten T6, oder eine allgemeine Tafel für den ganzen geografischen Bereich abgedeckt von den verfügbaren weltraumgestützten Daten 126. Regionen, wie zum Beispiel R1, R2, ... RN könnten verschieden sein, überlappend, Teilemengen voneinander, irgendwelche sonstige passende komparative Beziehungen haben, oder irgendeine Kombination dergleichen.
-
Allgemeiner kann die Indizierungs-Engine 112 irgendwelche passende Techniken implementieren, um weltraumgestützte Inhalte zu analysieren und einen Suchindex zu erstellen. Dadurch, abhängig von der Implementierung, kann Indizierungs-Engine 112 einen Suffixbaum generieren, eine Dokument-Begriff-Matrix, einen invertierten Index usw. Indexieren kann natürliche Sprachverarbeitung, Schlüsselwörter-Frequenz, Linkmapping usw. einschließen.
-
Der Netzwerkserver 12 kann die weltraumgestützten Daten 126 mit den Suchbegriffen, die über alle Platten konsistent sind, bereitstellen. Anders gesagt, kann ein Suchbegriff, der als allgemeiner Schlüssel verwendet wird, wie beispielsweise „Restaurant” oder „$10”, verwendet werden, um Daten auf mehreren Platten zu suchen. Auf dieser Art kann Indizierungs-Engine 112 die indexierten weltraumgestützten Daten 124 erstellen, indem er eine Plattengruppe für irgendeinen geografischen Bereich verwendet. Insbesondere kann eine Tafel, wie Tafel 1, Beschreibungen geografischer Entitäten beinhalten, verteilt auf Bereichen entsprechend verschiedenen Platten aber einen oder mehrere Suchbegriffe teilend. Des Weiteren, wie nachstehend erläutert, kann Indizierungs-Engine 112 die indexierten weltraumgestützten Daten 124 erneut generieren, beim Empfang aktualisierter weltraumgestützten Daten für Platte TL, anhand der aktualisierten weltraumgestützten Daten und einiger weltraumgestützten Daten 126.
-
In einer Ausführungsform richtet die Kartenapplikation 110 die Kartendaten 122 und die weltraumgestützten Daten 126 aus und synchronisiert sie. Genauer ausgedrückt erhält die Kartenapplikation 110 Kartendaten und weltraumgestützte Daten für dieselben geografischen Bereiche, um dem Benutzer zu erlauben, innerhalb der Bereiche, die auf digitalen Karten angezeigt sind, zu suchen und, umgekehrt, eine Karte des geografischen Bereichs zu sehen, für welche der Benutzer eine geografische Abfrage vorgelegt hat. Entsprechend dieser Ausführungsform, wenn die Kartenapplikation 110 den Cache 120 von einigen oder allen Kartendaten 122 reinigt (z. B., um Platz für neue Daten zu verschaffen), entfernt die Kartenapplikation 110 auch diejenigen der weltraumgestützten Datenplatten 126, die demselben geografischen Bereich, wie der der entfernten Kartenplatten, entsprechen.
-
Jedoch, falls erwünscht, kann die Kartenapplikation 110 so eingestellt werden, um die weltraumgestützten Daten 126 bei einem bestimmten festgesetzten Zoomniveau, unabhängig vom Zoomniveau der Kartendaten 122, auszuwählen. Zum Beispiel, kann die Kartenapplikation 110 eingestellt werden um weltraumgestützte Daten 126 beim Zoomniveau Zn abzurufen und diese Daten verwenden, wenn der Benutzer die digitale Karte beim Zoomniveau Zn – 1, Zoomniveau Zn, Zoomniveau Zn + 1 ansieht usw.
-
In einem exemplarischen Szenario, ruft die Kartenapplikation 110 Kartendaten für das Generieren einer digitalen Karte eines Freizeitparks und des umgebenden geografischen Bereichs ab. Die Kartendaten beschreiben verschiedene geografische Merkmale, wie zum Beispiel Straßen, Gebäudegrundrisse oder dreidimensionale Formen, Seen und Flüsse, Eingänge usw. Die Kartenapplikation 110 kann, zum Beispiel, neun Kartenplatten beim Zoomniveau Zn abrufen. Die Kartenapplikation 110 kann auch weltraumgestützte Daten abrufen, die Informationen über Fahrten innerhalb des Parks, Lebensmittel und Souvenir-Händler, Notfalldienste usw. aufweisen. Kartenapplikation 110 kann diese weltraumgestützten Datenplatten beim Zoomniveau Zn+1 abrufen. In diesem Beispielszenario richtet die Kartenapplikation 110 die Kartendaten mit den weltraumgestützten Daten aus, wenigstens für diese geografische Region. Dementsprechend kann, um weltraumgestützte Daten abzurufen, die dem Bereich entsprechen, der von den N Platten beim Zoomniveau Zn umfasst wird, die Kartenapplikation 110 × weltraumgestützte Zn+1 Datenplatten für jede Zn Kartenplatte anfordern, um X*N weltraumgestützte Datenplatten abzurufen.
-
Für einen bestimmten geografischen Bereich kann die Kartenapplikation 110 weltraumgestützte Daten bei mehreren Zoomniveaus abrufen, abhängig von einer gemessenen oder geschätzten Dichte von verfügbaren Information zum entsprechenden Teil des geografischen Bereichs. Wenn beispielsweise der geografische Bereich ein dicht besiedeltes Stadtgebiet und ein schwach besiedeltes ländliches Gebiet aufweist, kann die Kartenapplikation 110 weltraumgestützte Daten beim Zoomniveau Zn für das Stadtgebiet und weltraumgestützte Daten beim Zoomniveau Zn – 1 für das ländliche Gebiet abrufen. Als anderes Beispiel kann die Kartenapplikation 110 weltraumgestützte Daten bei einem kleineren Zoomniveau für Gewässer abrufen. Weil weltraumgestützte Daten bei kleineren Zoomniveaus im Allgemeinen einheitlicher sind, kann die Kartenapplikation 110 den Speicher 104 effizienter verwenden, durch Variieren des Zoomniveaus der weltraumgestützten Daten entsprechend der Dichte. Andererseits kann die Kartenapplikation 110 sicherstellen, dass die weltraumgestützten Daten die potenziellen „interessanten” Teile des geografischen Bereichs gründlicher abdecken.
-
Der Server 12 (oder eine andere passende Komponente des Systems 10) kann die Dichte der verfügbaren weltraumgestützten Information ungefähr in einem bestimmten Bereich messen, durch Zählen eines oder mehrerer der Reihe von Interessenpunkten, die bei einem bestimmten Zoomniveau verfügbar sind, die Anzahl der für Orte im Bereich eingereichten Bewertungen, die Anzahl der Suchanfragen in Bezug zum Bereich usw. In einigen Fällen kann der Server 12 die Dichte verfügbarer Information auf einer indirekten Weise einschätzen, wie etwa durch die Bestimmung der Bevölkerungsdichte, die für einen Bereich gemeldet wurden.
-
Für zusätzliche Übersichtlichkeit, veranschaulichen 3 und 4 mehrere exemplarische Szenarien, entsprechend zu denen ein Clientgerät 214 von einem Netzwerkserver 212 erhalten kann, und Cache, weltraumgestützte Daten erhalten. Das Clientgerät 214 kann dem Clientgerät 14 von 1 entsprechen und/oder dem Clientgerät 100 von 2, zum Beispiel. Des Weiteren können eine Kartenapplikation 210, eine Benutzeroberfläche 216 und ein Cache 220 der Kartenapplikation 110, der Benutzeroberfläche 116, und dem Cache 120 entsprechen, beziehungsweise. Serverclient 212 kann dem Netzwerkserver 12 entsprechen. In diesen Figuren stellt jede vertikale Linie schematisch die Zeitachse der entsprechenden Komponente dar, mit Ereignissen, die nachfolgend auf der Seite abgebildet sind, auftretend nach den Ereignissen, die oben auf der Seite abgebildet sind. Der Informationsfluss zwischen den Komponenten ist durch Pfeile dargestellt. Ein Pfeil in verschiedenen Situationen kann eine Nachricht darstellen, die zwischen verschiedenen physischen Vorrichtungen verbreitet ist, eine Nachricht zwischen Aufgaben, die auf demselben Gerät laufen, ein Funktionsaufruf von einer Softwareschicht zu einer anderen Softwareschicht, eine aufgerufene Rückruffunktion als Antwort auf einem auslösenden Ereignis usw. Des Weiteren kann ein einziger Pfeil, in einigen Fällen, eine Frequenz von Funktionsanrufen und/oder -nachrichten darstellen. Noch ferner geben die Blöcke, benannt „Online” und „Offline”, den Status an, wenn die Kartenapplikation 210 eine ausreichend zuverlässige Netzwerkverbindung hat bzw. wenn die Kartenapplikation 210 eine nicht ausreichend zuverlässige Netzwerkverbindung hat.
-
Unter erster Bezugnahme auf 3, die ein Szenario 200 veranschaulicht, bietet der Netzwerkserver 212 Kartendaten für Region R in Form von Kartenplatten (Fall 251), während das Clientgerät 214 im Online-Betrieb betrieben wird. Der Netzwerkserver 212 kann die Karte als Antwort auf eine Anfrage von der Kartenapplikation bieten, die wiederum als Antwort auf eine Anfrage generiert sein kann, die via der Benutzeroberfläche 206 oder automatisch empfangen wird. Der Benutzer kann beispielsweise eine digitale Karte von Seattle, WA zur sofortigen Ansicht verlangen. In einem anderen Fall kann der Benutzer einen Steuerungsauftrag bedienen für Kartendaten von Seattle, WA im Voraus für späteren Gebrauch, wenn der Benutzer erwartet, dass das Clientgerät 214 im Offline-Betrieb bedient. Auch noch in einem anderen Fall kann die Kartenapplikation 210 automatisch bestimmen, dass die Kartendaten für Seattle, WA im Voraus vorgebracht werden, im Hinblick auf die geschätzte Wahrscheinlichkeit, dass der Benutzer sich später wünschen wird, sich so eine Karte anzusehen, und die Wahrscheinlichkeit, dass keine Netzwerkverbindung zu der Zeit verfügbar sein wird.
-
Die Kartenplatten in einem Implementierbeispiel umfassen Vektor-basierte Beschreibungen von geografischen Merkmale, wie beispielsweise Straßen, Gebäude, Gewässer und Waldflächen. Die Kartenplatten können auch Textoptionen und Rasterbilder (Bitmap) aufweisen. Der Netzwerkserver 212 kann, mit jeder Kartenplatte, eine Angabe eines Standortes bereitstellen, der die Kartenplatte entspricht, so dass die Kartenapplikation 210 eine digitale Karte von mehrfachen Kartenplatten erstellen kann. Der Netzwerkserver 212 kann ähnliche Angaben für die Platten mit weltraumgestützten Daten, wie nachfolgend besprochen, bereitstellen. Die Kartenapplikation 210 speichert die empfangenen Kartenplatten im Cache 220 (Fall 252).
-
Der Netzwerkserver 212 kann auch durchsuchbare weltraumgestützte Daten für die Region R bereitstellen, die auch in Form von Platten organisiert sind (Fall 253). Wie oben angegeben, können diese Platten Beschreibungen von Interessenpunkten beinhalten und, allgemeiner, eine oder mehrere verschiedene geografische Entitäten in der Region R sowie Angaben von Standorten dieser Entitäten. Abhängig von der Implementierung, Konfiguration, und/oder Datenverfügbarkeit, können die Platten auch Benutzerbewertungen, ausführliche Beschreibung von Orten, verschiedene Markierungen oder Suchbegriffe umfassen, die für geografische Entitäten bereitgestellt werden (z. B. „Name des Unternehmens = Bob's Auto Service; Suchbegriffe = „Auto Service”, „Autoreparatur”, „Tune-up”, ...”). Im oben erwähnten Beispiel-Szenario betreffend die Karte von Seattle kann der Netzwerkserver 212 weltraumgestützte Daten für Seattle bereitstellen, die ungefähr oder genau dieselbe Region abdecken. Im Allgemeinen kann das durchsuchbare Weltraumgestützte zu irgendeinem gewünschten Detailniveau geboten werden. Um den weltraumgestützten Inhalt in den Platten maschinenlesbar zu machen, kann der Netzwerkserver 212 die weltraumgestützten Daten formatieren, und zwar anhand der Extensible Mark-up Language (XML) Standard oder und/ein anderes geeignetes Schema für die Organisation der Daten.
-
Als ein spezifischeres Beispiel für das oben erwähnte Unternehmen, Bob's Auto Service, können die verfügbaren weltraumgestützten Daten bei mehreren Zoomniveaus abgebildet werden, entsprechend einer Ausführungsform. Zum Beispiel, kann eine relativ kleine Datenmenge dem Zoomniveau Zn entsprechen und den Namen des Unternehmens und die GPS-Koordinaten des Unternehmens enthalten. Ein robusterer Datensatz kann dem Zoomniveau Zn+1 mit einer größeren Vergrößerung entsprechen und zusätzliche Suchbegriffe aufweisen, wie zum Beispiel „Automobil” und „Autoreparatur.” Doch, bei einem anderen Zoomniveau Zn+2, können die weltraumgestützten Daten Betriebsstunden aufweisen, Preise oder Preisbereiche, Benutzerreviews und sonstige Daten, die an einem Clientgerät indexiert werden können. Netzwerkserver 212 kann das Level auswählen in Übereinstimmung mit dem Zoomniveau der entsprechenden digitalen Karte, ein bestimmtes festes Zoomniveau, wie oben besprochen, eine automatische Bestimmung im Hinblick auf die Menge der gesamten Daten zum Übermitteln, Benutzereinstellungen, sonstige Prinzipien, oder irgendeine Kombination dergleichen.
-
Netzwerkserver 212 kann gemäß der Anfrage der Kartenapplikation 210 allgemein das Zoomniveau für Kartenplatten auswählen (Fall 251). Netzwerkserver 212 kann das Zoomniveau für Platten, die durchsuchbar weltraumgestützte Daten tragen, auswählen durch Abgleich des Zoomniveaus der Kartenplatten. Abwechselnd kann der Netzwerkserver 212 das Zoomniveau für diese Platten auswählen, unabhängig vom Zoomniveau der Kartenplatten. Als ein Beispiel kann der Netzwerkserver 212 so konfiguriert sein, dass er immer die Platten mit weltraumgestützten Daten bei einem bestimmten Zoomniveau L1 = Zn bereitstellt. Wenn die Kartenapplikation 210 Kartendaten beim Zoomniveau L2 = Zn-1 anfordert, bietet der Netzwerkserver 212 N Kartenplatten zum angegebenen Zoomniveau L2 = Zn-1, bietet aber M Platten mit weltraumgestützten Daten beim Zoomniveau L1 = Zn für denselben geografischen Bereich, der von den bereitgestellten Kartenplatten abgedeckt wird. Weil der Bereich entsprechend einer Platte beim Zoomniveau Zn-1 in vier gleiche Bereiche unterteilt werden kann, der von den Platten beim Zoomniveau Zn abgedeckt wird, stellt der Netzwerkserver 212 M = 4·N Platten mit weltraumgestützten Daten bereit. Als andere Alternative kann der Netzwerkserver 212 das Zoomniveau wählen, im Hinblick auf der Art des geografischen Bereiches, der von der Platte umfasst wird. Zum Beispiel, kann der Netzwerkserver 212 Platten bei höheren Zoomniveaus bereitstellen (um mehrere Details einzugehen) für Stadtgebiete.
-
Die Platten mit weltraumgestützten Daten können auch für die spätere Verwaltung versioniert werden. Insbesondere kann der Netzwerkserver 212 für jede Platte einen Identifier der Version der Platte oder einen Zeitstempel aufweisen, beispielsweise, einschließen. Kartenapplikation 210 kann den Identifier zusammen mit der Platte speichern, so dass Platten mit durchsuchbaren weltraumgestützten Daten aus dem Cache 220 gealtert werden können, richtig und rechtzeitig mit neueren Versionen ersetzt werden usw. Insbesondere in einem Implementierbeispiel kann die Kartenapplikation 110 bestimmen, wann bestimmte Teile der Kartendaten von dem Cache 220 gelöscht werden sollten, anhand solchen Beispielsignalen, wie explizite Benutzerbefehle, die Menge des übrigen verfügbaren Speichers und erwartete zukünftige Nutzung dieser Teile. Die erwartete zukünftige Nutzung von Kartendaten kann wiederum bestimmt werden, anhand von solchen Signalen, als wenn der dazugehörige geografische Bereich nahe an der Wohnung des Benutzers, an der Arbeitsstelle oder an Orten die der Benutzer häufig besucht ist. Die erwartete zukünftige Nutzung von Kartendaten kann beispielsweise von der geschätzten Wahrscheinlichkeit des Benutzerbesuches, dem entsprechenden geografischen Bereich einer einmaligen oder sonst seltener Reise abhängen. In einigen Implementierungen bedient der Benutzer gewisse Kontrollen und/oder installiert bestimmte Anwendungen um der Kartenapplikation 110 zu erlauben, diese Bestimmungen automatisch zu gestalten.
-
Unter fortwährender Bezugnahme auf 3 kann die Kartenapplikation 210 die empfangenen weltraumgestützten Daten indexieren und die indexierten Daten in Cache 220 speichern (Fall 254). Die Kartenapplikation 210 kann die weltraumgestützten Daten analysieren und irgendeine passende Indextechnik verwenden, um eine Datenstruktur zu generieren, anhand welcher ein Suchbegriff oder eine Kombination von Suchbegriffen verwendet werden kann, um schnell Namen und Standorte von geografischen Entitäten abzurufen, passend zu dem(n) Suchbegriff(en). Die Kartenapplikation 210 kann beispielsweise einen Eintrag in einer invertierten Indextafel (ähnlich der Tafel 1 oben besprochen) für einen Suchbegriff T erstellen, eine Gruppe von Platten für einen geografischen Bereich auswählen, durch die Gruppe von Platten iterieren, um jede geografische Entität zu finden, deren Beschreibung in den weltraumgestützten Daten den Begriff T aufweist, und die geografische Entität zur invertierten Indextafel hinzufügen. Wie näher in Bezug auf 4 besprochen, kann die Kartenapplikation 210 eine oder mehrere Platten benutzen, die als Teil des Falls E3, als auch wie eine oder mehrere Platten gespeichert im Cache 220 empfangen wurden.
-
Wenn das Clientgerät 214 im Offline-Betrieb betrieben wird, kann die Kartenapplikation 210 eine geografische Abfrage bezüglich einer bestimmten Region R und/oder eine Anfrage für automatische Vorschläge (Fall 255) empfangen. In Reaktion darauf führt die Kartenapplikation 210 in diesem Szenario die geografische Abfrage aus, anhand der gecachten indexierten weltraumgestützten Daten (Fall 256). Nach dem Abrufen der Ergebnisse (Fall 257) kann die Kartenapplikation 210 die Ergebnisse auf einer digitalen Karte der Region R (Fall 258) anzeigen. Die Kartenapplikation 210 kann die Ergebnisse auf der digitalen Karte auf derselben Art bieten, wie das Liefern der Ergebnisse im Online-Betrieb, aber in einigen Implementierungen kann die Kartenapplikation 210 zusätzliche Mitteilung dem Benutzer bieten, um anzuzeigen, dass die Ergebnisse im Offline-Betrieb erhalten wurden.
-
Unter jetziger Bezugnahme auf 4 erhält das Clientgerät 214 in einem exemplarischen Szenario 250 durchsuchbare weltraumgestützte Daten für Region R (Fall 271), indexiert die empfangenen Daten und speichert die indexierten weltraumgestützten Daten in Cache 220 (Fall 272) und verwendet die weltraumgestützten Daten im Cache 220, um Suchabfragen auszuführen (Fall/Fälle 273), ähnlich dem oben besprochenen Szenario 200, in Bezug auf die Fälle in 3. Derjenige Server 212 wurde aktualisiert (Fall 274), der dann diejenigen weltraumgestützten Daten bestimmt, die der Platte Tx entsprechen und die im Satz von Platten, die früher dem Clientgerät 214 bereitgestellt wurden, enthalten sind.
-
Nach dem Bestimmen, dass eine Platte mit weltraumgestützten Daten an dem Clientgerät 214 aktualisiert sein sollte, stellt der Netzwerkserver 212 die durchsuchbaren geografischen Daten für die Platte Tx für das Clientgerät 214 (Fall 275) bereit. Die Kartenapplikation 210 generiert dann einen neuen Index anhand einer oder mehrerer Platten mit weltraumgestützten Daten, bereits gespeichert im Cache 220 und der neulich empfangenen Platte (Fall 276). Die Kartenapplikation 210 verwendet die neu indexierten weltraumgestützten Daten, um spätere Abfragen zu verarbeiten (Fall(e) 277). Dadurch, kann die Kartenapplikation 110 indexierte weltraumgestützte Daten anhand mehrfacher Platten generieren, die zu verschiedenen Zeiten erzeugt wurden.
-
Die Fälle 274 und 275 können jederzeit nach den Fällen 272 und 273 auftreten, wie beispielsweise drei Stunden oder zwanzig Stunden später. En automatischer Prozess, der täglich zu einer bestimmten Zeit läuft, kann beispielsweise die Platte Tx mit neuen Daten aktualisieren. Eine Stunde später kann der Server 212 die neuen durchsuchbaren geografischen Daten für die Platte Tx dem Clientgerät 214, als Antwort auf einer Anfrage für Aktualisierungen oder automatisch entsprechend einem vorgegeben Zeitplan, bereitstellen. Der Server 212 kann die neuen Daten in einer Schub- (i. e., Server-angetrieben) oder einer Zug- (i. e., Client-angetrieben) weise, abhängig von der Implementierung, bereitstellen.
-
Es sei auch darauf hingewiesen, dass, um bestimmte weltraumgestützte Daten an Clientgerät 214 zu aktualisieren, der Netzwerkserver 212 nicht den ganzen Satz von weltraumgestützten Daten für einen relativ großen geografischen Bereich erneut senden muss, sondern stattdessen nur eine oder mehrere einzelne Platten aktualisieren kann. Zum Beispiel, kann der Netzwerkserver 212 bestimmen, dass die neuesten weltraumgestützten Daten, die Platten T1, T2 und T3 entsprechen, Versionsnummer V1 haben, mit dem Zeitstempel T1, während die weltraumgestützten Daten, die Platten T4 und T5 entsprechen, eine neuere Versionsnummer V2 haben, mit dem aktuelleren Zeitstempel T2. Der Netzwerkserver 212 kann des Weiteren anhand der auf dem Clientgerät 214 oder dem Server 212 gespeicherten Information bestimmen, dass die Version jeder der weltraumgestützten Datenplatten T1–T5 V1 ist. Als Antwort kann der Netzwerkserver 212 die weltraumgestützten Daten für Platten T4 und T5 entsprechend der Version V2 bereitstellen, ohne auch die weltraumgestützten Daten für Platten T1–T3, erneut zu senden, so dass der geografische Bereich, der Platten T1–T5 entspricht, durch die aktuellen weltraumgestützten Daten abgedeckt ist. Auf dieser Weise können Clientgerät 214 und Netzwerkserver 212 schrittweise den Cache 220 aktualisieren, ohne große Datenmengen auf einmal zu übermitteln. Ferner, um die Abdeckung des weltraumgestützten Bereiches an dem Clientgerät 214 zu erweitern, kann der Netzwerkserver 212 einen Plattensatz senden, angrenzend zu dem schon im Cache 220 verfügbaren Plattensatz, und die Kartenapplikation 210 kann den Suchindex erneut erstellen, indem es die bereits gespeicherten Platten und die neuen Platten zum Decken des zusätzlichen Bereichs, zusätzlich zum originellen Bereich, nutzt.
-
Mehrere Beispielverfahren, die im System von 1 implementiert werden können, werden als Nächstes besprochen. Jedes dieser Verfahren kann als SoftwareAnweisungen implementiert werden, ausgeführt auf einem oder mehreren Prozessoren. Das Verfahren aus 5 kann in einem oder mehreren Netzwerkservers implementiert werden, wie beispielsweise der Netzwerkserver 12. Die Verfahren aus 6 und 7 können im Clientgerät 14 oder einem ähnlichen Benutzergerät implementiert werden. Es versteht sich von selbst, dass die Schritte des Fluss-Diagramms in 5– 7 nur exemplarisch sind und in einigen Implementierungen, neu angeordnet, wiederholt, entfernt, ergänzt, sonst verändert oder irgendeine Kombination, wie benötigt, sein können.
-
5 veranschaulicht Beispielverfahren 300 für das Bereitstellen durchsuchbarer weltraumgestützter Daten an einem Clientgerät. Zumindest werden Blocks 306 und 312 ausgeführt, wenn das Clientgerät im Online-Betrieb tätig ist, während die sonstigen Blocks des Verfahrens 300 ausgeführt werden können, wenn das Clientgerät entweder im Online-Betrieb oder im Offline-Betrieb tätig ist. Das Verfahren 300 beginnt mit Block 302, wobei ein Satz von Kartenplatten zur Wiedergabe einer digitalen Karte einer geografischen Region R generiert wird. Abhängig von der Implementierung und/oder des Szenarios, kann der Satz von Kartenplatten als Antwort auf eine Benutzeranfrage generiert werden, einer Anfrage automatisch generiert an einem Clientgerät, einer Anfrage automatisch generiert am Netzwerkserver, oder jedwede Kombination dergleichen. Als Nächstes werden am Block 304 durchsuchbare weltraumgestützte Daten als ein Satz von Platten für dieselbe Region R generiert. Die Platten, die weltraumgestützte Daten umfassen, müssen generell nicht mit demselben Zoomniveau übereinstimmen wie die Kartenplatten, die am Block 302 generiert werden, noch muss die Plattenanzahl mit weltraumgestützten Daten dieselbe wie die Anzahl der Kartenplatten sein. Jedoch, in dem Falle von zumindest einigen der Ausführungsformen umfassen beide Kartenplatten und weltraumgestützte Datenplatten denselben geografischen Bereich, um die Benutzererfahrung zu verbessern.
-
Der Fluss geht dann zu Block 306 über, wobei die Kartenplatten und die Platten mit weltraumgestützten Daten einem Clientgerät bereitgestellt werden. Die weltraumgestützten Daten sind formatiert, um das Indexieren und das nachträgliche Suchen an dem Clientgerät zu ermöglichen.
-
Am Block 308 wird eine Änderung in weltraumgestützten Daten festgestellt, die einer der Platten entsprechen, die vorher dem Clientgerät bereitgestellt wurden. Die Erkennung am Block 308 kann von einer Anfrage für relevante Aktualisierungen, empfangen von einem Clientgerät, ausgelöst werden, wobei die Anfrage beispielsweise aktuelle Versionen von Platten gecached am Clientgerät angibt. Um das Clientgerät zu verhindern, fehlerhafte Suchergebnisse im Offline-Betrieb zu generieren, wird eine neue Platte mit durchsuchbarem weltraumgestütztem Inhalt für die relevante Platte generiert (Block 310) und dem Clientgerät bereitgestellt (Block 312). Unter Einsatz der aktualisierten Platte und einiger der zuvor gecachten Platten kann das Clientgerät den Suchindex erneut erstellen. Das Verfahren 300 wird nach Ausführung von Block 312 vollendet.
-
6 ist ein Flussdiagramm eines exemplarischen Verfahrens 350 für das Generieren indexierter weltraumgestützten Daten anhand platten-basierter weltraumgestützten Daten, die von einem Netzwerkserver empfangen wurden, der im Clientgerät 14 implementiert werden kann. Das Verfahren beginnt am Block 352, wobei durchsuchbare weltraumgestützte Daten empfangen werden. Um die weltraumgestützten Daten zum Clientgerät zu senden, hat der Netzwerkserver die durchsuchbaren weltraumgestützten Daten in N weltraumgestützten Datenplatten organisiert. Die Kartenplatten zur Wiedergabe einer digitalen Karte eines entsprechenden geografischen Bereichs können eine N-bis-N Beziehung zu den weltraumgestützten Datenplatten oder M-bis-N haben, abhängig von der Implementierung. Das Verfahren 350 geht dann vor zur Verarbeitung der empfangenen Platten über, um indexierte weltraumgestützte Daten oder einen Suchindex zu generieren.
-
Insbesondere wird eine nächste Platte in dem empfangenen Satz von weltraumgestützten Datenplatten am Block 354 ausgewählt. Der Inhalt innerhalb der Platte wird analysiert und ein Suchbegriff, beispielsweise „Nachtleben”, wird am Block 356 identifiziert. Der Suchbegriff sowie auch eine Angabe einer geografischen Entität, die den Begriff und Standort einer geografischen Entität aufweist, kann zu einem oder mehreren Tafeln am Block 358 hinzugefügt werden. Das Verfahren 350 kann beispielsweise die Besiedlung einer Tafel fortsetzen, ähnlich zu der oben besprochenen Tafel 1. Wenn zusätzliche Begriffe verfügbar sind (Block 360), erfolgt eine Rücksendung des Flusses zu Block 356. Sonst, wenn alle Suchbegriffe innerhalb der Platte verarbeitet wurden, erfolgt eine Rücksendung des Flusses zu Block 362. Nachdem jede relevante Platte verarbeitet wurde, ist das Verfahren 350 abgeschlossen. Sonst erfolgt eine Rücksendung des Flusses zu Block 354, wobei eine neue Platte ausgewählt wird.
-
Allgemeiner ausgedrückt, können plattenbasierte weltraumgestützte Daten in irgendeiner passenden Art verarbeitet werden. Zum Beispiel, in einer zusätzlichen oder alternativen Implementierung, sind mehrfache Platten zuerst in einer provisorisch geteilten Datenstruktur fusioniert, welche dann analysiert und indexiert wird mit einem Durchlauf.
-
Unter jetziger Bezugnahme auf 7 kann ein Beispielverfahren 400 ausgeführt werden, um indexierte weltraumgestützte Daten neu zu generieren, durch Verwendung einer Platte mit aktualisierten weltraumgestützten Daten und einiger der vorher zwischengespeicherten Platten. Das Verfahren 400 beginnt am Block 402, wobei eine neue Platte mit durchsuchbar weltraumgestützten Daten von einem Netzwerkserver empfangen ist. Die neue Platte ist empfangen zusammen mit einem Bezeichner von der Lage der Platte innerhalb eines Zeitrasters oder ein anderer passender Lagenindikator, so dass das Clientgerät identifizieren kann, die von den vorher gecachten Platten aktualisiert wird.
-
Am Block 404 werden sonstige Platten, die verwendet wurden, um indexierte weltraumgestützte Daten für Region R zu generieren, aus dem Cache abgerufen. Am Block 406, werden neu indexierte weltraumgestützte Daten durch Verwendung einiger von den vorher gecachten Platten und der neuen Platte generiert. Des Weiteren wird die ältere Version der Platte empfangen am Block 402 identifiziert und ersetzt mit der neuen Platte im Cache.
-
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 beispielhaften 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 Variationen, Modifikationen, Ergänzungen und Verbesserungen fallen in den Anwendungsbereich des hierin beschriebenen Gegenstands.
-
Bestimmte Ausführungsformen sind hierin als Logik enthaltend oder als eine Reihe von Komponenten, Modulen oder Mechanismen beschrieben. Module können entweder aus Softwaremodulen (z. B. als ein auf einem maschinenlesbaren Datenträger oder in einem Sendesignal enthaltener Code) oder Hardwaremodulen bestehen. 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 beispielhaften 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.
-
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), Registern oder anderen 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 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 wird, „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 geschieht lediglich zu Informationszwecken und zur Vermittlung eines allgemeinen Gefühls für verschiedene Ausführungsformen. 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 Offenbarung, werden Fachleute noch zusätzliche alternative strukturelle und funktionelle Designs für ein System und einen Prozess für das Bereitstellen plattenbasierter weltraumgestützten Daten für Clientgeräte durch die hierin offenbarten Prinzipien erkennen. 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 offenbart werden, ohne Abweichung vom Umfang der angehängten Patentansprüche erfolgen.