DE202012013439U1 - Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht - Google Patents

Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht Download PDF

Info

Publication number
DE202012013439U1
DE202012013439U1 DE202012013439.6U DE202012013439U DE202012013439U1 DE 202012013439 U1 DE202012013439 U1 DE 202012013439U1 DE 202012013439 U DE202012013439 U DE 202012013439U DE 202012013439 U1 DE202012013439 U1 DE 202012013439U1
Authority
DE
Germany
Prior art keywords
map
plane
zoom level
data
viewing
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
DE202012013439.6U
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
Priority claimed from US13/271,391 external-priority patent/US20130093750A1/en
Priority claimed from US13/271,427 external-priority patent/US8243102B1/en
Application filed by Google LLC filed Critical Google LLC
Publication of DE202012013439U1 publication Critical patent/DE202012013439U1/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Remote Sensing (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Rechenvorrichtung, umfassend: eine Datenübertragungsnetzwerkschnittstelle; einen Prozessor oder mehrere Prozessoren; einen Speicher oder mehrere Speicher, der oder die an einen Prozessor oder mehrere Prozessoren gekoppelt ist oder sind; eine Anzeigevorrichtung, die an einen oder mehrere Prozessoren gekoppelt ist; worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, das Ermitteln eines Sichtfensters auf einer Kartenoberfläche, wobei das Sichtfenster von einem Satz von Parametern einschließlich einer Größe, einer Position, einer Richtung und einer Vergrößerung mit Bezug auf die Oberfläche der Karte definiert ist, worin eine erste Position des Sichtfensters sich über einer Kartenoberfläche befindet und eine erste Richtung des Sichtfensters sich bei einem Nicht-Null-Auftrittswinkel mit Bezug auf die Kartenoberfläche befindet; das Anfragen von Kartendaten, die verwendet werden, um die Kartenoberfläche, die innerhalb des Sichtfensters anzuzeigen ist, wiederzugeben; das Empfangen erster Zoomniveaudaten für ein erstes Sichtband und der Kartenoberfläche des angefragten Sichtfensters, worin die ersten Zoomniveaudaten eine erste Dichteebene der Kartendaten für einen Kartenbereich bereitstellt, der vom ersten Sichtband definiert wird; das Empfangen zweiter Zoomniveaudaten für ein zweites Sichtband der Kartenoberfläche des angefragten Sichtfensters, worin die zweiten Zoomniveaudaten eine zweite Dichteebene der Kartendaten für einen Kartenbereich bereitstellen, die am zweiten Sichtband definiert werden, wobei der Bereich des ersten Bands sich vom Bereich des zweiten Sichtbands unterscheidet und der erste Dichtegrad der Kartendaten sich vom zweiten Dichtegrad der Kartendaten unterscheidet; und das Anzeigen eines dreidimensionalen Bilds der Kartenoberfläche auf der Anzeigeeinrichtung, auf Basis des Sichtfensters, der Sichtbänder und der empfangenen ersten und zweiten Zoomniveaukartendaten.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Bildwiedergabesysteme wie etwa Anzeigesysteme für elektronische Karten, oder genauer gesagt ein Bildwiedergabesystem, das eine Kartenoberfläche als einen Satz von Tiefbändern wiedergibt, der über unterschiedliche Auflösungsdaten verfügt.
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind, 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
  • Mit der weiten Verbreitung von computergestützten Karten-Tools und Kartenanwendungen, verzeichnet die Verbrauchernachfrage nach zugriffbereiten Kartendaten weiterhin eine hohe Zuwachsrate. Während die Verbraucher immer mehr den Wunsch danach verspüren auf Kartendaten zuzugreifen, nimmt die extrem hohe Menge an erforderlichen Kartendaten, um diese Kartenanwendungen zu betreiben, das Datenmanagement sowohl auf Einrichtungs- als auch auf Netzwerkebene besonders stark in Anspruch. Diese hohe Inanspruchnahme kann die Effektivität der Kartenanwendungen, die in der Regel vergleichsweise hohe Mengen an Netzwerkdaten erfordern, einschränken.
  • Kartenanwendungen finden sich in einer Vielzahl von Mobilgeräten, darunter in Fahrzeugnavigationssystemen, GPS-Handgeräten, Mobiltelefonen und tragbaren Computer. Diese Anwendungen gehören zu den am meisten verwendeten Anwendungen und werden von manchen als notwendig für die persönliche Sicherheit erachtet. Obwohl die zugrundeliegenden digitalen Karten aus Benutzersicht leicht anzuwenden sind, ist das Erstellen einer digitalen Karte ein datenintensiver Prozess. Jede digitale Karte beginnt mit einem Satz von Rohdaten, die Millionen von Straßen und Kreuzungen entsprechen. Diese Rohdatenkarte wird aus einer Vielzahl von Quellen bezogen, von denen jede, verschiedene Mengen und Arten von Informationen liefert. Um einen Standort effektiv auf einer Karte zu verzeichnen, eine Fahrstrecke zwischen eine einem Ausgangsort und einem Zielort zu finden, Interessenschwerpunkte zu erkennen usw. sind beträchtliche Mengen von Daten erforderlich. Weiterhin erfordern viele Kartenanwendungen eine Anzeige von verschiedenen Kartendaten auf verschiedenen Zoomniveaus, d. h. in verschiedenen Maßstäben, wobei sich Detailumfang und die Art der Details auf jedem Zoomniveau verändern. Zum Beispiel können Kartendaten auf dem niedrigsten Zoomniveau, die die am weitesten vom Zielort entfernte Umgebung zeigt, die Grenzen von Kontinenten, Ozeanen und großen Landmassen enthalten. Auf nachfolgenden Zoomniveaus können die Kartendaten Länder, Staaten, Siedlungsgebiete, Protektorate und andere wesentliche geographische Regionen zeigen. Auf noch weiter nachfolgenden Zoomniveaus können die Kartendaten wichtige Straßen, Städte, Ortschaften enthalten, bis die Kartendaten schließlich kleinere Straßen, Gebäude, ja selbst Gehwege und Wanderwege nach Region zeigen. Der Detailumfang wird von den Informationsquellen bestimmt die zum Aufbau der Kartendaten auf den einzelnen Zoomniveaus verwendet wurden. Die Menge an Informationen ist jedoch, ganz unabhängig vom Zoomniveau, voluminös und im Allgemeinen zu umfangreich, um als Ganzes auf mobilen Einrichtungen gespeichert zu werden und zu umfangreich, um ununterbrochen über ein drahtloses Kommunikationsnetzwerk heruntergeladen zu werden.
  • Im Betrieb laden Kartenanwendungen Kartendaten normalerweise über ein drahtloses Kommunikationsnetz als Antwort darauf in das Mobilgerät herunter, dass ein Benutzer einen interessierenden Ort eingibt, und/oder auf der Grundlage des aktuellen Standorts des Mobilgeräts, wie zum Beispiel der aktuellen GPS-Daten oder der aktuellen Zellennetz-Standortdaten für das Gerät. Ein herkömmliches Verfahren für das Herunterladen von Kartendaten besteht darin, dass das Mobilgerät seine Stand Daten an einen entfernten Prozessor im drahtlosen Kommunikationsnetz mitteilt, der als Antwort alle Kartendaten in das Mobilgerät oder die angeforderten Kartendaten zur Anzeige für den Benutzer herunterlädt.
  • Kartendaten können allgemein in Blöcken, die als Kartendatenkacheln bekannt sind, gespeichert werden, wobei die Anzahl von Kartendatenkacheln mit dem Zoomniveau ansteigt. Der entfernte Prozessor liefert eine Teilmenge der verfügbaren Kartendatenkacheln für einen bestimmten Ort oder eine Region zur Speicherung und Anzeige zu einem bestimmten Zeitpunkt über eine Kartenanzeigeanwendung an das Mobilgerät. Durch das Bereitstellen großer Zahlen von Kartendatenkacheln kann das mobile Gerät die Kartendaten zur Anzeige für den Verbraucher zwischen speichern, während der Verbraucher über ein Gebiet scrollt und nach angrenzenden oder anderen Kartenorten sucht. Die große Anzahl an Kartendatenkacheln, die jedoch zu irgendeinem bestimmten Zeitpunkt bereitgestellt wird, verlängert die Downloadzeit und erhöht den Zwischenspeicherbedarf während der Benutzer die Kartenanzeigeanwendung verwendet.
  • Kartendatenkacheln können auf eine ineffiziente Art und Weise heruntergeladen und zwischengespeichert werden, in Rahmen der von den Unterschieden im Schwellenwert der erforderlichen Kartendaten nicht profitiert wird, um die unterschiedlichen Abschnitte der Kartenoberfläche bei unterschiedlichen Betrachtungswinkeln wiederzugeben. Dies gilt vor allem beim Wiedergeben einer dreidimensionalen Karte, die über ein Sichtfenster verfügt, das um einen Winkel geneigt ist, der die verschiedenen Betrachtungstiefen der Kartenoberfläche anzeigt. Infolgedessen besteht kein Bedarf danach, über einen intelligenteren Mechanismus für das Abrufen (z. B. das Downloaden) und/oder das Wiedergeben von Kartendaten zu verfügen, insbesondere Kartendatenkacheln, um die visuellen Vorgaben einer dreidimensionalen Karte auf ausreichende Weise zu erfüllen, ohne Bandbreite und Verarbeitungsdienstleistungen zu verschwenden.
  • ZUSAMMENFASSUNG
  • Ein computerimplementiertes Verfahren für das Wiedergeben einer Karte auf einer Anzeigevorrichtung ermittelt ein Sichtfenster für eine Kartenoberfläche, wobei das Sichtfenster von einem Satz von Parametern einschließlich einer Größe, einer Position, einer Richtung und einer Vergrößerung mit Bezug auf die Oberfläche der Karte definiert wird. Das Verfahren ermittelt einen Satz von Ansichtsgrenzen auf der Kartenoberfläche, worin der Satz von Ansichtsgrenzen die Kartenoberfläche in eine Vielzahl von Ansichtsbändern auf Basis Tiefendimensionsspektrums unterteilt. Ein erstes Sichtband entspricht einem Vordergrund der Kartenoberfläche bei einem ersten Tiefenspektrum und ein zweites Sichtband entspricht einem Hintergrund der Kartenoberfläche bei einem zweiten Tiefenspektrum. Das Verfahren ermittelt dann eine Dichte der Kartendaten für das Wiedergeben jedes der Sichtbänder. Die Dichte der verwendeten Kartendaten, um zwei oder mehrere Sichtbänder wiederzugeben, unterscheiden sich voneinander. Das Verfahren zeigt dann ein dreidimensionales Bild der Kartenoberfläche auf der Anzeigeeinrichtung auf Basis des Sichtfensters, der Sichtbänder, und der Kartendaten unterschiedlicher Dichte für jedes Sichtband.
  • In einer Ausführungsform werden Kartendaten von innerhalb der Anzeigeeinrichtung abgerufen, während in einer anderen Ausführungsform Kartendaten von außerhalb der Anzeigeeirichtung abgerufen werden. In einer Ausführungsform werden Kartendaten als Kartendatenkacheln für eine Anzahl von Zoomniveaus gespeichert, wobei es sich bei jedem Zoomniveau um einen Satz von Kartendatenkacheln handelt, die einen Bereich derselben oder einer ähnlichen Größe abdecken. Kartendaten einer höheren Dichte betreffen höhere Zoomniveaudaten, die eine größere Anzahl an Kartendatenkacheln pro Einheitsbereich als Kartendaten einer niedrigeren Dichte niedrigerer Zoomniveaudaten umfassen. In einer Ausführungsform werden Kartendaten angefordert, so dass hohe Zoomniveaudaten verwendet werden, um das erste Sichtband wiederzugeben und niedrige Zoomniveaudaten werden verwendet, um ein zweites Sichtband wiederzugeben. In einer Ausführungsform passt das Ändern der Richtung des Sichtfensters die Größe der Sichtbänder an.
  • In einer anderen Ausführungsform beinhaltet die Recheneinrichtung eine Kommunikationsnetzwerkschnittstelle, einen oder mehrere Prozessoren, einen oder mehrere an einen oder mehreren gekoppelte(n) Speicher und eine an einen oder mehreren Prozessoren gekoppelte Anzeigevorrichtung. Der eine oder die mehreren Speicher beinhalten computerausführbare Anweisungen, die auf dem Prozessor ausgeführt werden, um ein Ansichtsfenster der Kartenoberfläche zu ermitteln. Die computerausführbaren Anweisungen werden ausgeführt um Kartendaten für das Wiedergeben der Kartenoberfläche zu beantragen. Die computerausführbaren Anweisungen werden ausgeführt, um erste Zoomniveaudaten für das Wiedergeben eines ersten Bands der Kartenoberfläche zu erhalten. Die computerausführbaren Anweisungen werden ausgeführt, um zweite Zoomniveaudaten für das Wiedergeben eines zweiten Bands der Kartenoberfläche zu erhalten. Die computerausführbaren Anweisungen werden ausgeführt, um ein dreidimensionales Bild auf der Kartenoberfläche auf der Anzeigeeinrichtung auf Basis des Ansichtsfensters, der Ansichtsbänder und der empfangenen ersten und zweiten Zoomniveaukartendaten anzuzeigen.
  • Gemäß einer anderen Ausführungsform beinhaltet eine Recheneinrichtung eine Kommunikationsnetzwerkschnittstelle, einen oder mehrere Prozessoren, einen oder mehrere an einen oder mehreren Prozessoren gekoppelten Speicher, und eine an einen oder mehreren Prozessoren gekoppelte Anzeigevorrichtung. Der eine oder die mehreren Speicher beinhalten computerausführbare Anweisungen, die auf dem Prozessor ausgeführt werden, um eine Anfrage für Kartendaten für ein gegebenes Sichtfenster zu erhalten. Die computerausführbaren Anweisungen werden ausgeführt, um erste Zoomniveaudaten für ein erstes Sichtband des ersten Sichtfensters zu ermitteln, worin die ersten Zoomniveaudaten eine erste Dichte der Kartendaten für das erste Sichtband bereitstellen. Die computerausführbaren Anweisungen werden ausgeführt, um zweite Zoomniveaudaten für ein zweites Sichtband des Sichtfensters zu ermitteln, worin die zweiten Zoomniveaudaten eine zweite Dichte der Kartendaten für das zweite Sichtband bereitstellen, und worin die erste Dichte der Kartendaten sich von der zweiten Dichte der Kartendaten unterscheidet. Die computerausführbaren Anweisungen werden ausgeführt, um ein Bild einer Kartenoberfläche zu erstellen, die über das erste Sichtband und das zweite Sichtband verfügt. Die computerausführbaren Anweisungen werden ausgeführt, um das Bild der Kartenoberfläche zu übermitteln.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Highlevel-Blockdiagramm eines Kartenbildgebungssystems, das Kommunikation zwischen einer in einem Server gespeicherten Kartendatenbank und einem oder mehreren Kartenbildwiedergabegeräten implementiert.
  • 2 ist ein Highlevel-Blockschaubild einer Bildwiedergabemaschine, die zum Wiedergeben von Kartenbildern unter Verwendung von Kartenvektordaten verwendet wird.
  • 3 zeigt einen Teil der Datenstruktur, die in der Kartendatenbank von 1 verwendet werden kann.
  • 4A, 4B und 4C zeigen Beispiele für Wiedergaben von Kartendaten auf jeweils drei verschiedenen Zoomniveaus.
  • 5 veranschaulicht Sichtfenstermanipulationen einer Kamera über einer Kartenebene;
  • 5A, 5B, und 5C veranschaulichen exemplarische Wiedergaben von Kartendaten bei drei unterschiedlichen Neigungswinkeln.
  • 6A und 6B veranschaulichen exemplarische Wiedergaben von Kartendaten bei unterschiedlichen Neigungswinkeln und beinhalten Grenzen für das Definieren unterschiedlicher Sichtbänder.
  • 7 veranschaulicht ein Prozessflussdiagramm eines Prozesses zur Wiedergabe einer Kartenoberfläche, wie etwa derjenigen aus den 6A und 6B.
  • 8 veranschaulicht ein Prozessflussdiagramm für eine Client-Recheneinrichtung.
  • 9 veranschaulicht ein Prozessflussdiagramm für eine Recheneinrichtung des Servers.
  • 10 veranschaulicht ein Prozessflussdiagramm für eine Recheneinrichtung des Servers, die ein Kartenbild für einen Client generiert.
  • 11 veranschaulicht eine Draufsicht einer Kartenoberfläche bei einem Null-Neigungswinkel, der auf einer Anzeigeeinrichtung wiedergegeben werden kann.
  • 12 veranschaulicht eine Draufsicht einer Kartenoberfläche bei einem Null-Neigungswinkel, der über Kartendatenkacheln unterschiedlicher Zoomniveaus verfügt.
  • 13 veranschaulicht eine Neigungssicht einer Kartenoberfläche, unter Verwendung von Kartendatenkacheln aus einem einzelnen Zoomniveau.
  • 14 veranschaulicht eine Perspektive einer schrägen Sichtebene und Kartenebene.
  • 15A–E veranschaulichen einen Abschnitt einer Sichtebene und einer Kartenebene aus 14 bei unterschiedlichen Neigungswinkeln.
  • 16 veranschaulicht eine Neigungssicht einer Kartenoberfläche unter Verwendung von Kartendatenkacheln unterschiedlicher Zoomniveaus.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine Methode zur Verringerung der abzurufenden und auf einer Computereinrichtung auszuführenden Kartendatenmenge, wenn das Anzeigen einer Karte in der Neigungssicht eine Vielzahl von Tiefenbändern zum Anzeigen einer Kartenoberfläche ermittelt und unterschiedliche Zoomniveaudaten für das Wiedergeben der Karte innerhalb jedes Tiefbands verwendet. Die Methode erkennt Unterschiede der Zoomniveaudaten, die für das Wiedergeben der Bänder erforderlich sind und ruft unterschiedliche Zoomniveaudaten für jedes Band selektiv ab. Da jeder Satz von Daten unterschiedlichen Dichten von Kartendaten entspricht (ein Zoomniveau, der einer spezifischen Anzahl von Kartendatenkacheln pro Einheitsbereich entspricht), reduziert das Wiedergeben eines Abschnitts eine Kartenoberfläche bei einem geringeren Zoomniveau die Daten- und Ausführungsanforderungen für das Wiedergeben der Kartenoberfläche. Die Methode ermöglicht es der Recheneinrichtung nur die erforderlichen Kartendatenebenen (Zoomniveaudaten) für jeden Abschnitt der Karte auszuwählen, um die Gesamtanzahl der abgerufenen und/oder verarbeiteten Kartendaten zu verringern.
  • Bezieht man sich nun auf 1 beinhaltet ein kartenbezogenes Bildgebungssystem 10 eine Kartendatenbank 12, die in einem Server 14 oder in mehreren Servern gespeichert ist, die zum Beispiel an einem zentralen Ort oder an unterschiedlichen sich voneinander entfernt befindlichen Orten befinden, und beinhaltet auch mehrere Karten-Client-Einrichtungen 16, 18, 20, und 22, von denen jede eine Einrichtung zum Wiedergeben einer Karte oder eine Maschine zum Wiedergeben einer Karte speichert und implementiert. Die Karten-Client-Geräte 1622 können über ein beliebiges verdrahtetes oder drahtloses Datenübertragungsnetzwerk 25, unter anderem beispielsweise einem verdrahtetem oder drahtlosem LAN, MAN oder WAN, dem Internet oder einer beliebigen Kombination davon, mit einem Server 14 verbunden sein. Bei den Karten-Clientgeräten 1622 kann es sich zum Beispiel um Mobiltelefondienste (18), Computer wie einen Laptop, Desktop oder andere Arten von Computer (16, 20) oder um Komponenten eines anderen Bildwiedergabesystems, z. B. Komponenten eines Kraftfahrzeugnavigationssystems (22) usw. handeln. Außerdem können die Clientgeräte 1622 über ein beliebiges geeignetes Kommunikationssystem, zum Beispiel ein öffentlich verfügbares oder privates Kommunikationsnetz, darunter solche, die eine fest verdrahtete Kommunikationsstruktur wie Telefon- und Kabelnetze und/oder eine drahtlose Kommunikationsstruktur wie drahtlose Kommunikationsnetze, darunter zum Beispiel drahtlose LANs und WANs usw. verwenden, kommunikativ mit dem Server 14 verbunden sein.
  • Die Kartendatenbank 12 kann alle beliebigen gewünschten Typen oder Arten von Kartendaten, unter anderem Rasterbildkartendaten und Vektorbildkartendaten speichern. Allgemein weist jedes der von den Vektordaten definierten Bildobjekte eine Vielzahl von zu ihnen gehörenden Vertices auf, und diese Vertices werden zum Anzeigen eines kartenbezogenen Bildobjektes einem Nutzer über ein oder mehrere der Client-Geräte 1622 verwendet.
  • Wie ferner ersichtlich ist, umfasst jedes der Client-Geräte 1622 eine Bildwiedergabemaschine mit einem oder mehreren Prozessoren 30, einem oder mehreren Speichern 32, einem Anzeigegerät 34 und oftmals einer Rastereinrichtung oder Grafikkarte 36, die allgemein auf bekannte Weisen programmiert und miteinander verbunden sind, um Grafiken (Bilder) auf dem dazugehörenden Anzeigegerät 34 zu implementieren oder wiederzugeben. Beim Anzeigegerät 34 kann es sich für ein beliebiges bestimmtes Client-Gerät 1622 um einen beliebigen Typ von elektronischem Anzeigegerät, wie beispielsweise eine LCD-Anzeige, eine LED-Anzeige, eine Plasmaanzeige, eine Kathodenstrahlröhren-(CRT)Anzeige, oder einen beliebigen anderen Typ einer bekannten geeigneten elektronischen Anzeige, handeln.
  • Allgemein ist das kartenbezogene Bildgebungssystem 10 von 1 so eingerichtet, dass ein Nutzer an einem der Client-Geräte 1622 eine Kartenanwendung (in 1 nicht dargestellt) öffnet oder ausführt, die so eingerichtet ist, dass sie mit der Kartendatenbank 12 über den Server 14 kommuniziert und Karteninformationen oder kartenbezogene Daten von ihr bezieht und anschließend ein Kartenbild auf der Grundlage der empfangenen Kartendaten anzeigt oder wiedergibt. Mit der Kartenanwendung kann der Nutzer verschiedene geografische Abschnitte der in der Kartendatenbank 12 gespeicherten Kartendaten ansehen, einen bestimmten geografischen Ort vergrößern oder verkleinern, den zwei- oder dreidimensionalen Betrachtungswinkel der angezeigten Karten drehen, herumdrehen oder ändern usw. Insbesondere lädt beim Wiedergeben eines Kartenbildes auf einem Anzeigegerät oder einem Anzeigebildschirm 34 unter Verwendung des nachstehend beschriebenen Systems jedes der Client-Geräte 1622 Kartendaten in Form von Vektordaten aus der Kartendatenbank 12 herunter und verarbeitet diese Vektordaten unter Verwendung von einem oder mehreren Bild-Shadern, um ein Bild auf einem dazugehörenden Anzeigegerät 34 wiederzugeben.
  • Unter jetziger Bezugnahme auf 2 wird ein Bilderzeugungs- oder Bildwiedergabegerät 40, das mit einem der Clientgeräte 1622 assoziiert ist oder von ihm implementiert wird, genauer dargestellt. Das Bildwiedergabesystem 40 von 2 umfasst zwei Prozessoren 30a und 30b, zwei Speicher 32a und 32b, eine Benutzerschnittstelle 34 und eine Rastereinrichtung 36. In diesem Fall sind der Prozessor 30b, der Speicher 32b und die Rastereinrichtung 36 auf einer separaten Grafikkarte (unterhalb der horizontale Linie dargestellt) angeordnet, obgleich dies nicht in allen Ausführungsformen der Fall sein muss. So kann beispielsweise in anderen Ausführungsformen ein einzelner Prozessor verwendet werden. Das Bildwiedergabesystem 40 umfasst des Weiteren eine Netzwerkschnittstelle 42, eine Datenübertragungs- und Speicherroutine 43 und eine oder mehrere Kartenanwendungen 48 mit einer darin auf dem Speicher 32a gespeicherten Kartenanzeigelogik, die auf dem Prozessor 30a ausgeführt werden kann. Auf gleiche Weise werden ein oder mehrere Bild-Shader, beispielsweise in Form von Vertex-Shadern 44 und Fragment-Shadern 46, auf dem Speicher 32b gespeichert und auf dem Prozessor 30b ausgeführt. Die Speicher 32a und 32b können einen oder beide eines flüchtigen und nichtflüchtigen Speichers umfassen, und die Routinen und Shader werden auf den Prozessoren 30a und 30b ausgeführt, um die nachstehend beschriebene Funktionalität bereitzustellen. Die Netzwerkschnittstelle 42 umfasst jede beliebige gut bekannten Software- und/oder Hardwarekomponenten, die eingerichtet sind, um mit beispielsweise dem Server 14 von 1 über ein verdrahtetes oder drahtloses Datenübertragungsnetzwerk zu kommunizieren, um Bilddaten in Form von Vektordaten zur Verwendung beim Erzeugen einer Bildanzeige auf der Benutzerschnittstelle oder dem Anzeigegerät 34 zu beziehen. Das Bildwiedergabegerät 40 umfasst auch einen Datenspeicher 49, bei dem es sich zum Beispiel um einen Pufferspeicher oder einen flüchtigen Speicher handeln kann, der die von der Kartendatenbank 12 erhaltenen Vektordaten speichert, welche eine beliebige Anzahl an Vertex-Datenpunkten und eine oder mehrere Nachschlagetabellen umfassen, wie noch genauer beschrieben wird.
  • Während des Betriebs wird die Kartenlogik der Kartenanwendung 48 auf dem Prozessor 30 ausgeführt, um die bestimmten Bilddaten zu bestimmen, die zum Anzeigen über das Anzeigegerät 34 einem Nutzer beispielsweise unter Verwendung von Nutzereingabe, GPS-Signalen, einer vorab gespeicherten Logik oder Programmierung usw. benötigt werden. Die Anzeige oder Kartenlogik der Anwendung 48 interagiert mit der Kartendatenbank 12 mithilfe der Kommunikationsroutine 43, durch Datenübertagung mit dem Server 14 über die Netzwerkschnittstelle 42, um Kartendaten, vorzugsweise in Form von Vektordaten oder komprimierten Vektordaten von der Kartendatenbank 12 zu beziehen. Diese Vektordaten werden über die Netzwerkschnittstelle 42 zurückgeführt und können von der Routine 43 dekomprimiert und im Datenspeicher 49 gespeichert werden. Insbesondere kann es sich bei den von der Kartendatenbank 12 heruntergeladenen Daten um eine kompakte, strukturierte oder anderweitig optimierte Version der zuletzt zu verwendenden Vektordaten handeln, und die Kartenanwendung 48 kann so eingerichtet sein, dass sie die heruntergeladenen Vektordaten unter Verwendung des Prozessors 30a in spezielle Vertexdatenpunkte umwandelt. In einer Ausführungsform umfassen die vom Server 14 gesendeten Vektordaten allgemeine Definitionsdaten für jede mit einer Anzahl von verschiedenen auf dem Bildschirm 34 anzuzeigenden Bildelementen oder Bildobjekten assoziierte Menge von Vertices und möglicherweise eine oder mehrere Nachschlagetabellen. Wenn gewünscht, können die Nachschlagetabellen von der Kartenanwendung 48 in Form von Vektortexturkarten, die bekannte Datendateitypen zur Definition einer bzw. eines bestimmten, als Teil eines mit Vektorgrafik erzeugten Bildes anzuzeigenden Textur oder Farbfeldes (Pixelwerte) sind, gesendet oder decodiert oder generiert werden. Insbesondere können die Vektordaten für jedes Bildelement oder Bildobjekt eine Vielzahl von Vertices umfassen, die zu einem oder mehreren Dreiecken gehören, die das bestimmte Element oder Objekt eines Bildes bilden. Jedes solche Dreieck umfasst drei Vertices (durch Vertexdatenpunkte definiert), und jeder Vertexdatenpunkt weist zu ihm gehörende Vertexdaten auf. In einer Ausführungsform umfasst jeder Vertex-Datenpunkt Standortdaten, die eine(n) zweidimensionale(n) oder eine(n) dreidimensionale(n) Position oder Standort des Vertex in einem Bezug oder virtuellen Raum sowie einen Attributbezug definieren. Jeder Vertexdatenpunkt kann zusätzlich weitere Informationen, wie beispielsweise eine Objekttypkennung, umfassen, die den Typ von Bildobjekt identifiziert, der zum Vertexdatenpunkt gehört. Der Attributbezug, der hierin als Stilbezug oder Merkmalsbezug bezeichnet wird, bezieht sich oder weist auf einen Standort oder eine Menge von Standorten in einer oder mehreren in den Datenspeicher 43 heruntergeladenen und dort gespeicherten Nachschlagetabellen.
  • Im Allgemeinen können Kartendaten in der Kartendatenbank 12 für eine bestimmte geographische Region bei unterschiedlichen Zoomniveaus gespeichert werden, innerhalb denen jedes Zoomniveau aus einer Vielzahl von Kartendatenblocks, terminierten Kartendatenkacheln, die verwendet werden, um eine visuelle Anzeige der Karte bei unterschiedlichen Detailebenen zu konstruieren, ausgebildet ist. 3 zeigt eine beispielhafte Datenstruktur 200, die in der Kartendatenbank 12 verwendet werden kann. Die Kartendaten für eine bestimmte geographische Region werden innerhalb zahlreicher Datenstrukturen verschiedener Zoomniveaus (von denen nur drei dargestellt werden) 202A, 202B, und 202C, bei denen jede Datenstruktur von einer Vielzahl von Kartendatenkacheln ausgebildet ist. Die Datenstruktur 202B, die die einzige für Erklärungszwecke nummerierte Struktur ist, zeigt die Kartendaten für die bestimmte oder feste geographische Region auf Zoomniveau z = 2, die aus 18 Kartendatenkacheln 204A bis 204R gebildet wird. Die Kartendatenkacheln repräsentieren die Grundbausteine für die Konstruktion einer Kartenansicht. Jede Kartendatenkachel enthält die erforderlichen Kartendaten, um einen Abschnitt der Kartenansicht zu konstruieren, einschließlich Daten, die verschiedene Kartenobjekte oder Kartenmerkmale, wie etwa Straßen, Gebäude, geographische Grenzen, wie etwa Wasserlinien, die Grenzen einer Grafschaft, die Grenzen einer Stadt, die Grenzen eines Staates, Berge, Parks, usw. identifizieren. Die Kartendaten für eine geographische Region können in einer beliebigen Anzahl von Datenstrukturen unterschiedlicher Zoomniveaus gespeichert werden, um unterschiedliche Detailebenen für die bestimmte geographische Region bereitzustellen. In einer Ausführungsform werden insgesamt 19 Zoomniveaus in der Kartendatenbank 12 gespeichert.
  • Die Anzahl von Kacheln für eine feste geographische Region bei jedem Zoomniveau steigt mit ansteigender Zoomniveauzahl, z. B. linear, quadratisch, exponentiell, oder auf sonstige Art und Weise an. Die Zoomniveaus in dem dargestellten Beispiel (z = 1, 2 und 5) haben jeweils 6, 18 und 60 Kartendatenkacheln, die die gleiche geographische Fläche oder Region abdecken. Da die Anzahl der Kartendatenkacheln für denselben Bereich mit ansteigendem Zoomniveau ansteigt, kann das Zoomniveau als eine Dichte der Kartendaten betrachtet werden, die einer Anzahl von Kacheln pro Einheitsbereich entspricht. Höhere Zoomniveaus erfordern im Allgemeinen mehr Kacheln pro Einheitsbereich und stellen somit im Vergleich zu niedrigeren Zoomniveaus eine höhere Kartendatendichte bereit.
  • In der veranschaulichten Ausführungsform werden sämtliche Kartendaten in Kartendatenkacheln gespeichert und jede Kartendatenkachel innerhalb einer Zoomniveau-Datenstruktur wird derselben oder einer ähnlichen Speicherzuordnungsgröße zugewiesen. Zum Beispiel kann jede Kachel 204A bis 204R ein Bitmap-Bild mit einer Größe von 10 kB sein. Dies kann zum Beispiel erreicht werden, indem jede Kartendatenkachel ein geographisches Gebiet von gleicher Größe abdeckt. Bei Kartendatenkacheln mit Vektordaten kann die Datengröße bei den einzelnen Kacheln variieren, doch kann jeder Kachel in manchen Ausführungsformen dennoch der gleiche maximale Speicherplatz zugewiesen sein. Obwohl nicht dargestellt, können die Datenkacheln in anderen Ausführungsformen andere Speicherplatzzuweisungen in den einzelnen Zoomniveau-Datenstrukturen haben. In einigen Ausführungsformen enthält jede Kartendatenkachel Kartendaten, die in einem Kartenformat gespeichert sind während die Kartendatenkachel in anderen Ausführungsformen Kartendaten enthalten kann, die im Vektorformat gespeichert sind.
  • 4A4C veranschaulichen visuelle Kartendarstellungen, z. B. die vollständig oder teilweise auf der Benutzerschnittstelle 134 angezeigt werden, auf der jede Figur eine visuelle Ansicht bei einem unterschiedlichen Zoomniveau bereitstellt. In den dargestellten Ausführungsformen bietet 4A eine Kartenanzeige 300 auf einer Beispiel-Zoomniveau z = 6, aufgebaut aus einer Reihe von Kartendatenkacheln 302318, die ein geographisches Gebiet der gleichen Größe abdecken und denen die gleiche Menge an Speicherplatz zugewiesen ist.
  • Während des Betriebs ist Server 14 in der Lage, Datenkarten an die entsprechenden Clients 1622 in Datenchunks bereitzustellen, die von diesen Kartendatenkacheln definiert werden. Um zum Beispiel die für den Aufbau einer Kartenanzeige 300 benötigten Kartendaten zu übertragen, kann der Server 14 jede Kartendatenkachel in einem Rahmen übertragen, dessen Header-Teil Identifizierungsdaten für den Rahmen (wie die geographische Position, die Adresse des kleinen Geräts, Versionsnummer der Kartendatenkacheln usw.) angibt und dessen Nutzdatenteil die speziellen Kartendatenkacheldaten enthält, mit denen die Anzeige gebildet werden soll. Kartendatenkacheln stellen einen effektiven Mechanismus für das Quantisieren von Kartendaten, die in der Kartendatenbank 12 gespeichert werden und das Quantisieren der Kommunikation der Kartendaten über das Netzwerk 25 an die Clients 16-22 bereit.
  • Im Vergleich zu 4A zeigt 4B eine Kartenanzeige 400 auf einem höheren Zoomniveau als der in 4A, in diesem Beispiel Zoomniveau z = 10. Die Kartenanzeige 400 besteht aus einer Vielzahl von Kartendatenkacheln 402432 Wie die Kartendatenkacheln 302318 verfügen die Kartendatenkacheln 402432 jeweils über dieselbe Größe z. B. sie decken dieselbe Größe des geographischen Bereichs ab und verfügen über dieselbe Speichergröße. 4C veranschaulicht eine weitere visuelle Kartenanzeige 500 bei einem dritten noch höheren Zoomniveau, Zoomniveau z = 12, der aus Kartendatenkacheln besteht.
  • Jede dieser Anzeigen 300, 400 und 500 ist ein Abschnitt der Gesamtkartendaten, die viele weitere Kartendatenkacheln umfassen. Wie in den 4A4C durchgehend veranschaulicht, verfügen die Kartendatenkacheln, die jede visuelle Kartenanzeige ausbilden über verschiedene Dateigenauigkeitsgrade. Die Kacheln 302318 veranschaulichen geographische Grenzen, aber keine Straßen, nur Autobahnen und/oder Landstraßen, während die Kacheln aus 4C über ein höheres Zoomniveau verfügen, und Informationen zu Straßen, Gebäuden, Parks, und Endpunkten, usw. enthalten.
  • In dem Maße, in dem die Zoomniveaus ansteigen, d. h. in dem Maße, in dem die visuelle Kartenanzeige einer feststehenden Größe auf eine kleinere geographische Region herunterfokussiert wird, kann die Kartendatenmenge einen Höchstpunkt erreichen, jenseits dessen, sämtliche Zoomniveaus dieselben Kartendaten enthalten werden. Die Anzahl der Kartendatenkacheln, die erforderlich ist, um eine Kartenanzeige auszubilden, kann variieren, aber die Gesamtmenge der Kartendaten wird dadurch gesättigt. Das Zoomniveau, das diesem Punkt entspricht, wird als Sättigungszoomniveau bezeichnet und repräsentiert das Zoomniveau, bei dem sämtliche Straßen, Gebäuden, Parks, Endpunkte und sonstige Kartendatenelemente für eine geographische Region bereitgestellt werden. Zusätzliche Zoomniveaus, die vom Benutzer ausgewählt werden, vergrößern lediglich die bereits bestehenden Datenelemente ohne zusätzliche Kartendatenkacheln abzurufen. Im veranschaulichten Beispiel aus den 4A4C, repräsentiert das Zoomniveau, z = 12 das gesättigte Zoomniveau.
  • Während ein Benutzer mit den visuellen Kartenanzeigen 300, 400, und 500 interagiert, kann der Benutzer sich wünschen, herumzuscrollen, um sonstige Kartendaten in der Nähe der veranschaulichten Kartendaten anzuzeigen. Demzufolge verwendet die Client-Einrichtung 1622 ein System, um eine ausreichende Kartendatenmenge einzuholen und zu speichern, um die visuelle Kartenanzeige auszubilden, während sie dabei zusätzliche Kartendaten auf der Client-Einrichtung 1622 zwischenspeichert, um eine effiziente Interaktion des Benutzers mit dieser Anzeige zu ermöglichen.
  • In computergestützten Kartenanwendungen kann ein Sichtfenster einer Ansicht einer imaginären Kamera entsprechen, die auf eine Oberfläche der Karte gerichtet ist. Zum Beispiel kann die Position des Sichtfensters einer physikalischen Position einer Kamera hinsichtlich einer Oberfläche entsprechen, und genauer gesagt einer als Karte abzubildenden Oberfläche, im Rahmen der, die Richtung des Sichtfensters im Allgemeinen der Richtung der Kamera (z. B. Sichtlinie) in Richtung der Kartenoberfläche entspricht.
  • 5 veranschaulicht eine Kamera 501, die auf einer Höhe h oberhalb einer ebenflächigen Oberfläche 502 positioniert ist, die von den Dimensionen x und y definiert ist. Die Kamera in der Lage, sich zu neigen oder entlang einer Ebene 504 zu drehen, die von den Dimensionen d und h definiert wird. Ein Winkel der Kamera 501, der sich von einer geraden Linie nach unten in Richtung der Ebene 504 entlang der h Dimension bewegt, stellt einen Auftreffwinkel alpha bereit. Das Ändern des Auftreffwinkels (alpha) durch das Neigen der Kamera 501, legt dem Sichtfenster einen unterschiedlichen Bereich der Kartenoberfläche frei. Insbesondere kann ein Null-Auftreffwinkel für die Ebene 502, die in 5 veranschaulicht wird, einen Bereich A1 der ebenflächigen Oberfläche 502 anzeigen, ein erster Neigungswinkel (Nicht-Null-Auftreffwinkel) kann einen Bereich A2 der ebenflächigen Oberfläche 502 anzeigen, und ein zweiter Neigungswinkel (größer als der erste Neigungswinkel) kann einen Bereich A3 der ebenflächigen Oberfläche 502 anzeigen. Jede Änderung der Richtung des Fensters von der Neigung legt im Rahmen einer feststehenden Kameraposition, und damit einer feststehenden Fensterposition einen unterschiedlichen Bereich A1 bis A3 frei, der von einem dementsprechenden Spektrum D1 bis D3 definiert wird, innerhalb dessen D1 der Kameraposition oder der Sichtfensterposition am nächstgelegenen ist und wobei D3 sich am weitesten entfernt von der Sichtfensterposition befindet.
  • Im Allgemeinen beinhalten die Methoden für das Wiedergeben einer dreidimensionalen Neigungskarte das Ermitteln eines Sichtfensters einer Kartenoberfläche, wobei ein Satz von Tiefenbändern der Kartenoberfläche ermittelt werden, die innerhalb des Sichtfensters angezeigt werden können und wobei Kartendaten unterschiedlicher Zoomniveaus selektiv verwendet werden, um die Kartenoberfläche für jeden der Tiefenbänder wiederzugeben, innerhalb dessen ein vordergründiges Tiefenband höhere Zoomniveaudaten als jedes nachfolgende Tiefenband, bis zum letzten oder hintergründigen Tiefenband, das die niedrigsten Zoomniveaudaten verwendet, verwenden kann.
  • 5A veranschaulicht eine von-oben-herab-Perspektive einer Kartenoberfläche 600. Das Sichtfenster aus 5A kann einer Kameraansicht des Bereichs A1 aus 5 entsprechen, innerhalb der eine Kamera über einer Kartenoberfläche auf einer bestimmten Höhe positioniert ist, bei der die Richtung der Ansicht bei einem Null-Auftreffwinkel liegt. Kartenoberflächen, wie diejenigen, die in 5A veranschaulicht sind, werden im Allgemeinen von einem Sichtfenster definiert, das zusätzlich zu einer Position und Richtung, wie bereits vorstehend erörtert, über eine Größe und einen Vergrößerungsgrad verfügt.
  • Die Draufsicht aus 5A wird auf einem Ansichtsbildschirm bereitgestellt, der von einer physikalischen Größe einer Anzeigeeinrichtung definiert sein kann, zum Beispiel eine physikalische Größe eines Ansichtsbildschirms, oder durch eine Anzeigeanwendung, die auf der Anzeigeeinrichtung ausgeführt wird, auf der nur ein Abschnitt der physikalischen Größe auf dem Ansichtsbildschirm verwendet wird, um die Kartenoberfläche anzuzeigen. Einige Kartenanwendungen können zum Beispiel einen Abschnitt des Ansichtsbildschirms für das Wiedergeben sonstiger Kartendaten aufheben oder um Rechensysteminformationen, die sich außerhalb der Kartenanwendung befinden, bereitzustellen.
  • Ferner kann ein Bereich der Kartenoberfläche, der auf dem Ansichtsbildschirm sichtbar ist, von der Vergrößerung auf dem Ansichtsbildschirm abhängen. Die Vergrößerung des Sichtfensters kann einen Maßstab beschreiben, gemäß dem die Kartenoberfläche wiedergegeben wird. Karten werden im Allgemeinen gemäß einem Maßstab gezeichnet, der einem Verhältnis wie etwa 1:1000 entspricht, was bedeutet, dass eine beliebige Maßeinheit auf dem Sichtfenster genau oder ungefähr 1.000 tatsächlichen Einheiten entspricht. In einem Fall, in dem zum Beispiel ein Sichtfenster in Zoll gemessen wird, kann der Entfernungsmaßstab ein Zoll des Sichtfensters auf eine Länge von 1.000 Meilen (oder Kilometern) übertragen. Obwohl kein Maßstab angezeigt wird, wird 5A gemäß einer bestimmten Vergrößerung oder einem bestimmten Maßstab gezeichnet.
  • Analog zum Ändern eines Zoomniveaus auf einer Kamera, ermöglichen einige computergestützte Karten Benutzern in eine Kartenoberfläche hinein und aus einer Kartenoberfläche heraus zu zoomen (was im Allgemeinen bedeutet, dass der Maßstab erhöht oder gesenkt wurde), innerhalb dessen, das Zoomniveau im Allgemeinen einer Vergrößerung entspricht. Je nach Kartenanwendung kann es einen Unterschied in der Funktion des Zoomniveaus und des Vergrößerungsgrads geben. In einigen Kartenanwendungen kann das Ändern eines Zoomniveaus einfach das Ändern einer Vergrößerung oder eines Maßstabs ohne das Verwenden zusätzlicher Kartendaten, um die Karte neu zu zeichnen oder neu wiederzugeben, beinhalten. In Kartenanwendungen, wie etwa im Rahmen derjenigen, die die hierin beschriebenen Methoden anwenden, kann das Ändern eines Zoomniveaus, sowohl das Ändern eines Maßstabs, als auch das Abrufen zusätzlicher Kartendaten (z. B. zusätzliche Kartendatenkacheln für einen gegebenen Bereich) enthalten, um einen Abschnitt der Karte mit mehreren Daten (die normalerweise mehrere Merkmalsdaten umfassen) und somit mehr Details neu zu zeichnen. Wenn eine Kartenoberfläche zum Beispiel ohne das Abrufen von Kartenkacheln mit zusätzlichen Zoomniveaus zunehmend vergrößert wird, wird ein als ein Block repräsentiertes Gebäude als ein vergrößerter Block angezeigt. Bei der Erhöhung der Vergrößerung und dem Abrufen von Zoomniveaudaten kann dasselbe Gebäude als ein vergrößerter Block, aber mit zusätzlichen Untermerkmalen, wie etwa Fenstern, Säulentüren, usw. dargestellt werden
  • Wenn auf Zoomniveauänderungen mit Bezug auf die hierin beschriebenen Verfahren Bezug genommen wird, beziehen sich die Zoomniveauänderungen im Allgemeinen auf das Zoomen, das zusätzliche Kartendaten oder Kartendatenkacheln abruft. In jedem Falle veranschaulicht 5A eine von-oben-herab-Perspektive (auch als Vogelperspektive, Draufsicht oder Helikoptersicht bezeichnet) einer Kartenoberfläche 600. Diese Ansicht kann im Allgemeinen eine übliche zweidimensionale Karte ohne eine Perspektive entlang der Kartenoberfläche repräsentieren. Auf der anderen Seite veranschaulicht 5B eine von-oben-herab-Perspektive der Kartenoberfläche, worin die Richtung des Sichtfensters nach oben gekippt wurde (relativ zur Kartenoberfläche), so dass der Auftreffwinkel der Ansicht nicht null beträgt. Bei der Ansichtsposition oder Vergrößerung aus 5B, handelt es sich um dieselbe wie die aus 5A. Auf ähnliche Weise veranschaulicht 5C eine von-oben-herab-Perspektive der Kartenoberfläche, worin die Richtung des Sichtfensters weiter als die aus 5B gekippt wird, aber worin die Sichtposition und Vergrößerung gegenüber 5A und 5B unverändert bleibt.
  • 6A veranschaulicht eine von-oben-herab-Perspektive, die über einen leichten Auftreffwinkel verfügt, der über ähnliche Eigenschaften wie der aus 5B mit einer Bandgrenze 602 verfügt, die den Bildschirm in Tiefenbänder 604, 606 aufteilt, wobei jedes davon einem separaten Bereich der Karte entspricht. Die Tiefenbänder können verwendet werden, um Unterbereiche der Kartenoberfläche abzugrenzen, bei denen unterschiedliche Ebenen der Kartendaten verwendet werden können, um die Karte wiederzugeben oder anzuzeigen. In einer Ausführungsform können Kartendaten, die verwendet werden, um das Vordergrundband 604 wiederzugeben, höhere Zoomniveaudaten (z. B. mehrere Kartenkacheln pro Einheitsbereichs) als die Kartendaten, die für das Hintergrundband 606 verwendet werden, verwenden. Wie in 6A ersichtlich, kann das Vordergrundbild daher detaillierterer (höhere Auflösung) als das Hintergrundbild wahrgenommen werden. Da weniger Kartendaten für den Hintergrund als den Vordergrund abgerufen werden, kann der Prozess, der verwendet wird, um 6A wiederzugeben, eine geringere Prozessorkapazität und ein geringeres Einholen von Daten als das Abrufen einzelner Daten mit hoher Dichte für sowohl den Hintergrund als auch den Vordergrund erfordern.
  • 6B veranschaulicht eine von-oben-herab-Perspektive, die über einen größeren Auftreffwinkel als 6A verfüngt und über ähnliche Eigenschaften wie die Ansicht aus 5C verfügt, wobei zwei Bandbremen 610, 612 den Bildschirm in Tiefenbänder 614, 616, 618 unterteilt, die je einem Bereich der Karte entsprechen. Die Ansichtsposition und Vergrößerung sind dieselben für 6A, worin nur die Ansichtsrichtung (Auftreffwinkel) verändert ist. Auf ähnliche Weise wie in 6A können Kartendaten unterschiedlicher Dichten verwendet werden, um jedes Band aus 6B wiederzugeben. Kartendaten einer hohen Dichte, und eines höheren Zoomniveaus können verwendet werden, um das Vordergrundband 614 wiederzugeben, das dann in jedem darauffolgenden Band 616, 618 verwendet wird, in denen die die Kartendaten niedriger Dichte und niedriger Zoomniveaus verwendet werden, um das Hintergrundband 618 wiederzugeben. Das Zwischenband 616 kann über ein Zoomniveau und eine Dichte von Kartendaten zwischen denjenigen des oberen Bandes 614 und des unteren Bandes 618 verfügen. Es ist allerdings zu beachten, dass während 6A und 6B jeweils nur zwei und drei Bänder veranschaulichen, andere Ansichten, die sich mit dem hier beschriebenen Verfahren und den hier beschriebenen Systemen sich in Einklang befinden, mehr als drei Bänder umfassen.
  • Einige Kartenanwendungen können im Allgemeinen ein konstantes Niveau von Kartendaten einholen (z. B. selbe Kartendatenkacheln auf einem hohen Zoomniveau) für eine gesamte Ansicht (Vordergrund wie auch Hintergrund) und zwar unabhängig davon, ob die Menge von Merkmalsdetails, die von der Ebene der Kartendaten bereitgestellt wird, erforderlich ist, um Kartendetails als visuell zufriedenstellend für einen Kartenbenutzer auf allen angezeigten Tiefen wiederzugeben. Im Gegensatz zu diesen Kartenanwendungen gibt der oben beschriebene Prozess das Ansichtsfenster mit mehreren Zoomniveaudaten wieder, die verschiedene Datendichten umfassen. Dies kann Kostenersparnisse hinsichtlich der Bandbreite und der Verarbeitungszeit bereitstellen, wenn es mit einem System verglichen wird, das einen gesamten Kartenoberflächenbereich, der sich eines einzelnen (im Allgemeinen hoch) Kartendichtedaten bedient, wiedergibt.
  • 7 veranschaulicht ein Prozessflussdiagramm oder ein Flussdiagramm eines Verfahrens, einer Routine oder eines Prozesses 700, die verwendet werden können, um eine Kartenoberfläche, wie etwa diejenige, die von den 6A6C dargestellt wird, wiederzugeben. Im Allgemeinen kann die Routine oder der Prozess 700 als eine oder mehrere Softwareroutinen oder Anwendungen, einschließlich Routinen, die Teile der Kartenanwendung 48 sind, implementiert werden. Diese Routinen können implementiert oder in jeder gewünschten Sprache, wie etwa Javascript, C-Code, usw. geschrieben werden und können auf einem oder mehreren der Prozessoren 30a und 30b aus 2 ausgeführt werden. Zusätzlich können diese Routinen die Rastereinrichtung 36 zum Wiedergeben eines Bildes auf dem Anzeigegerät 34 verwenden.
  • In jedem Falle kann ein Block 702 einen Sichtfensterzustand mit Bezugnahme auf eine anzuzeigende Kartenoberfläche ermitteln. Dieser Sichtfensterzustand kann eine Sichtfenstergröße, eine Sichtfensterposition und eine Sichtfensterrichtung und einen Vergrößerungsgrad für eine Ansicht der Kartenoberfläche beinhalten. Dieser Festsetzung kann durch das Empfangen einer Eingabe von einem Benutzer einer Recheneinrichtung gemacht werden. Zum Beispiel kann der Benutzer einen bestimmten Längengrad, Breitengrad und eine bestimmte Höhe, sowie auch bestimmtes Zoomniveau, das einem Vergrößerungsgrad und einem Ansichtswinkel (d. h. eine Ansichtsrichtung) entspricht, eingeben. In einigen Ausführungsformen kann die Festsetzung auf Basis eines zuvor gespeicherten Wertes für eine anfängliche Wiedergabe eines Kartenstandorts (z. B. eine anfängliche Ansicht einer Sehenswürdigkeit oder eines beliebten Stadtmerkmals) oder kann auf zuvor gespeicherten Einstellungen basieren, die auf Benutzerpräferenzen basieren.
  • Ein Block 704 kann dann einen Satz von Ansichtsgrenzen und entsprechenden Bändern der Kartenoberfläche ermitteln, die auf dem ermittelten Sichtfenster anzeigbar sind. Die Grenzen können als eine Tiefe mit Bezugnahme auf die Position des Sichtfensters designiert werden. Die Grenzen können eine Kartenoberfläche in eine Vielzahl von Sichtbändern (Bereiche oder Volumen) auf Basis des Tiefendimensionsspektrums unterteilen. Ein nächstliegendes Spektrumband kann einen Vordergrund auf der angezeigten Kartenoberfläche repräsentieren, während ein sich am weitesten entfernt befindliches Spektrumband einen Hintergrund der angezeigten Karte repräsentieren kann.
  • Ein Block 706 kann dann Zoomniveaudaten für jede der Vielzahl von ermittelten Sichtbändern für das Wiedergeben jedes Sichtbands ermitteln und/oder einholen. Mit Bezugnahme auf das Kartensystem, welches die oben beschriebenen Vektordaten und Kartendatenkacheln verwendet, kann Block 706 einen Zoomniveausatz der Kartendatenkacheln für jedes ermittelte Band ermitteln. Wie bereits vorstehend erörtert, wird ein Satz von Kacheln für ein Zoomniveau über eine bestimmte Dichte verfügen, wie dies von den Kartendatenkacheln pro Einheitsbereich gemessen wird. Somit kann Block 706 eine Dichte von Kartendatenkacheln für jedes Band ermitteln. In Ausführungsformen, die keine diskreten Kartendatenkacheln verwenden, kann Block 706 eine Dichte von Kartendaten für jedes Band ermitteln. Ein Block 708 kann die Kartenoberfläche des ermittelten Ansichtsfensters als den Satz von Bändern wiedergeben, zeichnen oder auf sonstige Weise anzeigen, der die ermittelten Zoomniveaudaten (oder Dichtedaten der Karte) verwendet, um jedes Band wiederzugeben.
  • Wie bereits vorstehend erörtert, stellen Kartendaten eines höheren Zoomniveaus im Allgemeinen eine höhere Auflösung und mehr Merkmalsdaten als die Kartendaten eines niedrigeren Zoomniveaus bereit. In Ausführungsformen, in denen der Vordergrund somit über höhere Zoomniveaudaten als jedes nachfolgende Band verfügt, kann jedes nachfolgende Band über allmählich immer weniger Kartendetails und/oder Auflösung verfügen. Es ist allerdings zu beachten, dass die Auflösung sich in diesem Sinne auf eine Menge von Kartendaten (oder Kartendatenkacheln bezieht, oder die Dichte der Kartendaten verwendet wird, um Kartenmerkmale bei einer bestimmten Vergrößerung des Ansichtsfensters bereitzustellen.
  • Der Block 704 kann die Sichtbänder angesichts einer Anzahl von Faktoren, zu denen vorhergehende Kartensituationen oder Bedingungen zählen, ermitteln. In einer Kartensituation kann zum Beispiel eine von-oben-herab-Perspektive einer Kartenoberfläche bei einem Null-Auftreffwinkel anfänglich auf einem Sichtfenster wiedergegeben werden. Diese Kartenansicht kann einer üblichen Ansicht einer zweidimensionalen Karte entsprechen. In diesem Falle können Daten aus einem einzelnen Zoomniveau verwendet werden, um die gesamte Oberfläche der angezeigten Karte wiederzugeben, da es keine variable Betrachtungstiefe gibt. Mit anderen Worten ist die Kartenoberfläche bei einem Null-Auftreffwinkel parallel zum Sichtfenster. Wenn die Kartenanwendung das ich im Anschluss daran befindliche Neigen der Fenstereinrichtung ermöglicht, ändert sich die Sicht der Kartenoberfläche so, dass ein Vordergrund sich an einem wahrgenommenen Tiefenspektrum befindet, während ein Hintergrund sich an einem unterschiedlichen wahrgenommenen Tiefenspektrum befindet.
  • In einer Ausführungsform werden zusätzliche Kartenoberflächenbereiche freigelegt (oder die anzuzeigen sind), wenn der Auftreffwinkel des Sichtfensters vergrößert wird, und kann als ein zweites diesen Band abgegrenzt werden, bei dem das erste Tiefenband einen Kartenoberflächenbereich beinhaltet, der ursprünglich vor dem Neigen wiedergegeben wurde. Auf diese Weise kann nur ein zweites Tiefenband unter Verwendung zusätzlicher Zoomniveaudaten wiedergegeben werden (im Allgemeinen niedrigere Zoomniveaudaten oder Kartendaten niedrigerer Dichte). Das Einholen und Verarbeiten von Kartendaten kann daher reduziert werden, da mindestens ein Abschnitt der Ansicht bereits im Voraus wiedergegeben und zwischengespeichert wurde und ein zusätzlicher Abschnitt der Ansicht unter Verwendung niedrigerer Zoomniveaudaten wiedergegeben wird.
  • 6A und 6B veranschaulichen, dass in dem Maße, in dem der Auftreffwinkel erhöht wird, Abschnitte von zuvor wiedergegebenen Kartenbereichen nicht länger angezeigt werden können und zusätzliche Zoomniveaudaten für das Anzeigen der Binder im Vordergrund oder im Hintergrund ermittelt, eingeholt oder verarbeitet werden können. Es sollte allerdings bemerkt werden, dass selbst wenn eine Kartenansicht ohne zuvor wiedergegebenen oder zuvor zwischengespeicherten Kartenabschnitten wiedergegeben wird, der Prozess immer noch Bandbreite und Prozessorspeichervorgänge bereitstellen kann, da es immer noch einen Datenunterschied gibt zwischen dem Wiedergeben eines gesamten anzeigbaren Kartenoberflächenbereichs, unter Verwendung eines einzelnen (im Allgemeinen eines hohen) Datensatzes der Kartendichte und dem lediglichen Anzeigen von Abschnitten einer anzeigbaren Kartenoberfläche mit Kartendaten hoher Dichte während sonstige Abschnitte mit Kartendaten niedriger Dichte angezeigt werden.
  • In einigen Ausführungsformen kann Block 706 ermitteln, dass einem Vordergrundband ein höheres Niveau von Zoomdaten (Kartendaten hoher Dichte oder hoher Definition) als jedem nachfolgenden Band (das über ein größeres Tiefenspektrum verfügt) unter der Verwendung niedriger Zoomniveaudaten zugeordnet wird. Ein letztes Band oder Hintergrundband kann einen niedrigsten Zoomniveaudatensatz unter einem angezeigten Satz von Bänden verwenden In variablem Maße kann für jeden Satz an konsekutiven Bändern B1 bis Bn, wobei B1 ein Vordergrundband ist, das über eine Tiefendimension D1 verfügt, und wobei Bn ein Hintergrundband ist, das über eine Tiefenspektrum Dn verfügt, jeder Satz von Bändern B1 bis Bn mit einem entsprechenden Zoomniveau von Daten Z1 bis Zn wiedergegeben werden, wobei es sich bei Z1 um Zoomniveaudaten eines höchsten Grads mit der größten Dichte von Kartendaten handelt, so dass B1 über das höchste Zoomniveau Z1 verfügt, B2 über Zoomniveau Z2 verfügt usw., bis Band Bn das entsprechende Zoomniveau Zn erreicht. Dementsprechend verfügt D1 über das nächstgelegene Spektrum mit Bezug auf die Tiefenposition der Sichtfenster (die Tiefenposition des Sichtfensters ist im Allgemeinen eine Null-Tiefe) und Dn ist das am weitesten entfernteste Tiefenspektrum mit Bezug auf die Sichtfensterposition.
  • In einer anderen Ausführungsform kann der Block 704 einen oder mehrere zusätzliche Sichtbänder für den Spektrumübergang, die zwischen wichtigen Bändern angeordnet sind, ermitteln. In den Abbildungen aus den 6A und 6B können zum Beispiel zusätzliche Spektrumbänder in der Nähe oder an den Grenzen 602, 610, und 612 angeordnet werden. Diese Bänder können verwendet werden, um einen reibungsloseren Übergang zwischen größeren Bändern wiederzugeben (z. B. Zwischenbänder 604 und 606 oder Zwischenbänder 614, 616 und 618), um abrupte Änderungen in der Dichte des Kartenmerkmals zu reduzieren. Alternativ kann eine Vielzahl von Bändern bei Block 704 ermittelt werden, bei dem jeder Band nur eine inkrementelle Änderung der Dichten haben darf, die von einem Vordergrundband zu einem Hintergrundband übergeht, um abrupte visuelle Änderungen in der wiedergegebenen Karte zu reduzieren. Das Ermitteln der Sichtbänder und das Ermitteln, welches zum Datenniveau für jede Sichtband zu verwenden ist, können auf einer Anzahl von Parametern basieren. Einige Ausführungsformen können Sichtbänder und Zoomniveaus separat ermitteln, während andere Ausführungsformen ein Ermittlungssichtband auf einem Zoomniveau oder umgekehrt basieren können.
  • Ein Parameter für das Ermitteln von Sichtbändern und/oder welche Niveaudaten für jedes Sichtband zu verwenden sind, kann auf einem allgemein akzeptablen Tiefenspektrum für die menschliche Wahrnehmung von Merkmalsdaten basieren. Dieses Spektrum kann unter Verwendung einer Vielzahl von Grenzwerten, wie etwa Johnsons Kriterien, verwendet werden, welche die minimal erforderliche Auflösung zur menschlichen Unterscheidung bei verschiedenen Tiefen beschreibt. Ein weiterer Parameter der für das Ermitteln von Sichtbändern zu nutzen ist, kann eine Auflösungsgrenze für einen Displaybildschirm auf der Displayeinrichtung sein. Das Abrufen oder Verarbeiten von Kartenmerkmalen für ein Tiefenspektrum, das nicht auf physikalische Weise auf einem Monitor oder auf einem Anzeigebildschirm dargestellt werden kann, kann eine Verschwendung von Breitband oder Verarbeitungskapazität repräsentieren. Außerdem sollte bemerkt werden, dass ermittelte Tiefenband Dimensionen nicht über eine konstante Größe entlang jedes Satzes von Tiefenbändern verfügt. Einige Tiefbänder können enger oder breiter sein, je nach den Parametern, wie etwa Neigungswinkel oder Vergrößerung.
  • In einigen Ausführungsformen kann ein Mittelband (d. h. ein Vordergrundband und kein Hintergrundband) über höhere Zoomniveaudaten als ein vorhergehendes oder nachfolgendes Band verfügen. Dies kann in Situationen der Fall sein, in denen ein Merkmal das sich in der Mitte einer Kartenoberfläche befindet, hervorgehoben werden muss. In diesem Fall kann die Bandermittlung auf einem Satz von Kartenmerkmalen basieren. Diese Festsetzung kann im Gegenzug auf eine Merkmalspriorität, einen Typ oder eine Position der Kartenmerkmale basieren.
  • In einigen Ausführungsformen können zusätzliche höhere Zoomniveaudaten für ein Vordergrundband abgerufen werden, als zuvor von einer vorhergehenden Wiedergabe eines Abschnitts des Bands zur Verfügung stand. Dies kann beispielsweise in Situationen vorkommen, in denen eine direkte Null-Auftreffwinkel-Ansicht wenige Informationen über einen Satz von Vordergrundmerkmalen bereitstellt. In einer Ausführungsform, während der Betrachtungswinkel leicht angewinkelt ist, erfordert ein erstes Tiefenspektrum des Vordergrunds mehr Einzelheiten als in einer zuvor wiedergegebenen Zoomniveauansicht bereitgestellt worden ist. In diesem Fall können zusätzliche höhere Zoomniveaudaten für den Vordergrund abgerufen (z. B. von einer Datenbank) und wiedergegeben werden. In einigen Fällen kann ein anfängliches höchstes Zoomniveau des Vordergrunds in dem Maße, in dem der Winkel weiter geneigt wird, ausgeschleust und mit Daten eines niedrigeren Zoomniveaus ersetzt werden. Diese Situation kann entstehen, wenn es für das Vordergrundband im Vergleich zum Hintergrundband nur spärliche Merkmalsdaten gibt.
  • Darüber hinaus kann ein Tiefenband auf Basis einer Sichtlinie von Merkmalen und Kartenobjekten im Vordergrund unterteilt werden. In den Fällen, in denen ein Gebäude im Vordergrundband positioniert ist und das Sichtfenster nah genug am Gebäude liegt, so dass ein Großteil des Sichthorizonts vom Gebäude abgedeckt ist, können nur Abschnitte innerhalb der Sichtlinie des Sichtfensters wiedergegeben werden. Alternativ können nur Kartendaten für Kartenbereiche, die innerhalb des Sichtlinienspektrums des Sichtfensters sichtbar sind, aus dem Datenspeicher abgerufen werden.
  • Da das Sichtfenster geneigt ist, können die Tiefenbanddimensionsspektren entsprechenderweise für eine gegenwärtige Ansicht angepasst werden. In dem Maße, in dem der Neigungswinkel geändert wird, kann der sichtbare Bereich der Kartenoberfläche zum Beispiel für eine konstante Sichtfenstergröße, Position und Vergrößerung immer weiter geändert werden. In dem Maße, in dem der Neigungswinkel erhöht wird, kann das Vordergrundband in einer Ausführungsform tiefer wachsen, wobei jedes nachfolgende Band dementsprechend eingestellt wird. Im Allgemeinen kann die Größe der Bänder in dem Maße, in dem der Neigungswinkel geändert wird, entsprechend angepasst werden. Außerdem kann die Anzahl der Bänder, je nach Bedarf erhöht oder gesenkt werden, um ein visuell zufriedenstellendes Bild bereitzustellen.
  • Jeder der Blöcke 702708 aus 7 kann auf eine Anzahl von Wegen und von einer Anzahl unterschiedlicher Entitäten durchgeführt werden, während die hierin beschriebenen Verfahren durchgängig gleichbleibend verwendet werden. In einer Ausführungsform, in der eine Datenbank, die Kartendaten enthält, sich innerhalb eines ersten Computers befindet, können Blöcke 702708 in ihrer Gesamtheit auf der ersten Computereinrichtung durchgeführt werden.
  • In anderen Ausführungsformen können die Prozessblöcke auf zwei oder mehrere Computereinrichtungen aufgeteilt werden. 8 veranschaulicht einen Prozessfluss, bei dem Block 801 ein Sichtfensterzustand (Größe, Position, Richtung, Vergrößerung) für eine Kartenoberfläche auf einer ersten Recheneinrichtung ermittelt. Auf Basis dieses Sichtfensterzustands, kann die erste Recheneinrichtung, (z. B. ein Client) bei Block 802 mit einer zweiten Recheneinrichtung (z. B. ein Server) kommunizieren, um Kartendaten auf Basis des Sichtfensterzustands anzufragen. Die zweite Recheneinrichtung kann sowohl einen Satz von Sichtbändern als auch von Zoomniveaudaten für jedes Sichtband ermitteln. Der zweite Computer kann die entsprechenden Kartendaten und die entsprechenden Kartendienstleistungen, die die erste Rechnereinrichtung durch das Senden entsprechender Kartendaten an den ersten Computer angefragt hat, dann abrufen. Die erste Recheneinrichtung kann die Kartendaten für seine Anfrage als einen ersten Banddatensatz bei einem ersten Zoomniveau (Block 803) und als einen zweiten Banddatensatz bei einem zweiten Zoomniveau (Block 804) erhalten. Der erste Computer kann die Karte bei Block 804 auf Basis der empfangenen Band- und Zoomniveaudaten anzeigen. In einer alternativen Ausführungsform kann die zweite Recheneinrichtung die Kartendaten entweder von einem dritten Computer empfangen, oder einem dritten Computer den Befehl erteilen, die entsprechenden Kartendaten an die erste Recheneinrichtung zu senden.
  • 9 veranschaulicht einen Prozessfluss von einer Server-Seite. Bei Block 902 erhält ein Server eine Anfrage danach, eine Kartenoberfläche auf einem Sichtfenster anzuzeigen. In einigen Fällen kann kein Sichtfensterzustand nach der Anfrage erhalten werden. In derartigen Fällen kann der Server auf Basis eines zuvor ermittelten oder standardmäßigen Sichtfensterzustands für eine Kartenoberfläche oder einen allgemeinen Kartenstandort fortfahren. Block 904 kann dann einen Satz von Sichtbändern auf einer Kartenoberfläche auf Basis des Sichtfensterzustands ermitteln. Block 906 kann Zoomniveaudaten, die für jedes der ermittelten Sichtbänder erforderlich sind, ermitteln. Blöcke 908 und 910 können die Übertragung der Banddaten und Zoomniveaudaten auf eine anfragende Einrichtung oder auf einen anfragenden Nutzer ermöglichen. Zusätzliche Blöcke, die zusätzliche Bänder und Zoomniveaudaten senden, können dem Prozess angehängt werden.
  • Die Zoomniveaudaten und die Banddaten des Prozesses aus 9 können aus einer sich innerhalb des Servers befindlichen Datenbank oder aus einer Datenbank einer dritten Recheneinrichtung abgerufen werden. In einer Ausführungsform kann der Server die entsprechenden Kartendaten von einer dritten Einrichtung abrufen und die Kartendaten dann im Gegenzug an die anfragende Einrichtung oder den anfragenden Client senden. In einer alternativen Ausführungsform kann der Server der dritten Recheneinrichtung den Befehl erteilen die entsprechenden Kartendaten an die anfragende Einrichtung oder den anfragenden Benutzer zu senden. In einer anderen Ausführungsform wird ein Abschnitt der entsprechenden Kartendaten aus einer Datenbank des Servers abgerufen und ein Abschnitt der entsprechenden Kartendaten wird von einer Datenbank einer dritten Einrichtung abgerufen. In einer anderen Ausführungsform wird ein Abschnitt der entsprechenden Kartendaten vom Server gesendet und ein Abschnitt der entsprechenden Kartendaten wird von einer dritten Einrichtung gesendet.
  • In anderen Ausführungsformen kann das Ermitteln des Banding von einer ersten Recheneinrichtung ausgeführt werden, während das Ermitteln derjenigen Zoomniveaudaten, die verwendet werden, um die Sichtbänder wiederzugeben, von einer zweiten Recheneinrichtung ausgeführt werden kann. Kartendaten in dieser Konfiguration können von entweder einem Computer, der den ermittelnden Block ausführt oder einem anderen Computer eingeholt werden Natürlich können die hierin beschriebenen Kartenwiedergabemethoden auf eine beliebige Anzahl von Arten verändert oder variiert werden, um das beschriebene Kartenwiedergabesystem bereitzustellen.
  • 10 veranschaulicht einen anderen Prozessfluss für einen Server-Computer. Ein Block 1002 kann programmiert werden, um eine Anfrage nach Kartendaten zu erhalten, die verwendet werden kann, um eine Kartenoberfläche auf Basis eines erhaltenen Sichtfensterzustands anzuzeigen. In einigen Ausführungsformen kann ein Sichtfensterzustand nicht in der Anfrage enthalten sein und der Server kann seine Ausführung auf Basis eines vorbestimmten oder standardmäßigen Sichtfensterzustands für eine Kartenoberfläche oder einen allgemeinen Kartenstandort fortsetzen. Ein Block 1004 kann einen Satz von Sichtbändern und entsprechenden Zoomniveaudaten für jeden Satz von Sichtbändern auf der Kartenoberfläche auf Basis des Sichtfensterzustands ermitteln. Ein Block 1006 kann ein Bild der Kartenoberfläche auf Basis des ermittelten Satzes von Sichtbändern generieren oder erstellen. Ein Block 1008 kann das Bild dann zum Beispiel an eine Client-Recheneinrichtung übermitteln, um angezeigt zu werden.
  • Die folgenden Abschnitte beschreiben Details möglicher Kombinationen zwischen den oben beschriebenen Bandingmethoden und den Methoden zum Ermitteln von Bildbereichprojektionen auf der Anzeigeebene oder dem Anzeigebildschirm. Die Verfahren für das Ermitteln von Projektionen kann verwendet werden, um sich Bänder anzupassen.
  • 11 veranschaulicht eine Draufsicht auf eine Kartenoberfläche 1100 bei einem Null-Neigungswinkel, der auf einer Anzeigeeinrichtung wiedergegeben werden kann. Diese Ansicht entspricht einer flachen zweidimensionalen Karte. Im Allgemeinen kann eine Anzeigeeinrichtung ein Bild (z. B. ein Kartenoberflächenbild) unter Verwendung eines zweidimensionalen Rasters (z. B. eine Sichtebene) aus diskreten Bildelementen namens Pixel 1011 wiedergeben. Ein Pixel 1011 kann das kleinste adressierbare Element der Anzeigeeinrichtung repräsentieren, im Rahmen der das Adressieren eines Pixels im Allgemeinen seinen Koordinaten auf einem Bildschirm der Anzeigeeinrichtung entspricht. Wie bereits erörtert, können die Kartendaten als Kartendatenkacheln organisiert sein, wobei jede Kartendatenkachel einem Bereich auf einer Kartenoberfläche entspricht. 11 veranschaulicht eine Implementierung, bei der jede Kartendatenkachel 1110 unter Verwendung von vier Pixeln, die in Form eines 2×2 Pixelquadrats der Anzeigeeinrichtung angeordnet sind, wiedergegeben werden kann. Natürlich können mit der Ausnahme des Durchmessers von zwei Pixeln 1120 auch andere Kartenkachelgrößen, implementiert werden. Zum Beispiel kann ein 256×256 Pixelquadrat in einigen Ausführungsformen dazu verwendet werden, um Kartendatenkacheln wiederzugeben.
  • Im Allgemeinen können Kartendatenkacheln jedes Zoomniveaugrads so skaliert werden, dass wenn sie bei einer Vergrößerung wiedergegeben werden, die ihrem Zoomniveau entspricht, sie mit derselben Anzeigebildschirm-Pixelgröße und demselben Anzeigebildschirm-Bereich wiedergegeben werden. In der Ausführungsform aus 11 kann jede Kartendatenkachel daher als ein 2×2 Anzeigebildschirm-Pixelquadrat wiedergegeben werden, wenn eine Vergrößerung des Sichtfensters oder des Anzeigebildschirms einem Zoomniveau der Kartendatenkachel entspricht oder mit diesem übereinstimmt. Wenn Kartendatenkacheln beispielsweise bei einem Zoomniveau 10 auf einem Anzeigebildschirm bei einer Vergrößerung wiedergegeben werden, die Zoomniveau 10 entspricht, kann jede Kartendatenkachel aus 2×2 Anzeigebildschirmpixeln bestehen. Dieselbe Skalierung kann auf Kartendaten des Zoomniveaus 9 zutreffen. Insbesondere bestehen Kartendatenkacheln des Zoomniveaus 9 auch jeweils aus 2×2 Anzeigebildschirmpixeln, wenn sie bei einer Vergrößerung wiedergegeben werden, die Zoomniveau 9 entspricht. Hieraus ergibt sich, dass 11 ein Layout von Kartendatenkacheln (d. h. als 2×2 Anzeige Bildschirm-Pixelquadrate) eines beliebigen Zoomniveaus veranschaulicht, wenn die Vergrößerung des Anzeigebildschirms oder des Sichtfensters dem Zoomniveau der angezeigten Kartendatenkacheln entspricht. Dementsprechend kann die Anzahl der Kartendatenkacheln in erster Linie auf die physikalische Größe des Anzeigebildschirms (z. B. ein Anzeigebildschirm von 640×480 kann nur über 320 Kartendatenkacheln in der Quere und 240 Kartendatenkacheln in der Höhe verfügen) oder durch ein Sichtfenster, das nur einen Abschnitt des gesamten Anzeigebildschirms bezeichnet, eingeschränkt werden.
  • In einigen Situationen können Kartendatenkacheln eines ersten Zoomniveaus bei einer Vergrößerung wiedergegeben werden, die sich von der Vergrößerung unterscheidet, die dem ersten Zoomniveau entspricht. In dieser Situation kann die Anzeigegröße der Kartendatenkacheln (z. B. die Anzahl der Anzeigebildschirmpixel, die verwendet wird, um die Kartendatenkacheln wiederzugeben) auf eine Größe festgesetzt werden, die sich von der Vergrößerung, die dem ersten Zoomniveau entspricht, unterscheidet. 12 veranschaulicht eine Ansicht von Kartendatenkacheln unterschiedlicher Zoomniveaus, die gemäß einer Ausführungsform gleichzeitig angezeigt werden. Die Kartendatenkacheln aus 12 werden auf einem Anzeigebildschirm bei einem einzigen Vergrößerungsgrad wiedergegeben, weswegen nicht alle Kartendatenkacheln unterschiedlicher Zoomniveaus derselben Größe der Anzeigebildschirmpixel entsprechen können.
  • Aus beispielhaften Zwecken kann 12 eine Kartenoberfläche 1208 veranschaulichen, die bei einer Vergrößerung mit Zoomniveau 10 wiedergegeben wird und dessen Kartendatenkacheln 1201 eines ersten Bereichs 1210 Kartendatenkacheln von Zoomniveau 10 sind, Die Kartenoberfläche 1208 wird unter Verwendung einer Vielzahl von Anzeige-Bildschirmpixeln 1200 wiedergegeben. Der erste Bereich 1210 der Kartenoberfläche umfasst eine Vielzahl von Kartendatenkacheln 1201, die je über eine Größe von 2×2 Anzeigebildschirmpixeln verfügen (die über einen Durchmesser 1205 verfügen). Ein zweiter Bereich 1220 der Kartenoberfläche 1208 kann unter Verwendung von Kartendatenkacheln 1202 eines niedrigeren Zoomniveaus 9 wiedergegeben werden. In Übereinstimmung mit dem gegenwärtigen Beispiel, falls die Kartendatenkacheln aus Niveau 9 bei einer Vergrößerung, die Zoomniveau 9 entspricht, wiedergegeben werden würden, würden sie in einer ähnlichen Größe wiedergegeben werden, die dem Bereich 1210 entspricht, bei dem jede Kartendatenkachel aus 2 × 2 Pixelquadraten besteht. Die Ansicht aus 13 wird jedoch bei einer Vergrößerung mit Zoomniveau 10 wiedergegeben. Daher können Kartendatenkacheln des Zoomniveaus 9 bei einer Vergrößerung des Zoomniveaus 10 größer als Kartendatenkacheln des Zoomniveaus 10 wiedergegeben werden. In dieser Ausführungsform entspricht jedes nachfolgende Zoomniveau einer 2× Vergrößerung eines vorhergehenden Zoomniveaus. Daher werden die Kartendatenkacheln des Zoomniveaus 9, die bei einer Vergrößerung des Zoomniveaus 10 wiedergegeben werden, als 4×4 Quadratpixel bei einer Vergrößerung von Zoomniveau 10 wiedergegeben. Ein dritter Bereich 1230 der Kartenoberfläche 1208 kann unter Verwendung der Kartendatenkacheln 1203 bei einem niedrigeren Zoomniveau 8 wiedergegeben werden. Aufgrund der 2× Vergrößerung zwischen Zoomniveaus, entsprechen die Kartendatenkacheln 1203 des Zoomniveaus 8, die bei einer Vergrößerung des Zoomniveaus 10 wiedergegeben werden, 8×8 Quadratspixeln oder der zweifachen Dimension (die vierfache Größe) der Kartendatenkacheln bei Zoomniveau 9. Im Allgemeinen können Kartendatenkacheln einer kleineren Vergrößerung größeren Bereichen einer Kartenoberfläche als Kartendatenkacheln eines höheren Zoomniveaus, entsprechen. Folglich kann es für eine größere Anzahl von Kartendatenkacheln eines höheren Zoomniveaus erforderlich sein, denselben eigentlichen Kartenoberflächenbereich der Kartendatenkacheln eines geringeren Zoomniveaus zu repräsentieren. Es sollte allerdings bemerkt werden, dass während Kartendaten unterschiedlicher Zoomniveaus in 12 aneinander angrenzend angeordnet sind, die Skalierung so ist, dass die Entfernungen entlang der Ebene der Kartenoberfläche selbst dann unverändert bleiben, wenn es zu Überkreuzungen zwischen Kartendatenkacheln unterschiedlicher Zoomniveaus kommt. Selbst wenn ein Kartenmerkmal zum Beispiel Datenkachelbereiche zwei unterschiedlicher Zoomniveaus durchquert (z. B. 1210 und 1220) behält die Tiefe entlang der Kartenoberfläche ihre Proportionalität.
  • 13 veranschaulicht die Kartenoberfläche aus 11 bei einem Nicht-Null-Auftreffwinkel. In 13 entsprechen alle Kartendatenkacheln einem einzelnen Zoomniveau und werden bei einer Vergrößerung, die dem Zoomniveau entspricht wiedergegeben. Aus beispielhaften Zwecken können 11 und 13 eine Anzeige des Zoomniveaus 10 repräsentieren. Aufgrund des Neigungswinkels wird der Kartenoberfläche eine zusätzliche Tiefendimension (d) hinzugefügt. Diese Tiefendimension wird auf einer Ebene, die von einem Sichtfenster (oder einem Anzeigefenster) repräsentiert wird, als eine zweidimensionale Projektion der Kartenoberfläche wiedergegeben. 14 ist besser dazu geeignet, um zu veranschaulichen, dass eine Sichtebene 1425 eines Sichtfensters, das bei einem Winkel 1420 mit einer Ebene 1427 angeordnet ist, die Kartenoberfläche repräsentiert. Ein Sichtfenster kann mein Abschnitt der Sichtebene 1425 sein. Der Winkel 1420 kann proportional zu einem Auftreffwinkel sein. Wenn der Winkel 1420 null beträgt (und einem Null-Auftreffwinkel entspricht) und die zwei Ebenen ausgerichtet sind, kann ein Sichtfenster der Sichtebene 1425 die Kartenebene als eine Ansicht wiedergeben, die über ähnliche Eigenschaften wie die in 11 veranschaulichte verfügt. Wenn der Winkel 1420 nicht Null beträgt kann das Sichtfenster der Sichtebene 1425 eine Ansicht bereitstellen, die über ähnliche Eigenschaften wie die in 13 veranschaulichte verfügt.
  • Wenn die Sichtebene 1425 und die Kartenebene 1427 angewinkelt (geneigt) sind, können die Bereiche der Kartenebene 1428, die über dieselbe Größe verfügen, auf der Ansichtsebene 1423 als Bereiche unterschiedlicher Größen projiziert werden. Im Allgemeinen kann die Projektion der Kartenoberfläche auf ein Sichtfenster (das einen Abschnitt der Sichtebene repräsentiert) derart sein, dass Bereiche der Kartenoberfläche, die einer Position auf der Sichtebene 1425 (oder eines Abschnitts der sich der Ebene) nähergelegen sind, größer als diejenigen Bereiche der Kartenoberfläche wiedergegeben werden, die sich von der Position der Sichtebene 1425 weiter entfernt befinden. Insbesondere veranschaulicht 13, dass ein Pixel 1321, der sich in der Nähe einer Position der Sichtebene befindet auf eine Sichtebene mit einer Anzeigenbildschirmhöhe 1322 projiziert werden würde, die größer als ein Pixel 1324 mit einer Anzeigenbildschirmhöhe 1325 ist, die sich distal von einer Position der Ansichtsebene befindet.
  • 15A–D veranschaulichen einen Abschnitt 1423 der zwei Ebenen 1425, 1427 aus 14 für verschiedene Neigungswinkel, die jedoch bei einer Vergrößerung mit Zoomniveau 10 wiedergegeben werden würden. Zur Gegenüberstellung werden Pixel der Kartenebene alternierend schattiert. 15A veranschaulicht einen Fall, bei dem die zwei Ebenen 1425 und 1427 bei dem jeweiligen Null-Neigungswinkel parallel zueinander sind. In diesem Fall stimmt ein Pixel 1541 der Kartenebene 1525 mit der Größe eines Pixels 1542 der Kartenebene 1527 überein. Die Pixel 1541 und 1542 verfügen beide über dieselbe Tiefe oder Höhe 1543. 15B15D veranschaulichen denselben Abschnitt 1423 aus 14, aber bei unterschiedlichen ansteigenden Winkeln 1420 zwischen den Ebenen Die unterschiedlichen Winkel von 1420 können mit Bezug zu einer Normalen der Kartenebene 1427 proportional zu unterschiedlichen Neigungswinkeln der Kartenebene 1425 sein. 15B veranschaulicht, dass bei einem Neigungswinkel (Auftreffwinkel) von 15 Grad von der Normalen, die Tiefe 1543 des Kartenebenenpixels 1542 auf die Ansichtsebene 1425 als kleiner als die Höhe 1544 der Anzeigeebenenpixels 1541 projiziert wird, wobei der Kartenebenenpixel 1542 den Bereich einer selben Größe als Ansichtsebenenpixel 1541 repräsentiert, wenn die Ansichtsebene über eine Neigung von Null verfügt (wie in 15A veranschaulicht). 15C veranschaulicht, dass die Tiefe 1543 des Kartenebenenpixels 1542 bei einem Neigungswinkel von 40 Grad von der Normale als noch kleiner, als die sich in 15B befindliche, projiziert wird. 15D veranschaulicht, dass die Tiefe 1543 des Kartenebenenpixels 1542 bei einem Winkel von 70 Grad immer noch kleiner als die sich in 15C befindliche ausfüllt. In denjenigen Fällen, in denen ein Pixel 1542 der Kartenebene 1427 anfänglich als der Pixel 1541 einer Ansichtsebene 1425 (16A) derselben Größe wiedergegeben wird, können bei einem größeren Neigungswinkel (15D) bis zu drei Kartenebenenpixel 1542 innerhalb eines einzelnen Pixels 1541 der Ansichtsebene hineinpassen. Dabei ist es wichtig zu beachten, dass je weiter entfernt das Kartenebenenpixel sich mit Bezugnahme auf eine Position des Ansichtsfensters befindet, desto kleiner seine Projektion auf einem Abschnitt der Sichtebene ausfällt. Zum Beispiel fällt die projizierte Tiefe 1546 eines distalen Kartenebenenpixels kleiner als die projizierte Tiefe 1547 des proximalen Kartenebenenpixels aus.
  • 15A veranschaulicht, dass ein Zoomniveau 10 der Kartendatenkachel, das auf der Kartenebene 1427 über eine Länge von 2 Pixeln verfügt, auf der Ansichtsebene 1425 mit einer Höhe von 2 Pixeln wiedergegeben werden würde, wenn der Auftreffwinkel null beträgt und eine Vergrößerung der Ansicht einem Zoomniveau 10 entspricht. (Zwei Pixel entsprechen der Länge einer Kartendatenkachel bei Zoomniveau 10, die bei einer Vergrößerung von Zoomniveau 10 wiedergegeben wird). Da der Auftreffwinkel des Sichtfensters oder der Sichtebene erhöht wird, beträgt die Projektion der vertikalen Länge derselben zwei Pixel (auch als „Tiefe” bei einer Nicht-Null-Neigung bezeichnet) weniger als zwei Pixel in der Höhe auf der Ansichtsebene. 15C und 15D veranschaulichen, dass die zwei Pixel betragende Tiefe auf der Kartendatenkachel der Kartenebene bei einem bestimmten Neigungswinkelspektrum möglicherweise nur ungefähr ein Pixel auf der Sichtebene beträgt.
  • 15E veranschaulicht eine exemplarische Ansicht einer Kartendatenkachel 1550 bei Zoomniveau 9, die bei einer Vergrößerung von Zoomniveau 10 wiedergegeben wird, wobei ein Abschnitt der Kartendatenkachel auf ein Anzeigebildschirmpixel 1541 projiziert wurde. Wie bereits vorstehend erörtert, können die Dimensionen der Kartendatenkachel 1550 bei Zoomniveau 9, die bei einer Vergrößerung von Zoomniveau 10 wiedergegeben werden, größer als eine Kartendatenkachel 1552 bei Zoomniveau 10, die bei einer Vergrößerung von Zoomniveau 10 wiedergegeben wird, ausfallen, 12 kann verwendet werden, um Pixelbeziehungen zwischen Zoomniveaus zu erklären. Wie bereits erörtert wird Kartendatenkachel 1201 bei Zoomniveau 10 aus 12 als 2×2 Anzeigebildschirmpixel bei einer Vergrößerung von Zoomniveau 10 wiedergegeben und Kartendatenkachel 1202 bei Zoomniveau 9 beträgt bei einer Vergrößerung von Zoomniveau 104×4 Anzeigebildschirmpixel. Wenn die Größe der Bildschirmpixel, die bei Vergrößerungen unterschiedlicher Zoomniveaus wiedergegeben werden, in Beziehung gesetzt wird, führt dies zu einem Verhältnis, bei dem ein Anzeigebildschirmpixel bei einer Vergrößerung von Zoomniveau 92×2 Bildschirmpixel bei einer Vergrößerung von Zoomniveau 10 subsumiert. Kartendatenkacheln bei Zoomniveau 9 können daher bei einer Vergrößerung von Zoomniveau 9 2×2 Anzeigebildschirmpixel betragen, aber vier 2×2 Anzeigebildschirmpixel subsumieren, wenn sie bei einer Vergrößerung von Zoomniveau 10 wiedergegeben werden.
  • Rückkehrend und zu 15E wird Kartendatenkachel 1550 bei Zoomniveau 9 als vier Pixel bei Zoomniveau 9 (d. h. Pixel bei einer Vergrößerung von Zoomniveau 9) 1552 veranschaulicht, wobei jedes Pixel 1552 bei Zoomniveau 9 2×2 Pixel 1553 bei einer Vergrößerung von Zoomniveau 10 beträgt. 15E veranschaulicht, dass in denjenigen Fällen, in denen der Neigungswinkel der Ansichtsebene groß genug ist und/oder eine Tiefenposition der Kartendatenkachel sich von der Ansichtsebene weit entfernt genug befindet, ein Kartenebenenpixel 1552 einer Vergrößerung von geringerem Zoomniveau (welcher einen größeren Kartenebenenbereich als ein Pixel einer Vergrößerung von höherem Zoomniveau repräsentiert) so projiziert werden kann, dass er ungefähr ein Anzeigebildschirmpixel 1541 beträgt.
  • Zusammenfassend kann ein Tiefeninkrement (d) entlang der Kartenebene als ein Höheninkrement (y) auf einem Sichtfenster der Ansichtsebene (auch als ein Ansichtsbildschirm bezeichnet) projiziert werden. Im Allgemeinen gilt, dass je weiter weg sich ein Tiefeninkrement (d) von der Position des Sichtfensters aus befindet, desto kleiner die projizierte Höhe (y) auf dem Sichtfenster ausfällt. Je größer der Neigungswinkel ausfällt, desto kleiner fällt auch die Höhenprojektion (y) für dasselbe Tiefeninkrement (d) aus. Bei dem Tiefeninkrement kann es sich um eine Tiefe einer Einheit des Bereichs einer Kartenoberfläche handeln, die Kartendaten einer Zoomebene bei einer Vergrößerung desselben Zoomniveaus entspricht. Die Einheit des Kartenoberflächenbereichs kann als derjenige Bereich designiert werden, der vom Anzeigenbildschirmpixel einer Kartendatenkachel bei einer Vergrößerung eines entsprechenden Zoomniveaus und einer Null-Neigung repräsentiert wird. Der Bereich, der vom Pixel der Kartendatenkachel repräsentiert wird, kann feststehend sein, und zwar unabhängig von den Verzerrungen, die sich aus dem Neigen einer Sichtebene oder dem Ändern des Zoomniveaus ergeben. In 12 bleibt die Einheit des Kartenbereichs, der von Pixel 1200 auf der Kartenoberfläche repräsentiert wird, zum Beispiel konstant, und zwar unabhängig vom Neigungswinkel oder des Zoomniveaus der Vergrößerung. Falls die Vergrößerung erhöht wird (höheres Zoomniveau) kann der Pixel vergrößert werden, obwohl er immer noch denselben Kartenoberfläche Bereich repräsentiert. 12 zeigt auch, dass eine Kartendatenkachel 1202 eines geringeren Zoomniveaus vier Einheiten eines Kartenbereichs umfasst, die vier Anzeigebildschirmpixeln entspricht, wenn der Kartenbereich bei einer Vergrößerung mit geringerem Zoomniveau wiedergegeben wird. Die vier Einheiten des Kartenbereichs können vergrößert werden, da sie auf einem gegenwärtig höheren Zoomniveau der Anzeige vergrößert werden. In Ausführungsformen, die weiter unten beschrieben werden, können Berechnungen gemacht werden, um eine Projektion einer Einheit des Kartenbereichs zu ermitteln, die einem Pixel der Kartendaten entspricht, wenn die Kartendaten bei einer Vergrößerung eines Zoomniveaus der Kartendaten wiedergegeben werden. Die Einheit des Kartenbereichs kann als ein Pixel einer Kartenoberfläche oder einer Kartenebene oder eines Kartenebenenpixels bezeichnet werden.
  • In einer Ausführungsform kann der Übergang oder die Grenze zwischen einem ersten Sichtband bei einem ersten Tiefensektrum und dem zweiten Sichtband bei einem zweiten Tiefenspektrum durch das Annähern einer Tiefe ermittelt werden, bei der die Projektion eines Kartenebenpixels von einem Zoomniveau sich hinsichtlich eines Anzeigebildschirmpixels innerhalb einer Schwellenwerthöhe befindet. Durch das Starten an dieser Grenze und das entlang einer Kartenoberfläche durchgeführte Fortfahren in die Tiefe, können die Kartendatenkacheln eines geringeren Zoomniveaus verwendet werden, wo diese Kartendatenkacheln größere Bereiche der Kartenoberfläche oder der Kartenebene bei einem gegenwärtigen Zoomniveau der Ansicht subsumieren und auf der Sichtebene als größere Höhen (hinsichtlich vorhergehender niedrigerer Tiefbereiche) projiziert werden. In einer Ausführungsform können die Bänder so ermittelt werden, dass die projizierten Kartenebenenpixel sich einem Anzeigebildschirmpixel annähern.
  • 16 veranschaulicht eine Ausführungsform der hierin beschriebenen Banding-Methoden, wobei die Kartendatenkacheln der Zoomniveaus, die sich unterhalb des gegenwärtigen Zoomniveaus des Sichtfensters befinden, bei unterschiedlichen Tiefenspektren angezeigt werden. 16 veranschaulicht dieselbe Kartenebene oder Oberfläche 1208 aus 12 bei einem Nicht-Null-Neigungswinkel und einer Vergrößerung, die Zoomniveau 10 entspricht (genauso wie im Falle von 13) Bereiche 1614, 1615, und 1616 aus 16 können jeweils Bereichen 1210, 1220, und 1230 aus 12 entsprechen. 16 veranschaulicht, dass wenn die Projektion einer Tiefe (d) der Kartenebene auf der Höhe (y) der Ansichtsebene kleiner (in Höhe) als ein Schwellenwert ausfällt, die Kartendatenkacheln eines geringeren Zoomniveaus verwendet werden können, um die Kartenoberfläche bei diesem tiefen Spektrum wiederzugeben. Insbesondere, wird in 16 das Setzen einer Grenze 1619 zwischen Bereichen 1614 und 1615 veranschaulicht, wobei eine projizierte Sichtebenenhöhe 1621 der Kartendatenkachel 1622 mit Zoomniveau 10 einer projizierten Sichtebenenhöhe 1624 einer Kartendatenkachel 1625 mit Zoomniveau 9 angenähert wird. Das Ermitteln welche Höhe welcher Datenkartenkachel der Region 1614 als eine Baseline-Höhe verwendet werden soll, kann von einer Vielzahl von Faktoren abhängen. In der Ausführungsform aus 14 wird die Höhe einer zentralen Kartendatenkachel als eine Baseline ausgewählt.
  • In einer Ausführungsform kann ein Algorithmus verwendet werden, Sichtbänder auf Basis einer vertikalen Position auf dem Anzeigebildschirm einzustellen. Der Algorithmus kann eine Funktion verwenden, die ein Verhältnis einer Pixeltiefe der Kartenebene zur Pixelhöhe des Anzeigebildschirms (Ansichtsebene) auf Basis einer Tiefendimension der Kartenebene ausgibt. Ein Kartenpixel in der hierin verwendeten Form kann auf eine Einheit des Bereichs der Kartenebene (z. B. Kartenebene 1427 aus 14) oder eine Kartenoberfläche, die einem Anzeigebildschirmpixel (z. B. eine Ansichtsebene 1425 aus 14) entspricht, verweisen, wenn das Sichtfenster (z. B. ein Abschnitt der Sichtebene 1425) sich bei einer bestimmten Vergrößerung bei einem Null-Auftreffwinkel mit der Kartenoberfläche befindet (siehe 15A). Eine Kartenpixeltiefe kann auf eine Entfernungsdimension 1543 der Einheit des Bereichs der Kartenebene (siehe 15C) verweisen. Eine Pixelhöhe des Anzeigebildschirms kann auf die Höhe eines Pixels des Anzeigebildschirms verweisen, der bei Länge 1544 repräsentiert werden kann (siehe 15C)
  • Eine Tiefe eines Kartenoberflächenpixels kann als Ym bezeichnet werden, während die Höhe eines Anzeigebildschirmpixels als Ys bezeichnet werden kann. Eine Änderung in der Tiefenposition der Karte (Ym) für eine gegebene Änderung der Höhe auf dem Anzeigebildschirm (Ys) kann vom Derivat dYm/dYs repräsentiert werden. Eine Gleichung kann das Derivat dYm/dYs zu einer Funktion F eines Zoomniveaus und einer vertikalen Koordinate auf dem Bildschirm in Verbindung setzen. dYm/dYs = F(Z, Ys, T)
  • wobei Z ein Zoomniveau repräsentiert, Ys die Höhenposition auf dem Bildschirm ist und T sich in einem Auftreffwinkel oder Neigungswinkel zwischen der Fensterebene und der Kartenebene befindet. Das Lösen der Gleichung für Ys resultiert in eine Funktion G, welche die vertikale Position auf dem Bildschirm bei einem bestimmten Zoomniveau und einem bestimmten Neigungswinkel mit einem bestimmten Verhältnis der Kartenpixeltiefe zur Bildschirmpixelhöhe in Verbindung setzt: Ys = G(Z, dYm/dYs, T)
  • Unter Verwendung dieser Funktion können die erwünschten Grenzen eines sich Bands auf Basis des ausgewählten Pixel-Höhenverhältnisses ausgerechnet werden. Das Pixel-Höhenverhältnis kann auf Basis einer Anzahl von Faktoren ausgewählt werden. In einer Ausführungsform kann das Pixel-Höhenverhältnis auf empirischen Tests basieren, um Pixel-Höhenverhältnisse für Bänder zu ermitteln, so dass der visuelle Übergang zwischen Bändern gleichmäßig und nicht abrupt stattfindet. In einigen Ausführungsformen kann das Pixel-Höhenverhältnis verstellbar sein. In einer Ausführungsform können Sichtbänder an Stellen ermittelt werden, an denen die Tiefe eines Kartenpixels niemals weniger als ein Bildschirmpixel beträgt. Mit anderen Worten kann ein Sichtband, das über Kartendaten des Zoomniveaus Z verfügt, an vertikalen Regionen zwischen G(Z, 1) bis G(Z, 2) definiert werden. Dies kann es einem Kartenpixel erlauben, zweimal so groß wie seine natürliche Größe zu sein, bevor ein nächstes Zoomniveau der Kartendaten wiedergegeben wird (die Kartendatenkachel oder Einheit der Kartendaten an der sichtbaren Grenze wird bei einer Größe projiziert, die einem Zoomniveau der Kartendatenkachel entspricht).
  • In dieser gesamten Spezifikation können mehrere Instanzen Komponenten, Vorgänge oder Strukturen implementieren, die als einzelner Fall beschrieben werden. 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.
  • Das Netzwerk 25 kann beispielsweise unter anderem eine beliebige Kombination aus einem LAN, einem MAN, einem WAN, einem mobilen, einem verdrahteten oder drahtlosen Netzwerk, einem privaten Netzwerk oder einem virtuellen, privaten Netzwerk umfassen. Obwohl zur Vereinfachung und Verdeutlichung der Beschreibung in 1 nur vier Client-Geräte dargestellt sind, ist es selbstverständlich, dass eine beliebige Anzahl von Client-Geräten oder Anzeigegeräte unterstützt werden und mit dem Server 14 kommunizieren kann.
  • Außerdem sind bestimmte Ausführungsformen hierin als Logik oder eine Reihe von Komponenten, Modulen oder Mechanismen umfassend beschrieben. Module können entweder Softwaremodule (z. B. Code, der auf einem maschinenlesbaren Medium 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.
  • In verschiedenen Ausführungsformen kann ein Hardwaremodul mechanisch oder elektronisch implementiert werden. Ein Hardwaremodul kann beispielsweise eine spezielle Schaltung oder Logik umfassen, die dauerhaft zur Ausführung bestimmter Operationen konfiguriert ist (z. B. als ein spezieller Prozessor, wie beispielsweise ein Field Programmable Gate Array (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC)). Ein Hardwaremodul kann außerdem programmierbare Logik oder Schaltkreise umfassen (z. B. wie in einem Allzweck-Prozessor oder einem anderen programmierbaren Prozessor eingeschlossen), der von der Software temporär für die Durchführung bestimmter Operationen konfiguriert ist. Es wird darauf hingewiesen, dass die Entscheidung für die mechanische Implementierung eines Hardwaremoduls in spezielle und dauerhaft konfigurierte oder temporär konfigurierte Schaltungen (z. B. per Software konfiguriert) von Kosten- und Zeitüberlegungen abhängig sein kann.
  • Demgemäß sollte der Begriff Hardware so verstanden werden, dass er eine greifbare Entität umfasst, sei es eine Entität, die physisch konstruiert, permanent konfiguriert (z. B. hartverdrahtet) oder temporär konfiguriert (z. B. programmiert) ist, um auf bestimmte Weise zu arbeiten oder bestimmte, hierin beschriebene Operationen durchzuführen. Bei Berücksichtigung von Ausführungsformen, in denen Hardwaremodule temporär konfiguriert (z. B. programmiert) sind, müssen die jeweiligen Hardwaremodule nicht zu jeder einzelnen zeitlichen Instanz konfiguriert oder instanziiert sein. Wenn die Hardwaremodule zum Beispiel einen Allzweck-Prozessor umfassen, der für die Verwendung von Software konfiguriert ist, kann der Allzweck-Prozessor als entsprechend unterschiedliche Hardwaremodule zu verschiedenen Zeiten konfiguriert sein. Software kann demgemäß einen Prozessor zum Beispiel so konfigurieren, dass er zu einer zeitlichen Instanz ein bestimmtes Hardwaremodul und zu einer anderen zeitlichen Instanz ein anderes Hardwaremodul darstellt.
  • Hardware- und Softwaremodule können Informationen anderen Hardware- und/oder Softwaremodulen bereitstellen und Informationen von diesen empfangen. Demgemäß können die beschriebenen Hardwaremodule als kommunikativ gekoppelt betrachtet werden. Wenn mehrere solcher Hardware- oder Softwaremodule gleichzeitig vorhanden sind, kann die Kommunikation über Signalübertragung (z. B. über entsprechende Schaltkreise und Busse) erreicht werden, die mit den Hardware- oder Softwaremodulen verbunden sind. In Ausführungsformen, in denen mehrere Hardware- und Softwaremodule zu verschiedenen Zeiten konfiguriert oder instanziiert sind, kann die Kommunikation zwischen solchen Hardware- und Softwaremodulen zum Beispiel durch die Speicherung und das Abrufen von Informationen in Speicherstrukturen erreicht werden, zu denen die mehreren Hardware- und Softwaremodule Zugriff haben. Zum Beispiel kann ein Hardware- oder Softwaremodul eine Operation durchführen und den Ausgang dieser Operation in einem Speichergerät speichern, mit dem es kommunikativ gekoppelt ist. Ein weiteres Hardware- oder Softwaremodul kann dann, zu einem späteren Zeitpunkt, auf das Speichergerät zugreifen, um die gespeicherte Ausgabe abzurufen und zu verarbeiten. Hardware- und Softwaremodule können außerdem die Kommunikation mit Eingabe- und Ausgabegeräten initiieren, und sie können auf einer Ressource (z. B. einer Informationssammlung) betrieben werden.
  • Die verschiedenen Operationen hierin beschriebener exemplarischer Verfahren können, zumindest teilweise, von einem oder mehreren Prozessoren durchgeführt werden, die temporär (z. B. durch Software) oder permanent für die Durchführung der relevanten Operationen konfiguriert sind. Ganz gleich, ob sie temporär oder permanent konfiguriert sind, stellen solche Prozessoren von Prozessoren implementierte Module dar, die betrieben werden, um eine oder mehrere Operationen oder Funktionen durchzuführen. Module, auf die hierin verwiesen wird, umfassen in einigen exemplarischen Ausführungsformen von Prozessoren implementierte Module.
  • Ihn ähnlicher Weise können hierin beschriebene Verfahren oder Routinen zumindest teilweise von Prozessoren implementiert sein. Zum Beispiel können zumindest einige der Operationen eines Verfahrens von einem oder mehreren Prozessoren oder von durch Prozessoren implementierten Hardwaremodulen durchgeführt werden. Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich der Prozessor oder die Prozessoren an einem einzigen Ort (z. B. in einer Wohnungsumgebung, in einer Büroumgebung oder als eine Serverfarm) befinden, während in anderen Ausführungsformen die Prozessoren über eine Reihe von Orten verteilt sein können.
  • Der eine oder die mehreren Prozessoren können auch so arbeiten, dass sie die Leistung der relevanten Vorgänge in einer „Cloud Computin”-Umgebung oder als ein „Software as a Service” (SaaS) unterstützen. Zum Beispiel können einige der Operationen durch eine Gruppe von Computer (z. B. von Maschinen einschließlich Prozessoren) durchgeführt werden, wobei diese Operationen über ein Netzwerk (z. B. das Internet) und über eine oder mehrere geeignete Schnittstellen (z. B. Anwendungsprogrammschnittstellen, APIs) zugänglich sind.
  • Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich der eine oder die mehreren Prozessoren oder durch Prozessoren implementierte Module an einem einzigen geografischen Standort (z. B. einer Wohnumgebung, einer Büroumgebung oder einer Serverfarm) befinden. In anderen exemplarischen Ausführungsformen können der eine oder die mehreren Prozessoren oder durch Prozessoren implementierten Module über eine Reihe geografischer Standorte verteilt sein.
  • Einige Teile dieser Spezifikation werden in Bezug auf Algorithmen oder symbolische Darstellungen von Operationen bei Daten dargestellt, die als Bits oder binäre digitale Signale in einem Maschinenspeicher (z. B. einem Computerspeicher) gespeichert sind. Diese Algorithmen oder symbolischen Darstellungen sind Beispiele von Techniken, die von Fachleuten der Datenverarbeitungstechnik verwendet werden, um anderen Fachleuten die wesentlichen Inhalte ihrer Arbeit zu vermitteln. Wie hierin verwendet, ist ein „Algorithmus” oder eine „Routine” eine eigenkonsistente Sequenz von Operationen oder ähnliche Verarbeitung, die zu einem gewünschten Ergebnis führt. In diesem Kontext beinhalten Algorithmen, Routinen und Operationen die physische Manipulation physischer Mengen. Normalerweise, aber nicht notwendigerweise, können solche Mengen die Form elektrischer, magnetischer oder optischer Signale annehmen, die von einer Maschine gespeichert, aufgerufen, übertragen, kombiniert, verglichen oder sonst manipuliert werden können. Hauptsächlich aus Gründen der allgemeinen Verwendung ist es manchmal praktisch, solche Signale mithilfe von Wörtern wie „Daten”, „Inhalt”, „Bits”, „Werte”, „Elemente”, „Symbole”, „Zeichen”, „Begriffe”, „Zahlen”, „Ziffern” oder dergleichen zu bezeichnen. Diese Wörter sind jedoch lediglich praktische Bezeichnungen und dürfen nicht mit entsprechenden physischen Mengen verbunden werden.
  • Sofern nicht speziell anders angegeben, können sich Erörterungen hierin, die Wörter wie „Verarbeitung”, „Berechnung”, „Bestimmung”, „Darstellung”, „Anzeige” 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 „verbunden” 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. Dies erfolgt lediglich aus praktischen Gründen und um eine allgemeine Vorstellung der Beschreibung zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines enthält, und der Singular umfasst auch den Plural, außer es ist offensichtlich anders gedacht.
  • Weiterhin stellen die Figuren bevorzugte Ausführungsformen eines Kartenwiedergabesystems nur zu Veranschaulichungszwecken dar. Ein Fachmann wird aus der folgenden Erörterung leicht erkennen, dass alternative Ausführungsformen der Strukturen und Verfahren, die hierin dargestellt sind, eingesetzt werden können, ohne von den Prinzipien der hier beschriebenen Erfindung abzuweichen.
  • Nach dem Lesen dieser Offenbarung werden Fachleute durch die hierin offenbarten Prinzipien noch zusätzliche, alternative Struktur- und Funktionsdesigns für ein System und Verfahren zur Wiedergabe von Karten oder anderen Arten von Bildern 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 (24)

  1. Rechenvorrichtung, umfassend: eine Datenübertragungsnetzwerkschnittstelle; einen Prozessor oder mehrere Prozessoren; einen Speicher oder mehrere Speicher, der oder die an einen Prozessor oder mehrere Prozessoren gekoppelt ist oder sind; eine Anzeigevorrichtung, die an einen oder mehrere Prozessoren gekoppelt ist; worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, das Ermitteln eines Sichtfensters auf einer Kartenoberfläche, wobei das Sichtfenster von einem Satz von Parametern einschließlich einer Größe, einer Position, einer Richtung und einer Vergrößerung mit Bezug auf die Oberfläche der Karte definiert ist, worin eine erste Position des Sichtfensters sich über einer Kartenoberfläche befindet und eine erste Richtung des Sichtfensters sich bei einem Nicht-Null-Auftrittswinkel mit Bezug auf die Kartenoberfläche befindet; das Anfragen von Kartendaten, die verwendet werden, um die Kartenoberfläche, die innerhalb des Sichtfensters anzuzeigen ist, wiederzugeben; das Empfangen erster Zoomniveaudaten für ein erstes Sichtband und der Kartenoberfläche des angefragten Sichtfensters, worin die ersten Zoomniveaudaten eine erste Dichteebene der Kartendaten für einen Kartenbereich bereitstellt, der vom ersten Sichtband definiert wird; das Empfangen zweiter Zoomniveaudaten für ein zweites Sichtband der Kartenoberfläche des angefragten Sichtfensters, worin die zweiten Zoomniveaudaten eine zweite Dichteebene der Kartendaten für einen Kartenbereich bereitstellen, die am zweiten Sichtband definiert werden, wobei der Bereich des ersten Bands sich vom Bereich des zweiten Sichtbands unterscheidet und der erste Dichtegrad der Kartendaten sich vom zweiten Dichtegrad der Kartendaten unterscheidet; und das Anzeigen eines dreidimensionalen Bilds der Kartenoberfläche auf der Anzeigeeinrichtung, auf Basis des Sichtfensters, der Sichtbänder und der empfangenen ersten und zweiten Zoomniveaukartendaten.
  2. Rechenvorrichtung nach Anspruch 1, worin das Anfragen von Kartendaten das Bereitstellen von Daten zur Positionsgröße, der Positionsrichtung und der Vergrößerung des Sichtfensters hinsichtlich der Oberfläche der Karte beinhaltet.
  3. Rechenvorrichtung nach Anspruch 1, worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen: einen Satz von Sichtgrenzen der Kartenoberfläche zu ermitteln, worin ein Satz von Grenzen mindestens einen Bereich des ersten Sichtbands auf Basis eines tiefen Dimensionsspektrums ermittelt; und eine Dichte der Kartendaten zu ermitteln, die für das erste Sichtband anzufragen sind.
  4. Rechenvorrichtung nach Anspruch 3, worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen: einen Satz von Sichtgrenzen der Kartenoberfläche, die vom Sichtfenster definiert werden zu ermitteln, worin der Satz der Sichtgrenzen mindestens einen Bereich des zweiten Sichtbands auf Basis eines Tiefendimensionsspektrums ermittelt, und die Dichte der Kartendaten, die für ein zweites Sichtband angefragt werden zu ermitteln.
  5. Rechenvorrichtung nach Anspruch 1, worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen: das Ermitteln eines Satzes von Sichtgrenzen der Kartenoberfläche, die vom Sichtfenster definiert wird, worin die Sichtgrenzen die Kartenoberfläche in eine Vielzahl von Ansichtsbändern aufteilen, einschließlich der ersten und zweiten Sichtbänder auf Basis eines Tiefendimensionsspektrums und worin das erste Sichtband einem Vordergrund der Kartenoberfläche bei einem ersten Tiefenspektrum und ein drittes Sichtband einem Hintergrund der Kartenoberfläche bei einem dritten Tiefenspektrum entspricht; und das Ermitteln der Dichte der Kartendaten, die von einer zweiten Routine anzufragen sind, worin die Dichte der Kartendaten des ersten Bands höher als die Dichte der Kartendaten des zweiten Bands ist.
  6. Rechenvorrichtung, umfassend: eine Datenübertragungsnetzwerkschnittstelle; einen Prozessor oder mehrere Prozessoren; einen Speicher oder mehrere Speicher, der oder die an einen Prozessor oder mehrere Prozessoren gekoppelt ist oder sind; eine Anzeigevorrichtung, die an einen oder mehrere Prozessoren gekoppelt ist; worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, das Erhalten einer Anfrage nach Kartendaten für ein gegebenes Sichtfenster, das von einer Größe, einer Position, einer Richtung, einer Vergrößerung mit Bezug auf der Oberfläche der Karte definiert ist, worin die Position des Sichtfensters sich über der Kartenoberfläche befindet und eine erste Richtung des Sichtfensters sich bei einem Nicht-Null-Auftrittswinkel mit Bezug auf der Kartenoberfläche befindet; das Ermitteln erster Zoomniveaudaten für ein erstes Sichtband des Sichtfensters, worin die ersten Zoomniveaudaten eine erste Dichte der Kartendaten für das erste Sichtband bereitstellen; das Ermitteln zweiter Zoomniveaudaten für ein zweites Sichtband des Sichtfensters, worin die zweiten Zoomniveaudaten eine zweite Dichte der Kartendaten für das zweite Sichtband bereitstellen und worin die erste Dichte der Kartendaten sich von der zweiten Dichte der Kartendaten unterscheidet; das Erstellen eines Bilds der Kartenoberfläche, das über das erste Sichtband und das zweite Sichtband verfügt; und das Übermitteln des Bilds auf der Kartenoberfläche.
  7. Rechenvorrichtung nach Anspruch 6, worin es sich bei den Zoomniveaudaten einen Satz von Kartendatenkacheln handelt, wobei jede Kartendatenkachel eines Zoomniveausatzes Kartendaten für einen Kartenbereich derselben Größe repräsentiert, und worin ein höheres Zoomniveau eine höhere Anzahl von Kartendatenkacheln pro Einheitsbereich als ein niedrigeres Zoomniveau beinhaltet und worin das erste Zoomniveau ein höheres Zoomniveau als das zweite Zoomniveau ist.
  8. Rechenvorrichtung nach Anspruch 6, die ferner eine sechste Routine beinhaltet, die in einem Speicher gespeichert ist, der auf dem Prozessor ausgeführt wird, um einen Satz von Sichtgrenzen der Kartenoberfläche zu ermitteln, die vom Sichtfenster definiert werden, worin der Satz von Grenzen mindestens das erste Sichtband auf Basis eines Tiefendimensionsspektrums ermittelt.
  9. Rechenvorrichtung nach Anspruch 6, worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen: das Ermitteln eines Satzes von Sichtgrenzen der Kartenoberfläche, die vom Sichtfenster definiert wird, worin die Sichtgrenzen die Kartenoberfläche in eine Vielzahl von Sichtbändern aufteilen, einschließlich der ersten und zweiten Sichtbänder auf Basis eines Tiefendimensionsspektrums und worin das erste Sichtband einem Vordergrund der Kartenoberfläche bei einem ersten Tiefenspektrum und ein drittes Sichtband einem Hintergrund der Kartenoberfläche bei einem dritten Tiefenspektrum entspricht; und worin die Dichte der Kartendaten des ersten Bands höher als die Dichte der Kartendaten des zweiten Bands ist.
  10. Computergerät, umfassend: eine Datenübertragungsnetzwerkschnittstelle; einen Prozessor oder mehrere Prozessoren; einen Speicher oder mehrere Speicher, der oder die an einen Prozessor oder mehrere Prozessoren gekoppelt ist oder sind; eine Anzeigevorrichtung, die an einen oder mehrere Prozessoren gekoppelt ist; worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen: eine Kartenoberflächenebene und eine Sichtebene zu ermitteln, worin die Sichtebene sich hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet; eine erste Einheit des Bereichs auf der Kartenoberflächenebene zu ermitteln, wobei erste Einheit des Bereichs, die einen Kartenbereich repräsentiert, der bei einem ersten Zoomniveau durch die Ansichtsebene gesehen wird, wenn die Ansichtsebene sich hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet, worin die erste Einheit der Ebene über zwei Dimensionen entlang der Kartenoberflächenebene verfügt; eine Grenze auf der Ansichtsebene zu ermitteln, bei der eine Projektion einer ersten Dimension entlang der Kartenoberflächenebene der ersten Einheit des Bereichs zu einer ersten Dimension entlang der Ebene bei einem Schwellenwert liegt, wenn die Sichtebene hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet; das Wiedergeben der Sichtebene einer Projektion des ersten Bereichs der Kartenoberflächenebene auf einer Seite der Grenze unter Verwendung einer ersten Dichte der Kartendaten und dem Wiedergeben einer Projektion eines zweiten Bereichs der Kartenoberflächenebene auf einer zweiten Seite der Grenze unter Verwendung einer zweiten Dichte der Kartendaten, die niedriger als die erste Dichte der Kartendaten ausfällt.
  11. Computervorrichtung nach Anspruch 10, worin die erste Einheit des Bereichs auf der Kartenoberflächenebene einem Pixel auf der Ansichtsebene entspricht, wenn die Kartenoberflächenebene bei dem ersten Zoomniveau wiedergegeben wird und die Ansichtsebene sich hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet; und ferner das Ermitteln einer zweiten Einheit des Bereichs auf der kartenoberflächenebene beinhaltet, die einem Pixel auf der Ansichtsebene entspricht, wenn die Kartenoberflächenebene bei einem zweiten Zoomniveau wiedergegeben wird und die Ansichtsebene hinsichtlich der Kartenoberflächenebene über einen Null-Auftreffwinkel verfügt, und worin die zweite Einheit des Bereichs einen größeren Bereich der Kartenoberflächenebene als die erste Einheit des Bereichs repräsentiert.
  12. Computervorrichtung nach Anspruch 11, worin es sich bei dem Schwellenwert um eine Höhe eines Pixels der Ansichtsebene handelt.
  13. Computervorrichtung nach Anspruch 10, worin der Schwellenwert sich dort befindet, wo die Projektion der ersten Dimension der ersten Einheit des Bereichs auf der Ansichtsebene mit einer Projektion einer zweiten Dimension der zweiten Einheit des Bereichs auf der Ansichtsebene übereinstimmt.
  14. Computervorrichtung nach Anspruch 10, worin die Grenze auf Basis eines Verhältnisses der Projektion der ersten Dimension der ersten Einheit des Bereichs auf der Ansichtsebene zu einer Höhe eines Pixels auf der Ansichtsebene ermittelt wird.
  15. Computervorrichtung nach Anspruch 14, worin die Grenze mittels einer Gleichung Ys = G(Z, dYm/dYs, T) ermittelt wird, wobei Ys eine Tiefe entlang der ersten Dimension der Kartenoberflächenebene ist, Z ein Zoomniveau ist, dYm/dYs die Projektion auf der ersten Dimension der ersten Einheit des Bereichs auf der Sichtebene zu einer inkrementellen Entfernung entlang der ersten Dimension der Sichtebene ist und T der Auftreffwinkel zwischen der Sichtebene und der Kartenoberflächenebene ist.
  16. Computervorrichtung nach Anspruch 15, worin die Grenze durch das Einstellen von dYm/dYs auf eine Konstante gleich zwei ermittelt wird.
  17. Computervorrichtung nach Anspruch 10, worin das Wiedergeben der Projektion des ersten Bereichs der Kartenoberflächenebene auf Kartendaten des ersten Zoomniveaus basiert und das Wiedergeben der Projektion des zweiten Bereichs der Kartenoberflächenebene auf Kartendaten eines zweiten Zoomniveaus basiert, worin es sich bei dem zweiten Zoomniveau um ein niedrigeres Zoomniveau handelt, das über eine niedrigere entsprechende Vergrößerung und eine niedrigere Kartendichte als das erste Zoomniveau verfügt.
  18. Computervorrichtung nach Anspruch 17, worin der eine oder die mehreren Speicher darauf gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, Kartendaten des ersten Zoomniveaus für das Wiedergeben der Projektion des ersten Bereichs der Kartenoberflächenebene und Kartendaten des zweiten Zoomniveaus für das Wiedergeben der Projektion des zweiten Bereichs der Kartenoberflächenebene zu beantragen.
  19. Computervorrichtung nach Anspruch 18, worin die Anfrage Informationen zu einer Auflösung der Anzeigevorrichtung als Teil der Anfrage beinhaltet.
  20. Computervorrichtung nach Anspruch 19, worin das Beantragen von Kartendaten das Beantragen der Kartendaten aus einer Datenbank beinhaltet, die auf einer unterschiedlichen Computervorrichtung gespeichert werden.
  21. Rechenvorrichtung, umfassend: eine Datenübertragungsnetzwerkschnittstelle; einen Prozessor oder mehrere Prozessoren; einen Speicher oder mehrere Speicher, der oder die an einen Prozessor oder mehrere Prozessoren gekoppelt ist oder sind; eine Anzeigevorrichtung, die an einen oder mehrere Prozessoren gekoppelt ist; worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, eine Kartenoberflächenebene und eine Sichtebene zu ermitteln, worin die Sichtebene sich hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet; das Ermitteln einer ersten Einheit des Bereichs auf der Kartenoberflächenebene, wobei die erste Einheit des Bereichs einen Kartenbereich repräsentiert, der bei einem ersten Zoomniveau durch einen Pixel der Sichtfensterebene gesehen wird, wenn die Sichtebene sich hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet, worin die erste Einheit des Bereichs über zwei Dimensionen entlang der Kartenoberflächenebene verfügt; das Ermitteln einer zweiten Einheit des Bereichs auf der Kartenoberflächenebene, wobei die zweite Einheit des Bereichs einen Kartenbereich repräsentiert, der bei einem zweiten Zoomniveau durch einen Pixel der Sichtfensterebene gesehen wird, wenn die Sichtebene sich hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet, worin die zweite Einheit des Bereichs über zwei Dimensionen entlang der Kartenoberflächenebene verfügt; das Ermitteln einer Grenze auf der Kartenoberflächenebene, bei der eine Projektion einer ersten Dimension entlang der Kartenoberflächenebene der ersten Einheit des Bereichs zu einer ersten Dimension entlang der Ebene bei einem Schwellenwert liegt, wenn die Sichtebene sich hinsichtlich der Kartenoberflächenebene bei einem Nicht-Null-Auftreffwinkel befindet; das Erstellen eines Bildes, das eine Projektion der ersten Einheit des Bereichs der Kartenoberflächenebene auf einer Seite der Grenze unter Verwendung einer ersten Dichte der Kartendaten und eine Projektion der zweiten Einheit des Bereichs der Kartenoberflächenebene auf einer zweiten Seite der Grenze, unter Verwendung einer zweiten Dichte der Kartendaten, die niedriger als die erste Dichte der Kartendaten ausfällt enthält; und das Übermitteln des Bildes der Projektion der Kartenoberfläche.
  22. Rechenvorrichtung nach Anspruch 21, worin der eine oder die mehreren Speicher darin gespeicherte computerausführbare Anweisungen beinhalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen: das Erhalten von Informationen über eine Anzeigenauflösung einer Client-Recheneinrichtung.
  23. Rechenvorrichtung nach Anspruch 22, worin die Grenze mittels einer Gleichung Ys = G(Z, dYm/dYs, T) ermittelt wird, wobei Ys eine Tiefe entlang der ersten Dimension der Kartenoberflächenebene ist, Z ein Zoomniveau ist, dYm/dYs ein Verhältnis der Projektion auf der ersten Dimension der ersten Einheit des Bereichs auf der Sichtebene zu einer inkrementellen Entfernung entlang der ersten Dimension der Sichtebene ist und T der Auftreffwinkel zwischen der Sichtebene und der Kartenoberflächenebene ist.
  24. Rechenvorrichtung nach Anspruch 23, worin die Grenze durch das Einstellen des Verhältnisses zwischen dYm/dYs und einer Konstanten gleich mit zwei ermittelt wird.
DE202012013439.6U 2011-10-12 2012-09-20 Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht Expired - Lifetime DE202012013439U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201113271427 2011-10-12
US13/271,391 US20130093750A1 (en) 2011-10-12 2011-10-12 Use of banding to optimize map rendering in a three-dimensional tilt view
US201113271391 2011-10-12
US13/271,427 US8243102B1 (en) 2011-10-12 2011-10-12 Derivative-based selection of zones for banded map display

Publications (1)

Publication Number Publication Date
DE202012013439U1 true DE202012013439U1 (de) 2017-01-17

Family

ID=48082288

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202012013439.6U Expired - Lifetime DE202012013439U1 (de) 2011-10-12 2012-09-20 Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht

Country Status (4)

Country Link
EP (1) EP2766876B1 (de)
CN (1) CN103959339B (de)
DE (1) DE202012013439U1 (de)
WO (1) WO2013055507A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074356A (zh) * 2015-08-07 2018-12-21 谷歌有限责任公司 用于在低带宽数字地图应用中选择性地并入影像的系统和方法
CN105719335B (zh) * 2016-02-23 2019-08-23 腾讯大地通途(北京)科技有限公司 一种地图图像渲染方法、装置以及车载终端
CN107633554A (zh) * 2017-03-16 2018-01-26 柳州桂通科技股份有限公司 地面移动目标及其和所处位置的三维场景的展示方法
CN109920056B (zh) * 2019-03-18 2023-08-01 阿波罗智联(北京)科技有限公司 建筑物渲染方法、装置、设备和介质
CN110047123B (zh) * 2019-04-12 2023-01-10 腾讯大地通途(北京)科技有限公司 一种地图渲染方法、装置、存储介质及计算机程序产品
CN110347769B (zh) * 2019-07-09 2021-03-30 东方网力科技股份有限公司 多层级地图瓦片的处理方法、装置、设备和存储介质
CN110376625A (zh) * 2019-07-29 2019-10-25 北京新海汇仓储有限公司 用于仓储系统快速定位方法
CN117827915A (zh) * 2024-03-01 2024-04-05 昆明麦普空间科技有限公司 一种快速矢量切片系统及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742924A (en) * 1994-12-02 1998-04-21 Nissan Motor Co., Ltd. Apparatus and method for navigating mobile body using road map displayed in form of bird's eye view
JPH11195132A (ja) * 1997-10-31 1999-07-21 Hewlett Packard Co <Hp> テクスチャマッピング用バッファ、3次元グラフィクス処理装置、3次元グラフィクス処理システム、3次元グラフィクス処理方法および処理プログラムが記憶された記憶媒体
JP2002098538A (ja) * 2000-09-27 2002-04-05 Alpine Electronics Inc ナビゲーション装置および擬似三次元地図情報表示方法
JP4447865B2 (ja) * 2003-08-01 2010-04-07 ソニー株式会社 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法
US7269801B2 (en) * 2004-03-30 2007-09-11 Autodesk, Inc. System for managing the navigational usability of an interactive map
US7353114B1 (en) * 2005-06-27 2008-04-01 Google Inc. Markup language for an interactive geographic information system
CN100492412C (zh) * 2007-04-03 2009-05-27 浙江大学 体三维显示中的体素数据生成方法
US8078641B2 (en) * 2007-04-25 2011-12-13 Mitac International Corporation Adjusting spatial operations based on map density
US20110191014A1 (en) * 2010-02-04 2011-08-04 Microsoft Corporation Mapping interface with higher zoom level inset map
US8743199B2 (en) * 2010-03-09 2014-06-03 Physical Optics Corporation Omnidirectional imaging optics with 360°-seamless telescopic resolution

Also Published As

Publication number Publication date
CN103959339A (zh) 2014-07-30
EP2766876B1 (de) 2017-12-27
CN103959339B (zh) 2018-02-02
EP2766876A4 (de) 2016-08-03
WO2013055507A1 (en) 2013-04-18
EP2766876A1 (de) 2014-08-20

Similar Documents

Publication Publication Date Title
DE202012013439U1 (de) Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht
DE202012013434U1 (de) Vorabruf von Kartenkacheldaten entlang einer Route
DE202012013426U1 (de) Integrieren von Karten und Straßenansichten
DE202012013450U1 (de) Beschriftungspositionierbildwiedergabesystem zur Reduzierung des Kriechens bei Zoom-Aktivitäten
DE60225933T2 (de) Tragbare virtuelle realität
DE60311359T2 (de) Vorrichtungen und Verfahren zur kontrollierbaren Texturabtastung
DE202013012426U1 (de) System für die Anzeige von Panoramabildern
DE202015009181U1 (de) Überblendung zwischen Straßenansicht und Erdansicht
DE102019204242A1 (de) Verfahren und System zum effizienten Rendern von Wolkenwitterungseinflussgrafiken in dreidimensionalen Karten
DE202011110887U1 (de) Wiedergeben und navigieren fotografischer Panoramen mit Tiefeninformationen in einem geographischen Informationssystem
DE202015009198U1 (de) Auswahl der zeitlich verteilten Panoramabilder für die Anzeige
DE202014010903U1 (de) System für die Angabe des Benutzerstandortes und der Blickrichtung einer digitalen Karte
DE202014010911U1 (de) Effiziente Zusammensetzung und Darstellung grafischer Elemente
DE202011110924U1 (de) Geführte Navigation durch mit Geo-Tags versehene Panoramen
WO2011045276A1 (de) Verfahren zur darstellung von virtueller information in einer ansicht einer realen umgebung
DE102015107869A1 (de) Vergabe von Primitiven an Primitiv-Blöcke
DE202013012432U1 (de) System zur Verbesserung der Geschwindigkeit und Wiedergabetreue von Multi-Pose-3D-Renderings
DE202012013465U1 (de) Wiedergabe eines textbildes entlang einer linie
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE19549306A1 (de) Verfahren und Vorrichtung zur bildlichen Darstellung raumbezogener Daten
DE102018125472B4 (de) Grafikprozessor, der Abtastungs-basiertes Rendering durchführt, und Verfahren zum Betreiben desselben
DE202015009138U1 (de) Indexierte Einheitsgrößenparameter für Strichwiedergabe
DE202014010917U1 (de) Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte
DE202014010881U1 (de) Bereitstellen von Indooreinrichtungs-Informationen auf einer digitalen Karte
DE112016003134T5 (de) Anzeigen von Objekten basierend auf einer Vielzahl von Modellen

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
R071 Expiry of right