DE202014010955U1 - Verwendung von Kartendaten-Differenzkacheln zur iterativen Bereitstellung von Kartendaten für ein Client-Gerät - Google Patents

Verwendung von Kartendaten-Differenzkacheln zur iterativen Bereitstellung von Kartendaten für ein Client-Gerät Download PDF

Info

Publication number
DE202014010955U1
DE202014010955U1 DE202014010955.9U DE202014010955U DE202014010955U1 DE 202014010955 U1 DE202014010955 U1 DE 202014010955U1 DE 202014010955 U DE202014010955 U DE 202014010955U DE 202014010955 U1 DE202014010955 U1 DE 202014010955U1
Authority
DE
Germany
Prior art keywords
map
tiles
base
series
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE202014010955.9U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202014010955U1 publication Critical patent/DE202014010955U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Abstract

Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium, auf dem Anweisungen gespeichert sind, die bewirken, dass, wenn diese von einem oder mehreren Prozessoren ausgeführt werden, der eine oder die mehreren Prozessoren ein Verfahren durchführt/durchführen, das Folgendes umfassend: Generieren von mindestens einer Basiskartenkachel, wobei jede Basiskartenkachel eine Vielzahl von einem ersten Kartenbild einer ausgewählten Region zugeordneten Vektordeskriptoren beinhaltet und worin jeder Vektordeskriptor eine Geometrie des jeweiligen Kartenelementes gemäß einem Vektor-Grafikformat beschreibt; Generieren einer Reihe von Differenzkartenkacheln, die eine Differenz zwischen dem ersten Kartenbild und dem zweiten Kartenbild auf einem Client-Gerät definieren, wobei die Reihe der Differenzkartenkacheln die Anzeige eines oder mehrerer Deskriptoren, der/die jeweils einer Änderung eines Kartenelementes entsprechen, wie dieses im zweiten Kartenbild im Vergleich zum ersten Kartenbild gerendert wird, beinhaltet; Wodurch die mindestens eine Basiskartenkachel über das Kommunikationsnetzwerk auf das Client-Gerät übertragen wird; und Senden der Reihe der Differenzkartenkacheln über das Kommunikationsnetzwerk an das Client-Gerät zum Rendern und zur Anzeige des zweiten Kartenbildes unter Verwendung von zumindest einigen der Informationen in der einen oder den mehreren Basiskartenkacheln und der Reihe von Differenzkartenkacheln.

Description

  • Gebiet der Offenbarung
  • Die vorliegende Offenlegung bezieht sich auf Karten-Rendering-Systeme, wie elektronische Kartenanzeigesysteme und spezieller auf ein Karten-Rendering-System, indem Kartenbilder mittels iterativ bereitgestellter Kartendaten als eine Reihe von Basiskartenkacheln gerendert werden sowie auf eine oder mehrere Differenzkartenkacheln. 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.
  • Heute können Karten geografischer Regionen von Softwareanwendungen, die auf einer Vielzahl von Geräten laufen, einschließlich Desktop-Computern, Mobiltelefonen, Navigationssystemen, GPS(Global Positioning System)-Handgeräten, Tablet- oder Laptop-Computer, angezeigt werden. Je nach Anwendung bzw. Benutzereinstellungen können Karten über topografische Daten, Straßendaten, Infos zum öffentlichen Nahverkehr, Verkehrsdaten usw. anzeigen. Darüber hinaus können einige Anwendungen Karten in einem interaktiven Modus darstellen, damit ein Anwender verschiedene Steuerelemente (Optionsschaltflächen, Rollbalken usw.) beispielsweise zur Änderung der Zoomstufe oder zum Schwenken der Karte zu einer neuen Position verwenden kann. Ein Benutzer kann in einigen Fällen auch bestimmte Informationen auf der Anzeige auswählen oder abwählen. So kann beispielsweise der Benutzer das entsprechende Steuerelement bedienen, um die Anzeige von Radwegen, die Übertragung von Karten usw. zu aktivieren.
  • Zum Rendern eines Kartenbildes erhält eine Anzeigekomponente in der Regel Raster-Grafikdaten von einem fest zugeordneten Server. So kann beispielsweise ein Kartenserver auf dem Internet in Betrieb sein und Bilder in einem PNG-Dateiformat (Portable Network Graphics PNG) an verschiedene Geräte für die spezifischen geografischen Gebiete bereitstellen. Obwohl Rasterbilder relativ leicht an ein Client-Gerät wiedergegeben werden können erfordern Daten mit Wiedergabe von Rasterbildern für eine umfassende Karte normalerweise eine große Menge an Speicherplatz. Es ist auch schwierig, Rasterbilder an einem Client-Gerät auf effiziente Weise zu manipulieren. So wird beispielsweise beim Zoomen auf ein ausgewähltes Gebiet entweder ein neues Rasterbild vom Server abgerufen, oder die erhältlichen Daten mit Rasterbildern werden mit deutlichem Qualitätsverlust vergrößert. Zur Verringerung dieses Problems stellen einige Kartensysteme dem Client-Gerät Kartendaten des Kartenservers in Form von Vektor-Grafikdaten zur Verfügung. Allgemein gesprochen beschreiben oder spezifizieren Vektor-Grafikdaten verschiedene, auf einer Karte vorhandene Objekte, und eine Grafik-Engine auf dem Client-Gerät verarbeitet mittels verschiedener allgemeiner Techniken die Vektor-Grafikdaten zur Erstellung eines Kartenbildes.
  • Auf jeden Fall senden die meisten webbasierten Kartendienste Kartendaten als kleine Bildkacheln von einem Server zum Client, in der Regel in Form von Raster- oder Vektor-Grafikbilddatenkacheln. Jede Bildkachel deckt eine vorgegebene geografische Region ab und spezifiziert das genaue anzuzeigende Bild entweder mittels Raster- oder Vektor-Grafikbilddaten. Darüber hinaus bieten viele Client/Server-Kartenanwendungen einem Benutzer viele verschiedene Ansichten der gleichen grundlegenden Kartendaten. Diese Ansichten können beispielsweise auf das Autofahren ausgerichtete Karten, Radwegkarten, Geländekarten, ÖPNV-Karten oder geschäftsorientierte Karten bereitstellen. Möchte der Benutzer zu einer anderen Kartenansicht (z. B. eine ÖPNV-Kartenansicht) einer bestimmten geografischen Region wechseln, fordert die Client-Anwendung eine ganze Reihe neuer Kartenkacheln für den gleichen Ort an, spezifiziert aber die Aufnahme des Stils und der sich unterscheidenden Daten in die neue Karte (z. B. einschließlich ÖPNV-Linien, mit reduziertem Straßenschwerpunkt usw.). In der Regel teilen alle oder die meisten der verfügbaren Kartenansichten jedoch meist die gleichen Daten. Beispielsweise bleiben topografische Informationen, Seen, Straßen usw. zwischen allen Ansichten konstant, aber jede Ansicht kann ein paar zusätzliche Objekte enthalten, möglicherweise wurden einige Objekte entfernt bzw. werden ein paar Objekte möglicherweise auf unterschiedliche Weise oder auf unterschiedliche Arten angezeigt. Tatsächlich sind die meisten der Kartendaten (in Bezug auf Speicherplatz in Bytes) in diesen unterschiedlichen Ansichten in den meisten Fällen gleich. Deshalb sind, wenn eine Kartenanwendung dem Benutzer einen Wechsel zwischen verschiedenen Kartenansichten für dieselbe geografische Region ermöglicht, die meisten vom Server an den Client gesendeten Daten eigentlich zu den bereits von dem Client-Gerät empfangen Daten redundant. Diese Tatsache kann zu einer Reihe von Problemen führen, einschließlich einer hohen Lastlatenz, einer hohen Rendering-Latenz auf dem Client-Gerät, einer hohen Serialisierungslatenz auf dem Server und somit zur Vermeidung dieser Probleme zu einer erzwungenen Verringerung der Datendetails.
  • Zusammenfassung
  • In einer Ausführungsform beinhaltet ein auf einem Rechner implementiertes Verfahren zur Bereitstellung von Kartendaten auf einem Client-Gerät die Erzeugung einer Reihe von mit einer bestimmten Region verbundenen Basiskartenkacheln, wobei die Reihe der Basiskartenkacheln, wenn diese zum Rendern eines Kartenbildes verwendet wird, ein Basiskartenbild für die Region gerendert wird und wobei jede Basiskartenkachel mindestens einen Vektordeskriptor, der eine Geometrie eines oder mehrerer entsprechender Kartenelemente des Basiskartenbildes in Übereinstimmung mit einem Vektor-Grafikformat angibt, beinhaltet. Das Verfahren beinhaltet des Weiteren das Senden der Basiskartenkacheln über das Kommunikationsnetzwerk an das Client-Gerät. Das Verfahren beinhaltet ebenfalls den Empfang einer Indikation, dass ein Kartenbild für die ausgewählte Region, das sich von dem Basiskartenbild unterscheidet, das mittels der Reihe von Basiskartenkacheln erstellt wurde, auf dem Client-Gerät gerendert werden muss und dass eine Reihe von Differenzkartenkacheln generiert werden muss, die einen oder mehrere Unterschiede zwischen dem zu rendernden Kartenbild und dem Basiskartenbild aufweisen. Die Differenzen können mittels Vektordeskriptoren angegeben werden, von denen jeweils einer einem jeweiligen Kartenelement entspricht, das jeweils (1) in ein Kartenbild gerendert werden muss und das sich aber nicht im Basiskartenbild befindet, (2) das nicht in das Kartenbild gerendert werden muss, sondern sich im Basiskartenbild befindet bzw. (3) mit einem anderen Stil, einer anderen Ebene oder einem anderen Objekt in das Kartenbild gerendert werden muss, als im Basiskartenbild angegeben. Das Verfahren kann des Weiteren das Senden der Differenzkacheln über das Kommunikationsnetzwerk an das Client-Gerät zum Rendern des verwendeten Kartenbildes beinhalten.
  • In einer Ausführungsform beinhaltet ein Rechner-implementiertes Verfahren die Bereitstellung von Kartendaten für ein Client-Gerät über ein Kommunikationsnetzwerk zur Erzeugung von einer oder mehreren Basiskartenkacheln, wobei jede Basiskartenkachel eine Vielzahl von Vektordeskriptoren zum Rendern und zur Anzeige eines ersten Kartenbildes einer ausgewählten Region auf dem Client-Gerät beinhaltet, wobei jeder Vektordeskriptor eine Geometrie des jeweiligen Kartenelementes gemäß eines Vektor-Grafikformates angibt und das Senden der einen oder mehreren Basiskartenkacheln über das Kommunikationsnetzwerk an das Client-Gerät. Das Verfahren beinhaltet des Weiteren das Empfangen einer Indikation, dass ein zweites Kartenbild für die ausgewählte Region auf dem Client-Gerät gerendert werden muss, wobei das zweite Kartenbild sich von dem ersten Kartenbild unterscheidet, aber eine von mindestens der einen Basiskartenkachel abgedeckte Region beinhaltet, sowie die Erzeugung einer Reihe von Differenzkartenkacheln, die Differenzen zwischen dem ersten und dem zweiten anzuzeigenden Kartenbild definieren. Die Reihe von Differenzkartenkacheln beinhaltet einen oder mehrere Deskriptor(en), von denen jeder jeweils einer Änderung in einem Kartenelement entspricht, wie dieses im zweiten Kartenbild im Vergleich zum ersten Kartenbild gerendert ist. Darüber hinaus bewirkt das Verfahren das Senden der Reihe der Differenzkartenkacheln über das Kommunikationsnetzwerk an das Client-Gerät zum Rendern und zur Anzeige des zweiten Kartenbildes unter Verwendung von zumindest einigen der Informationen in der einen oder den mehreren Basiskartenkacheln und der Reihe von Differenzkartenkacheln.
  • In einer weiteren Ausführungsform beinhaltet ein Rechner-implementiertes Verfahren zur Bereitstellung von Kartendaten über ein Kommunikationsnetzwerk für ein Client-Gerät das Generieren von mindestens einer Basiskartenkachel, wobei jede Basiskartenkachel eine Vielzahl von einem ersten Kartenbild einer ausgewählten Region zugeordneten Vektordeskriptoren beinhaltet und jeder Vektordeskriptor eine Geometrie des jeweiligen Kartenelementes gemäß einem Vektor-Grafikformat beschreibt, sowie das Generieren einer Reihe von Differenzkartenkacheln, die einen Unterschied zwischen dem ersten und dem zweiten auf einem Client-Gerät anzuzeigenden Kartenbild definieren. Die Reihe von Differenzkartenkacheln beinhaltet einen oder mehrere Deskriptor(en), von denen jeder jeweils einer Änderung in einem Kartenelement entspricht, wie dieses im zweiten im Vergleich zum ersten Kartenbild gerendert ist. Das Verfahren führt ebenfalls das Senden der einen oder mehreren Basiskartenkacheln über das Kommunikationsnetzwerk an das Client-Gerät aus und die Übertragung der Reihe von Differenzkartenkacheln über das Kommunikationsnetzwerk an das Client-Gerät zum Rendern und zur Anzeige des zweiten Kartenbildes mittels zumindest einigen der Informationen in einer oder mehreren der Basiskartenkacheln und der Reihe von Differenzkartenkacheln.
  • In noch einer anderen Ausführungsform sind auf einem materiellen nicht-transitorischen, von einer Recheneinheit lesbaren Datenträger Anweisungen gespeichert, die, wenn diese durch einen oder mehrere Prozessoren ausgeführt werden, dazu führen, dass der eine oder die mehreren Prozessoren eine Indikation von einem Client-Gerät empfangen, dass ein bestimmtes Kartenbild für eine ausgewählte Region auf dem Client-Gerät gerendert werden muss, und ein oder mehre Basiskartenkacheln für die ausgewählte Regionskachel zu definieren ist/sind, wobei jede Basiskartenkachel eine Vielzahl von Vektordeskriptoren beinhaltet, die einem ersten Kartenbild für die ausgewählte Region zugeordnet sind und wobei jeder Vektordeskriptor eine Geometrie eines jeweiligen Kartenelementes in Übereinstimmung mit einem Vektor-Grafikformat anzeigt. Darüber hinaus dienen die Anweisungen dazu, eine Reihe von Differenzkartenkacheln zu generieren, die eine Differenz zwischen dem ersten Kartenbild und dem bestimmten, auf einem Client-Gerät zu rendernden Kartenbild definieren, wobei die Reihe von Differenzkartenkacheln einen oder mehrere Deskriptor(en) beinhalten, von denen jeder einer Änderung eines Kartenelementes entspricht, wie diese im bestimmten Kartenbild im Vergleich zu dem ersten Kartenbild zu rendern ist. Darüber hinaus bewirken die Anweisungen das Senden der Reihe der Differenzkartenkacheln über das Kommunikationsnetzwerk zum Client-Gerät zum Rendern und zur Anzeige des bestimmten Kartenbildes unter Verwendung von zumindest einigen der Informationen in der einen oder in den mehreren Basiskartenkacheln und der Reihe von Differenzkartenkacheln.
  • In noch einer anderen Ausführungsform beinhaltet ein Verfahren zur Implementierung in einer Recheneinheit zum Generieren von Kartenbildern den Empfang über ein Kommunikationsnetzwerk einer Vielzahl von Basiskartenkacheln, die mit einem ersten Kartenbild für eine ausgewählte Region verbunden sind, wobei jede Basiskartenkachel einen oder mehrere Vektordeskriptoren beinhaltet, die eine Geometrie des jeweiligen Kartenelementes in Übereinstimmung mit einem Vektor-Grafikformat angeben und ebenfalls der Empfang über das Kommunikationsnetzwerk einer Reihe von Differenzkartenkacheln zum Rendern eines zweiten Kartenbildes für die ausgewählte geografische Region, wobei jede Reihe von Differenzkartenkacheln eine oder mehrere Indikationen auf eine Modifikation eines Vektordeskriptors in einer der Vielzahl von Basiskartenkacheln beinhaltet. Das Verfahren rendert dann das zweite Kartenbild mit der Vielzahl der Basiskartenkacheln und der Reihe von Differenzkartenkacheln und bewirkt die Anzeige des zweiten Kartenbildes über eine Benutzeroberfläche.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockschaltbild eines Kartensystems, in dem ein Kartenserver einem Client-Gerät Kartendaten zum Rendern eines Kartenbildes in Form einer Reihe von Basiskartenkacheln und einer Reihe von Differenzkartenkacheln iterativ bereitstellt;
  • 2 ist ein Interaktionsdiagramm, das ein Beispiel eines Informationsaustausches zum Rendern von Kartenbildern auf einem Client-Gerät veranschaulicht, das in dem System von 1 für ein erstes Rendern eines Basiskartenbildes und zum anschließenden Rendern eines ÖPNV-Kartenbildes unter Verwendung von Basiskartenkacheln und Differenzkartenkacheln derselben geografischen Region verwendet wird;
  • 3 ist ein Interaktionsdiagramm, das eine exemplarische Übertragung von Differenzkartenkacheln zum Rendern zusätzlicher Kartenelemente und zum Löschen von Elementen aus einer Basiskartenansicht veranschaulicht,
  • 4 ist ein Interaktionsdiagramm, das eine exemplarische Übertragung einer einzigen Differenzkartenkachel zur Modifizierung der Höhe, mit der eine Reihe von Kartenmerkmalen oder -elementen in einer Reihe von Basiskartenkacheln gerendert wird, veranschaulicht;
  • 5 ist ein Interaktionsdiagramm, das eine exemplarische Übertragung einer Differenzkartenkachel, die eine neue Stiltabelle für eine Reihe von Basiskartenkacheln beinhaltet, veranschaulicht;
  • 6 ist ein Interaktionsdiagramm, das eine exemplarische Übertragung einer zweiten Reihe von Differenzkartenkacheln von einem Servergerät zu einem Client-Gerät veranschaulicht, die dem Client-Gerät die Änderung der Ansicht von einer Art der Kartenansicht auf eine andere Art einer Kartenansicht mittels der gleichen Reihe von Basiskartenkacheln ermöglicht;
  • 7 ist ein Ablaufdiagramm eines exemplarischen Verfahrens zum Generieren von Kartendaten für mehrere Kartenbilder auf einem Kartenserver mit Basiskartenkacheln und Differenzkartenkacheln, das im System von 1 verwendet werden kann,
  • 8 ist ein Ablaufdiagramm eines exemplarischen Verfahrens zum Generieren einer Reihe von Differenzkartenkacheln zur Modifikation der zuvor bereitgestellten Basiskartenkacheln auf einem Kartenserver, das im System von 1 verwendet werden kann;
  • 9 ist ein Ablaufdiagramm eines exemplarischen Verfahrens zum Rendern von Kartenbildern auf einem Client-Gerät mittels Basiskartenkacheln und Differenzkartenkacheln, das im System von 1 verwendet werden kann;
  • 10A ist eine exemplarische Basiskarte, die auf einem Client-Gerät im System von 1 mittels einer Reihe von Basiskartenkacheln angezeigt werden kann; und
  • 10B ist eine exemplarische ÖPNV-Karte, die nach Auswahl eines ÖPNV-Kartentyps durch einen Benutzer über eine interaktive Benutzeroberfläche eines Client-Gerätes aus der Reihe von Basiskartenkacheln in 10A und den Differenzkartenkacheln für eine ÖPNV-Kartenansicht erstellt wurde, angezeigt werden kann; und
  • 10C ist eine exemplarische Radwegkarte, die nach der Auswahl eines Radwegkartentyps durch einen Benutzer über eine interaktive Benutzeroberfläche des Client-Gerätes aus der Reihe von Basiskartenkacheln in 10A und den Differenzkartenkacheln für eine Radwegkartenansicht erstellt wurde, angezeigt wird.
  • Detaillierte Beschreibung
  • Ein Kartenservergerät kommuniziert mit einem Karten-Client-Gerät zur effizienten Bereitstellung von Kartendaten zum Rendern von Kartenbildern auf dem Client-Gerät mit einer Reihe von Basiskartenkacheln mit Basiskarten-Objektdaten und einer Reihe von Differenzkacheln, wobei die Kartendaten Änderungen an den Basiskarten-Objektdaten innerhalb der Basiskartenkacheln nach dem Rendern der Karte auf dem Client-Gerät definieren. In einigen Fällen stellt der Kartenserver einem Client-Gerät, wie einem Desktop-Computer, einem Laptop, einem Tablet, einem Mobiltelefon usw., zuerst Kartendaten zum Rendern eines ersten, einem bestimmten Gebiet oder einer bestimmten geografischen Region entsprechenden Kartenbildes als eine oder als eine Reihe von mehreren Basiskartenkacheln und dem Client-Gerät später dann Modifikationsdaten in Form von Differenzkacheln zum Rendern eines zweiten unterschiedlichen Kartenbildes (z. B. eines Verkehrskartenbildes, eines ÖPNV-Kartenbildes usw.), die der gleichen geografischen Region entsprechend, zur Verfügung. Das Client-Gerät kann dann das zweite Kartenbild mit den Basiskartendaten, die zuvor zum Rendern des ersten Kartenbildes bereitgestellt wurden, und den Modifikationsdaten in Form von Differenzkacheln rendern, sodass der Kartenserver die zum Rendern des ersten und des zweiten Kartenbildes verwendeten Kartendaten nicht mehr als einmal für das Client-Gerät bereitstellen muss. Je nach Szenario beinhalten die Modifikationsdaten innerhalb der Differenzkartenkacheln eine oder mehrere Ergänzungen zu den Daten oder Funktionen innerhalb der zuvor bereitgestellten Basiskartenkacheln, Löschungen eines oder mehrerer Teile oder Löschung eines oder mehrerer Objekte der zuvor bereitgestellten Basiskartenkacheln bzw. Modifikationen eines oder mehrerer Teile oder Modifikationen eines oder mehrerer Objekte der zuvor bereitgestellten Basiskartenkacheln, wie Änderungen der Stile, Ebenen (Höhen) usw., die den zu rendernden Objekten zugeordnet sind. In einigen Fällen kann das Kartenservergerät die Basis- und Differenzkartenkacheln als Reaktion auf die Anforderung einer einzelnen Karte bereitstellen, wenn z. B. der Benutzer auf einem Client-Gerät erstmals ein Kartenbild für eine bestimmte geografische Region anfordert, die nicht Bestandteil des Basiskartenbildes ist.
  • In einem Fall kann der Kartenserver die Basiskartenkacheln in einem Nicht-Raster-Format, wie in einem Vektor-Grafikformat, bereitstellen, und der Client kann einige oder alle der Kartendaten zum Generieren des ersten Kartenbildes interpretieren. In einigen Fällen kann der Kartenserver eine oder mehrere der Basiskacheln in einem Hybrid-Format bereitstellen, wobei das Kartenmaterial Rasterdaten (z. B. ein Raster-Hintergrund) und Vektordaten beinhalten kann. Darüber hinaus kann der Kartenserver dem Client-Gerät eine oder mehrere Differenzkacheln in einem Raster-Format, in einem Nicht-Raster-Format oder in einem Hybrid-Format bereitstellen, und das Client-Gerät kann die Differenzkacheln zur Identifizierung der Änderungen an den Basiskartenkacheln verarbeiten. Das Client-Gerät kann dann das zweite Kartenbild als neues oder geändertes Bild rendern, basierend auf den Daten innerhalb der ursprünglichen Basiskartenkacheln und der Differenzkartenkacheln, die beide die gleiche geografische Region abdecken. Eine oder beide der Basiskarten- und der Differenzkarten-Datenkacheln können Stildaten beinhalten, um beim Rendern der Basiskartendaten oder der geänderten Karte zu verwendende verschiedene stilistische Merkmale zu spezifizieren. In diesem Fall können die Differenzkartenkacheln eine neue oder eine andere Reihe von Stildaten zum Rendern des Kartenbildes beinhalten oder spezifizieren.
  • Zum Rendern des Basiskartenbildes kann das Client-Gerät Kartendaten von dem Kartenserver über ein Kommunikationsnetzwerk anfordern, und der Kartenserver kann als Reaktion darauf die Basiskartendaten, die den Karteninhalt in einem Vektor-Grafikformat beschreiben, bereitstellen. So können beispielsweise die Basiskartendaten verschiedene geometrische Formen spezifizieren (z. B. die Verwendung mathematischer Beschreibungen der Punkte und Pfade, die Punkte verbinden) und angeben, wie diese Formen zur Darstellung verschiedener Kartenelemente, wie Straßen, Gebäude, Parks, Gewässern usw., positioniert werden sollen. In diesem Fall kann eine vektorbasierte Beschreibung des Liniensegments anstatt jedes Pixels, aus denen ein Rasterbild eines Liniensegments besteht, die beiden Endpunkte des Liniensegments spezifizieren und angeben, dass die beiden Endpunkte durch eine gerade Linie verbunden sind. Stildaten als Teil der Basiskartenkachel können die Breite, Farbe oder Zeichnungstextur (massiv, gepunktet usw.) der Linie oder eines anderen Objektelementes spezifizieren. Vektor basierende Beschreibungen der Kartenelemente können hierin als Vektordeskriptoren oder einfache Vektoren bezeichnet werden, und eine Reihe von einem oder mehreren Vektordeskriptor können als Vektordaten bezeichnet werden. Darüber hinaus kann ein individuelles Kartenelement (z. B. ein Gebäude) oder eine Ansammlung von mehreren Kartenelementen (z. B. Gebäude, Parks, Radwege und Gehwege eines Uni-Campus) in einigen Szenarien ein Kartenobjekt (oder einfach eine Funktion) definieren. In einer Ausführungsform ist eine Kartenfunktion einer einzigartigen Kennung zugeordnet, die vom Kartenserver und dem Client-Gerät zur Identifizierung benutzt werden kann. Im Allgemeinen kann eine Kartenfunktion mithilfe einem oder mehreren Vektordeskriptoren beschrieben werden.
  • Das Client-Gerät kann beispielsweise Kartendaten zum Rendern eines Kartenbildes als Reaktion auf die jeweiligen Benutzerbefehle anfordern. Die Benutzerbefehle können eine Auswahl eines anderen Kartentyps, eine andere Zoomstufe usw. anweisen. In einem exemplarischen Szenario wählt ein Benutzer eine geografische Region und einen Basiskartentyp, z. B. den Typ einer Karte, die Landstraßen, Straßen, Sehenswürdigkeiten usw. ausweist. Das Client-Gerät generiert eine Anforderung zum Rendern eines Kartenbildes und übermittelt die Anforderung an dem Kartenserver, der als Reaktion Kartendaten, einschließlich einer Reihe von einer oder von mehreren Basiskartendatenkacheln, bei der die Kartendaten in jeder Basiskarten-Datenkachel in einem Vektor-Grafikformat (oder in einem anderen Nicht-Raster-Format, das zum Rendern eines Rasterbildes auf dem Client-Gerät geeignet ist) vorliegen, zur Verfügung stellt. Die Kartendaten können mehrere Vektordeskriptoren und in einigen Fällen Zusatzdaten, wie Stildaten, Beschriftungsdaten, Ebenendaten usw., beinhalten. Genauer gesagt können Beschriftungsdaten Zeichen im ASCII(American Standard Code for Information Interchange)-Format, einem Unicode-Format oder in einem anderen geeigneten Zeichenformat enthalten. Ebenendaten beinhalten Daten, die eine relative Ebene oder Schärfentiefe eines Kartenelementes angeben und somit festlegen, welche Kartenelemente andere Kartenelemente überlagernd in das Kartenbild gerendert werden sollen. Das Client-Gerät interpretiert anschließend die Kartendaten zum Rendern des Kartenbildes und zeigt das Kartenbild auf einer Anzeigekomponenten an.
  • Zur Fortsetzung des vorstehend beschriebenen Szenarios kann der Benutzer dann eine ÖPNV-Karte für die gleiche geografische Region wählen, und das Client-Gerät kann als Reaktion darauf eine Indikation zur Generierung eines neuen Kartenbildes, das einer ÖPNV-Karte entspricht, erzeugen und die Anforderung hierzu an den Kartenserver senden. Entsprechend einer Implementierung kann das Client-Gerät eine Anforderung für Kartendaten des neuen Typs (z. B. „Bereitstellung von Kartendaten für eine ÖPNV-Karte der Region R”) erzeugen, und der Kartenserver prüft die vorherige Kommunikation mit dem Client-Gerät, um zu bestimmen, welche Basiskartenkacheln oder Basiskartendaten zuvor an das Client-Gerät gesendet wurden und daher bereits im Client-Gerät zur Verfügung stehen. In einer anderen Implementierung spezifiziert das Client-Gerät, welche Art von Kartendaten für die ausgewählte Region bereits auf dem Client-Gerät, zusätzlich zur Anforderung der Kartendaten des neuen Typs, verfügbar sind (z. B. „Bereitstellung von Kartendaten für eine ÖPNV-Karte der Region R, angesichts der Tatsache, dass ich bereits über Kartendaten für eine einfache Karte der Region R auf der gleichen Zoomstufe verfüge”). Der Kartenserver muss in diesem Fall nicht wissen, welche Basiskartendaten oder Basiskartenkacheln ggf. vorher an das Client-Gerät gesendet wurden. Im Allgemeinen kann ein Werdegang von Transaktionen zwischen einem Kartenserver und einem Client-Gerät durch den Kartenserver und/oder das Client-Gerät instandgehalten werden.
  • Der Kartenserver kann dann ermitteln, welche Kartenelemente und Beschriftungen zu den bereits auf dem Client-Gerät verfügbaren Basiskartendaten hinzugefügt, von diesen entfernt oder für diese geändert werden müssen. So kann beispielsweise der Kartenserver ermitteln, wie sich eine Basiskarte für eine bestimmte Region und eine bestimmte Zoomstufe von einer ÖPNV-Karte der gleichen Region und der gleichen Zoomstufe unterscheidet und entsprechende Modifikationsindikationen in Form von einem oder mehreren Differenzkartenkacheln generieren. So können beispielsweise die Differenzkartenkacheln Vektordeskriptoren für zu den Basiskartenkacheln hinzuzufügende Objekte beinhalten, wie das Rendern von nicht in dem Basiskartenbild enthaltenen U-Bahn-Linien, können bestimmte, von den Basiskartenkacheln zu entfernende Funktionen beschreiben bzw. können bestimmte, auf den Basiskartenkacheln zu ändernde Objekte beschreiben, wie z. B. unterschiedliche Stile (z. B. zu ändernde Breiten, Schriftarten, Farben, Schattierungen usw.), Ebenen bzw. in dem Kartenbild zu verwendende Beschriftungen, welche auf dem Client-Gerät im Vergleich zu dem Basiskartenbild gerendert werden müssen. Der Kartenserver stellt dann die Modifikationsdaten in Form einer Reihe von Differenzkartenkacheln zur Verwendung zusammen mit den Basiskartenkacheln bereit, um das ÖPNV-Kartenbild auf dem Client-Gerät unter zumindest der teilweisen Verwendung von Basiskarten-Datenkacheln und Differenzkarten-Datenkacheln zu rendern. Anschließend kann, wenn der Benutzer eine weitere Kartenansicht der gleichen geografischen Region wählt, das Client-Gerät diese Ansicht vom Kartenserver anfordern, der die Unterschiede zwischen dem neu ausgewählten Kartenbild und dem Basiskartenbild in den bereitgestellten Basiskartenkacheln ermitteln kann, um eine andere oder eine Reihe von mehreren Differenzkacheln zu generieren. Diese neue Reihe von Differenzkacheln kann dann für das Client-Gerät bereitgestellt werden, das die neue Kartenansicht, basierend auf den ursprünglichen Basiskartenkacheln und der neuen Reihe von Differenzkacheln, generiert.
  • Diese und andere exemplarische Szenarien, in denen Kartendaten zum Rendern von Kartenbildern effizient für ein Client-Gerät bereitgestellt werden, werden anhand der beiliegenden Zeichnungen eingehend erläutert. Manche der Abbildungen können durch das Auslassen bestimmter Elemente zum Zweck der Veranschaulichung anderer Elemente vereinfacht sein. Diese Auslassungen von Elementen in einigen Figuren weisen nicht zwangsläufig auf das Vorhandensein oder Nichtvorhandensein von bestimmten Elementen in einigen der Ausführungsbeispiele hin, es sei denn, dass es in der entsprechenden geschriebenen Beschreibung explizit dargelegt ist.
  • Jetzt unter Bezugnahme auf 1, ein Kartenanzeigesystem 10 kann zur effizienten Übertragung von Kartendaten von einem Kartenservergerät zu einem Karten-Client-Gerät unter Verwendung von Basiskarten-Datenkacheln und Differenzkarten-Datenkacheln für ein Client-Gerät iterativ bereitgestellt werden. Wie in 1 dargestellt, beinhaltet das System 10 in der Regel einen Kartenserver 12, ein oder mehrere Client-Geräte 14 und 15, die kommunikativ mit dem Kartenserver 12 über ein Netzwerk 16 (das aus einem oder mehreren unterschiedlichen Kommunikationsnetzwerken bestehen kann) gekoppelt sind und eine Kartendatenbank 18, die kommunikativ mit dem Kartenserver 12 gekoppelt ist. Das Netzwerk 16 kann ein Weitverkehrsnetz (wide area network WAN), wie beispielsweise ein Internet, ein Lokalnetz (local area network LAN), oder jede andere geeignete Art von Netzwerk sein. Die Kartendatenbank 18 kann abhängig von der Ausführungsform an den Kartenserver 12 über das Netzwerk 16 oder eine andere Kommunikationsverbindung gekoppelt sein wie in 1 veranschaulicht. Des Weiteren kann die Kartendatenbank 18 mehrere verschiedene Datenbanken beinhalten oder zum Erstellen einer Karte Karten-Services verwenden. Die Datenbank 18 kann beispielsweise eine Basiskarten-Datenbank 18A beinhalten, in der Basiskartenkacheln für verschiedene geografische Regionen für eine beliebige Anzahl von Zoomstufen gespeichert sind. Darüber hinaus kann die Datenbank 18 eine oder mehrere Karten-Services-Datenbanken 18B18E beinhalten. Hier kann beispielsweise der Kartendatenbank-Service 18B ÖPNV-Kartendaten speichern, die zu den Basiskartendaten hinzuzufügende ÖVPN-Daten definieren, wie diese in der Datenbank 18A gespeichert sind, um ÖPNV-Kartenansichten der in der Basiskartendatenbank 18A gespeicherten geografischen Regionen bereitzustellen. Ebenso können die Kartendatenbank-Services 18C und 18D jeweils Radweg- und Geländekartendaten speichern, was dem Kartenserver 12 die Erstellung von Radweg- und Geländekartenansichten für verschiedene geografische Regionen der in der Basiskarten-Datenbank 18A gespeicherten Kartendaten ermöglicht. Darüber hinaus können in einer Ausführungsform die Kartendatenbank-Services 18E personalisierte Kartendateninhalte für verschiedene Benutzer speichern. Insbesondere können Benutzer Kartendaten durch das Hinzufügen von Informationen zu verschiedenen Kartenkacheln, die Neuausrichtung von Informationen durch Änderung der Kartenstile, Einstellung von Präferenzen (z. B. zeige immer Punkte von Interesse, Radwege, Verkehrsdaten usw.) personalisieren. In diesen Fällen können die personalisierten Kartendaten oder Einstellungen in den Kartendatenbank-Services 18E für einen späteren Abruf und eine spätere Nutzung bei der Anzeige von Karten für Benutzer, wie im Folgenden genauer erläutert wird, gespeichert werden. Natürlich kann die Datenbank 18 beliebig viele Kartendatenbank-Services für alle anderen Arten von Kartendaten beinhalten, und diese Datenbank-Services könnten auf demselben oder auf verschiedenen Servergeräten gespeichert werden. Alternativ können alle, in den Karten-Service Datenbanken 18B18E gespeicherten und bereitgestellten zusätzlichen Kartendaten in der Datenbank 18A gespeichert werden. Darüber hinaus ist der Einfachheit halber nur eine Instanz des Kartenservers 12 und der Kartendatenbank 18 in 1 dargestellt. Jedoch kann in anderen Ausführungsformen das System 10 mehr als einen Kartenserver 12, mehr als eine Kartendatenbank 18 und jede beliebige Anzahl von Client-Geräte 14, 15 beinhalten.
  • Der in 1 dargestellte Kartenserver 12 beinhaltet ebenfalls einen Prozessor 20 und einen von der Recheneinheit lesbaren Speicher 22, in dem eine Kartensteuereinheit 30 in Form von Anweisungen für eine Recheneinheit gespeichert ist, wobei die Anweisungen auf dem Prozessor 20 direkt (z. B. als kompilierter Code) oder indirekt (z. B. als Skript, der durch eine andere, auf dem Prozessor 20 ausgeführte Anwendung interpretiert wird) ausführbar sind. Der von der Recheneinheit lesbare Speicher 22 kann flüchtigen Speicher zum Speichern von Anweisungen für Recheneinheiten und Daten, mit denen die Anweisungen für Recheneinheiten zur Laufzeit ausgeführt werden (z. B. Schreib-Lesespeiche mit wahlfreiem Zugriff oder RAM) und in einer Ausführungsform Permanentspeicher, wie beispielsweise eine Festplatte, beinhalten. Die Kartensteuereinheit 30 kann eine dynamische Objektsteuereinheit 32 beinhalten, die Vektor-Grafikdaten für verschiedene Kartenelemente bzw. Kartenobjekte generiert, einschließlich Kartenelemente, die als Karteninhalt in Form von Basiskarten-Datenkacheln für das Client-Gerät 14 und 15 bereitgestellt werden. Die dynamische Objektsteuereinheit 32 kann ebenfalls zur Ermittlung des Unterschieds in einer vektorbasierten Beschreibung eines Kartenbildes relativ zu einem anderen Kartenbild, das dem gleichen geografischen Bereich oder der gleichen Region entspricht, zur Generierung einer entsprechenden Modifikationsindikation als eine Reihe von Differenzkartenkacheln und zur Bereitstellung der Modifikationsindikationen oder Differenzkartenkacheln für das Client-Gerät 14 bzw. 15 konfiguriert werden. Mit anderen Worten, anstatt über die Bereitstellung einer vollständigen vektorbasierten Beschreibung eines Kartenbildes kann die dynamische Objektsteuereinheit 32 eine Beschreibung der Änderungen an einer zuvor bereitgestellten vektorbasierten Beschreibung eines anderen Kartenbildes effizient liefern.
  • Im Allgemeinen kann das System 10 von 1 zur Erstellung von Kartenbildern Differenzkartenkacheln erstellen und verwenden (von denen jede im Wesentlichen eine partielle Kartenkachel ist, wobei jede Differenzkartenkachel nur einen Teil des auf dem Client-Gerät zu rendernden Kartenbildes der Region, die von der Kartenkachel abgedeckt wird, spezifiziert). Insbesondere kann das System, wenn die Differenzkartenkacheln mit einer anderen Kachel in Form einer Basiskartenkachel auf dem Client- oder Karten-Render-Gerät kombiniert wird, die gewünschte endgültige Kartenansicht (z. B. ÖPNV-Ansicht) erstellen. In einem Fall enthalten die Differenzkartenkacheln nur die Reihe von Modifikationen, die zur Änderung der Basiskartenkacheln in die gewünschte endgültige Kachel oder in das endgültige Kartenbild erforderlich sind.
  • In einer Ausführungsform beinhaltet jede Differenzkartenkachel zwei grundlegende Komponenten in Form von einer Reihe von Kachelbearbeitungen und einer Reihe von Stilvorgaben. Hier spezifiziert jede Reihe von Kachelbearbeitungen einen einzigen Vorgang bezüglich der Basiskartenkachel. Dieser Vorgang definiert, wie einige Geometrien in der Basiskartenkachel zu dem konvertiert werden, was im gewünschten endgültigen Zustand oder in der zu erstellenden Kartenansicht mittels der Differenzkartenkacheln erstellt werden soll. Die Kachelbearbeitungen können das Hinzufügen zusätzlicher Objekte, das Entfernen von Objekten bzw. die Änderung der Eigenschaften von Objekten beinhalten, wie z. B. eine Änderung der Rendering-Ebene eines Objektes, die Beschriftung eines Objektes usw. Die neue Reihe von Stilspezifikationen weist die zu verwendenden Farben, Schriftgrößen, Linienstärken usw. aus, um das endgültige gewünschte Aussehen im Vergleich zu den im Basiskartenbild oder in den Basiskartenkacheln verwendeten Stilen zu erzielen.
  • Insbesondere können Kachelbearbeitungen als einzelne geometrische, auf eine Basiskartenkachel anzuwendende Änderungsvorgänge spezifiziert werden, um die Basiskartenkachel in den gewünschten Endzustand zum Rendern in das gewünschte Kartenbild oder in die gewünschte Ansicht zu versetzen. Diese Vorgänge können in einem Fall auf Render-Vorgänge innerhalb der Kartenkachel angewendet werden (d. h., auf Geometrieteile, wie einen Streifen der Straße, eine Beschriftung, ein Polygon, das einen See darstellt usw.) und besitzen in der Regel drei Auswirkungen: das Entfernen von Objekten, das Hinzufügen von Objekten oder das Ändern von Objekteigenschaften.
  • Insbesondere kann ein in der Differenzkartenkachel angegebener Render-Vorgang einige der Geometrien in einer Basiskartenkachel entfernen, die möglicherweise für die gewünschte endgültige Kartenkachel oder das gewünschte endgültige Kartenbild nicht relevant sind. Beispielsweise werden im Geländemodus viele Straßen überflüssig und müssen bei der Geländekartenansicht im Vergleich zu der Basiskartenansicht entfernt werden. Eine Differenzkartenkachel für eine Geländebildansicht kann einen einzelnen Entfernungsvorgang für jeden Straßen-Render-Vorgang enthalten, die von der Basiskartenkachel zur Erzielung des Geländekarten-Ansichtseffektes entfernt werden muss.
  • In einem weiteren Beispiel kann ein Render-Vorgang ein Kartenobjekt zu einer Basiskartenkachel hinzufügen. In vielen Fällen benötigt eine bestimmte Kartenansicht zusätzliche Daten oder Objekte über die im Basiskartenbild vorhandenen hinaus. Beispielsweise benötigt eine ÖPNV-Kartenansicht das Hinzufügen hervorgehobener ÖPNV-Linien zu den Basiskartenkacheln, die mit der Kartenansicht verbunden sind. Eine ÖPNV-Differenzkachel würde in diesem Fall Hinzufügevorgänge für jede zu zeichnende ÖPNV-Linie beinhalten. Jeder Vorgang kann drei Dinge spezifizieren, einschließlich der neu hinzuzufügenden Geometrie, dem visuellen Stil dieser Geometrie und unter welchem Render-Vorgang in der Basiskachel der neue Render-Vorgang hinzugefügt werden soll (sodass das System die Reihenfolge der Render-Vorgänge in der endgültigen Kartenkachel steuern kann).
  • In einem weiteren Beispiel kann ein Render-Vorgang die Ausführung einer stilistischen Neubewertung bereitstellen. Beispielsweise ist es in interaktiven Kartenansichten oft wünschenswert, die Präsentation der Render-Vorgänge zu ändern, ohne alle anderen Render-Vorgänge zu beeinflussen. Interagiert beispielsweise ein Benutzer mit Geschäften/Unternehmen, kann das System die Unternehmensbeschriftung und Symbol entsprechend ändern, um die Auswahl anzuzeigen. Das System möchte jedoch aber in der Regel nicht die Präsentation aller anderen Unternehmen rund um das gewählte Unternehmen ändern. In diesem Fall kann das System einen einzigen stilistischen Neubewertungsvorgang auf das ausgewählte Unternehmen einleiten und einen neuen visuellen Stil nur für das Unternehmen definieren. In anderen Fällen können stilistische Neubewertungsvorgänge auf alle Elemente innerhalb eines bestimmten Objektes, wie z. B. alle Elemente eines Parks, eines Gebäudes, die mit einem Radweg oder Wanderweg u. ä. verbunden sind, angewendet werden.
  • Des Weiteren kann, wie bereits erwähnt, jede Differenzkartenkachel eine Reihe von Stilen enthalten. In einem Beispiel kann jede Basis Kachel insbesondere eine „Stiltabelle” beinhalten, die visuelle Stilparameter jedes in der Kachel aufgeführten Render-Vorgangs enthält. Wird eine Differenzkachel von dem Servergerät an das Client-Gerät gesendet, kann die Differenzkachel ebenfalls eine neue Stiltabelle für alles, das in der endgültigen komponierten Kachel sichtbar ist, enthalten. Während es in einigen Fällen wünschenswert ist, nur die Änderungen in der Stiltabelle der Basiskartenkachel innerhalb der Differenzkachel zu spezifizieren, ist es ebenfalls möglich, einfach eine vollständig neue Stiltabelle als Bestandteil der Differenzkartenkachel bereitzustellen, da Stiltabellen in der Regel eine kleine Größe besitzen. Tatsächlich ist es aufgrund der relativ hohen Komplexität eines solchen Stildifferenzmechanismus und da Stiltabellen in der Regel winzig im Vergleich zu der Geometrie und zu den Objektdaten innerhalb der Differenz- und Basiskartenkacheln sind, in der Regel nicht notwendig, Optimierungsversuche beim Senden von Stiländerungen in einer Differenzkartenkachel durchzuführen. Des Weiteren können Stiltabellen so konfigurierten werden, dass, wenn ein Wert in der Stiltabelle nicht enthalten ist, der Wert des Stiltabelleneintrags als ein leerer Stil behandelt wird (z. B. nicht zu rendern). Im Gegensatz hierzu können Stiltabellen so konfiguriert werden, dass, wenn ein Stil in der Stiltabelle nicht enthalten ist, der für den Stiltabelleneintrag zu verwendende Stiltabellenwert dem Stiltabellenwert für diesen Eintrag entspricht, wie dieser in der Stiltabelle der Basiskartenkachel verwendet wird.
  • Auf jeden Fall kann bei der Zusammenstellung aller oben beschriebenen Elemente, solange sich das Client-Gerät und das Servergerät einig sind, welche Basiskartenkacheln zu verwenden sind, das Servergerät Differenzkartenkacheln erstellen und senden und das Client-Gerät kann diese anfordern, empfangen und verarbeiten, wodurch Änderungen an den Basiskartenkacheln, die bereits für das Client-Gerät bereitgestellt wurden, einfach spezifiziert werden können, da das Client-Gerät neue oder andere Kartenansichten einer bestimmten geografischen Region rendern kann. Insbesondere trifft dies zu, wenn das Client-Gerät das erste Mal Kacheln für einen Nicht-Basismodus oder eine Nicht-Basiskartenansicht (z. B. eine ÖPNV-Kartenansicht) anfordert. Dann muss das Client-Gerät alle Basiskacheln vom Server anfordern, über die dieses nicht bereits verfügt, zusammen mit Differenzkartenkacheln, um die Basiskartenansicht in die ÖPNV-Kartenansicht zu transformieren. Somit fordert in dem Fall, in dem ein Client-Gerät normalerweise ohne Differenzkartenkacheln eine Kachel anfordert, dieses bei einem Differenzkartenkachelsystem zweimal die Anzahl der Kacheln an: Eine Basiskartenkachel und eine Differenzkartenkachel. Sobald eine Reihe von Basiskartenkacheln für eine bestimmte geografische Region an das Client-Gerät gesendet und von diesem empfangen wurde, muss das Client-Gerät jedoch nur noch die Differenzkartenkacheln für eine neue Kartenansicht dieser Region anfordern oder empfangen. Da Differenzkartenkacheln verglichen mit den Basiskartenkacheln in der Regel klein sind, sendet und empfängt dieses System bei Anforderung mehrerer Kartenansichten derselben geografischen Region weniger Daten. Das heißt, die Basiskacheln müssen nur einmal angefordert und fortan auf dem Client-Gerät gespeichert werden, sodass während die Basiskacheln zum ersten Mal benötigten werden, die doppelte Anzahl an Kacheln angefordert werden müssen. Anschließend sind die Basiskacheln bereits auf dem Client verfügbar und deshalb müssen nur die Differenzkacheln angefordert werden. Darüber hinaus werden bei einer anfänglichen Anzeige der Basiskarte durch das Client-Gerät zur Umstellung auf eine ÖPNV-Kartenansicht nur die Differenzkartenkacheln benötigt. Des Weiteren ermöglicht die Verwendung von Basiskacheln und Differenzkacheln einem Kartensystem den leichten Umgang mit personalisierten Kartendaten oder stellt Benutzern die Möglichkeit zu personalisierten Karteninhalten, Objekten, Anzeigeneinstellungen usw. zur zukünftigen Anzeige von Karten zur Verfügung. Insbesondere können Benutzeränderungen an Karten, Zusätze zu Karten, Kartenpräferenzen, Anzeigeneinstellungen, Karten-Standardansichten usw. implementiert werden und als eine Reihe von Differenzkacheln gespeichert und für Benutzer bereitgestellt werden, zusammen mit der Reihe von Basiskacheln, auf die Benutzerpräferenzen in Form von Differenzkacheln angewendeten werden, um eine Reihe von Basiskacheln zur Personalisierung des Karteninhalts für einen Benutzer zu ändern. Kartenpräferenzen des Benutzers, Einstellungen oder andere persönliche Kartendaten können auf einem Kartenserver in Form von Differenzkacheln gespeichert (an einen bestimmten Benutzer gebunden oder diesem zugeordnet) werden und somit auf dem Server ohne viel Arbeitsspeicher- oder Speicherplatzbedarf zwischengespeichert werden. In diesem Fall kann die gleiche Reihe von Basiskacheln für eine bestimmte Region an jeden Benutzer gesendeten werden, zusammen mit verschiedenen benutzerspezifizierten oder benutzerspezifischen, auf die Basiskacheln angewendeten Differenzkacheln, um personalisierte Kartendaten zwischenzuspeichern und dem Benutzer zur Verfügung zu stellen. Alternativ können personalisierte Differenzkacheln erstellt und auf Endgeräten, wie Mobiltelefonen, Computer, Laptops, Tablets usw., gespeichert und auf die Basiskacheln angewendet werden, wenn diese Basiskacheln auf dem Client-Gerät, auf dem die Kartenanwendung implementiert ist, empfangen werden.
  • Im Allgemeinen kann das Rendering-System auf dem Client-Gerät die Basis- und Differenzkacheln kombinieren und anschließend die Kombination auf dem Bildschirm der Benutzerschnittstelle auf jede gewünschte Weise darstellen. Jedoch kann das Client-Gerät dieses Rendering in einer Art und Weise ausführen, in der nicht alle, bereits zur Anzeige der Basiskartenkacheln vorbereiteten Daten zur Reduzierung der Render-Vorgänge beim Wechsel von einer Basiskartenansicht (ohne Differenzkacheln) oder von einer anfänglichen, mittels einer Reihe von Differenzkacheln erstellten Kartenansicht zu einer anderen, unter Verwendung anderer Differenzkacheln erstellten Kartenansicht, gelöscht werden. Darüber hinaus wird die Leistung eines die zuvor beschriebene Techniken verwendenden Systems auf allen beschriebenen Ebenen der Architektur verbessert, da Serialisierungsvorgänge auf dem Server, die benötigte Bandbreite und die Übertragungszeit über das Netzwerk sowie die Vorbereitungszeit auf dem Client reduziert werden.
  • Unter erneuter Bezugnahme auf 1, die Kartendatenbank 18A kann eine Reihe von Basiskarten-Datenkacheln 40, die die zu verwendenden Kartendaten für jede der verschiedenen geografischen Regionen jeweils auf einer Anzahl von Zoomstufen definieren, speichern. Die Basiskarten-Datenkacheln 40 können z. B. Kartendaten in einem Vektor-Grafikformat speichern oder beschreiben, könnten aber auch stattdessen Daten in einem Raster-Grafikformat beschreiben. Der Kartenserver oder die Kartensteuereinheit 30 kann eine Reihe von diesen Basiskarten-Datenkacheln 40 anfänglich für das Client-Gerät 14 bereitstellen, wenn das Client-Gerät 14 erstmalig Daten für eine bestimmte geografische Region anfordert. Fordert jedoch das Client-Gerät 14 für eine bestimmte geografische Region eine andere Kartenansicht als die Basiskarte an, kann der Kartenserver 12 zusätzliche Daten von z. B. einem oder mehreren Karten-Services 18B18E empfangen und die dynamische Objektsteuereinheit 32 kann eine Reihe von an das Client-Gerät 14 zu sendenden Differenzkartenkacheln generieren, die die Art und Weise beschreiben, in der Basiskartenkacheln für bestimmte geografische Region zur Erstellung der neuen Kartenansicht geändert werden müssen. In einigen Fällen können die Differenzkartenkacheln erstellt und zusammen mit den Basiskartenkacheln für eine bestimmte geografische Region gesendet werden, wenn das Client-Gerät 14 anfänglich eine andere Kartenansicht anfordert, als die den Basiskartenkacheln zugeordnete Kartenansicht. In anderen Fällen kann der Kartenserver 12 die Differenzkartenkacheln zu einem späteren Zeitpunkt erstellen und senden, z. B. wenn das Client-Gerät 14 eine zusätzliche Kartenansicht für eine bestimmte geografische Region nach der Anforderung und Anzeige der Kartenansicht der Basiskartenkacheln für diese geografische Region anfordert.
  • Somit stellt der Server 12 für eine effizientere Übertragung der Kartengrafiken zwischen einem Server und einem Client eine Reihe von Basiskarten-Datenkacheln in einem Vektorformat für das Client-Gerät 14 bereit. Der Server 12 stellt bei einer Benutzeranforderung zur Anzeige neuer Kartenelemente oder bei sonstigen Änderungen der Kartenansicht auf dem Client-Gerät 14 eine Beschreibung der Unterschiede zwischen den Basiskarten-Datenkacheln und den Kartenkacheln, die der Benutzer derzeit sehen möchte, bereit. So kann beispielsweise der Server 12 spezifizieren, welche Elemente gelöscht bzw. hinzugefügt werden sollen (und die Geometrie der Elemente), die neuen Stile, die für einige der zuvor bereitgestellten Kartenelemente angewendet werden sollen (und welche visuellen Attribute diese Stile verwenden) usw. So generiert der Server 12 Differenzkartenkacheln anstelle neuer Kartenkacheln, die wesentliche Teile der Basiskarten-Datenkacheln, die zuvor für das Client-Gerät 14 bereitgestellt wurden, wiederholen würden.
  • Zum Generieren einer Modifikationsindikation oder einer Differenzkachel kann die dynamische Objektsteuereinheit 32 eine serialisierte Darstellung von Vektordaten, die einem bestimmten Kartenbild oder einer Karte entsprechen, mit einer serialisierten Darstellung der Vektordaten, die dem durch die Basiskarten-Datenkacheln) zur Verfügung gestellten Kartenbild entsprechen, vergleichen. So kann beispielsweise die dynamische Objektsteuereinheit 32 Vektordaten für eine Basiskarte der Region R mit Zoomstufe Z anfordern, und als Reaktion darauf kann der Kartenserver 18A eine Reihe von Vektordeskriptoren V1, V2, V5, ... VN, die eine oder mehrere Basiskarten-Datenkacheln definieren, bereitstellen. Zu anderer Zeit kann die dynamische Objektsteuereinheit 32 Vektordaten für eine ÖPNV-Karte der Region R mit Zoomstufe Z anfordern, und als Reaktion darauf kann der Kartenserver 18 eine Reihe von Vektordeskriptoren V1, V3, ... VL, die die Kartenansicht für die Region R mit ÖVPN-Karteninformationen definieren, bereitstellen. Basierend auf den zwei Reihen von Vektordeskriptoren ermittelt die dynamische Objektsteuereinheit 32, dass für die Region R bei Zoom-Stufe Z (i) sowohl zur Basiskarte als auch zur ÖVPN-Karte ein Kartenelement gehört, das dem Vektordeskriptor V1 entspricht, (ii) die Basiskarte, aber nicht die ÖVPN-Karte, Kartenelemente beinhaltet, die den Vektordeskriptoren V2 und V5, entsprechen, und (iii) die ÖVPN-Karte, aber nicht die Basiskarte, ein Kartenelement beinhaltet, das dem Vektordeskriptor V3 entspricht. Die dynamische Objektsteuereinheit 32 kann eine Modifikationsindikation oder eine Differenzkachel zur Kennzeichnung generieren, dass zur Generierung eines ÖVPN-Kartenbildes mittels zuvor bereitgestellter Vektordaten zum Rendern eines Basiskartenbildes von den Basiskartenkacheln der Vektormodifizierer V3 zu den zuvor bereitgestellten Vektordaten hinzugefügt wurde, während die Vektordeskriptoren V2 und V5 von den zuvor bereitgestellten Vektordaten entfernt werden. Genauer gesagt kann die dynamische Objektsteuereinheit 32 eine Modifikationsindikation oder eine Differenzkachel generieren, die eine oder mehrere Indikationen beinhaltet und eine oder mehrere Indikationen entfernt, von denen jede einen Vorgang (z. B. Hinzufügen, Entfernen) und einen Operanden (z. B. ein Vektordeskriptor, eine Kartenfunktion oder ein Kartenelement) identifizieren kann.
  • Darüber hinaus kann die dynamische Objektsteuereinheit 32 in einigen Ausführungsformen ermitteln, dass beim Generieren des Basiskartenbildes und des zusätzlichen Kartenbildes ein bestimmtes Kartenelement gerendert wird, eine oder mehrere Eigenschaften des Kartenelementes geändert werden müssen, um das Kartenelement beim Rendern des zusätzlichen Kartenbildes wiederzuverwenden. Einige oder alle Kartenelemente können beispielsweise mit jeweiligen Tiefenwerten verbunden werden, die zum Positionieren dieser Kartenelemente im Vergleich zu anderen, teilweise oder vollständig überlappenden Kartenelementen im gleichen Gebiet hinweisend sind. Ein Kartenelement, das ein Straßensegment auswählt und einem Vektordeskriptor Vi entspricht kann beispielsweise noch spezifischer bei einer Tiefe D1 in einer Basiskarten Abbildung wiedergegeben werden aber bei einer Tiefe D2 in einer Transitkarten Abbildung wiedergegeben werden. In diesem Szenario kann die dynamische Objektsteuereinheit 32 eine Modifikationsindikation generieren, die angibt, dass der zuvor auf dem Client-Gerät 14 bereitgestellte zugeordnete Vektordeskriptor Vi bezüglich der Höhe D2 aktualisiert werden muss.
  • Des Weiteren kann die dynamische Objektsteuereinheit 32 neben den Vektordaten Beschriftungsdaten für die hinzugefügten oder geänderten Kartenobjekte als Teil der Modifikationsindikation oder alternativ als eine separate Indikation bereitstellen. Die Beschriftungsdaten können Zeichen in jedem geeigneten Format und in manchen Ausführungsformen Hinweise von Kennungen von Kartenfunktionen oder Gruppen von Kartenfunktionen beinhalten, zu denen die entsprechenden Beschriftungen gehören.
  • In einer weiteren Ausführungsform kann die Kartensteuereinheit 30 und vor allem die dynamische Objektsteuereinheit 32 Differenzkacheln, basierend auf den von einer oder mehreren Services-Datenbanken 18B18E gesendeten Informationen, direkt generieren, ohne diese Informationen mit den Kartendaten innerhalb der Basiskarten-Datenkacheln, die von der Basiskarten-Datenbank 18A bereitgestellt wurden, zu vergleichen. In einigen Fällen können die Karten-Services-Datenbanken 18B18E ÖPNV-Daten, Radwegdaten, Geländedaten und personalisierte Kartendaten (beispielsweise) in Form einer Beschreibung von Differenzen oder Änderungen, die an den Basiskarten-Datenkacheln im Basiskarten-Datenserver 18A vorgenommen werden müssen, bereitstellen, anstatt für eine neu angeforderte Kartenansicht eine vollständige Raster- oder Vektor-Grafikbeschreibung einer Kartenregion bereitzustellen. In diesem Fall kann die dynamische Objektsteuereinheit 32 Differenzkacheln für eine bestimmte geografische Region anhand der von den Karten-Services-Datenbanken 18B18E zur Verfügung gestellten Differenzbeschreibungen generieren, anstatt die Vektor- oder Raster-Grafiken für ganze Kacheln, die mit einer Basiskartenansicht (von der Basiskarten-Datenbank 18A) und einer zusätzlichen Kartenansicht (z. B. einer ÖVPN-Kartenansicht) einer geografischen Region zur Generierung der zu dem Client-Gerät zu senden Differenzkacheln verbunden sind, zu vergleichen.
  • In einigen Ausführungsformen kann die Kartensteuereinheit 30 neben den Vektordaten auch Stildaten bereitstellen, die angeben, wie Vektordaten zu rendern sind. Stildaten können insbesondere solche visuellen Merkmale oder Eigenschaften, wie Linienstärke (z. B. Breite in Pixeln), Linienfarbe, Linienschattierung oder Stil, eine oder mehrere Füllfarben usw., beschreiben. In einer Ausführungsform werden Stildaten für verschiedene, auf Vektordaten anzuwendende visuelle Stile bereitgestellt. Der Kartenserver kann ebenfalls visuelle Stile spezifizieren, die das Client-Gerät auf verschiedene vektorbasierte Beschreibungen von Kartenelementen (hierin ebenfalls als Vektordeskriptoren oder einfach als Vektoren bezeichnet) anwenden soll. Darüber hinaus zeigt der Kartenserver in einigen Ausführungsformen, welcher visueller Stil für eine vektorbasierte Beschreibung eines Kartenelementes für einen bestimmten Kartentyp, wie Gelände, ÖPNV, Verkehr, Radweg usw. angewendet werden soll. Stildaten können ebenfalls als Teil der zwischengespeicherten personalisierten Kartendaten, die verschiedene Stile für verschiedene Benutzer an bestimmten Kartenorten spezifizieren, verwendet und gespeichert werden. Zu diesem Zweck können verschiedene, jeweils durch eine einzigartige Stil-ID identifizierte Stile definiert werden. In einem Fall kann eine Stiltabelle für eine bestimmte Kartenansicht zur Angabe der auf die verschiedenen Linien, Flächen und andere Funktionen für diese Ansicht anzuwendenden Stilwerte erstellt werden. In diesem Fall kann für die Basiskartenansicht jeder Basiskartenkachel eine Stiltabelle oder eine Reihe von Stilen zugeordnet werden, und diese Stiltabelle kann als Teil oder zusammen mit den Basiskartenkacheln zum Client-Gerät gesendeten werden, wenn die Basiskartenkacheln zu einem Client-Gerät gesendet werden. Somit werden Differenzkacheln durch die dynamische Objektsteuereinheit 32 erstellt, in diesem Fall kann eine neue Stiltabelle zur Anwendung auf die Basiskartenkacheln enthalten sein (oder zur Anwendung auf modifizierte Basiskartenkacheln), um auf dem Client-Gerät geänderte oder neue Kartenansichten zu erstellen.
  • Auf jeden Fall kann die Kartensteuereinheit 30 Kartendaten für eine bestimmte geografische Region und für die Zoomstufe in einem Nicht-Raster-Format, wie z. B. als Vektordaten, in einer elektronischen Meldung oder als eine Reihe von elektronischen Meldungen, je nach Ausführungsform, für das Client-Gerät 14 bereitstellen. Im Allgemeinen können diese elektronischen Meldungen eine oder mehrere Kartenkacheln beinhalten. Ferner erzeugt der Kartenregler 30 Kartendaten als eine Reihe von Deskriptoren für Kartenkacheln, sodass jeder Deskriptor für Kartenkacheln eine Kartenkachel, d. h. einen Teil einer Kartenabbildung in einer bestimmten Größe, beschreibt, (z. B., 256 mal 256 Pixel). Die Größe eines geografischen Gebiets, die durch eine einzelne Kartenkachel dargestellt ist, hängt von der Zoomstufe ab, die der Kartenkachel zugeordnet ist, so dass eine einzelne Kartenkachel in einer unteren Zoomstufe ein größeres geografisches Gebiet darstellt als eine einzelne Kartenkachel auf einer höheren Zoomstufe. Der Kartenregler 30 kann jede Beschreibung der Kartenkachel entsprechend einem Grafikformats für Vektoren erzeugen, und ein Client-Gerät, wie beispielsweise ein Client-Gerät 14 in 1 kann lokal ein Rasterbild für jede Kachel erzeugen.
  • Weiter unter Bezug auf 1, das Client-Gerät 14 kann einen Prozessor 50 zum Ausführen von Anweisungen und einen Speicher 52 zum Speichern von Anweisungen und Daten beinhalten. Das Client-Gerät 14 kann auch ein Eingabegerät 54 und ein Ausgabegerät 56 zum Erhalten und von Eingaben von einem Benutzer und zum Bereitstellen von Ausgaben an einen jeweiligen Benutzer beinhalten. Das Eingabegerät 54 kann auch eins oder mehrere einer Tastatur, einer Maus, und eines Touchscreens beinhalten, und das Ausgabegerät 56 kann eine Anzeige oder ein Bildschirmgerät, wie beispielsweise ein Touchscreen oder beispielsweise einen „normalen” (nur Ausgabe) Bildschirm, beinhalten. Das Client-Gerät 14 kann verschiedene Softwarekomponenten wie beispielsweise Treibergeräte, Betriebssystem (Operating System OS) Event-Handler usw. zum Steuern des Eingabegeräts 54 und des Ausgabegeräts 56 beinhalten, um eine interaktive Benutzerschnittstelle zu implementieren. Ferner können Softwareanwendungen, die auf dem Prozessor 50 ausgeführt werden diese Softwarekomponenten benutzen, um eine anwendungsspezifische Benutzerschnittstelle bereitzustellen.
  • Je nach Ausführungsform kann das Client-Gerät 14 ein PC wie einen Desktop-Computer, ein Laptop-Computer oder ein Tablet-PC, eine Workstation, ein tragbares Kommunikationsgerät, wie ein Smartphone oder eine andere geeignete Recheneinheit, sein. In einer Ausführungsform ist das Client-Gerät 14 ein sogenanntes Thin Client, das von einem anderen Computergerät für bestimmte Rechner- oder Speicherfunktionen abhängig ist. In einer solchen Ausführungsform beinhaltet der Arbeitsspeicher 52 beispielsweise nur flüchtige Speicherkraft wie RAM, und ein Programm und/oder eine Speichereinheit mit persistenter Speicherkraft ist außerhalb des Client-Geräts 14. In einer anderen Ausführungsform beinhaltet der Arbeitsspeicher 52 flüchtige und persistente Speicherkomponenten.
  • Eine Browser-Anwendung 60 kann eine Anzahl von der Recheneinheit lesbaren Anweisungen beinhalten, die auf dem Prozessor 50 ausgeführt werden. Im Allgemeinen greift die Browseranwendung 60 auf Webseiten zu, die Inhalte, wie Textbilder, eingebettete Videos usw., und Anweisungen in einer Auszeichnungssprache, wie beispielsweise Hypertext Auszeichnungssprache (Hypertext Markup Language HTML), beinhalten, und gibt Inhalte auf dem Ausgabegerät 56 entsprechend den Anweisungen in der Auszeichnungssprache wieder. Dementsprechend kann die Browseranwendung 60 Funktionen zum Erzeugen und Verarbeiten von Datenpaketen implementieren, die mit einem Hypertext-Übertragungsprotokoll (Hypertext Transfer Protokoll HTTP), dem Analysieren von HTML Inhalten, einer Datenverschlüsselung entsprechend dem Protokoll für Secure Socket Layer (SSL), dem Anfordern und Überprüfen einers digitalen Zertifikats, usw. sowie Funktionen für Benutzerschnittstellen zum Erhalten verschiedener Benutzerkommandos in Bezug auf Navigation, Wiedergabe und Datenmanagement von Webseiten übereinstimmen. In manchen Ausführungsformen ist die Browseranwendung 60 dazu konfiguriert, um Anweisungen in einer Skriptsprache (z. B. Javascript) zu interpretieren, die auf einer Webseite bereitgestellt werden.
  • Eine dynamische Karten-Rendering-Engine 62 kann als ein Bestandteil der Browser-Anwendung 60 ausgeführt werden. In anderen Ausführungsformen kann ein Softwaremodul jedoch ähnlich zu der Maschine zur Kartenwiedergabe 62 als eine einzelne Anwendung oder als eine Komponente einer anderen Anwendung ausgeführt werden. Abhängig von der Ausführungsform kann die dynamische Maschine zur Kartenwiedergabe 62 ein Plug-in sein (z. B. eine Reihe von zusammengestellten Anweisungen, welche die Funktionalität Browseranwendungen 60 erweitert und auf dem Prozessor 50 ausgeführt werden), ein Skript (z. B. eine Reihe von Anweisungen in einer Skriptsprache, die durch eine Browseranwendung 60 während der Laufzeit interpretiert werden), oder eine andere geeignete Softwarekomponente sein. Gemäß eines Beispielszenarios wird die dynamische Maschine zur Kartenwiedergabe 62 heruntergeladen wenn ein Benutzer, der das Client-Gerät 14 bedient, eine Webseite besucht, die eine eingebettete interaktive Karte beinhaltet. Die Webseite kann insbesondere ein erstes Hyperlink zu einem Online-Kartenserver und einem bestimmten geografischen Ort sowie ein zweiten Hyperlink zu einer Kopie einer dynamischen Maschine zur Kartenwiedergabe 62 beinhalten, die zur Wiedergabe von Kartendaten erforderlich ist, welche vom Online-Kartenserver entsprechend zum ersten Hyperlink erhalten wurden.
  • Die dynamische Karten-Rendering-Engine 62 kann interaktive Steuerelemente, beispielsweise über die Benutzeroberfläche der Browser-Anwendung 60, zur Verfügung stellen. Die interaktiven Steuerungselemente können einem Benutzer erlauben, ein geografisches Gebiet oder eine Region, eine Kartenart (z. B. Basis, Verkehr, Transit), eine Zoomstufe usw. auszuwählen. Entsprechend einem Beispielszenario fordert ein Benutzer zuerst eine Basiskarte eines geografischen Gebiets an und fordert dann eine andere Kartenart für das gleiche Gebiet an. Die Maschine zur dynamischen Kartenwiedergabe 62 kann Kartendaten in einem Grafikformat für Vektoren als Antwort auf Benutzerkommandos anfordern und erhalten.
  • Während des Betriebs kann die dynamische Karten-Rendering-Engine 62 Vektordaten (und in einigen Ausführungsformen Stildaten) von dem Kartenserver 12 empfangen, das Bild der entsprechenden Karte anhand der empfangenen Vektordaten rendern und das Kartenbild innerhalb einer durch die Browser-Anwendung 60 bestimmten Region anzeigen. Die Browseranwendung 60 kann beispielsweise ein HTML5 Canvas Element zur Anzeige von Kartenabbildungen erschaffen. Die dynamische Maschine zur Kartenwiedergabe 62 kann vom Kartenserver 12 auch einen Änderungshinweis erhalten, der auf eine oder mehrere Änderungen an den erhaltenen Vektordaten hinweist, um eine andere Kartenabbildung wiederzugeben.
  • Der Einfachheit halber ist das Client-Gerät 14 mit einem einzigen Prozessor 50 dargestellt. Das Client-Gerät 14 kann jedoch in anderen Ausführungsformen zusätzliche Prozessoreinheiten (nicht angezeigt), wie die GPU Grafik Prozessoreinheit (graphics processing unit GPU) beinhalten, die beispielsweise dazu konfiguriert sind, die Bilderwiedergabe auf dem Ausgabegerät 56 zu erleichtern. Ferner kann die Browseranwendung 60 in einer Ausführungsform eine Ansammlung von Grafikfunktionen zum effizienten Erzeugen einer Kartenabbildung benutzen. Der Arbeitsspeicher 52 kann beispielsweise ein Plug-in, wie beispielsweise eine OpenGL® oder Direct3D® Sammlung speichern, die Funktionen zum Wiedergeben von Grafiken mit verschiedenen Anwendungen einschließlich der Browseranwendung 60 auf dem Client 14 haben, die durch Anwendungsprogrammierschnittstelle (application programming interface API) Zugriff haben. In einer anderen Ausführungsform speichert der Arbeitsspeicher 52 ein Plug-in, das für Browseranwendungen, wie beispielsweise WebGL, besonders geeignet ist. In einer anderen Ausführungsform speichert der Arbeitsspeicher 52 auch zusätzliche Softwarekomponenten, die eine effiziente Wiedergabe von Bildern über das Ausgabegerät 56 erleichtern. Der Arbeitsspeicher 52 kann beispielsweise ein Adobe® Flash® Plug-in oder ein 03D Plug-in speichern.
  • Es wird darauf hingewiesen, dass die dynamische Karten-Rendering-Engine 62 im Allgemeinen in jeder geeigneten Anwendung arbeiten kann. Das Client-Gerät 15 kann beispielsweise ein tragbares Gerät, wie ein Smartphone, sein, in dem die dynamische Karten-Rendering-Engine 62 in einer Kartenanwendung 74 ausgeführt wird. Ähnlich zu der Browseranwendung 60 kann die Kartenanwendung 74 eine Reihe von Anwendungen beinhalten, die in einem Speicher 72 gespeichert sind und auf einer oder mehreren Prozessoren auf dem Client-Gerät 70 (nicht angezeigt) ausgeführt werden. In manchen Implementierungen benutzt die Kartenanwendung 74 Netzwerkfunktionen, die durch eine Browseranwendung bereitgestellt wurden, die auf einem Client-Gerät 70 ausführbar sind (beispielsweise über eine entsprechende API). In einer anderen Implementierung beinhaltet die Kartenanwendung 74 zumindest eine teilweise Browser-Funktionalität, wie z. B. den Kommunikations-Stack, der TCP, IP, HTTP usw. für den Zugriff auf den Kartenserver 12 unterstützt.
  • Zur besseren Veranschaulichung der Funktion eines Kartenservers und eines Client-Gerätes im System von 1 oder einem ähnlichen Umfeld sind mehrere Szenarien unter Bezugnahme auf die in 26 dargestellten Diagramme zu berücksichtigen. Insbesondere wird ein exemplarischer Informationsaustausch zwischen einem Kartenserver und einem Client-Gerät zur Darstellung von zwei verschiedenen Kartenbildern für eine bestimmte geografische Region unter Bezugnahme auf 2 erläutert, gefolgt von einer Erläuterung mehrerer Szenarien, einschließlich der Bereitstellung einer Reihe von Differenzkartenkacheln zum Rendern zusätzlicher Kartenelemente bzw. zum Löschen von Elementen aus einer Basiskartenansicht auf einer 1:1-Basis bei einer Reihe von Basiskartenkacheln (3), Bereitstellung einer einzigen Differenzkartenkachel zur Modifizierung der Höhe, mit der eine Kartenfunktion oder ein Element in einer Reihe von Basiskartenkacheln gerendert wird (4), Bereitstellung einer oder mehrerer Differenzkartenkacheln, die neue Stiltabellen für eine Reihe von Basiskartenkacheln enthalten (5), und Bereitstellung einer zweiten Reihe von Differenzkacheln einer Kartenansicht für einen Wechsel von einer Art der Kartenansicht zu einer anderen Art der Kartenansicht unter Verwendung der gleichen Reihe von Basiskartenkacheln (6).
  • Unter Bezugnahme auf 2, ein exemplarischer Meldungsaustausch 100 beinhaltet eine Benutzeroberfläche 102 als Bestandteil des Client-Gerätes oder ist in sonstiger Weise mit diesem verbunden (z. B. das Client-Gerät 14 von 1), eine in dem Client-Gerät ausgeführte dynamische Karten-Rendering-Engine 104 und einen Server 106 (z. B. der Kartenserver 12 von 1). Zurückverweisend auf 1, kann die Benutzerschnittstelle durch einen Browser 60 bereitgestellt werden, während die dynamische Maschine zur Kartenwiedergabe 104 und der Server 106 in den jeweiligen Komponenten 62 und 12 implementiert werden können. Als Reaktion auf einen Benutzerbefehl kann die Benutzerschnittstelle 102 eine Anforderung 110 für grundlegende oder Basiskartendaten für eine bestimmte Region R1 generieren und die Anforderung an die dynamische Karten-Rendering-Engine 104 senden. Die Anfrage 110 kann als eine elektronische interne Nachricht an das Client-Gerät übertragen werden, in der beispielsweise die Komponenten 102 und 104 implementiert werden. Die dynamische Karten-Rendering-Engine 104 kann wiederum eine Anforderung 112 für eine Reihe von Basiskartendaten in Form einer Reihe von Basiskartenkacheln, die die Region R1 abdecken, generieren, wobei die Anforderung über ein Kommunikationsnetzwerk an den Server 106 gesendet wird. Die Anforderung 112 kann die Region R1 mit GPS(Global Positioning Service)-Koordinaten oder auf andere geeignete Weise spezifizieren. Darüber hinaus kann die Anforderung 112 eine Kartentypindikation enthalten, um zu spezifizieren, dass die Kartendaten zum Rendern einer Basiskarte oder einer Basiskartenansicht, die Zoomstufe der Karte usw. angefordert werden. Des Weiteren kann in einigen Ausführungsformen die Anforderung 102 angeben, ob vektorbasierte Kartendaten, wie die Basiskartenkacheln, die Region R1, die die Komponenten 102 und 104 implementieren, bereits auf dem Client-Gerät verfügbar sind.
  • Als Reaktion auf die Anforderung 112 kann der Server 106 eine Antwort 114 generieren, die Kartendaten in einem Nicht-Raster-Format, wie z. B. einem Vektor-Grafikformat, zum Rendern eines Basiskartenbildes enthält. Entsprechend einem exemplarischen Szenario beinhaltet die Antwort 114 eine vektorbasierte Beschreibung des Basiskartenbildes für die Region R1, das nicht auf zuvor bereitgestellten Vektordaten beruht und im Besonderen in der Form einer Reihe von Basiskarten-Datenkacheln für die Region R1 sein kann, wie diese in der Basiskarten-Datenbank 18A von 1 gespeichert ist. Mit anderen Worten, die Antwort 114 beinhaltet eine vollständige Beschreibung des Basiskartenbildes für die Region R1 in Form einer Reihe von einer oder mehreren Basiskartenkacheln und deren zugehörige Stiltabellen. Die Antwort 114 kann Kartendaten beinhalten, die in jeder geeigneten Weise organisiert sind, wie in einem oder mehreren Kacheldeskriptoren T1, T2, ... TN. Im Allgemeinen können Kartendaten für jede Anzahl von Kacheln, einschließlich einer einzelnen Kachel, bereitgestellt werden. Für jede Kachel kann die Antwort 112 verschiedene Objekte F1, F2, usw. beschreiben, von denen jedes mit einem oder mehreren Vektordeskriptoren, entsprechend einem geeigneten Vektor-Grafikformat, spezifiziert werden kann (wie zuvor erwähnt, kann ein Objekt einem einzelnen Kartenelement oder einer Gruppe von Kartenelementen zugeordnet werden). Funktionen können einem einzelnen Kartenelement, wie beispielsweise einem Gebäude oder unübersichtlichen Gruppierungen von Kartenelementen, entsprechen. In manchen Ausführungsformen kann die Antwort 114 einzigartige Kennungen für die Kartenfunktionen zum Benutzen bei einer zukünftigen Identifizierung bereitstellen. In einigen Ausführungsformen enthält die Antwort 114 zusätzlich Stildaten, die verschiedene visuelle Attribute von Kartenelementen in Form von einer oder mehreren Stiltabellen spezifiziert. Insbesondere kann mit jeder Kartendatenkachel eine Stiltabelle oder eine einzelne Stiltabelle kann übertragen werden, um für alle, als Teil der Antwort auf die Anforderung 112 der Karte für die Region R1 versendeten Basiskarten-Datenkacheln verwendet zu werden.
  • Die dynamische Karten-Rendering-Engine 104 kann das Basiskartenbild mit den Basiskartenkacheln T1–TN und der hiermit verbundenen Stiltabelle rendern (wie z. B. eine Basiskarten-Stiltabelle), das Basiskartenbild für die Benutzeroberfläche 102 bereitstellen, wie dies durch die Meldung 116 angezeigt wird, ein entsprechendes Ereignis generieren und die empfangenen Basiskartenkacheln (und sofern verfügbar auch die Stildaten) in einem Speicher zur zukünftigen Verwendung ablegen. In einer Ausführungsform speichert die dynamische Karten-Rendering-Engine 104 zusätzlich eine Indikation dafür, dass sich die Kartendaten auf eine Basiskarte beziehen.
  • Im Szenario in 2 beschließt der Benutzer später, den auf der Benutzeroberfläche 102 angezeigten Kartentyp von der Basiskartenansicht oder dem Bild in ein ÖVPN-Kartenbild oder eine ÖVPN-Kartenansicht für die gleiche Region R1, ohne Änderung der geografischen Koordinaten, zu ändern und aktiviert das entsprechende Steuerelement über die Benutzeroberfläche 102. Als Reaktion darauf generiert die Benutzeroberfläche 102 eine Anforderung 120 für eine ÖVPN-Kartenansicht und leitet die Anforderung 120 zur dynamischen Karten-Rendering-Engine 104 weiter, wodurch wiederum eine Indikation oder Anforderung 121 an den Server 106 bereitgestellt wird, dass ein anderes Kartenbild auf dem Client-Gerät wiedergegeben werden soll. In einer Ausführungsform ist der Hinweis 121, ähnlich zur Anfrage 112, eine Anfrage bezüglich Daten für Transitkarten. In einer weiteren Ausführungsform fordert die Indikation 121 speziell Modifikationsdaten zur Modifizierung der zuvor bereitgestellten Kartendaten an, um ein ÖVPN-Kartenbild zu rendern und kann angeben, dass das Client-Gerät bereits über die erforderlichen Basiskartenkacheln für die ÖVPN-Kartenansicht der Region verfügt oder dass diese in diesem gespeichert sind. Der dynamischen Rendering-Engine 104 kann jedoch bekannt sein, dass diese bereits die Basiskartenkacheln für die gewünschte Region R1 speichert und einfach eine Reihe von Differenzkacheln für die ÖVPN-Kartenansicht dieser Region anfordern.
  • Als Reaktion darauf erstellt und stellt der Server 106 eine Reihe von einem oder mehreren Differenzkartenkacheln (ΔKachel 1 bis Δ Kachel N) auf dem Client-Gerät als eine Reihe von elektronischen Meldungen 122 1 ... 122 N (wie in 2 dargestellt) oder als eine einzelne Meldung bereit. Jede der Differenzkartenkacheln in den Meldungen 122 1 ... 122 N kann eine oder mehrere Indikationen, wie die Vektordaten für die entsprechenden Basiskartenkacheln T1 ..., enthalten. TN, verändert werden sollen. In einigen Szenarien werden jedoch nur einige der in der Antwort 114 beschriebenen Basiskartenkacheln T1 ... TN geändert, und in diesem Fall müssen nur die Differenzkacheln (Kachel Δ) für diese Basiskacheln als Teil der Meldungen 122 1 ... gesendet werden. 122 N. So kann beispielsweise eine Kartenkachel ein Gewässer zeigen, das möglicherweise das gleiche Aussehen besitzt, wie jenes, das als Teil einer Basiskarte oder als Teil einer ÖVPN-Karte angezeigt wird und somit muss keine Differenzkachel für die dieses Gewässer zeigende Basiskarten-Datenkachel(n) generiert oder gesendet werden.
  • Für jede zu ändernde Basiskartenkachel kann die Meldung 122 i einen oder mehrere Modifikationsdeskriptoren M1, M2 ... MM bereitstellen. Im Allgemeinen kann ein Modifikationsdeskriptor einen Vektordeskriptor für ein zu einer zuvor bereitgestellten Basiskarten-Datenkachel hinzuzufügendes Kartenelement spezifizieren, ein in den zuvor bereitgestellten Kartendatenkachel zu entfernendes Kartenelement identifizieren, einen neuen Wert für eine Eigenschaft eines in der zuvor bereitgestellten Basiskarten-Datenkacheln vorhandenen Kartenelementes spezifizieren usw. und kann den auszuführenden Vorgang spezifizieren (z. B. eines Hinzufüge-, Lösch- oder stilistischen Neuausrichtungsvorgang). In einer Ausführungsform kann jeder der Modifizierungsdeskriptoren M1, M2 ... MM die auszuführende Operation, wie beispielsweise das Hinzufügen, Entfernen, Ändern, Ändern der Tiefe usw., und beinhaltet auch eine oder mehrere Operanden oder Parameter, wie beispielsweise einen Vektordeskriptor für eine Kartenfunktion oder ein Kartenelement, der hinzugefügt wird, eine Kennung einer Kartenfunktion oder ein Kartenelement, das entfernt werden soll usw.
  • Nach Empfang der Meldungen 122 1 ... 122 N und den mit diesen verbundenen Differenzkartenkacheln (Δ Kachel i) rendert die dynamische Karten-Render-Engine 104 die Kacheln für das angeforderte ÖVPN-Kartenbild mittels einiger oder aller in der Antwort 114 enthaltenen Vektordaten (d. h. die Basiskarten-Datenkacheln) und die als Teil der Differenzkartenkacheln vorhandenen Modifikationsindikationen in den Meldungen 122 1 ... 122 N. Insbesondere kann die dynamische Maschine zur Kartenwiedergabe 104 die vorher bereitgestellten Vektordeskriptoren interpretieren, die entsprechend den Nachrichten 122 1 ... 122 N verändert wurden, um eine Transitkarten Abbildung wiederzugeben und ein Event 126 zu erzeugen, das herbeiführt, dass die Transitkarten Abbildung über die Benutzerschnittstelle 102 wiedergegeben wird. Die dynamische Maschine zur Kartenwiedergabe 104 kann auch die veränderten Kartendaten im Arbeitsspeicher speichern. In der Regel speichert die dynamische Karten-Rendering-Engine 104 die ursprünglich bereitgestellten Basiskarten-Datenkacheln und die geänderten Kartendatenkacheln.
  • Während das exemplarische Meldungsaustauschdiagramm 100 der 2 die Übertragung der Basis- und Differenzkartenkacheln als Antwort auf separate Meldungen oder Anforderungen von dem Client-Gerät illustriert, können die Basis- und Differenzkartenkacheln vom Server 106 an die dynamische Karten-Rendering-Engine 104 des Client-Gerätes als Reaktion auf eine Kartenanforderung einer einzelnen Kartenansicht gesendet werden. Würde beispielsweise die ursprüngliche Anforderung 110 von 2 nach der ÖVPN-Kartenansicht für eine geografische Region, für die das Client-Gerät hatte noch keine Reihe von Basiskartenkacheln empfangen und gespeichert hat, lauten, würde der Server 106 auf die Anforderung reagieren, indem dieser die mit der geografischen Region verbundenen Basis- und Differenzkartenkacheln für die ÖVPN-Kartenansicht senden würde.
  • Als ein weiteres Beispiel kann das Client-Gerät eine Anforderung von Kartendaten an den Server auf eine Weise senden, die ein personalisiertes Rendern der digitalen Karte auf der Benutzeroberfläche mittels der z. B. in den Kartendatenbank-Services 18E von 1 gespeicherten personalisierten Kartendaten ermöglicht. Hier kann der Server den Benutzer oder das Client-Gerät (Benutzeranmeldung, Geräte-ID usw.) als jemanden/etwas erkennen, der/das über personalisierte Daten (Einstellungen, Stile, hinzugefügten Daten, Standard-Kartenansichten usw.) verfügt und eine oder mehrere Differenzkacheln generieren, die eine personalisierte Kartenanzeige für den Benutzer mittels der Standard-Basiskacheln für eine geografische Region implementieren. Der Server kann dann sowohl die Basiskarten-Datenkacheln als auch die personalisierten Differenzkacheln (entweder zusammen oder getrennt) für die Region senden, was dem Client-Gerät ermöglicht, eine personalisierte Karte für die Region, entsprechend der hierin erläuterten Beschreibung, zu rendern. In einigen Fällen können die personalisierten Differenzkacheln mit den Differenzkacheln für andere Kartenansichten identisch sein, wenn beispielsweise eine personalisierte Kartenpräferenz die Verwendung einer bestimmten Kartenansicht (z. B. eine ÖVPN-Kartenansicht) als Standard-Kartenansicht angibt. Personalisierte Differenzkacheln können, basierend auf den gespeicherten personalisierten Einstellungen für den Benutzer, für bestimmte Kartenregionen erstellt oder auf eine oder alle Kartenregionen angewendet werden. In einigen Fällen kann das Client-Gerät die persönlichen Präferenzen speichern und Indikationen dieser Einstellungen an den Server senden, der diese Präferenzen dann zur Generierung von Differenzkacheln verarbeiten kann, die, wenn diese auf die Basiskartenkacheln auf dem Client-Gerät angewendet werden, die personalisierte Kartenansicht auf dem Client-Gerät erstellen.
  • Während eines exemplarischen Meldungsaustauschs 150 in 3 stellt der Kartenserver 106 Differenzkartenkacheln, einschließlich der zu den Kartenobjekten hinzufügenden Vektordeskriptoren bzw. der von einer Reihe von Basiskartenkacheln zu löschenden Vektordeskriptoren, für die dynamische Karten-Rendering-Engine 104 über entsprechende Meldungen 152 1 ... 152 N bereit. In diesem Fall wird eine Differenzkartenkachel auf einer 1:1-Basis für jede zu ändernde oder in irgendeiner Weise zu modifizierende Basiskartenkachel gesendet. Die in den Differenzkartenkacheln spezifizierten Kartenobjektvorgängen werden auf einige oder alle zuvor bereitgestellte Basiskarten-Datenkacheln zum Rendern eines neuen Kartenbildes auf dem Client-Gerät, auf dem die Benutzeroberfläche 102 und die dynamische Karten-Rendering-Engine 104 implementiert sind, ausgeführt. In diesem Fall können die Differenzkartenkacheln in den Meldungen 152 1 ... 152 n Hinzufügungen zu einer Reihe von Basiskarten-Datenkacheln oder Löschungen aus der zuvor für das Client-Gerät bereitgestellten Reihe von Basiskarten-Datenkacheln sein, und jede der Differenzkartenkacheln innerhalb jeder der Meldungen 152 1 ... 152 n kann nur mit einer einzigen Basiskartenkachel verbunden werden, um die in den Vektor-Grafikdaten vorhandenen Differenzen oder die vorzunehmenden Änderungen innerhalb dieser Basiskartenkachel zu definieren.
  • In jedem Fall kann jede der Differenzkacheln innerhalb der Meldung 152 1 ... 152 N eine Beschreibung eines Kartenobjektes, in einem Vektor-Grafikformat oder in einem anderen geeigneten Nicht-Raster-Format, mit einem oder mehreren Kartenelementen beinhalten. Eine Meldung 152 kann beispielsweise ebenfalls eine Höhen- oder Ebenenanzeige enthalten, die angibt, wie das entsprechende Kartenobjekt im Verhältnis zu einem anderen, an der gleichen Stelle angeordneten Kartenobjekt oder -element gerendert wird. Ist beispielsweise ein neues Kartenobjekt, das über eine der Differenzkacheln in den Meldungen 152 1 ... 152 N hinzugefügt wird, ein Segment von Eisenbahnschienen, und beinhaltet die zuvor bereitgestellte Basiskachel ein Kartenobjekt, das ein Segment einer Straße ist. Abhängig von den jeweiligen Tiefenhinweisen der neuen Kartenfunktion und der vorher bereitgestellten Kartenfunktion kann der Abschnitt des Zuggleises über oder unter dem Straßensegment an dem Punkt wiedergegeben werden, an dem sich die Zuggleise und die Straße kreuzen.
  • Nach Empfang der Differenzkartenkacheln in den Meldungen 152 1 ... 152 N, kann die dynamische Maschine zur Kartenwiedergabe 104 eine neue Kartenabbildung wiedergeben und ein Event 156 erzeugen, um herbeizuführen, dass die neue Kartenabbildung an der Benutzerschnittstelle 102 angezeigt wird. In einer Ausführungsform speichert die dynamische Karten-Rendering-Engine 104 ebenfalls die erweiterten Kartendaten in einem Speicher als eine neue Version des Kartenmaterials, während diese weiterhin die ursprünglichen Basiskarten-Datenkacheln und die Differenzkartenkacheln für die angezeigte Kartenansicht speichert.
  • Unter Bezugnahme auf 4, ein exemplarischer Meldungsaustausch 200 kann auftreten, wenn der Server 106 ermittelt, dass ein in zuvor bereitgestellten Kartendaten vorhandenes bestimmtes Kartenobjekt in einem neuen Kartenbild oder in einer neuen Kartenansicht mit einer neuen Höhe oder mit einigen anderen Objektänderungen gerendert wird. Der Server 106 kann eine Modifikationsindikation 202 in Form einer einzigen Differenzkartenkachel generieren, die für ein oder mehrere, durch einen einzigartigen Objektidentifikator gekennzeichnete(s) Kartenobjekt(e) angibt, dass eine Änderung Informationen über beispielsweise die neue Höhe enthält, mit der Kartenobjekte für eine oder mehreren Basiskarten-Datenkacheln gerendert und an die dynamische Karten-Rendering-Engine 104 übertragen werden müssen. In einer weiteren Ausführungsform zeigt die in der Meldung 202 gesendete Differenzkartenkachel neue Höhenwerte für mehrere Kartenobjekte oder -elemente, die sich möglicherweise auf der gleichen oder auf verschiedenen Basiskartenkacheln befinden können. Somit können in diesem Beispiel einer einzigen Differenzkachel mehrere Basiskacheln zugeordnet werden. Nach Erhalt der Modifikationsindikationen als Teil der in der Meldung 202 gesendeten Differenzkachel kann die dynamische Karten-Rendering-Engine 104 ein neues Kartenbild im Hinblick auf die Änderung und die Basiskartenkacheln rendern und ein Ereignis 204 generieren, das zur Darstellung eines neuen Kartenbildes auf der Benutzeroberfläche 102 führt.
  • Darüber hinaus kann ein exemplarischer Meldungsaustausch 250 von 5 erfolgen, wenn der Server 106 ermittelt, dass bestimmte Kartenobjekte in zuvor bereitgestellten Kartendaten mit verschiedenen Stilen, wie die Verwendung verschiedener Farben, verschiedener Linienbreiten, unterschiedlicher Dicke oder anderen Arten von Stileigenschaften gerendert werden soll. In diesem Fall kann der Server 106 eine einzelne Modifikationsindikation 252 in Form einer einzigen Differenzkartenkachel, die eine neue Stiltabelle enthält oder die eine neue Indikation der Stile, die bereits für eine oder mehrere der Basiskartenkacheln auf dem Client-Gerät angewendet werden, generieren und an die dynamische Karten-Rendering-Engine 104 senden. In einer weiteren Ausführungsform kann der Server 106 eine Vielzahl von Differenzkartenkacheln senden, jeweils einschließlich einer neuen Reihe von Stildaten oder einer neuen Stiltabelle für eine entsprechende, sich bereits auf dem Client-Gerät befindende Basiskarten-Datenkacheln, um eine Stiländerung auf dem Client-Gerät zu beeinflussen. Nach Empfang der Modifikationsindikation 252 in Form einer Differenzkartenkachel mit einer neuen Stiltabelle oder Änderungen an einer Stiltabelle kann die dynamische Karten-Rendering-Engine 104 ein neues Kartenbild mit den Basiskarten-Datenkacheln und der/den neuen Stiltabelle(n) in der/den Differenzkacheln rendern und ein Ereignis 254 generieren, damit das neue Kartenbild auf der Benutzeroberfläche 102 dargestellt wird.
  • 6 zeigt einen exemplarischen Meldungsaustausch 300, in dem der Server 106 Modifikationsdaten in Form von Differenzkartenkacheln für die dynamische Karten-Rendering-Engine 104 zur Modifizierung eines auf dem Client-Gerät angezeigten Kartenbildes auf eine neue Kartenansicht für eine Region R1 bereitstellt, wenn die derzeit angezeigte Kartenansicht bereits eine geänderte Kartenansicht ist, z. B. eine, die von der Basiskartenansicht mit einer Reihe zugehöriger Basiskartenkacheln geändert wurde. So kann beispielsweise der Meldungsaustausch 300 von 6 am Ende des Meldungsaustauschs 100 von 2 auftreten, wenn der Benutzer des Client-Gerätes die Anzeige einer Radwegkartenansicht der Kartenregion auswählt und das Client-Gerät derzeit die ÖVPN-Kartenansicht für die Region darstellt. In diesem Fall kann der Benutzer die Anzeige einer Radwegkartenansicht anstelle der ÖVPN-Kartenansicht für die Kartenregion R1 wählen. Hier aktiviert der Benutzer das entsprechende Steuerelement über die Benutzeroberfläche 102 zur Anzeige der Radwegkartenansicht. Als Reaktion darauf generiert die Benutzeroberfläche 102 eine Anforderung 302 für eine Radwegkartenansicht und leitet die Anforderung 302 an die dynamische Karten-Rendering-Engine 104 weiter, wodurch wiederum eine Indikation oder Anforderung 304 an den Server 106 bereitgestellt wird, dass ein anderes Kartenbild auf dem Client-Gerät gerendert werden muss. Die Indikation 304 kann eine Anforderung für Radwegkartendaten sein und spezifizieren, dass die Basiskartenkacheln bereits auf dem Client-Gerät zur Verfügung stehen. Alternativ kann der dynamischen Karten-Rendering-Engine 104 bekannt sein, dass die Basiskartenkacheln für die gewünschte Region bereits im Speicher abgelegt sind und nur die Differenzkartenkacheln für die Radwegkartenansicht für diese Region anfordern.
  • Als Reaktion darauf stellt der Server 106 eine Reihe von einer oder mehreren Differenzkartenkacheln dem Client-Gerät als eine Reihe von elektronischen Meldungen 306 1 ... 306 N (wie in 6 dargestellt) oder als eine einzelne Meldung bereit. Jede der Differenzkacheln innerhalb der Meldung 306 1 ... 306 N kann eine oder mehrere Indikationen beinhalten, wie die Vektordaten für die entsprechenden Basiskartenkacheln T1 ... TN zu ändern sind. In einigen Szenarien müssen jedoch nur einige der zuvor an das Client-Gerät gesendeten Kacheln T1 ... TN geändert werden, und in diesen Fällen müssen nur Differenzkartenkacheln für diese Kacheln an das Client-Gerät gesendet werden.
  • Für jede zu ändernde Kachel kann eine Differenzkachel in der Meldung 306 i einen oder mehrere Modifikationsdeskriptoren M1, M2 ... MM, bereitstellen, die einen Vektordeskriptor für hinzuzufügende Kartenelemente von zuvor bereitgestellten Basiskarten-Datenkacheln spezifizieren kann, ein in den zuvor bereitgestellten Kartenkacheln zu entfernendes Kartenelement identifizieren, einen neuen Wert für eine Eigenschaft eines in den zuvor bereitgestellten Basiskartenkacheln vorhandenen Kartenelementes spezifizieren, eine neue Reihe von Stildaten oder eine Stiltabelle spezifizieren usw.
  • Nach Empfang der Differenzkartenkacheln in den Meldungen 306 1 ... 306 N rendert die dynamische Karten-Render-Engine 104 die Kacheln für das angeforderte Radwegkartenbild mittels einiger oder aller in der Antwort 114 enthaltenen Vektordaten (d. h. die Basiskarten-Datenkacheln) von 2 und die als Teil der Differenzkartenkacheln vorhandenen Modifikationsindikationen in den Meldungen 306 1 ... 306 N. Genauer gesagt kann die dynamische Karten-Rendering-Engine 104 die zuvor angegebenen Vektordeskriptoren interpretieren, die entsprechend den Meldungen 306 1 ... 306 N für das Rendern des Raster-Radwegbildes modifiziert wurden und ein Ereignis zum Rendern des Radwegkartenbildes zur Ansicht über die Benutzeroberfläche 102 generieren. Die dynamische Maschine zur Kartenwiedergabe 104 kann auch die veränderten Kartendaten im Arbeitsspeicher speichern. Im Allgemeinen speichert die dynamische Karten-Rendering-Engine 104 weiterhin sowohl die ursprünglich bereitgestellten Basiskarten-Datenkacheln als auch die geänderten Kartendatenkacheln für die Radwegansicht, kann aber auch, je nach Vorzug, die Differenzkacheln für die ÖVPN-Kartenansicht löschen oder nicht speichern.
  • Als Nächstes können mehrere exemplarische Verfahren in der im System verwendeten Recheneinheit von 1 oder einem ähnlichen Umfeld implementiert werden und diese werden unter Bezugnahme auf 79 erläutert. Diese Verfahren können als Computerprogramme implementiert werden, die in jeder geeigneten Programmsprache entwickelt und auf dem greifbaren nicht vorübergehenden computerlesbaren Medium gespeichert (wie beispielsweise ein oder mehrere Festplattenlaufwerke) und auf einem oder mehreren Prozessoren ausführbar sind. Die Verfahren von 7 und 8 können beispielsweise im Kartenserver 12 implementiert werden, und das Verfahren von 9 kann in einem Client-Gerät 14 implementiert werden. Obwohl die Verfahren von 79 auf einem einzelnen Computer, wie beispielsweise auf einem Server oder persönliche Computer (personal computer, PC) ausgeführt werden können, ist es auch möglich, dass zumindest einige dieser Verfahren auf eine verteilte Weise mithilfe mehrerer Computer, wie beispielsweise in einer Cloud-Computing Umgebung, implementiert werden.
  • Unter Bezugnahme auf 7, ein exemplarisches Verfahren 350 kann zur Generierung von Kartendaten für mehrere Kartenbilder in z. B. der Kartensteuereinheit 30 des Kartenservers 12 oder einer ähnlichen Komponente des Servers 106 implementiert werden. Entsprechend einer Ausführungsform werden die Vektordeskriptoren zum Rendern eines ersten Bildes der Karte für eine bestimmte Region bei Block 352 als eine Reihe von Basiskartenkacheln generiert. Die Vektordeskriptoren oder Basiskartenkacheln können einem Vektor-Grafikformat entsprechen und beschreiben die jeweiligen Kartenelemente. In einigen Ausführungsformen können die Vektordeskriptoren in entsprechende Kartenfunktionen eingruppiert werden, wovon jede eine oder mehrere Kartenelemente beinhaltet. Darüber hinaus können in einigen Ausführungsformen Vektordeskriptoren teilweise als Raster-Kartendaten bereitgestellt werden, die ebenfalls Stildaten beispielsweise in Form einer Stiltabelle zum effizienten Rendern und Neu-Rendern von Vektordaten, textbasierten Beschriftungsdaten, Ikonen oder Symbole, wie Straßenschilder usw., beinhalten.
  • Als Nächstes werden bei Block 354 die Basiskartenkacheln für ein Client-Gerät als eine oder mehrere Meldungen bereitgestellt. Bei Block 356 wird eine Anforderung für Daten zum Rendern eines zweiten Kartenbildes für die gleiche Region empfangen. In einigen Szenarien wird die Anfrage als Antwort dazu übertragen, dass der Benutzer eine unterschiedliche Kartenart am Client-Gerät auswählt, was beispielsweise im interaktiven Diagramm in 2 angezeigt wird. Eine Modifikationsindikation in Form einer Reihe von Differenzkartenkacheln, von denen jede eine Beschreibung einer oder mehrerer Modifikationen für zuvor bereitgestellte Basiskartenkacheln beinhaltet, wird bei Block 358 generiert und für das Client-Gerät bei Block 360 bereitgestellt. Während die Anforderung einer neuen Kartenansicht 356 als Empfangen signalisiert wird, nachdem die Basiskartenkacheln für die Region der erforderlichen Kartenansicht an das Client-Gerät gesendet wurden, könnte diese Anforderung ebenfalls empfangen werden, bevor die Basiskartenkacheln an das Client-Gerät gesendet werden, sodass sowohl die Basiskartenkacheln (Block 354) als auch die Differenzkartenkacheln (360) für die Region als Reaktion auf die gleiche Kartenbildanforderung auf dem Client-Gerät empfangen werden.
  • In einem anderen Szenario wird die in Block 356 empfangene Anforderung als Reaktion auf die Benutzerauswahl einer neuen Zoomstufe, bei der das der gleichen Region entsprechende Kartenbild und der gleiche Kartentyp gerendert werden sollen, gesendet. So können beispielsweise die bei Block 352 erzeugten Vektordeskriptoren mehrere Kacheln einer Basiskartenart für eine geografische Region R bei Zoomstufe Z1 beschreiben. Nachdem der Benutzer die Zoomstufe Z2 wählt und eine entsprechende Datenanforderung bei Block 356 erzeugt wird, kann eine Modifikationsindikation oder können Differenzkartenkacheln generiert und bei den Blöcken 358 respektive 360 dem Client-Gerät zur Verfügung gestellt werden. Das Client-Gerät kann zuvor bereitgestellte Vektordeskriptoren im Einklang mit den Differenzkartenkacheln hinzufügen, entfernen oder ändern sowie einige oder alle der Vektordeskriptoren zum Rendern der entsprechenden Kartenelemente in die Zoomstufe Z2 neu skalieren. Als ein spezifischeres Beispiel: Die bei Block 354 zur Verfügung gestellten Vektordeskriptoren beinhalten eine vektorbasierte Beschreibung eines Parks mit Zoomstufe Z1 und die gleiche vektorbasierte Beschreibung des Parks kann zum Neu-Rendern des Parks mit Zoomstufe Z2 als Teil des geänderten Kartenbildes verwendet werden.
  • 8 zeigt ein exemplarisches Verfahren 400 zum Generieren einer Differenzkartenkachel für zuvor bereitgestellte Kartendaten, das in der Kartensteuereinheit 30 des Kartenservers 12 oder einer ähnlichen Komponente von z. B. Server 106 implementiert werden kann. In einer Ausführungsform werden zumindest einige der Verfahrensschritte 400 bei den Blöcken 356360 des oben erläuterten Verfahrens 350 ausgeführt.
  • Bei Block 402 wird eine Indikation empfangen, dass ein Kartenbild aktualisiert oder an das Client-Gerät gesendet werden soll. Hinzufügungen zu den zuvor bereitgestellten Vektordeskriptoren in Form von Basiskartenkacheln werden identifiziert und die entsprechenden Beschreibungen bei Block 404 generiert. Bei Block 406 werden Löschungen von einigen der zuvor bereitgestellten Vektordeskriptoren identifiziert und die entsprechenden Beschreibungen der Modifikationen generiert. Wie oben erläutert werden Änderungen bestimmter Kartenfunktionen in einigen Szenarien entfernt und Ergänzungen für einige der Teilfunktionen dargestellt. In einigen Fällen können diese Differenzbeschreibungen durch den Vergleich der Vektor- oder Raster-Grafikdaten der Reihe der Basiskartenkacheln mit den neuen Kartenkacheln der neuen Kartenansicht zum Generieren der Differenzen oder Meldungen, die von den die verschiedenen anderen Daten für die neue Ansicht speichernden Datenbanken, wie die Datenbanken 18B18D von 1, gesendet wurden, verwendet werden. In jedem Fall werden die Modifikationsindikationen, wie z. B. eine Beschreibung der Änderungen an den Vektordaten (z. B. Veränderung der Höhen- oder Ebenenangaben, Beschriftungen usw.), generiert und bei Block 408 zusammengestellt. Bei Block 410 kann ebenfalls eine neue Stiltabelle für jede Reihe der Kartenelemente erstellt werden, um die Objekte der Basiskartenkacheln mittels verschiedener Stileigenschaften zu rendern. Anschließend wird bei Block 412 eine Reihe von Differenzkartenkacheln erstellt, die die Hinzufügungen, Löschungen, Änderungen und auf die Basiskartenkacheln beim Rendern des neuen Kartenansichtbildes oder der Kartenansicht anzuwendenden Stile definieren. Diese Differenzkacheln können dann an das Client-Gerät als eine oder mehrere elektronische Meldungen gesendet werden.
  • 9 ist ein Ablaufdiagramm eines exemplarischen Verfahrens 450 zum Rendern von Kartenbildern, das beispielsweise in der dynamischen Karten-Rendering-Engine 62 oder 104 implementiert werden kann. Bei Block 452 werden Vektordeskriptoren für ein bestimmtes Gebiet oder eine bestimmte Region als eine Reihe von Basiskarten-Datenkacheln empfangen, und ein erstes Kartenbild wird mit den empfangenen Vektordeskriptoren in Block 454 gerendert. Zu diesem Zweck können die erhaltenen Vektordaten interpretiert werden, um ein Rasterbild zu erzeugen.
  • Als Nächstes wird bei Block 456 eine Anforderung zum Rendern eines zweiten Kartenbildes von der Benutzeroberfläche, wie z. B. der Schnittstelle einer Browser-Anwendung, empfangen. Wie vorstehend besprochen wurde, kann das Bild der zweiten Karte für die gleiche Region vorgesehen sein, aber auch einem unterschiedlichen Kartentyp, einer unterschiedlichen Ansicht oder Zoomstufe entsprechen. Eine Modifikationsindikation, wie eine Reihe von bisher empfangene und gespeicherte Basiskartenkacheln ändernde Differenzkacheln, werden bei Block 458 empfangen. Das zweite Kartenbild wird dann mit einigen oder allen Vektordeskriptoren, die bei Block 452 als Basiskarten-Datenkacheln und bei Block 458 als Differenzkartenkacheln empfangen wurden, gerendert. Wie vorstehend besprochen wurde, können Modifikationen an Vektordaten in den Differenzkartenkacheln im Allgemeinen Hinzufügungen, Löschungen, Modifikationen, Änderungen in der Höhe, neue Stile usw., beinhalten.
  • Um des Weiteren eine exemplarische Anwendung der oben beschriebenen Techniken zu veranschaulichen, illustrieren die 10A, 10B und 10C der gleichen geografischen Region entsprechende Karten, die als Basiskarten-, ÖVPN-Karten- bzw. Radwegkartentyp angezeigt werden. Ein Kartenbild 500 einer Basiskarte, dargestellt in 10A, kann eine Darstellung von mehreren Kartenelementen, wie Straßen und Parks, beinhalten, definiert durch die Reihe der Basiskarten-Datenkacheln, einschließlich der Basisbeschriftungen und Basisstildaten oder Stiltabellen entsprechend der dargestellten Region.
  • Wie in 10B dargestellt, kann das Kartenbild einer ÖVPN-Karte Kartenelemente des Kartenbildes 500 sowie die U-Bahn-Linie 504 überlagern oder auf irgendeine Art die entsprechenden Anteile des Kartenbildes 500 integrieren. Je nach Ausführungsform kann die U-Bahn-Linie 504 als ein einziges Kartenobjekt oder als mehrere Kartenobjekte in derselben oder in anderen Kartenkacheln, die jeweils einem jeweiligen Abschnitt der Schienen entsprechen, definiert werden. Ferner kann ein U-Bahn-Symbol 506 über einen Teil der Kartenabbildung 500 wiedergegeben werden. Darüber hinaus können Beschriftungen für die U-Bahn (rote Linie) in der ÖVPN-Kartenansicht vorgesehen sein, und bei einer Nichtanzeige können verschiedene Bezeichnungen für Straßen in der Basiskartenansicht gelöscht werden. Abhängig von der Ausführungsform kann das Symbol für U-Bahn 506 beispielsweise als eine zusätzliche Kartenfunktion oder Element, als eine Beschriftung, oder ein Symbol bereitgestellt werden. In einer Ausführungsform wird das Symbol für U-Bahn 506 als ein Universal Resource Locator (URL) spezifiziert, der zum Abrufen eines Standardsymbols für U-Bahn in einem Rasterformat von einem Server, der Standardzeichen erzeugt, benutzt werden kann.
  • Um das Kartenbild von 10B auf einem Client-Gerät nach dem Rendern des Kartenbildes von 10A auf dem Client-Gerät zu generieren, kann ein Kartenserver nur eine Reihe von Differenzkartenkacheln mit Modifikationen bereitstellen, beispielsweise in einem Vektorformat, das eines oder mehrere der U-Bahn-Linien 504 entsprechende Kartenobjekten und alle damit verbundenen Änderungen beschreibt, und die Änderungen an den Beschriftungen, Stildaten oder der Stiltabelle, die die Art und Weise modifiziert, auf der verschiedene visuelle Merkmale, wie z. B. Linienstärken, Farben usw., für verschiedene Funktionen dargestellt werden, beinhaltet. In einer Ausführungsform stellt die Modifikationsindikation oder stellen die Differenzkartenkacheln ebenfalls eine Höhenindikation bereit, um die U-Bahn-Linie 504 unter einigen der Straßen im Kartenbild von 10A und über einigen der anderen Straßen im Kartenbild von 10A erscheinen zu lassen. Darüber hinaus enthalten in einer Ausführungsform die Differenzkartenkacheln zusätzlich eine Beschreibung des Symbols 506 als eine Kennzeichnung oder als ein Symbol.
  • Wie in 10C dargestellt, kann das Kartenbild einer Radwegkarte 550 Kartenelemente des Kartenbildes 500 beinhalten sowie eine Reihe von Radwegen überlagern oder auf sonstige Art in die entsprechenden Anteile des Kartenbildes 500 integrieren. Hier wurden jedoch Informationen zum öffentlichen Nahverkehr entfernt (oder werden im Rendering-Prozess tatsächlich gelöscht). Je nach Ausführungsform können Radwege als ein einzelnes Kartenobjekt oder als in verschiedenen Differenzkartenkacheln angeordnete mehrere Kartenobjekte definiert sein, wobei jedes einem bestimmten Abschnitt auf der Karte oder einer Basiskarten-Datenkachel des Basiskartenbildes von 10A entspricht. Darüber hinaus können Radwegpfadsymbole 552 über einen Teil des Kartenbildes 500 gerendert werden. Je nach Ausführungsform können die Symbole 552 beispielsweise als zusätzliches Kartenobjekt oder -element, als eine Bezeichnung oder als ein Symbol bereitgestellt werden. In einer Ausführungsform kann ein oder können mehrere der Symbole 552 als ein Universal Resource Locator (URL) angegeben werden, die verwendet werden können, um ein herkömmliches Radwegpfadsymbol in einem Raster-Format von einem Standard-Symbole generierenden Server abzurufen.
  • Um das Kartenbild von 10 auf einem Client-Gerät zu generieren, nachdem das Kartenbild von 10A gerendert bzw. nachdem das Kartenbild von 10B auf dem Client-Gerät mittels Differenzkartenkacheln zur Änderung des Kartenbildes von 10A gerendert wurde, kann ein Kartenserver nur eine Reihe von Differenzkartenkacheln mit Änderungen, die beispielsweise eines oder mehrere der einer Radwegansicht 550 entsprechenden Kartenobjekte in einem Vektorformat beschreiben und alle damit verbundenen Änderungen an den Basiskartenkacheln zur Erstellung der Radwegansicht, bereitstellen. In einer Ausführungsform kann die Modifikationsindikation oder können die Differenzkartenkacheln für die Radwegansicht ebenfalls eine Höhenindikation bereitstellen, damit die Radwege 552 über einigen oder allen der im Kartenbild von 10A dargestellten Straßen zu verlaufen scheinen. Des Weiteren können in einer Ausführungsform die Differenzkartenkacheln für die Radwegansicht eine Beschreibung der Radwegpfadsymbole 552 als eine Bezeichnung oder als ein Symbol beinhalten und diese Differenzkartenkachel kann oder andere Differenzkartenkacheln können eine neue Stiltabelle bereitstellen, die die Straße weniger betont/betonen und die Radwege in der Karte von 10C stärker betont/betonen.
  • Die folgenden zusätzlichen Überlegungen gelten für die vorstehende Erörterung. In dieser gesamten Spezifikation können mehrere Beispiele Komponenten, Operationen oder Strukturen implementieren, die als einzelnes Beispiels 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 werden hierin so beschrieben, dass sie Logik oder eine Anzahl von Komponenten, Modulen oder Mechanismen einschließen. Module können entweder Softwaremodule (z. B. Code, der auf einem maschinenlesbaren Medium oder in einem Sendesignal verkörpert ist) oder Hardwaremodule darstellen. Ein Hardwaremodul ist ein greifbares Gerät, das bestimmte Operationen durchführen kann, und es kann in einer bestimmten Weise konfiguriert oder angeordnet sein. In exemplarischen Ausführungsformen können eines oder mehrere Computersysteme (z. B. ein eigenständiges, Client- oder Server-Computersystem) oder eines oder mehrere Hardwaremodule eines Computersystems (z. B. ein Prozessor oder eine Gruppe von Prozessoren) von der Software (z. B. einer Anwendung oder einem Anwendungsteil) als Hardwaremodul konfiguriert sein, um bestimmte, hierin beschriebene Operationen durchzuführen.
  • Sofern nicht speziell anders angegeben, können sich Erörterungen hierin, die Wörter wie „Verarbeitung”, „Berechnung”, „Bestimmung”, „Darstellung”, „Anzeige” o. ä. verwenden, auf Aktionen oder Prozesse einer Maschine (z. B. eines Computers) beziehen, die Daten bearbeiten oder umwandeln, die als physische (z. B. elektronische, magnetische oder optische) Mengen in einem oder mehreren Speichern (z. B. flüchtiger Speicher, nichtflüchtiger Speicher oder eine Kombination davon), Register oder andere Maschinenkomponenten dargestellt sind, die Informationen empfangen, speichern, übertragen oder anzeigen.
  • Wie hierin verwendet, bedeuten Verweise auf „eine Ausführungsform” oder „Ausführungsformen”, dass ein bestimmtes Element, Merkmal, eine Struktur oder eine Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, zumindest in einer Ausführungsform enthalten ist. Das Erscheinen der Formulierung „in einer Ausführungsform” an verschiedenen Orten in der Spezifikation bezieht sich nicht notwendigerweise immer auf dieselbe Ausführungsform.
  • Einige Ausführungsformen können mithilfe des Ausdrucks „gekoppelt” und „verbunden” zusammen mit deren Ableitungen beschrieben werden. Zum Beispiel können einige Ausführungsformen mithilfe des Begriffs „gekoppelt” beschrieben werden, um anzugeben, dass eines oder mehrere Elemente im direkten physischen oder elektrischen Kontakt sind. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass eines oder mehrere Elemente nicht im direkten Kontakt miteinander sind, aber trotzdem noch miteinander zusammenarbeiten oder interagieren. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Wie hierin verwendet, sollen die Begriffe „umfasst”, „umfassend”, „beinhaltet”, „enthält”, „hat”, „haben” und andere Varianten davon eine nicht ausschließliche Einbeziehung abdecken. Zum Beispiel ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der/die eine Liste von Elementen umfasst, nicht notwendigerweise nur auf diese Elemente beschränkt, sondern kann andere Elemente beinhalten, die nicht ausdrücklich aufgelistet oder bei einem solchen Prozess, einem solchen Verfahren, einem solchen Artikel oder einer solchen Vorrichtung inhärent sind. Des Weiteren bezieht sich, sofern nichts Gegenteiliges angegeben ist, „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. Das erfolgt lediglich aus praktischen Gründen und um eine allgemeine Vorstellung der Beschreibung zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines enthält, und der Singular umfasst auch den Plural, außer es ist offensichtlich anders gedacht.
  • Nach dem Lesen dieser Offenlegung werden Fachleute auf dem Gebiet immer noch zusätzliche alternative strukturelle und funktionelle Konstruktionen für ein System und ein Verfahren zum Erzeugen von Kartendaten durch die hierin offengelegten 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 von der Idee und dem Umfang der angehängten Ansprüche erfolgen.

Claims (22)

  1. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium, auf dem Anweisungen gespeichert sind, die bewirken, dass, wenn diese von einem oder mehreren Prozessoren ausgeführt werden, der eine oder die mehreren Prozessoren ein Verfahren durchführt/durchführen, das Folgendes umfassend: Generieren von mindestens einer Basiskartenkachel, wobei jede Basiskartenkachel eine Vielzahl von einem ersten Kartenbild einer ausgewählten Region zugeordneten Vektordeskriptoren beinhaltet und worin jeder Vektordeskriptor eine Geometrie des jeweiligen Kartenelementes gemäß einem Vektor-Grafikformat beschreibt; Generieren einer Reihe von Differenzkartenkacheln, die eine Differenz zwischen dem ersten Kartenbild und dem zweiten Kartenbild auf einem Client-Gerät definieren, wobei die Reihe der Differenzkartenkacheln die Anzeige eines oder mehrerer Deskriptoren, der/die jeweils einer Änderung eines Kartenelementes entsprechen, wie dieses im zweiten Kartenbild im Vergleich zum ersten Kartenbild gerendert wird, beinhaltet; Wodurch die mindestens eine Basiskartenkachel über das Kommunikationsnetzwerk auf das Client-Gerät übertragen wird; und Senden der Reihe der Differenzkartenkacheln über das Kommunikationsnetzwerk an das Client-Gerät zum Rendern und zur Anzeige des zweiten Kartenbildes unter Verwendung von zumindest einigen der Informationen in der einen oder den mehreren Basiskartenkacheln und der Reihe von Differenzkartenkacheln.
  2. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach Anspruch 1, beinhaltend das Empfangen einer Indikation, dass ein zweites Kartenbild für die ausgewählte geografische Region auf dem Client-Gerät gerendert werden muss, worin das zweite Kartenbild sich von dem ersten Kartenbild unterscheidet, das aber eine Region beinhaltet, die von mindestens einer der Basiskartenkacheln abgedeckt wird.
  3. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach Anspruch 1 oder 2, worin das Generieren der Reihe von Differenzkartenkacheln des Weiteren die Bereitstellung einer Höhenindikation, entsprechend dem ermittelten Kartenelement, in der Reihe der Differenzkartenkacheln beinhaltet, wobei die Höhenindikation eine Reihenfolge signalisiert, in welcher Sequenz das identifizierte Kartenelement innerhalb eines Bereichs gerendert werden muss, das ebenfalls mindestens ein weiteres Kartenelement enthält, und worin sich das identifizierte Kartenelement und das mindestens eine andere Kartenelement überlappen.
  4. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der vorhergehenden Ansprüche, worin das erste Kartenbild einer ersten Zoomstufe entspricht und worin das Generieren der Reihe von Differenzkartenkacheln die Spezifikation von Kartenobjekten beinhaltet, verbunden mit einer sich von der ersten Zoomstufe unterscheidenden zweiten Zoomstufe, der entsprechend das zweite Kartenbild auf dem Client-Gerät gerendert werden soll.
  5. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der vorhergehenden Ansprüche, worin das Generieren der Reihe von Differenzkartenkacheln das Folgende beinhaltet: Identifizieren eines Kartenelementes, das nicht als Teil des ersten Kartenbildes aber als Teil des zweiten Kartenbildes gerendert werden muss; Bereitstellung eines dem identifizierten Kartenelement entsprechenden Vektordeskriptors in der Reihe der Differenzkartenkacheln; und Bereitstellung in der Reihe der Differenzkartenkacheln einer Hinzufüge-Indikation, die dem identifizierten Kartenelement entspricht, um zu kennzeichnen, dass das identifizierte Kartenelement im zweiten Kartenbild mithilfe des bereitgestellten Vektors gerendert werden muss.
  6. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der vorhergehenden Ansprüche, worin das Generieren der Reihe von Differenzkartenkacheln das Folgende beinhaltet: Identifizieren eines Kartenelementes, das als Teil des ersten Kartenbildes enthalten ist, aber nicht als Teil des zweiten Kartenbildes gerenderten werden soll, worin das identifizierte Kartenelement einer Vielzahl von Vektordeskriptoren entspricht, die als Teil einer mit dem ersten Kartenbild verbundenen Basiskartenkachel an das Client-Gerät übertragen wurde; Bereitstellung in der Reihe der Differenzkartenkacheln eines Identifzierers aus der Vielzahl der Vektordeskriptoren, der dem identifizierten Kartenelement entspricht; und In der Reihe der Differenzkartenkacheln, Bereitstellung einer Entfernungsindikation, die das Kartenelement identifiziert, das nicht in das zweite Kartenbild gerendert werden soll.
  7. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der vorhergehenden Ansprüche, worin das Generieren der einen oder mehreren Basiskartenkacheln das Generieren einer Reihe von Stildaten beinhaltet, die die Art und Weise definieren, auf die das eine oder die mehreren Vektorelemente in den Basiskartenkacheln im ersten Kartenbild erscheinen und worin das Generieren der Reihe von Differenzkartenkacheln das Generieren einer anderen Reihe von Stildaten beinhaltet, die die Art und Weise definieren, auf der das eine oder die mehreren Vektorelemente gerendert werden sollen, um im zweiten, sich vom ersten Kartenbild unterscheidenden Kartenbild angezeigt zu werden.
  8. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach Anspruch 7, worin das Generieren einer Reihe von Daten für eine oder mehrere Basiskartenkacheln das Generieren einer Stiltabelle für jede der einen oder mehreren Basiskartenkacheln beinhaltet, und worin das Generieren der Reihe von Differenzkartenkacheln das Generieren einer neuen Stiltabelle für jede der Differenzkartenkacheln beinhaltet, die sich von den Stiltabellen für die Basiskartenkacheln unterscheidet.
  9. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der vorhergehenden Ansprüche, worin das Generieren der einen oder der mehreren Basiskartenkacheln das Auslesen der Basiskartenkacheln aus einer ersten Datenbank beinhaltet und wobei das Generieren der Reihe von Differenzkartenkacheln das Auslesen einer Reihe von eine andere Kartenansicht der geografischen Region definierenden Daten, die für eine oder mehrere Basiskartenkacheln definiert sind, aus einer zweiten Datenbank beinhaltet und Generierung der Reihe von Differenzkartenkacheln mittels der Daten aus der zweiten Datenbank.
  10. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der vorhergehenden Ansprüche, worin das Generieren der einen oder der mehreren Basiskartenkacheln das Generieren einer Vielzahl von Basiskartenkacheln für eine geografische Region beinhaltet und worin das Generieren der Differenzkartenkachel das Generieren einer separaten Differenzkartenkachel für jede der Vielzahl der Basiskartenkacheln beinhaltet.
  11. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der vorhergehenden Ansprüche, worin das Generieren einer Reihe von Differenzkartenkacheln, die eine Differenz zwischen dem ersten Kartenbild und dem zweiten Kartenbild definieren, das Auslesen einer oder mehrerer personalisierter Einstellungen, die im Zusammenhang mit der Kartenanforderung stehen und die eine personalisierte Kartenansicht definieren, sowie das Generieren einer Reihe von Differenzkacheln, die die personalisierte Kartenanzeige von der einen oder von den mehreren Basiskartenkacheln implementieren.
  12. Ein materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach Anspruch 11, des Weiteren die Speicherung der einen oder der mehreren personalisierten Einstellungen auf einem Servergeräte beinhaltend.
  13. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium, auf dem Anweisungen gespeichert sind, die bewirken, wenn diese von einem oder mehreren Prozessoren ausgeführt werden, dass der eine oder die mehreren Prozessoren ein Verfahren zur Implementierung in einer Recheneinheit zur Generierung von Kartenbildern durchführt/durchführen, wobei das Verfahren das Folgende umfasst: Der Empfang, über ein Kommunikationsnetzwerk, einer Vielzahl von Basiskartenkacheln, die einem ersten Kartenbild für eine ausgewählte Region zugeordnet sind, wobei jede Basiskartenkachel einen oder mehrere Vektordeskriptoren beinhaltet, der/die eine Geometrie des jeweiligen Kartenelementes gemäß eines Vektor-Grafikformates spezifiziert/spezifizieren; Empfang, über das Kommunikationsnetz, einer Reihe von Differenzkartenkacheln zum Rendern eines zweiten Kartenbildes für die ausgewählte Region, wobei jede Reihe von Differenzkartenkacheln einen oder mehrere Indikationen einer Modifikation eines Vektordeskriptors beinhaltet, die auf eine der Vielzahl der Basiskartenkacheln angewendet werden, Rendern des zweiten Kartenbildes mittels der Vielzahl der Basiskartenkacheln und der Reihe von Differenzkartenkacheln; und Anzeige des zweiten Kartenbildes über eine Benutzeroberfläche.
  14. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium, nach Anspruch 13, worin der Empfang der Reihe von Differenzkartenkacheln das Empfangen einer Differenzkartenkachel, einschließlich eines zusätzlichen Vektordeskriptors, beinhaltet, der nicht in der Vielzahl der Vektordeskriptoren in der Vielzahl der Basiskartenkacheln enthalten ist, worin der zusätzliche Vektordeskriptor einem Kartenelement entspricht, das als Teil des zweiten Kartenbildes aber nicht als Teil des ersten Kartenbildes gerendert wird.
  15. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach Anspruch 14, worin der Empfang der Reihe von Differenzkartenkacheln des Weiteren das Empfangen einer Beschriftung beinhaltet, die dem zusätzlichen Vektordeskriptor entspricht, worin die Bezeichnung Text enthält, der zusammen als Teil des zweiten Kartenbildes und zusammen mit dem Kartenelement gerendert wird.
  16. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der Ansprüche 13 bis 15, worin der Empfang der Differenzkartenkacheln das Empfangen einer Indikation beinhaltet, das einer der Vielzahl der Vektordeskriptoren in der Vielzahl der Basiskartenkacheln nicht beim Rendern des zweiten Kartenbildes verwendet wird.
  17. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der Ansprüche 13 bis 16, worin der Empfang der Vielzahl der Basiskartenkacheln das Empfangen einer Reihe von Stildaten beinhaltet, die die Art und Weise definieren, wie das eine oder die mehreren Vektorelemente in einer der Basiskartenkacheln im ersten Kartenbild angezeigt werden und worin der Empfang der Reihe von Differenzkartenkacheln das Empfangen einer anderen Reihe von Stildaten beinhaltet, die die Art und Weise definieren, auf der das eine oder die mehreren Vektorelemente gerendert werden müssen, um im zweiten, sich vom ersten Kartenbild unterscheidenden Kartenbild angezeigt zu werden.
  18. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach Anspruch 17, worin der Empfang der Reihe von Stildaten das Empfangen einer Stiltabelle für jede der einen oder der mehreren Basiskartenkacheln beinhaltet und worin der Empfang der Reihe von Differenzkartenkacheln das Empfangen einer neuen Stiltabelle für jede der Differenzkartenkacheln beinhaltet, die sich von den Stiltabellen der Basiskartenkacheln unterscheidet.
  19. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der Ansprüche 13 bis 18, worin der Empfang der Reihe von Differenzkartenkacheln das Empfangen einer separaten Differenzkartenkachel für jede der empfangenen Vielzahl der Basiskartenkacheln beinhaltet.
  20. Materielles, nicht-transitorisches, von einer Recheneinheit lesbares Medium nach einem der Ansprüche 13 bis 19, des Weiteren den Erhalt einer oder mehrerer mit einer Kartenanforderung verbundenen personalisierten Einstellungen, die eine personalisierte Kartenansicht definieren, beinhaltend, und worin der Empfang einer Reihe von Differenzkarten zum Rendern einer zweiten Kartenansicht das Empfangen einer Reihe von Differenzkacheln beinhaltet, die die personalisierte Kartenansicht von der Vielzahl der Basiskartenkacheln implementieren.
  21. System, mit einem materiellen, nicht-transitorischen, von einer Recheneinheit lesbaren Medium nach vorhergehenden Ansprüche 1–12.
  22. Gerät, mit einem materiellen, nicht-transitorischen, von einer Recheneinheit lesbaren Medium nach vorhergehenden Ansprüche 13–20.
DE202014010955.9U 2013-05-15 2014-05-15 Verwendung von Kartendaten-Differenzkacheln zur iterativen Bereitstellung von Kartendaten für ein Client-Gerät Expired - Lifetime DE202014010955U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/895,310 2013-05-15
US13/895,310 US9396508B2 (en) 2013-05-15 2013-05-15 Use of map data difference tiles to iteratively provide map data to a client device

Publications (1)

Publication Number Publication Date
DE202014010955U1 true DE202014010955U1 (de) 2017-01-31

Family

ID=51059537

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202014010955.9U Expired - Lifetime DE202014010955U1 (de) 2013-05-15 2014-05-15 Verwendung von Kartendaten-Differenzkacheln zur iterativen Bereitstellung von Kartendaten für ein Client-Gerät

Country Status (5)

Country Link
US (1) US9396508B2 (de)
EP (1) EP2997544A1 (de)
CN (1) CN105359189A (de)
DE (1) DE202014010955U1 (de)
WO (1) WO2014186509A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022211140A1 (de) 2022-10-20 2024-04-25 Robert Bosch Gesellschaft mit beschränkter Haftung Leichtfahrzeug und Verfahren zur Navigation unter Verwendung eines tragbaren Drahtloskommunikations-Endgerätes sowie eines Fahrradbildschirms

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8928691B2 (en) 2011-09-26 2015-01-06 Google Inc. Rendering map images using modifications of non-raster map data
US10514271B2 (en) 2015-06-06 2019-12-24 Apple Inc. Mapping application with transit mode
US9702724B2 (en) 2015-06-06 2017-07-11 Apple Inc. Mapping application with transit mode
US9726506B2 (en) * 2015-06-06 2017-08-08 Apple Inc. Display of transit features in mapping application
US10197409B2 (en) 2015-06-07 2019-02-05 Apple Inc. Frequency based transit trip characterizations
US10302442B2 (en) 2015-06-07 2019-05-28 Apple Inc. Transit incident reporting
KR102395023B1 (ko) * 2015-06-30 2022-05-06 현대오토에버 주식회사 그래픽 기반의 웹 벡터 지도 표시 시스템 및 방법
CN106055668A (zh) * 2015-12-11 2016-10-26 中国地质调查局发展研究中心 数据与服务混合加载系统
WO2017107183A1 (en) * 2015-12-25 2017-06-29 Intel Corporation Alpha blending and display update bandwidth saving during render and display operations
US20170270082A1 (en) * 2016-03-21 2017-09-21 Microsoft Technology Licensing, Llc Dynamic rendering of geographic data
US9686357B1 (en) 2016-08-02 2017-06-20 Palantir Technologies Inc. Mapping content delivery
US10319062B2 (en) * 2016-09-27 2019-06-11 Google Llc Rendering map data using descriptions of raster differences
US10318115B2 (en) * 2016-10-14 2019-06-11 OneMarket Network LLC System and method for presenting optimized map labels
US10437863B2 (en) * 2016-10-21 2019-10-08 Here Global B.V. Method and apparatus for hierarchical clustering of geographical data
AU2017353999B2 (en) * 2016-11-04 2021-12-09 Intergraph Corporation Feature management for web map tile services
EP3322149B1 (de) * 2016-11-10 2023-09-13 Tata Consultancy Services Limited Erzeugung von personalisierten landkarten mit echtzeitnachrichten und standorten von gleichzeitigen benutzern
CN107016924B (zh) * 2016-12-20 2020-04-07 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置
US20180181576A1 (en) * 2016-12-22 2018-06-28 Mapbox, Inc. Real-Time Transmittal Of Optimized Map Vector Tile Data
CN109002452B (zh) * 2017-06-07 2020-10-23 杭州海康威视系统技术有限公司 地图瓦片更新方法、装置及计算机可读存储介质
WO2019103049A1 (ja) * 2017-11-22 2019-05-31 株式会社ミックウェア 地図情報処理装置、地図情報処理方法および地図情報処理プログラム
CN110647597B (zh) * 2018-06-11 2022-04-08 百度在线网络技术(北京)有限公司 电子地图的渲染方法和装置
US20200097564A1 (en) * 2018-09-25 2020-03-26 Google Llc Selecting points of interest for display on a personalized digital map
CN111598969A (zh) * 2019-02-21 2020-08-28 福建省天奕网络科技有限公司 2d地图动态拼接方法及计算机可读存储介质
CN111795703B (zh) * 2019-04-09 2022-05-17 Oppo广东移动通信有限公司 地图构建方法、装置、存储介质及移动设备
CN110047123B (zh) * 2019-04-12 2023-01-10 腾讯大地通途(北京)科技有限公司 一种地图渲染方法、装置、存储介质及计算机程序产品
CN110457408B (zh) * 2019-06-24 2020-12-04 平安国际智慧城市科技股份有限公司 个性化地图下载方法、装置、设备及存储介质
JP6979141B1 (ja) * 2020-01-31 2021-12-08 株式会社 ミックウェア 表示装置および制御プログラム
CN111708857B (zh) * 2020-06-10 2023-10-03 北京百度网讯科技有限公司 一种高精地图数据的处理方法、装置、设备及存储介质
CN114061599A (zh) * 2020-07-31 2022-02-18 华为技术有限公司 导航定位方法、电子设备以及导航定位系统
CN112066998A (zh) * 2020-08-25 2020-12-11 海南太美航空股份有限公司 用于航线地图的渲染方法及系统
CN112097776A (zh) * 2020-08-25 2020-12-18 海南太美航空股份有限公司 用于提高航线地图渲染效率的方法及系统
CN112066997A (zh) * 2020-08-25 2020-12-11 海南太美航空股份有限公司 高清航线地图的导出方法及系统
KR20220064045A (ko) 2020-11-11 2022-05-18 삼성전자주식회사 영상을 생성하는 방법 및 장치와 영상 생성을 위한 신경망을 트레이닝하는 방법
CN113420106B (zh) * 2021-07-09 2023-05-16 广东博媒广告传播有限公司 一种地理位置信息设计和生成系统及其方法
CN115705664A (zh) * 2021-08-17 2023-02-17 华为技术有限公司 数据处理方法、装置、计算设备和系统
CN115857766A (zh) * 2022-12-08 2023-03-28 上海定卓网络科技有限公司 一种地图交互方法
CN116980397B (zh) * 2023-09-25 2023-12-12 云粒智慧科技有限公司 瓦片下载方法、电子设备及存储介质

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2609744B2 (ja) 1989-07-14 1997-05-14 株式会社日立製作所 画像表示方法及び画像表示装置
US5519809A (en) 1992-10-27 1996-05-21 Technology International Incorporated System and method for displaying geographical information
JP3622094B2 (ja) 1995-10-05 2005-02-23 株式会社日立製作所 地図更新支援装置および地図情報の編集方法
US6577714B1 (en) 1996-03-11 2003-06-10 At&T Corp. Map-based directory system
US6199015B1 (en) 1996-10-10 2001-03-06 Ames Maps, L.L.C. Map-based navigation system with overlays
US5966135A (en) * 1996-10-30 1999-10-12 Autodesk, Inc. Vector-based geographic data
US7308117B2 (en) 2000-02-04 2007-12-11 National Science And Technology Development Agency System and method for manipulating information and map for geographical resource management
US7148898B1 (en) 2000-03-29 2006-12-12 Sourceprose Corporation System and method for synchronizing raster and vector map images
WO2002041289A2 (en) 2000-11-17 2002-05-23 Links Point, Inc. Systems and methods for representing and displaying graphics
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
AU2003223090A1 (en) 2002-04-30 2003-11-17 Telmap Ltd. Template-based map distribution system
GB0303888D0 (en) 2003-02-19 2003-03-26 Sec Dep Acting Through Ordnanc Image streaming
US7844417B2 (en) 2003-02-21 2010-11-30 First American Real Estate Solutions, Llc GIS-based rapid population assessment tool
US7865301B2 (en) 2004-03-23 2011-01-04 Google Inc. Secondary map in digital mapping system
CN103398718B (zh) 2004-03-23 2017-04-12 咕果公司 数字地图描绘系统
US7792331B2 (en) 2004-06-29 2010-09-07 Acd Systems, Ltd. Composition of raster and vector graphics in geographic information systems
US20060041375A1 (en) 2004-08-19 2006-02-23 Geographic Data Technology, Inc. Automated georeferencing of digitized map images
US20060074660A1 (en) 2004-09-29 2006-04-06 France Telecom Method and apparatus for enhancing speech recognition accuracy by using geographic data to filter a set of words
US7403851B2 (en) 2004-09-30 2008-07-22 Navteq North America, Llc Method of operating a navigation system to report effects of updated portions of a geographic database
CA2533279C (en) 2005-01-18 2011-09-20 Ryan Eccles System and method for processing map data
US7777648B2 (en) * 2005-04-21 2010-08-17 Microsoft Corporation Mode information displayed in a mapping application
US20070210937A1 (en) 2005-04-21 2007-09-13 Microsoft Corporation Dynamic rendering of map information
US20060271281A1 (en) 2005-05-20 2006-11-30 Myron Ahn Geographic information knowledge systems
US20060293847A1 (en) 2005-06-22 2006-12-28 Marriott Graham H Interactive scaling feature having scalability in three dimensional space
US8296388B2 (en) 2005-07-18 2012-10-23 Microsoft Corporation Cross-application encoding of geographical location information
US7706971B2 (en) 2005-07-21 2010-04-27 The Boeing Company System and method for data mapping and map discrepancy reporting
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US7724985B2 (en) 2005-10-27 2010-05-25 Hewlett-Packard Development Company, L.P. Device storing vector image with embedded image style identifier, and methods and utilities for formatting a device image with image style attributes
US7945546B2 (en) 2005-11-07 2011-05-17 Google Inc. Local search and mapping for mobile devices
US20070208498A1 (en) * 2006-03-03 2007-09-06 Inrix, Inc. Displaying road traffic condition information and user controls
US8560946B2 (en) 2006-03-22 2013-10-15 Vistracks, Inc. Timeline visualizations linked with other visualizations of data in a thin client
US20070226314A1 (en) 2006-03-22 2007-09-27 Sss Research Inc. Server-based systems and methods for enabling interactive, collabortive thin- and no-client image-based applications
WO2007146967A2 (en) 2006-06-12 2007-12-21 Google Inc. Markup language for interactive geographic information system
US7734412B2 (en) 2006-11-02 2010-06-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US8010407B1 (en) 2006-11-14 2011-08-30 Google Inc. Business finder for locating local businesses to contact
US8749585B2 (en) 2007-03-29 2014-06-10 Microsoft Corporation Adding custom content to mapping applications
US8892455B2 (en) 2007-09-28 2014-11-18 Walk Score Management, LLC Systems, techniques, and methods for providing location assessments
US20090113296A1 (en) 2007-10-26 2009-04-30 Microsoft Corporation Displaying a map and associated symbolic context information
US20090254841A1 (en) 2007-11-12 2009-10-08 Move Sales, Inc. Apparatus, method, and computer program product for characterizing user-defined areas
BRPI0820859A2 (pt) 2007-12-13 2015-06-16 Intergraph Software Tech Co Sistema e método para editar dados cartográficos
EP2078926B1 (de) 2008-01-14 2013-10-16 BlackBerry Limited System und Verfahren zum dynamischen Herunterladen und Anzeigen von Kartendaten
US8504945B2 (en) 2008-02-01 2013-08-06 Gabriel Jakobson Method and system for associating content with map zoom function
US20100073391A1 (en) 2008-09-25 2010-03-25 Yahoo! Inc. Informational content presentation via backdrop images
US8587617B2 (en) 2009-02-04 2013-11-19 Raytheon Company Apparatus and method for map zooming
US20100321399A1 (en) * 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
CA2767768A1 (en) 2009-07-10 2011-01-13 Georeplica Inc. System of identifying and advertising organizations or other entities by overlaying image files on mapping applications
EP2290322B1 (de) 2009-08-25 2017-03-01 BlackBerry Limited Verfahren und Vorrichtung zur Erstellung und Übertragung geografischer Routeninformationen zwischen drahtlosen Kommunikationsgeräten
US8510045B2 (en) 2009-12-22 2013-08-13 Steven L. Rueben Digital maps displaying search-resulting points-of-interest in user delimited regions
US9068844B2 (en) 2010-01-08 2015-06-30 Dp Technologies, Inc. Method and apparatus for an integrated personal navigation system
US8699991B2 (en) * 2010-01-20 2014-04-15 Nokia Corporation Method and apparatus for customizing map presentations based on mode of transport
US20110191014A1 (en) 2010-02-04 2011-08-04 Microsoft Corporation Mapping interface with higher zoom level inset map
US8874129B2 (en) 2010-06-10 2014-10-28 Qualcomm Incorporated Pre-fetching information based on gesture and/or location
US8681176B1 (en) * 2011-09-20 2014-03-25 Google Inc. Rendering a map using style identifiers
US8928691B2 (en) * 2011-09-26 2015-01-06 Google Inc. Rendering map images using modifications of non-raster map data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022211140A1 (de) 2022-10-20 2024-04-25 Robert Bosch Gesellschaft mit beschränkter Haftung Leichtfahrzeug und Verfahren zur Navigation unter Verwendung eines tragbaren Drahtloskommunikations-Endgerätes sowie eines Fahrradbildschirms

Also Published As

Publication number Publication date
WO2014186509A1 (en) 2014-11-20
US20140340419A1 (en) 2014-11-20
US9396508B2 (en) 2016-07-19
EP2997544A1 (de) 2016-03-23
CN105359189A (zh) 2016-02-24

Similar Documents

Publication Publication Date Title
DE202014010955U1 (de) Verwendung von Kartendaten-Differenzkacheln zur iterativen Bereitstellung von Kartendaten für ein Client-Gerät
DE202014010911U1 (de) Effiziente Zusammensetzung und Darstellung grafischer Elemente
DE202012013441U1 (de) Wiedergabe von Kartenabbildungen mithilfe von Änderungen von Nicht-Raster Kartendaten
DE202012013506U1 (de) Verwaltung von Kartenelementen Mithilfe von Aggregierten Merkmalskennungen
DE60116343T2 (de) Webserver
DE102016015156A1 (de) Optimieren eines Bildzuschnitts
DE202014010937U1 (de) Überlagerung zweidimensionaler Kartendaten auf einer dreidimensionalen Szene
DE202012013450U1 (de) Beschriftungspositionierbildwiedergabesystem zur Reduzierung des Kriechens bei Zoom-Aktivitäten
DE202014010892U1 (de) Personalisierung des Karteninhalts über eine Anwendungsprogrammierschnittstelle
DE202012013435U1 (de) Vorrichtung zum Vorabruf von Ortsseitendaten zur darauffolgenden Anzeige auf einem mobilen Computergerät
DE202015009325U1 (de) Schematische Darstellung von geografischen Standorten
DE202011110851U1 (de) Vorrichtung der Zielführung
DE202012013434U1 (de) Vorabruf von Kartenkacheldaten entlang einer Route
DE202011110886U1 (de) Synthetische Navigationselemente für elektronische Dokumente
DE202012013426U1 (de) Integrieren von Karten und Straßenansichten
DE102011003155A1 (de) Kartendaten, Kartendatenerzeugungsverfahren, Kartendatenspeichermedium und Navigationsvorrichtung
DE19936314A1 (de) Verfahren und System zur Inhaltskonvertierung von elektronischen Daten unter Verwendung von Konvertierungspräferenzen
DE202014010881U1 (de) Bereitstellen von Indooreinrichtungs-Informationen auf einer digitalen Karte
DE202012013456U1 (de) Neuordnung überlagerter digitaler Bilddaten und zugehörige Rendering-Engine für digitale Bilder
DE202015009138U1 (de) Indexierte Einheitsgrößenparameter für Strichwiedergabe
DE202016006079U1 (de) Das dynamische Steuern eines Kartenansichtsfensters im Hinblick auf Benutzersignale
DE202013012446U1 (de) Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen
DE102020002356A1 (de) Verbesserte gestalterische gemeinsame Bearbeitung unter Nutzung einer gestaltungsbasierten Rückmeldung
DE112016002223T5 (de) Konvertieren von Flash-Inhalten zu HTML-Inhalten durch Erzeugen einer Instruktionen-Liste
DE202014010846U1 (de) Farbverlauf von Wasser auf einer digitalen Karte

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R081 Change of applicant/patentee

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

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

R082 Change of representative

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

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