[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE202012013506U1 - Verwaltung von Kartenelementen Mithilfe von Aggregierten Merkmalskennungen - Google Patents

Verwaltung von Kartenelementen Mithilfe von Aggregierten Merkmalskennungen Download PDF

Info

Publication number
DE202012013506U1
DE202012013506U1 DE202012013506.6U DE202012013506U DE202012013506U1 DE 202012013506 U1 DE202012013506 U1 DE 202012013506U1 DE 202012013506 U DE202012013506 U DE 202012013506U DE 202012013506 U1 DE202012013506 U1 DE 202012013506U1
Authority
DE
Germany
Prior art keywords
map
feature
client device
computing device
data
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
DE202012013506.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
Application filed by Google LLC filed Critical Google LLC
Publication of DE202012013506U1 publication Critical patent/DE202012013506U1/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
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Geometry (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Ecology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Auf einem Kommunikationsnetzwerk betriebenes Rechengerät, wobei das Rechengerät Folgendes umfasst: einen Kartendatengenerator, der Kartendaten zum Rendern eines Rasterkartenbildes einer geografischen Fläche auf einem Client-Gerät erzeugt, worin die Kartendaten eine Vielzahl von geometrischen Formen gemäß einem nicht gerasterten Format vorgeben und worin das Rasterkartenbild eine Vielzahl der physischen Entitäten in der geografischen Fläche abbildet sowie ein Kartenmerkmal-Steuergerät, das eine Beschreibung des Kartenmerkmals erzeugt, das einer Gruppe von zwei oder mehr aus der Vielzahl von physischen Entitäten ausgewählten physischen Entitäten oder zwei oder mehr aus der Vielzahl von Teilen physischer Entitäten ausgewählten Teile physischer Entitäten entspricht, worin das Kartenmerkmal mindestens einer aus der Vielzahl von physischen Entitäten nicht entspricht und worin das Kartenmerkmal-Steuergerät zum Erzeugen der Beschreibung des Kartenmerkmals (i) eine Angabe eines Teils der Kartendaten bereitstellt, die dem Kartenmerkmal entsprechen und (ii) eine Kartenmerkmalkennung bereitstellt, die das Kartenmerkmal eindeutig identifiziert; worin das Rechengerät veranlasst, dass die Kartendaten und die Beschreibung des Kartenmerkmals über das Kommunikationsnetzwerk an das Client-Gerät gesendet werden.

Description

  • Gebiet der Offenbarung
  • Die vorliegende Offenlegung bezieht sich auf Karten-Renderingsysteme wie z. B. elektronische Karten-Displaysysteme und insbesondere auf ein Karten-Renderingsystem, in dem Kartenbilder unter Verwendung von Kartendaten, die diskrete Kartenelemente einschließen, gerendert werden. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • Hintergrund
  • Die hierin angegebene Hintergrundbeschreibung soll den Kontext der Offenbarung allgemein darstellen. Die Arbeit der vorliegend genannten Erfinder, in dem Umfang, wie sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung sonst möglicherweise nicht als Stand der Technik qualifiziert sind, werden weder ausdrücklich noch stillschweigend als Stand der Technik gegenüber der vorliegenden Offenbarung anerkannt.
  • Heute können Karten von geografischen Regionen durch Software-Apps angezeigt werden, die auf vielen verschiedenen Geräten laufen, einschl. Mobiltelefonen, Kfz-Navigationssystemen, tragbaren Satellitennavigations-Geräten (GPS) sowie Rechengeräten. Karten können abhängig von der Anwendung und/oder der Benutzerpräferenz topografische Daten, Straßendaten, städtische Transitinformationen, Verkehrsdaten, usw. anzeigen. Außerdem können einige Anwendungen Karten in einem interaktiven Modus anzeigen, sodass ein Benutzer verschiedene Regler bedienen kann (Auswahlschalter, Bildlaufleiste usw.) wie beispielsweise zum Wechseln der Zoomstufen oder der Schwenkrichtung der „Kamera” an einem neuen Standort. Ein Benutzer kann in einigen Fällen auch bestimmte Informationen auf der Anzeige auswählen oder abwählen. So kann beispielsweise der Benutzer den geeigneten Regler zum Einschalten der Anzeige auf den Radwegen bedienen.
  • Zum Rendern eines Kartenbildes erhält ein Client-Gerät normalerweise Rasterbilder von einem dedizierten Server. So kann beispielsweise ein Kartenserver auf dem Internet in Betrieb sein und Bilder in einem PNG-Dateiformat (Portable Network Graphics PNG) an verschiedene Geräte für die spezifischen geografischen Gebiete bereitstellen. Obwohl Rasterbilder relativ leicht an ein Client-Gerät wiedergegeben werden können erfordern Daten mit Wiedergabe von Rasterbildern für eine umfassende Karte normalerweise eine große Menge an Speicherplatz. Es ist auch schwierig, Rasterbilder an einem Client-Gerät auf effiziente Weise zu manipulieren. So wird beispielsweise beim Zoomen auf ein ausgewähltes Gebiet entweder ein neues Rasterbild vom Server abgerufen, oder die erhältlichen Daten mit Rasterbildern werden mit deutlichem Qualitätsverlust vergrößert. Weiterhin muss das Client-Gerät zum Ändern der visuellen Eigenschaften eines Kartenbildes neue Rasterbilddaten vom Kartenserver anfordern.
  • Zusammenfassung
  • In einer Ausführungsform schließt ein von Rechnern umgesetztes Verfahren zur Bereitstellung von Kartendaten für ein Client-Gerät über ein Kommunikationsnetzwerk das Erzeugen von Kartendaten ein, die einem nicht-gerasterten Format entsprechen und zum Rendern eines Rasterkartenbildes von einer geografischen Fläche auf dem Client-Gerät bestimmt sind. Das Rasterkartenbild schließt mehrere Kartenelemente ein, von denen jedes einer bestimmten physischen Entität oder einem Teil einer bestimmten physischen Entität in der geografischen Fläche entspricht. Das Verfahren schließt außerdem das Erzeugen einer Beschreibung eines Kartenmerkmals ein, das zwei oder mehr von den mehreren Kartenelementen beinhaltet und mindestens eines von den mehreren Kartenelementen nicht beinhaltet, wobei die im Kartenmerkmal eingeschlossenen Kartenelemente dazu gehörigen physischen Entitäten oder Teilen derselben physischen Entität entsprechen. Das Erzeugen einer Beschreibung des Kartenmerkmals schließt das Bereitstellen einer Angabe eines Teiles der Kartendaten ein, die dem Kartenmerkmal entsprechen sowie das Bereitstellen einer Kartenmerkmal-Kennung, durch die das Kartenmerkmal eindeutig identifiziert wird. Das Verfahren schließt weiterhin die Veranlassung des Übermittelns der Kartendaten und der Beschreibung des Kartenmerkmals an das Client-Gerät über ein Kommunikationsnetzwerk ein.
  • In einer weiteren Ausführungsform schließt ein auf einem Kommunikationsnetzwerk betriebenes Rechengerät einen Kartendatengenerator und ein Kartenmerkmal-Steuergerät ein. Der Kartendatengenerator erzeugt Kartendaten zum Rendern einer Rasterkarte einer geografischen Fläche auf einem Client-Gerät, wo diese Kartendaten mehrfache geometrische Formen gemäß einem nicht gerasterten Format vorgeben, und wo das Rasterkartenbild mehrere physische Entitäten in der geografischen Fläche abbildet. Das Kartenmerkmal-Steuergerät erzeugt eine Beschreibung eines Kartenmerkmals, das einer Gruppe von zwei oder mehr aus mehreren physischen Entitäten ausgewählten physischen Entitäten oder zwei oder mehr Teilen von einer der physischen Entitäten entspricht, wobei das Kartenmerkmal mindestens einer der mehreren physischen Entitäten nicht entspricht und wo das Kartenmerkmal-Steuergerät zum Erzeugen der Beschreibung des Kartenmerkmals eine Angabe eines Teiles der Kartendaten bereitstellt, die dem Kartenmerkmal entsprechen sowie eine Kartenmerkmal-Kennung bereitstellt, durch die das Kartenmerkmal eindeutig identifiziert wird. Das Rechengerät veranlasst, dass die Kartendaten und die Beschreibung des Kartenmerkmals über ein Kommunikationsnetzwerk an das Client-Gerät gesendet werden.
  • In einer weiteren Ausführungsform schließt ein Verfahren in einem Rechengerät zum Bereitstellen interaktiver Karteninhalte das Empfangen von Kartendaten, die einem nicht gerasterten Format entsprechen, für eine geografische Fläche über ein Kommunikationsnetzwerk ein. Das Empfangen der Kartendaten schließt das Empfangen mehrerer Deskriptoren ein, von denen jeder eine geografische Form von einem jeweils einen von mehreren Kartenelementen festlegt, wobei jeder Deskriptor zum Rendern eines entsprechenden Kartenelements unabhängig interpretierbar ist. Das Verfahren schließt außerdem das Empfangen einer Beschreibung eines Kartenmerkmals ein, das zwei oder mehr von den mehreren Kartenelementen beinhaltet und mindestens eines von den mehreren Kartenelementen nicht beinhaltet, sodass die im Kartenmerkmal eingeschlossenen Kartenelemente den dazu gehörigen physischen Entitäten in der geografischen Fläche oder Teilen einer einheitlichen physischen Entität entsprechen. Weiterhin schließt das Empfangen einer Beschreibung des Kartenmerkmals das Empfangen einer Angabe dazu ein, welche der mehreren Kartenelemente mit dem Kartenmerkmal assoziiert sind. Das Verfahren schließt außerdem das Interpretieren der Kartendaten zum Erzeugen eines über eine Benutzerschnittstelle anzuzeigenden Rasterkartenbildes ein, einschließlich des Renderns der Vielzahl von Kartenelementen sowie das Bereitstellen einer Angabe zur Benutzerschnittstelle, dass die zwei oder mehr von der Vielzahl der Kartenelemente mit dem Kartenmerkmal assoziiert sind.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines Systems, in dem ein mit einem Karten-Steuergerät ausgerüsteter Kartenserver einem Client-Gerät Kartendaten zum Rendern eines Kartenbildes und eine Beschreibung eines Kartenmerkmals bereitstellt, das mehrere Kartenelemente aggregiert, die als Teile des Kartenbildes gerendert sind, gemäß einer Ausführungsform;
  • 2 ist ein Blockdiagramm eines exemplarischen Karten-Steuergeräts, der in dem System von 1 betrieben werden kann;
  • 3A ist eine exemplarische Karte mit einem Kartenmerkmal, das mehrere Gebäude, ein Feld und Fußwege beinhaltet, das auf einem Client-Gerät angezeigt werden kann, das im System von 1 betrieben wird;
  • 3B ist die Karte von 3A, die als aus Rasterkartenteilen bestehendes Rasterkartenbild gerendert werden kann, wobei das Kartenmerkmal in verschiedenen Kartenteilen gerenderte Kartenelemente beinhaltet;
  • 3C ist die Karte von 3A, in der mehrere Kartenelemente automatisch als Komponenten eines Kartenmerkmals ausgewählt werden;
  • 4 ist ein Interaktionsdiagramm, das einen exemplarischen Informationsaustausch zur Bereitstellung von Kartendaten und einer Kartenmerkmalbeschreibung an ein Client-Gerät, das im System von 1 betrieben werden kann, illustriert;
  • 5 ist ein Flussdiagramm eines exemplarischen Verfahrens zur Erzeugung von Kartendaten und einer Kartenmerkmalbeschreibung bei einem Kartenserver, der im System von 1 betrieben werden kann;
  • 6 ist ein Flussdiagramm eines exemplarischen Verfahrens zur Erzeugung einer Kartenmerkmalbeschreibung auf einem Kartenserver, der im System von 1 betrieben werden kann; und
  • 7 ist ein Flussdiagramm eines exemplarischen Verfahrens zur Verarbeitung von Kartendaten und einer Kartenmerkmalbeschreibung auf einem Client-Gerät, das im System von 1 betrieben werden kann.
  • Detaillierte Beschreibung
  • Generell stellt ein Kartenserver einem Client-Gerät Kartendaten in einem nicht-gerasterten Format zum Rendern eines Rasterkartenbildes zur Verfügung, das verschiedene Kartenelemente wie z. B. Gebäude, Parks, Felder, Gewässer, Straßenabschnitte, Radwege und Fußwege zeigt, sowie weiterhin eine Beschreibung von mindestens einem aggregierten Kartenmerkmal bereitstellt, das mehrere separate Kartenelemente besitzt, die einer gemeinsamen Verwaltungseinheit entsprechen oder anderweitig logisch miteinander verbunden sind. Das nicht-gerasterte Format kann beispielsweise ein Vektorgrafikformat sein. Der Kartenserver kann eine Angabe dazu bereitstellen, welcher Teil der Kartendaten dem aggregierten Kartenmerkmal entspricht, damit Benutzer des Client-Geräts mehrfache, mit dem aggregierten Kartenmerkmal assoziierte Kartenelemente effizient auswählen und manipulieren können. Auf diese Weise kann der Benutzer sich auf das aggregierte Kartenmerkmal beziehen, um visuelle Eigenschaften der verschiedenen Kartenelemente, aus denen das aggregierte Kartenmerkmal besteht, hervorzuheben, zu entfernen, hinzuzufügen und zu aktualisieren. Der Kartenserver kann außerdem eine eindeutige Kartenmerkmalkennung bereitstellen, die der Kartenserver und das Client-Gerät dazu verwenden können, um sich in darauf folgenden Kommunikationsphasen auf das aggregierte Kartenmerkmal zu beziehen. Insbesondere kann das Client-Gerät unter Verwendung der Kartenmerkmalkennung zusätzliche Informationen bezüglich des aggregierten Kartenmerkmals anfordern, wie z. B. Kartendaten zum Rendern zusätzlicher Kartenelemente, die auf einer neuen Zoomstufe oder bei Auswahl einer neuen Kartenart sichtbar werden. Weiterhin kann der Kartenserver die Kartenmerkmalkennung verwenden, wenn er dem Client-Gerät Daten zum visuellen Stil bereitstellt; d. h. Informationen bezüglich visueller Eigenschaften von Kartenelementen wie Strichstärke, -farbe, Füllfarbe usw.
  • Ein aggregiertes Kartenmerkmal kann einer akademischen Institution wie einer Universität, einer kommerziellen Entität wie einem Einkaufszentrum, einer Geschäftsentität wie einem Konzern, einer Fabrik oder einer Anlage, einem Krankenhauskomplex, einer Wohnsiedlung oder sonstigem bestehen, das zueinander gehörige physische Entitäten in einer geografischen Region beinhaltet. In einigen Fällen kann ein aggregiertes Kartenmerkmal mehreren Teilen derselben physischen Entität entsprechen, wenn die physische Entität beispielsweise durch mehrfache in verschiedenen Kartenteilen bereitgestellte Kartenelemente dargestellt wird (wie im Folgenden detaillierter beschrieben). Generell kann ein Kartenmerkmal aggregiert (mit mehreren Kartenelementen) oder nicht aggregiert (mit nur einem Kartenelement) sein. Ein Kartenserver kann beispielsweise eine vektorbasierte Beschreibung eines Gebäudes als bestimmtes Kartenmerkmal bereitstellen, das auf einem Client-Gerät individuell interpretiert und gerendert, beim Aktualisieren der Zoomstufe oder Kartenart unabhängig von anderen Kartenelementen hinzugefügt oder entfernt oder mit einem individuellen Etikett versehen usw. werden kann. Andererseits kann ein aggregiertes Kartenmerkmal mehrere Kartenelemente derselben Art (z. B. einen Komplex mit mehreren Gebäuden) oder verschiedener Art (z. B. ein Gebäude, einen Park und einen Fußweg) einschließen. Weiterhin hat ein aggregiertes Kartenmerkmal in einigen Szenarien eine „geschachtelte” Struktur und schließt ein oder mehrere Kartenmerkmal(e) ein, da/die mehrere Kartenelemente hat/haben. In einigen Ausführungsformen definiert jedes Kartenelement beispielsweise ein entsprechendes Kartenmerkmal, gewisse Kartenmerkmalgruppen sind in größere aggregierte Kartenmerkmale aggregiert und einige der größeren Kartenmerkmale sind in noch größere aggregierte Kartenmerkmale aggregiert. Überdies kann ein aggregiertes Kartenmerkmal Kartenmerkmale, die in separaten Kartenteilen gerendert sind, oder Teile eines Kartenbildes einer bestimmten Größe einschließen.
  • Es sei klargestellt, dass nur ein Kartenelement enthaltende Kartenmerkmale hierin als Kartenelemente bezeichnet werden können. Weiterhin – da die folgende Diskussion in erster Linie aggregierte Kartenmerkmale mit mehreren Kartenelementen betrifft – können solche Kartenmerkmale im Folgenden manchmal einfach als Kartenmerkmale bezeichnet werden.
  • Mit Bezug auf 1 können Techniken zur Bereitstellung von Karten- und Kartenmerkmaldaten an ein Client-Gerät sowie die Verwendung der bereitgestellten Daten zur effizienten Manipulierung der Daten auf dem Client-Gerät in einem System 10 umgesetzt werden. In einer Ausführungsform beinhaltet das System 10 einen Kartenserver 12, ein Client-Gerät 14, das kommunikativ über ein Netzwerk 16 an den Kartenserver 12 gekoppelt ist, und eine Kartendatenbank 18, die kommunikativ an den Kartenserver 12 gekoppelt ist. Das Netzwerk 16 kann ein Weitverkehrsnetz (wide area network WAN), wie beispielsweise ein Internet, ein Lokalnetz (local area network LAN), oder jede andere geeignete Art von Netzwerk sein. Zur Bereitstellung von Karten- und Merkmaldaten für Client-Gerät 15 kann der Kartenserver 12 elektronische Mitteilungen erzeugen und diese Mitteilungen über Netzwerk 16 übertragen. Die Kartendatenbank 18 kann abhängig von der Ausführungsform an den Kartenserver 12 über das Netzwerk 16 oder eine andere Kommunikationsverbindung gekoppelt sein wie in 1 veranschaulicht. Zur Vereinfachung wird nur ein Beispiel des Kartenservers 12, des Client-Geräts 14, und der Kartendatenbank 18 in 1 angezeigt. In anderen Ausführungsformen kann das System 10 jedoch mehr als einen Kartenserver 12, mehr als ein Client-Gerät 14, und/oder mehr als eine Kartendatenbank 18 beinhalten. In einigen Ausführungsformen liefert Kartenserver 12 beispielsweise Kartendaten an verschiedene Client-Geräte 14, darunter Desktop-Computer, tragbare Computer, Tablet-Computer, Smartphones usw.
  • Kartenserver 12 kann einen Prozessor 20 und einen rechnerlesbaren Speicher 22 einschließen, der ein Karten-Steuergerät 30 z. B. in Form von Rechneranweisungen speichert, die auf Prozessor 20 direkt (z. B. als kompilierter Code) oder indirekt (z. B. als ein durch eine andere auf Prozessor 20 ausgeführte App interpretiertes Script) ausführbar sein können. Der computerlesbare Arbeitsspeicher 22 kann flüchtige Speicherkraft zum Speichern von Computeranweisungen und Daten beinhalten, auf dem Computeranweisungen im Laufzeitbetrieb sind (z. B. ein Direktzugriffsspeicher (Random Access Memory oder RAM)) und in einer Ausführungsform beispielsweise persistente Speicher, wie eine Festplatte, beinhalten. In einigen Ausführungsformen schließt Kartenserver 12 mehrere Prozessoren 20 ein. In einigen Ausführungsformen kann Karten-Steuergerät 30 überdies unter Verwendung von Hardwarekomponenten, Firmwarekomponenten oder einer beliebigen Kombination aus diesen umgesetzt sein.
  • In einer Ausführungsform erzeugt Karten-Steuergerät 30 eine Beschreibung verschiedener Kartenelemente für eine ausgewählte geografische Region in einem nicht gerasterten Format, wie z. B. als Vektorgrafikformat, die an Client-Gerät 14 als Kartendaten bereitgestellt werden sollen. Generell können vektorbasierte Kartendaten verschiedene geometrische Formen (z. B. unter Verwendung mathematischer Beschreibungen von Punkten und die Punkte verbindenden Strecken) beschreiben und angeben, wie diese Formen zum Rendern verschiedener Kartenelemente wie Straßen, Gebäude, Parks, Gewässer usw. zu positionieren sind. So kann beispielsweise eine vektorbasierte Beschreibung eines Linienabschnittes – anstelle jedes Pixel zu beschreiben, aus dem ein Rasterbild dieser Linie besteht – die beiden Endpunkte des Linienabschnitts angeben und anzeigen, dass die beiden Endpunkte durch eine gerade Linie zu verbinden sind. Vektor basierende Beschreibungen der Kartenelemente können hierin als Vektordeskriptoren oder einfache Vektoren bezeichnet werden, und eine Reihe von einem oder mehreren Vektordeskriptor können als Vektordaten bezeichnet werden. Generell kann ein Kartenelement unter Verwendung eines bestimmten Vektordeskriptors beschrieben werden. Wie detaillierter mit Bezug auf 2 beschrieben, kann das Karten-Steuergerät 30 eine vektorbasierte Beschreibung einer geografischen Region in der Ansicht einer Zoomstufe, in der eine Karte der geografischen Region auf dem Client-Gerät gerendert werden soll, eine Kartenart (z. B. Gelände, Verkehr, Nahverkehr usw.) gemäß der die Karte auf dem Client-Gerät gerendert wird, zuvor bereitgestellte Kartendaten usw erzeugen. In einigen Ausführungsformen kann der Kartenserver auch Vektordaten bereitstellen, die Karteninhalte separat von Stildaten beschreiben, die angeben, wie die Vektordaten gerendert werden sollten.
  • Karten-Steuergerät 30 kann ein Kartenmerkmal-Steuergerät 32 einschließen, das Beschreibungen von Kartenmerkmalen mit einem oder mehreren Kartenelementen erzeugt. In einer Ausführungsform erzeugt Kartenmerkmal-Steuergerät 32 Angaben dazu, welche Vektordeskriptoren (und dementsprechend, welche Kartenelemente) einem bestimmten Kartenmerkmal entsprechen. Kartenmerkmal-Steuergerät 32 kann beispielsweise eine Mitteilung erzeugen, die ein Feld beinhaltet, das eine aggregierte Merkmalkennung eines aggregierten Kartenmerkmals vorgibt, gefolgt von einer Auflistung der Kartenmerkmale, auf die sich aggregierte Merkmalkennung erstreckt. Die Auflistung der Kartenmerkmale kann Vektordeskriptoren und/oder Etikettendaten einschließen. Alternativ kann die Auflistung der Kartenmerkmale entsprechende Merkmalkennungen einschließen. In jedem Falle kann Client-Gerät 14 beim Parsen der Mitteilung bestimmen, dass die in der Liste eingeschlossenen Merkmale mit derselben aggregierten Merkmalkennung assoziiert sind. Zur Bestimmung welcher Teil der Kartendaten (z. B. welcher Satz Vektordeskriptoren) mit einem bestimmten Kartenmerkmal assoziiert sind, kann Kartenmerkmal-Steuergerät 32 eine in der Kartendatenbank 18 gespeicherte Karteninhalttabelle 34 für die entsprechende geografische Region verwenden.
  • Weiterhin unter Bezug auf 1 kann Karteninhalttabelle 34 Datensätze für bestimmte Kartenelemente wie Gebäude, Straßen, Parks usw. einschließen. Für jedes Kartenelement kann Karteninhalttabelle 34 einen Vektordeskriptor bereitstellen, der die geometrische Form des Kartenelements vorgibt. In einer Ausführungsform stellt Karteninhalttabelle 34 außerdem zusätzliche Informationen wie z. B. Stildaten (die wiederum mehrere visuelle Stile zum Rendern des Kartenelements entsprechend unterschiedlichen Kartenarten vorgeben können), Tiefenangaben zur Angabe dazu, ob ein Kartenelement über oder unter einem überlappenden Kartenelement gerendert wird, Etikettinformationen, Zoomdaten zur Angabe auf welchen Zoomstufen das Kartenelement (un)sichtbar wird usw. bereit. Die Karteninhalttabelle 34 kann auch angeben, mit welchen Kartenmerkmalen ein Kartenelement assoziiert ist, falls zutreffend. Beispielsweise werden im Fragment der in 1 abgebildeten Karteninhalttabelle 34 ein Kartenelement der Art Gebäude, ein Kartenelement der Art Straße und ein Kartenelement der Art Park durch verschiedene Vektordeskriptoren beschrieben, sind aber mit demselben Kartenmerkmal F1 assoziiert.
  • Karten-Kontrollgerät 30 kann dem Client-Gerät 14 Kartendaten für eine bestimmte geografische Region (sowie eine bestimmte Zoomstufe und/oder eine bestimmte Kartenart, je nach Ausführungsform) in einer einzigen elektronischen Mitteilung oder einer Serie von elektronischen Mitteilungen, je nach Ausführungsform, bereitstellen. Ferner erzeugt der Kartenregler 30 Kartendaten als eine Reihe von Deskriptoren für Kartenkacheln, sodass jeder Deskriptor für Kartenkacheln eine Kartenkachel, d. h. einen Teil einer Kartenabbildung in einer bestimmten Größe, beschreibt, (z. B., 256 mal 256 Pixel). Die Größe der durch ein einziges Kartenteil dargestellten geografischen Region kann von der Zoomstufe abhängen, mit der der Kartenteil assoziiert ist. Generell entspricht die Zoomstufe der scheinbaren Entfernung von einem Kartenbild oder einem Teil des Kartenbildes (z. B. als Ergebnis der Änderung der Höhe des Standpunktes). In einer Ausführungsform zeigt ein einziges Kartenteil in einer niedrigeren Zoomstufe eine größere geografische Fläche als ein einziger Kartenteil in einer höheren Zoomstufe, Karten-Kontrollgerät 30 kann jeden Kartenteil-Deskriptor gemäß einem Vektorgrafikformat erzeugen, und ein Client-Gerät wie z. B. das Client-Gerät 14 aus 1 kann örtlich ein Rasterbild erzeugen, das ein oder mehrere Teile beinhaltet. In einigen Szenarien können Kartenelemente eines Kartenmerkmals in verschiedenen Kartenteilen bereitgestellt werden. So kann beispielsweise Karten-Kontrollgerät 30 mehrere Kartenelemente erzeugen, die entsprechenden Teilen einer einzigen physischen Entität wie z. B. einem Gebäude entsprechen, wenn die Kartenelemente in separaten Kartenelementen bereitgestellt werden.
  • Weiterhin mit Bezug auf 1 kann Client-Gerät 14 einen Prozessor 50 zur Ausführung von Anweisungen sowie einen Speicher 52 zum Speichern von Anweisungen und Daten einschließen. Das Client-Gerät 14 kann auch ein Eingabegerät 54 und ein Ausgabegerät 56 zum Erhalten und von Eingaben von einem Benutzer und zum Bereitstellen von Ausgaben an einen jeweiligen Benutzer beinhalten. Eingabegerät 54 kann eines oder mehrere von Folgendem einschließen: eine Tastatur, eine Maus und einen Touchscreen, und das Ausgabegerät 56 kann z. B. einen Touchscreen oder eine andere Art Monitor einschließen. Das Client-Gerät 14 kann verschiedene Softwarekomponenten wie beispielsweise Treibergeräte, Betriebssystem (Operating System OS) Event-Handler usw. zum Steuern des Eingabegeräts 54 und des Ausgabegeräts 56 beinhalten, um eine interaktive Benutzerschnittstelle zu implementieren. Ferner können Softwareanwendungen, die auf dem Prozessor 50 ausgeführt werden diese Softwarekomponenten benutzen, um eine anwendungsspezifische Benutzerschnittstelle bereitzustellen.
  • Je nach Ausführungsform kann Client-Gerät 14 ein PC wie ein Desktopcomputer, ein Laptopcomputer oder ein Tablet-PC, eine Workstation, ein tragbares Kommunikationsgerät wie ein Smartphone oder jedes andere geeignete Rechengerät sein. In einer Ausführungsform ist das Client-Gerät 14 ein sogenanntes Thin Client, das von einem anderen Computergerät für bestimmte Rechner- oder Speicherfunktionen abhängig ist. In einer solchen Ausführungsform beinhaltet der Arbeitsspeicher 52 beispielsweise nur flüchtige Speicherkraft wie RAM, und ein Programm und/oder eine Speichereinheit mit persistenter Speicherkraft ist außerhalb des Client-Geräts 14. In einer anderen Ausführungsform beinhaltet der Arbeitsspeicher 52 flüchtige und persistente Speicherkomponenten.
  • Eine Browser-Anwendung 60 kann eine Anzahl von der Recheneinheit lesbaren Anweisungen beinhalten, die auf dem Prozessor 50 ausgeführt werden. Im Allgemeinen greift die Browseranwendung 60 auf Webseiten zu, die Inhalte, wie Textbilder, eingebettete Videos usw., und Anweisungen in einer Auszeichnungssprache, wie beispielsweise Hypertext Auszeichnungssprache (Hypertext Markup Language HTML), beinhalten, und gibt Inhalte auf dem Ausgabegerät 56 entsprechend den Anweisungen in der Auszeichnungssprache wieder. Dementsprechend kann die Browseranwendung 60 Funktionen zum Erzeugen und Verarbeiten von Datenpaketen implementieren, die mit einem Hypertext-Übertragungsprotokoll (Hypertext Transfer Protokoll HTTP), dem Analysieren von HTML Inhalten, einer Datenverschlüsselung entsprechend dem Protokoll für Secure Socket Layer (SSL), dem Anfordern und Überprüfen einers digitalen Zertifikats, usw. sowie Funktionen für Benutzerschnittstellen zum Erhalten verschiedener Benutzerkommandos in Bezug auf Navigation, Wiedergabe und Datenmanagement von Webseiten übereinstimmen. In manchen Ausführungsformen ist die Browseranwendung 60 dazu konfiguriert, um Anweisungen in einer Skriptsprache (z. B. Javascript) zu interpretieren, die auf einer Webseite bereitgestellt werden.
  • Eine Karten-Renderingmaschine 62 kann als Komponente der Browser-App 60 die Ausführung übernehmen. In anderen Ausführungsformen kann ein Softwaremodul jedoch ähnlich zu der Maschine zur Kartenwiedergabe 62 als eine einzelne Anwendung oder als eine Komponente einer anderen Anwendung ausgeführt werden. Je nach Ausführungsform kann Karten-Renderingmaschine 62 ein Plugin (d. h. ein Satz von kompilierten Anweisungen zur Erweiterung der Funktionalität von Browser-App 60 mit Ausführung auf Prozessor 50), ein Script (z. B. ein Satz Anweisungen in einer von Browser-App 60 zur Laufzeit ausgeführten Scriptsprache) oder eine andere geeignete Softwarekomponente sein. Gemäß einem exemplarischen Szenario wird Karten-Renderingmaschine 62 heruntergeladen, wenn ein das Client-Gerät 14 betreibender Benutzer eine Webpage besucht, die eine eingebettete interaktive Karte besitzt. Insbesondere kann die Webpage einen ersten Hyperlink zu einem Online-Kartenserver und einem bestimmten geografischen Ort sowie einen zweiten Hyperlink zu einer Kopie der Karten-Renderingmaschine 62 einschließen, die zum Rendern von Kartendaten notwendig ist, die vom Online-Kartenserver gemäß dem ersten Hyperlink empfangen werden. Karten-Renderingmaschine 62 kann Vektordaten (und in einigen Fällen Stildaten) von Kartenserver 12 empfangen, das entsprechende Kartenbild mithilfe der empfangenen Vektordaten rendern und veranlassen, dass das Kartenbild innerhalb einer bestimmten, von Browser-App 60 zugeteilten Region angezeigt wird. Die Browseranwendung 60 kann beispielsweise ein HTML5 Canvas Element zur Anzeige von Kartenabbildungen erschaffen.
  • Überdies kann Karten-Renderingmaschine 62 interaktive Bedienung z. B. über die Benutzerschnittstelle von Browser-App 60 bereitstellen. Die interaktive Bedienung kann es dem Benutzer ermöglichen, eine geografische Region oder Fläche, eine Kartenart (z. B. einfach, Verkehr, Nahverkehr), eine Zoomstufe usw. auszuwählen. Weiterhin schließt Karten-Renderingmaschine 62 in einer Ausführungsform einen Merkmalsmanipulator 64, der interaktive Bedienungskontrollen zur Auswahl von aggregierten Kartenmerkmalen zusätzlich zu individuellen Kartenelementen (oder nicht aggregierten Kartenmerkmalen) bereitstellt. So kann beispielsweise Kartenmerkmalsmanipulator 64 zusätzliche Knöpfe bereitstellen und/oder zusätzliche Tastatureingaben zum Manipulieren von Merkmalen erkennen, die mehrere Kartenelemente haben. Merkmalsmanipulator 64 kann von Kartenserver 12 erhaltene Kartenmerkmalsbeschreibungen verarbeiten und als Reaktion auf die Wahrnehmung, dass ein Benutzer ein bestimmtes Kartenmerkmal ausgewählt hat, automatisch Kartenelemente identifizieren und auswählen, die mit dem Kartenmerkmal assoziiert sind. Als spezifischeres Beispiel kann ein Benutzer auf ein auf einer Karte abgebildetes individuelles Kartenelement klicken, und Merkmalsmanipulator 64 kann erkennen, dass das Kartenelement mit einem aggregierten Kartenmerkmal assoziiert ist, das mehrere Kartenelemente hat, und das gesamte Kartenmerkmal hervorheben; d. h., das angeklickte Kartenelement sowie ein oder mehrere weitere Kartenelemente, auf die der Benutzer nicht geklickt hat. Als weiteres Beispiel kann Merkmalsmanipulator 64 erkennen, dass ein Mauszeiger über einem Kartenelement „schwebt”, das mit einem aggregierten Kartenmerkmal assoziiert ist und – ähnlich dem zuvor beschriebenen Szenario – automatisch das gesamte Kartenmerkmal hervorheben, welches das Kartenelement beinhaltet. Allgemeiner gesagt kann Merkmalsmanipulator 64 Mausereignisse oder Ereignisse von anderen geeigneten Geräten verarbeiten, um Schweben, Berühren und sonstige Arten von Benutzerinteraktion zu unterstützen.
  • Der Einfachheit halber ist das Client-Gerät 14 mit einem einzigen Prozessor 50 dargestellt. Das Client-Gerät 14 kann jedoch in anderen Ausführungsformen zusätzliche Prozessoreinheiten (nicht angezeigt), wie die GPU Grafik Prozessoreinheit (graphics processing unit GPU) beinhalten, die beispielsweise dazu konfiguriert sind, die Bilderwiedergabe auf dem Ausgabegerät 56 zu erleichtern. Ferner kann die Browseranwendung 60 in einer Ausführungsform eine Ansammlung von Grafikfunktionen zum effizienten Erzeugen einer Kartenabbildung benutzen. So kann beispielsweise Browser-App 60 eine Softwarebibliothek benutzen, die 3D-Grafik unterstützt, wie z. B. WebGL. Als weiteres Beispiel kann Speicher 52 ein Plugin wie z. B. OpenGL® oder Direct3D® Bibliothek speichern, die Funktionen zum Rendern von Grafik haben, auf welche verschiedene Apps, die auf Client 14 ausgeführt werden, einschließlich Browser-App 60, über ein Application Programming Interface (API) zugreifen können. In einer anderen Ausführungsform speichert der Arbeitsspeicher 52 auch zusätzliche Softwarekomponenten, die eine effiziente Wiedergabe von Bildern über das Ausgabegerät 56 erleichtern. So kann beispielsweise Speicher 52 ein Adobe® Flash® Plugin oder ein 03D Plugin speichern.
  • Es sei angemerkt, dass Karten-Renderingmaschine 62 zusätzlich oder als Alternative zu Browser-App 60 in jeder geeigneten App wie z. B. einer Mapping-App betrieben werden kann. Ähnlich wie Browser-App 60 kann die Mapping-App einen Satz Anweisungen einschließen, der in einem Speicher 52 gespeichert und auf einem oder mehreren Prozessoren des Client-Geräts 14 oder eines ähnlichen Geräts ausführbar ist. In einigen Umsetzungen verwendet die Mapping-App von der Browser-App 60 bereitgestellte Netzwerkfunktionen (z. B. über ein entsprechendes Browser-API). In einer weiteren Umsetzung schließt die Mapping-App zumindest teilweise Browserfunktionalität ein, wie z. B. den Kommunikationsstack, der TCP, IP, HTTP usw. unterstützt, um auf Kartenserver 12 zuzugreifen.
  • Mit Bezug auf 2 kann Karten-Steuergerät 80 z. B. im Kartenserver 12 von 1 als Karten-Steuergerät 30 oder in einem anderen Gerät betrieben werden, das dazu konfiguriert ist, für ein oder mehrere Client-Geräte Kartendaten bereitzustellen. Karten-Steuergerät 80 kann mehrere als Softwaremodule umgesetzte Komponenten (z. B. auf einem rechnerlesbaren Medium gespeicherte und von einem oder mehreren Prozessoren interpretierbare Rechneranweisungen), Hardwaremodule, Firmwaremodule oder jede geeignete Kombination aus diesen einschließen. Generell kann Karten-Steuergerät 80 zum Verarbeiten von Anforderungen von Client-Geräten wie Client-Gerät 14 für Kartendaten, die einer bestimmten geografischen Region entsprechen, konfiguriert werden. So kann beispielsweise Karten-Steuergerät 80 eine Anforderung für Kartendaten empfangen, die einer zwei Meilen breiten Region mit einem Mittelpunkt auf 41° 52' 43'' Breite und –87° 38' 11'' Länge entsprechen. Die Anforderung kann auch eine Zoomstufe angeben, für welche die Karte angefordert wird. Die Anforderung kann auch die Kartenart angeben, wie einfach, Verkehr, Nahverkehr usw.
  • In einer Ausführungsform schließt Karten-Steuergerät 80 einen Karten-Datengenerator 82, einen Stilgenerator 84, einen Kartenmerkmal-Steuergerät 86 und ein Datenbank-Schnittstellenmodul 88 ein, um Kommunikation zwischen einem Kartendatenspeicher, wie z. B. der Kartendatenbank 18 von 1 und Komponenten 82, 84 und 86, bereitzustellen. Beim Betrieb erzeugt Karten-Datengenerator 82 vektorbasierte Kartendaten für verschiedene Kartenelemente, die z. B. dem Client-Gerät 14 als Karteninhalt bereitgestellt werden. Zu diesem Zweck kann Karten-Datengenerator 82 über Datenbank-Schnittstellenmodul 88 mit einem Kartenserver kommunizieren. Karten-Datengenerator 82 kann Vektordeskriptoren erzeugen, welche die Geometrie von Kartenelementen vorgeben und kann in einigen Fällen auch Etikettdaten, Tiefenangaben und sonstige Parameter als Teil von (oder zusätzlich zu) den Kartendaten bereitstellen. In einigen Ausführungsformen erzeugt Karten-Datengenerator 82 Kartendaten als Satz von Kartenteildeskriptoren auf eine Weise, dass jeder Kartenteildeskriptor einen Kartenteil beschreibt, gemäß einer Ausführungsform. Die Größe eines geografischen Gebiets, das durch eine individuelle Kartenkachel dargestellt wird, hängt von der Zoomstufe ab, mit der die Kartenkachel assoziiert ist, sodass eine einzelne Kartenkachel bei einer unteren Zoomstufe ein größeres geografisches Gebiet darstellt als eine einzelne Kartenkachel bei einer höheren Zoomstufe. Karten-Datengenerator 82 kann jeden Kartenteildeskriptor gemäß einem Vektorgrafikformat erzeugen, und ein Client-Gerät kann lokal ein Rasterbild für die einem oder mehreren Teilen entsprechende geografische Region erzeugen. Obwohl jeder Teil separat und unabhängig von anderen gerendert werden kann, rendert Karten-Datengenerator 82 in einigen Ausführungsformen mehrere Teile zusammen, um ein einziges Rasterbild zu erzeugen.
  • Weiterhin kann Karten-Stilgenerator 84 Stildaten zur Anwendung auf Karteninhalt auf einem Client-Gerät erzeugen. Stile können generell durch jeweilige eindeutige Stilkennungen identifiziert werden, und jeder Stil kann einem oder mehreren visuellen Stilen zum Rendern von Kartenelementen entsprechen. Die visuellen Stile können wiederum die beim Rendern vektorbasierter Kartendaten zu verwendenden visuellen Eigenschaften vorgeben. Karten-Stilgenerator 84 kann Stildaten jeweils für eine Merkmalsart bereitstellen. So kann beispielsweise Karten-Datengenerator 82 Vektordaten für jedes Gebäude als Kartenmerkmal von der Art Gebäude bereitstellen, und Karten-Stilgenerator 84 kann Stildaten bereitstellen, die ein Client-Gerät auf alle Vektordeskriptoren anwendet, die Kartenmerkmalen dieser Art entsprechen.
  • Kartenmerkmal-Steuergerät 86 kann Deskriptoren von Kartenmerkmalen generieren, die einem Client-Gerät zusammen mit den entsprechenden Kartendaten bereitgestellt werden müssen. Ähnlich wie das oben diskutierte Kartenmerkmal-Steuergerät 32 ist Kartenmerkmal-Steuergerät 86 zur Erzeugung einer Angabe dazu konfigurierbar, welcher Teil von nicht gerasterten Kartendaten einem bestimmten Kartenmerkmal entspricht. Kartenmerkmal-Steuergerät 86 kann auch zur Erzeugung eindeutiger Kartenmerkmalkennungen zur Verwendung auf dem Client-Gerät und/oder dem Gerät, auf dem Karten-Steuergerät 80 implementiert ist, erzeugen. In einigen Ausführungsformen stellt Kartenmerkmal-Steuergerät 86 Flaggen oder anderen Zeichen für jeden mit dem Kartenmerkmal assoziierten Vektordeskriptor bereit. Ein Vektordeskriptor kann z. B. eine Datenstruktur mit einem Feld feature_identifier sein, der vorgibt, zu welchem Kartenmerkmal das vom Vektordeskriptor angegebene Kartenelement gehört, falls zutreffend. Da ein aggregiertes Kartenmerkmal mehrere Kartenmerkmale einschließen kann, von denen jedes eine jeweilige Merkmalkennung hat, kann Kartenmerkmal-Steuergerät 86 auch zusätzliche Daten bereitstellen, um anzugeben, wie individuelle Kartenmerkmale zu einem aggregierten Kartenmerkmal gruppiert sind. So kann beispielsweise Kartenmerkmal-Steuergerät 86 ein Feld feature_identifier mit der Kennung des nicht aggregierten Kartenmerkmals ausfüllen und auch ein Feld aggregate_feature_identifier mit der Kennung des entsprechenden aggregierten Kartenmerkmals ausfüllen.
  • In anderen Ausführungsformen gibt Kartenmerkmal-Steuergerät 86 die Grenze einer Kartenmerkmalregion vor, die alle mit dem Kartenmerkmal assoziierten Kartenelemente umfasst. Die Grenze kann auf jede geeignete Art vorgegeben werden, wie durch einen Satz geografische Breiten-/Längentupel, ein Polygon in einem Vektorgrafikformat usw. Die Grenze der Kartenmerkmalregion stimmt in vielen Fällen nicht mit den Grenzen der Kartenteile überein. Des weiteren kann die Kartenmerkmalregion Kartenelemente in mehreren Kartenteilen umfassen.
  • Weiterhin erzeugt Kartenmerkmal-Steuergerät 86 in einigen Szenarien ein gemeinsames Textetikett (z. B. eine alphanumerische Kette), die auf einem Client-Gerät mit dem Kartenmerkmal angezeigt wird. Es soll angemerkt werden, dass in einigen Fällen Kartenelemente, welche die Kartenmerkmale ausmachen, auch mit individuellen Etiketten assoziiert sind. Und überdies kann Kartenmerkmal-Steuergerät 86 einem Client-Gerät Stilinformationen bereitstellen, die einige oder alle mit einem aggregierten Kartenmerkmal assoziierten Kartenelemente oder -merkmale miteinander gemein haben. So kann beispielsweise Kartenmerkmal-Steuergerät 86 eine Angabe erzeugen, dass für ein bestimmtes aggregiertes Kartenmerkmal MF1, das als Teil der Nahverkehrskarte gerendert ist, alle assoziierten Kartenelemente auf einem Client-Gerät unter Verwendung von Stil S1 angezeigt werden, der einem visuellen Stil VS1 für die Art Nahverkehrskarte entspricht, und diese Angabe dem Client-Gerät bereitstellen. Auf diese Weise können Kartenelemente verschiedener Arten (z. B. Gebäude, Straßen, Parks usw.) unter Verwendung ähnlicher Strichstärken, Farbe usw. angezeigt werden. In einer weiteren Ausführungsform gibt das Kartenmerkmal-Steuergerät 86 einen gemeinsamen Stil für ein aggregiertes Kartenmerkmal vor, der nur verwendet wird, wenn das Kartenmerkmal auf dem Client-Gerät hervorgehoben wird. Wenn einige der Kartenmerkmale, die ein aggregiertes Kartenmerkmal ausmachen, mit bestimmten Arten von Kartenmerkmalen assoziiert werden, kann das Client-Gerät den Stil auf einen Vektordeskriptor gemäß der entsprechenden Art Kartenmerkmal anwenden, wenn das aggregierte Kartenmerkmal nicht hervorgehoben ist, und den für das aggregierte Kartenmerkmal vorgegebenen Stil anwenden, wenn das Kartenmerkmal hervorgehoben wird.
  • Gemäß einigen Ausführungsformen stellt der Kartenserver – nachdem das Karten-Steuergerät 80 für das Client-Gerät Kartendaten zum Rendern eines ersten Kartenbildes (z. B. ein einfaches Kartenbild), das einer bestimmten Fläche oder geografischen Region entspricht, bereitgestellt hat – dem Client-Gerät Modifizierungsdaten zum Rendern eines zweiten, anderen Kartenbildes (z. B. eines Verkehrskartenbildes), das derselben Fläche entspricht, bereit. Das Client-Gerät kann dann die zweite Kartenabbildung wiedergeben, indem die vorher bereitgestellten Kartendaten zur Wiedergabe der ersten Kartenabbildung und Änderungsdaten benutzt werden, und der Kartenserver nicht unbedingt Kartendaten bei mehrmalige Wiedergabe der zugleich ersten Kartenabbildung und der zweiten Kartenabbildung an das Client-Gerät bereitzustellen braucht. Je nach Szenario können die Modifizierungsdaten eine oder mehrere Hinzufügungen zu den zuvor bereitgestellten Kartendaten in Form neuer Vektordeskriptoren, Löschungen von einem oder mehreren Teilen der zuvor bereitgestellten Kartendaten (die mithilfe von Merkmalkennungen identifiziert sein können) oder Modifizierungen von einem oder mehreren Teilen der zuvor bereitgestellten Kartendaten (die ebenfalls mithilfe von Merkmalkennungen identifiziert sein können) einschließen. In einigen dieser Fälle können die hinzugefügten Vektordeskriptoren Kennungen aggregierter Kartenmerkmale einschließen. Weiterhin können die Merkmalskennungen für die zu löschenden Kartenmerkmale aggregierte Kartenmerkmale zum effizienten Entfernen mehrfacher Kartenelemente unter Verwendung von nur einer einzigen Merkmalkennung identifizieren.
  • Als Nächstes werden mehrere Beispiele einer Karte, die ein aggregiertes Kartenmerkmal abbildet, das einer Gruppe dazu gehöriger physischer Entitäten in einer geografischen Fläche entspricht, unter Bezug auf 3A3C diskutiert. Insbesondere wird eine exemplarische Karte, die mehrere Gebäude, ein Feld und Fußwege einer Universität beinhaltet, unter Bezug auf 3A diskutiert, eine exemplarische Aufteilung eines Rasterkartenbildes in mehrere Kartenteile wird in 3B illustriert und eine exemplarische Auswahl mehrerer Komponenten eines Kartenmerkmals wird in 3C illustriert. Wieder mit Bezug auf 1 kann die Karten-Renderingmaschine 62 das Kartenbild aus 3A3C unter Verwendung von z. B. durch Karten-Steuergerät 30 bereitgestellten Kartendaten erzeugen.
  • Unter Bezug auf 3A bildet ein Kartenbild 100 mehrere Straßenblocks in Seattle, Washington, ab, von denen einige zu Seattle University gehören. Insbesondere bildet Kartenbild 100 mehrere Kartenelemente wie Universitätsgebäude 102, 104, 106, 108 und 110 ab, die durch Fußwege 120 verbunden sind. Die Universität schließt auch mehrere Sport- und/oder Freizeitanlagen 112, 130 und 132 ein, die von den Gebäuden 102110 durch städtische Straßen getrennt sind. In einer Ausführungsform werden Kartenelemente 102132 durch separate Vektordeskriptoren beschrieben, sodass jedes der Kartenelemente 102132 einzeln und unabhängig von allen anderen Kartenelementen gerendert werden kann. Weiterhin können die Vektordeskriptoren jeweilige nicht aggregierte Kartenmerkmale definieren, von denen wenigstens einige mit individuellen Etiketten (z. B. „Student Center”) assoziiert sein können. Blöcke 140 und 142 sind ebenfalls mit Seattle University assoziiert und werden unter Verwendung einer Farbe oder Schattierung gerendert, die sich von der Farbe oder Schattierung unterscheidet, die auf andere Straßenblöcke angewendet wird, die nicht mit Seattle University assoziiert sind. Blöcke 140 und 142 schließen jedoch keine individuell illustrierten Bauwerke, Parks oder sonstige physische Entitäten ein – zumindest auf der Zoomstufe, der Kartenbild 100 entspricht. In einer Ausführungsform werden verschiedene Straßenblöcke, darunter die Blöcke 140 und 142, in Form von Vektordeskriptoren bereitgestellt, die Polygone vorgeben, die die entsprechenden Flächen umschließen.
  • Zusätzlich zu den Kartendaten, welche die in Kartenbild 100 abgebildeten geometrischen Formen beschreiben, kann ein Client-Gerät eine Angabe empfangen, dass Kartenelemente 102142 mit einem aggregierten Kartenmerkmal assoziiert sind. Zu diesem Zweck kann eine gemeinsame Merkmalskennung für jeden, den Kartenelementen 102142 entsprechenden Vektordeskriptor bereitgestellt werden. In einer weiteren Ausführungsform werden den Kartenelementen 102142 entsprechende Vektordeskriptoren in einem Datenblock bereitgestellt, der einen Einleitungs- und Schlussteil mit der Angabe beinhaltet, dass die Vektordeskriptoren einem gemeinsamen Kartenmerkmal entsprechen. Generell kann jede geeignete Methode zur Angabe dessen verwendet werden, dass Kartenelemente 102142 mit einem aggregierten Kartenmerkmal assoziiert sind.
  • Gemäß einem exemplarischen Szenario hat das Seattle University entsprechende aggregierte Kartenmerkmal Kartenelemente in verschiedenen Kartenteilen. So kann beispielsweise, wie in 3B gezeigt, das Kartenbild 100 aus Kartenteilen 150, 152, 154 und 156 gebildet werden. Jeder der Kartenteile 150156 kann ein Teil eines unter Verwendung der Kartendaten erzeugten Rasterbildes sein. In einer exemplarischen Umsetzung sind Kartendaten, wenn sie an das Client-Gerät gesendet werden, nach Kartenteilen gruppiert. Das Client-Gerät kann dazu konfiguriert werden, jedes Kartenteil unabhängig von anderen Kartenteilen zu rendern. Alternativ empfangt das Client-Gerät Kartendaten, die mehreren Teilen entsprechen und, anstatt jedes Kartenteil separat als entsprechendes Rasterbild zu rendern, kann das Client-Gerät ein einziges Rasterbild erzeugen, das mehreren Kartenteilen entspricht. Im Beispiel aus 3B werden die Kartenelemente 102110, 120, 140 und 142 in Kartenteil 152 bereitgestellt, die Kartenelemente 130 und 132 werden in Kartenteil 156 bereitgestellt und Kartenelement 112 wird in Kartenteil 154 bereitgestellt. Beim Erzeugen eines mehreren Kartenteilen entsprechenden Rasterbildes kann das Client-Gerät die Assoziation zwischen in den Kartenteilen bereitgestellten Kartenelementen und aggregierten Merkmalen beibehalten, sodass der Benutzer ein aggregiertes Kartenmerkmal auswählen und manipulieren kann, das für mehrere Kartenteile gilt.
  • Weiterhin kann ein aggregiertes Kartenmerkmal in einigen Fällen Kartenelemente einschließen, die Teilen derselben einheitlichen physischen Entität wie z. B. einem Gebäude, einem Park, einem See usw. entsprechen. So können beispielsweise zwei Drittel der Darstellung eines bestimmten Gebäudes als erstes Kartenelement in einem Kartenteil bereitgestellt werden, und das restliche Drittel der Darstellung des Gebäudes als zweites Kartenelement in einem weiteren Kartenteil bereitgestellt werden. Ein Kartenserver kann in diesem Szenario separate Beschreibungen der beiden Kartenteile erzeugen, wobei jeder Kartenteil das entsprechende Kartenelement beinhaltet, und diese Beschreibungen an das Client-Gerät senden. Damit das Client-Gerät aber das erste Kartenelement und das zweite Kartenelement als ein einziges Kartenelement über die Benutzerschnittstelle am Client-Gerät darstellen kann, kann der Kartenserver auch eine Beschreibung eines aggregierten Kartenmerkmals erzeugen, welches das erste Kartenelement und das zweite Kartenelement beinhaltet.
  • Weiterhin kann in einer Ausführungsform ein Gruppieren von Kartenelementen oder -merkmalen in aggregierte Kartenmerkmale auf mehreren Ebenen umgesetzt werden. So können beispielsweise, wie in 3C illustriert, mehrere, aber nicht alle mit Seattle University assoziierten Kartenelemente einem Kartenmerkmal 180 entsprechen. Im in 3A abgebildeten Beispiel gibt die Beschreibung von Kartenmerkmal 180 die Grenzen einer geografischen Region vor, die die entsprechenden Kartenelemente (bei denen es sich um die zuvor mit Bezug auf 3A und 3B diskutierten Elemente 102119 und 120 handeln kann), enthält. In einem exemplarischen Szenario klickt ein Benutzer eine neben dem Gebäude befindliche Karte mit dem Etikett Student Center an, und die durch die Grenzen von Kartenmerkmal 180 eingeschlossene Fläche wird ausgewählt.
  • Als Nächstes wird unter Bezug auf 4 ein exemplarischer Informationsaustausch zum Rendern eines Kartenbildes diskutiert, das ein oder mehrere aggregierte(s) Kartenmerkmal(e) beinhaltet. Mitteilungsaustausch 200 involviert eine Benutzerschnittstelle 202, die in einem Client-Gerät (wie z. B. Client 14 von 1) eingeschlossen oder anderweitig damit assoziiert ist, eine im Client-Gerät betriebene Karten-Renderingmaschine 204 sowie einen Server 206 (wie z. B. den Kartenserver 12 von 1). Mit Bezug auf 1 kann die Benutzerschnittstelle durch Browser 60 bereitgestellt werden, während die dynamische Karten-Renderingmaschine 204 und der Server 206 jeweils in den Komponenten 62 und 12 implementiert sein können.
  • Als Reaktion auf einen Benutzerbefehl kann die Benutzerschnittstelle 202 eine Anforderung 210 von Kartendaten für eine bestimmte Region R erzeugen und die Anforderung für die Karten-Renderingmaschine 204 bereitstellen. Anforderung 210 kann übertragen werden als eine elektronische Mitteilung im Inneren des Client-Geräts, in dem beispielsweise Komponenten 202 und 204 implementiert sind. In einer Ausführungsform gibt die Anforderung 210 eine Zoomstufe und eine Kartenart (z. B. die einfache) vor. Karten-Renderingmaschine 204 wiederum kann eine über ein Kommunikationsnetzwerk an Server 206 zu sendende Anforderung 212 auf Kartendaten erzeugen. Anforderung 212 kann die Region R unter Verwendung von geografischer Länge und Breite (die z. B. mithilfe eines GPS-Geräts beschafft werden können) oder auf jede sonstige geignete Weise vorgeben.
  • Als Reaktion auf Anforderung 212 kann der Server 206 eine Antwort 214 erzeugen, die Kartendaten zum Rendern eines Kartenbildes in nicht-gerastertem Format wie z. B. in einem Vektorgrafikformat beinhaltet. Die Antwort 114 kann Kartendaten beinhalten, die in jeder geeigneten Weise organisiert sind, wie in einem oder mehreren Kacheldeskriptoren T1, T2, ... TN. Im Allgemeinen können Kartendaten für jede Anzahl von Kacheln, einschließlich einer einzelnen Kachel, bereitgestellt werden. Für jeden Teil kann Antwort 214 verschiedene Kartenelemente oder nicht aggregierte Kartenmerkmale F1, F2, ... FM beschreiben, von denen jedes mithilfe eines Vektordeskriptors gemäß einem geeigneten Vektorgrafikformat vorgeben werden kann. Zusätzlich zu den nicht aggregierten Kartenmerkmalen F1, F2, ... FM kann Antwort 214 ein aggregiertes Kartenmerkmal FA beschreiben, das zwei oder mehr von den nicht aggregierten Kartenmerkmalen F1, F2, ... FM beinhaltet. Wie oben diskutiert, kann die Beschreibung des aggregierten Kartenmerkmals FA eine Angabe einschließen, welche der nicht aggregierten Kartenmerkmale F1, F2, ... FM mit dem Kartenmerkmal FA assoziiert sind, eine eindutige Merkmalkennung zum Identifizieren des Kartenmerkmals FA in darauf folgenden Kommunikationsphasen, ein Etikett, das mit dem Kartenmerkmal FA unter bestimmten Bedingungen angezeigt werden muss usw. Die dynamische Karten-Renderingmaschine 204 kann das Kartenbild rendern, das Kartenbild der Benutzerschnittstelle 202 bereitstellen, und ein entsprechendes Ereignis 216 erzeugen. In einigen Ausführungsformen kann die dynamische Karten-Renderingmaschine 204 die empfangenen Kartendaten (und, wenn verfügbar, Stildaten) in einem Speicher zur zukünftigen Verwendung ablegen.
  • Zu einem späteren Zeitpunkt kann der Benutzer ein aggregiertes Kartenmerkmal mithilfe eines interaktiven Bedienungselements auswählen, das über Benutzerschnittstelle 202 bereitgestellt wird. Als Reaktion darauf kann Benutzerschnittstelle 202 ein Ereignis 218 erzeugen, um anzuzeigen, dass ein Kartenmerkmal ausgewählt wurde. In einer Ausführungsform gibt das Ereignis 218 nur den Ort auf dem Kartenbild vor, das der Benutzer ausgewählt hat und zeigt an, dass der Benutzer ein aggregiertes Kartenmerkmal auswählen möchte. Karten-Renderingmaschine 204 kann bestimmen, welches Kartenelement der Benutzer ausgewählt hat, automatisch alle anderen mit demselben aggregierten Kartenmerkmal assoziierten Kartenelemente identifizieren und das Kartenbild aktualisieren, um anzuzeigen, dass das Kartenmerkmal ausgewählt wurde (Ereignis 220). So kann beispielsweise in Bezug auf 3C das Ereignis 220 veranlassen, dass die Kartenelemente in der umschlossenen Fläche hervorgehoben werden.
  • Als Nächstes werden unter Bezug auf 57 mehrere exemplarische Verfahren diskutiert, die in Rechnergeräten implementiert werden können, die im System von 1 oder einer ähnlichen Umgebung betrieben werden. Diese Verfahren können als Rechnerprogramme implementiert werden, die in einer geeigneten Programmiersprache entwickelt und auf einem tatsächlichen, nicht flüchtigen, rechnerlesbaren Speichermedium (wie einem oder mehreren Festplattenlaufwerk(en)) gespeichert und auf einem oder mehreren Prozessor(en) ausführbar sind. So können beispielsweise die Verfahren aus 5 und 6 im Kartenserver 12 implementiert werden, und das Verfahren aus 7 kann im Client-Gerät 14 implementiert werden. Obwohl die Verfahren aus 57 auf Einzelrechnern ausführbar sind, wie z. B. auf Servern oder PCs, ist es auch möglich, wenigstens einige dieser Verfahren auf verteilte Weise unter Verwendung mehrerer Rechner umzusetzen, wie z. B. in einer Cloud-Computing-Umgebung.
  • Zunächst kann mit Bezug auf 5 ein exemplarisches Verfahren 300 zum Erzeugen von Kartendaten zusammen mit einer Beschreibung eines aggregierten Kartenmerkmals z. B. im Karten-Steuergerät 30 oder 80 implementiert werden. Gemäß einer Ausführungsform werden am Block 302 Kartendaten in einem nicht gerasterten Format zum Rendern eines ersten, einer bestimmten geografischen Region entsprechenden Kartenbildes erzeugt. Die Kartendaten können z. B. Vektordeskriptoren einschließen, die einem Vektorgrafikformat entsprechen und jeweilige Kartenelemente beschreiben. In einer Ausführungsform definiert jeder Vektordeskriptor ein jeweiliges Kartenelement. Die Kartendaten können als Datenstruktur zur Übermittlung in einer elektronischen Mitteilung, die einem bestimmten, vom Server und einem Client-Gerät erkannten Format entspricht, bereitgestellt werden,
  • Als Nächstes wird am Block 304 ein Teil der Kartendaten, der einem aggregierten Kartenmerkmal entspricht, vorgegeben. Das aggregierte Kartenmerkmal kann z. B. mehrere nicht-aggregierte Kartenmerkmale sowie zusätzliche Informationen wie z. B. ein gemeinsames Etikett, eine Tiefenangabe usw. einschließen. Eine Angabe des dem Kartenmerkmal entsprechenden Teils der Karte kann in einem Deskriptor des Kartenmerkmals eingeschlossen sein. Am Block 306 wird eine eindeutige Merkmalkennung für das Kartenmerkmal bereitgestellt. In einigen Fällen kann die eindeutige Merkmalkennung von einer Kartendatenbank wie der Datenbank 18 aus 1 geholt werden. In anderen Fällen wird die eindeutige Merkmalkennung während der Ausführung von Verfahren 300 erzeugt. Auf jeden Fall kann die eindeutige Merkmalkennung im Deskriptor des Kartenmerkmals zusammen mit der an Block 304 erzeugten Angabe eingeschlossen sein.
  • An Block 308 werden dem Client-Gerät die Kartendaten und die Beschreibung des Kartenmerkmals zur Verfügung gestellt. So können beispielsweise an das Client-Gerät über das Kommunikationsnetzwerk eine oder mehrere elektronische Mitteilung(en) gesendet werden.
  • Unter Bezug auf 6 kann ein exemplarisches Verfahren 350 zur Erzeugung einer Kartenmerkmalbeschreibung z. B. im Kartenmerkmal-Steuergerät 86 oder einem ähnlichen Modul implementiert werden. In einer Ausführungsform werden mindestens einige der Schritte von Verfahren 350 an Block 304306 des zuvor diskutierten Verfahrens 300 ausgeführt.
  • An Block 352 werden Kartenelemente identifiziert, die in einem Kartenbild für eine ausgewählte geografische Fläche, Zoomstufe und Kartenart einzuschließen sind. Dann wird ein aggregiertes, zwei oder mehr Kartenelemente enthaltendes Kartenmerkmal am Block 354 identifiziert, und eine Vektorbeschreibung jedes Kartenelements wird am Block 356 bereitgestellt. Am Block 358 wird eine Angabe dazu erzeugt, welche der am Block 352 identifizierten Kartenelemente mit dem Kartenmerkmal assoziiert sind. In einer Ausführungsform wird jedes Kartenelement als nicht-aggregiertes Kartenmerkmal mit einer jeweiligen Merkmalkennung bereitgestellt, und die am Block 358 erzeugte Angabe schließt eine Liste von Merkmalkennungen ein. Die Liste der Merkmalkennungen kann zusammen mit den Deskriptoren individueller Kartenmerkmale oder separat bereitgestellt werden. In einer weiteren Ausführungsform schließt die an Block 358 erzeugte Angabe eine oder mehrere Flagge(n) ein, die einen Teil einer Liste von Vektordeskriptoren begrenzt, um anzuzeigen, welche Vektordeskriptoren mit einem aggregierten Kartenmerkmal assoziiert sind.
  • 7 ist ein Flussdiagramm eines exemplarischen Verfahrens 400 zum Verarbeiten von Kartendaten und einer Kartenmerkmalbeschreibung auf einem Client-Gerät. Gemäß einer Ausführungsform wird Verfahren 400 im in 1 abgebildeten Client-Gerät 14 implementiert.
  • Am Block 402 werden Kartendaten in einem nicht gerasterten Format von einem Kartenserver empfangen. In einer Ausführungsform geben die Kartendaten an, welcher Teil der Kartendaten einem aggregierten Kartenmerkmal entspricht. Am Block 404 werden die Kartendaten zum Rendern verschiedener Kartenelemente interpretiert. Als Nächstes wird an Block 406 ein bestimmtes Kartenelement über die Benutzerschnittstelle ausgewählt. Ein Benutzer kann z. B. ein bestimmtes auf der Karte abgebildetes Gebäude anklicken oder berühren. Eine Anforderung zur Auswahl eines mit dem ausgewählten Kartenelement assoziierten Kartenmerkmals wird dann an Block 408 empfangen. Als Reaktion identifiziert Verfahren 400 ein Kartenmerkmal, mit dem das ausgewählte Kartenelement assoziiert ist (Block 410). An Block 412 werden ein oder mehrere zusätzliche(s) Kartenelement(e) identifiziert, das/die auch mit dem Kartenmerkmal assoziiert ist/sind. Dann wird das Kartenbild an Block 414 aktualisiert, um die automatische Auswahl mehrfacher, mit dem aggregierten Kartenmerkmal assoziierter Kartenelemente wiederzugeben. So kann beispielsweise das Kartenbild aktualisiert werden, um alle sichtbaren Kartenelemente hervorzuheben, die zum Kartenmerkmal gehören.
  • 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 16 kann beispielsweise u. a. 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 einschließen.
  • 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 dedizierte Verschaltung oder Logik umfassen, die dauerhaft konfiguriert ist (z. B. als ein Sonderprozessor wie ein Field Programmable Gate Array (FPGA) oder ein anwendungsspezifischer integrierter Schaltkreis (ASIC), um bestimmte Operationen durchzuführen. 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. 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, 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.
  • In ä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 Prozessor(en) können auch arbeiten, um die Durchführung der entsprechenden Operationen in einem „Cloud Computin”-Umfeld zu 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 dieses 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. Fachleute auf diesem Gebiet werden anhand der nachfolgenden Abhandlung leicht erkennen, dass alternative Ausführungsformen der hierin veranschaulichten Strukturen und Verfahren verwendet werden können, ohne von den hierin beschriebenen Prinzipien abzuweichen.
  • Beim Lesen dieser Offenlegung werden Fachleute noch weitere zusätzliche alternative strukturelle und funktionelle Gestaltungen für ein System und ein Verfahren zum Bereitstellen von Karten und Kartenmerkmaldaten durch die hier offengelegten Prinzipien würdigen. 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 (9)

  1. Auf einem Kommunikationsnetzwerk betriebenes Rechengerät, wobei das Rechengerät Folgendes umfasst: einen Kartendatengenerator, der Kartendaten zum Rendern eines Rasterkartenbildes einer geografischen Fläche auf einem Client-Gerät erzeugt, worin die Kartendaten eine Vielzahl von geometrischen Formen gemäß einem nicht gerasterten Format vorgeben und worin das Rasterkartenbild eine Vielzahl der physischen Entitäten in der geografischen Fläche abbildet sowie ein Kartenmerkmal-Steuergerät, das eine Beschreibung des Kartenmerkmals erzeugt, das einer Gruppe von zwei oder mehr aus der Vielzahl von physischen Entitäten ausgewählten physischen Entitäten oder zwei oder mehr aus der Vielzahl von Teilen physischer Entitäten ausgewählten Teile physischer Entitäten entspricht, worin das Kartenmerkmal mindestens einer aus der Vielzahl von physischen Entitäten nicht entspricht und worin das Kartenmerkmal-Steuergerät zum Erzeugen der Beschreibung des Kartenmerkmals (i) eine Angabe eines Teils der Kartendaten bereitstellt, die dem Kartenmerkmal entsprechen und (ii) eine Kartenmerkmalkennung bereitstellt, die das Kartenmerkmal eindeutig identifiziert; worin das Rechengerät veranlasst, dass die Kartendaten und die Beschreibung des Kartenmerkmals über das Kommunikationsnetzwerk an das Client-Gerät gesendet werden.
  2. Rechengerät nach Anspruch 1, worin der Kartendatengenerator für jede der Vielzahl von physischen Entitäten wenigstens eine Vektorbeschreibung eines jeweiligen Kartenelements gemäß einem Vektorgrafikformat erzeugt, worin jede Vektorbeschreibung auf dem Client-Gerät zum Rendern einer entsprechenden geometrischen Form unabhängig interpretierbar ist.
  3. Rechengerät nach Anspruch 2, worin der Kartendatengenerator des Weiteren eine jeweilige Tiefenangabe für jedes Kartenelement bereitstellt, worin die Tiefenangabe eine Reihenfolge angibt, in der das Kartenelement bezüglich wenigstens eines überlappenden Kartenelements gerendert wird.
  4. Rechengerät nach Anspruch 2, worin die Vielzahl der physischen Entitäten eine physikalische Entität beinhaltet, für die der Kartendatengenerator eine erste Vektorbeschreibung eines dem ersten Teil der physischen Entität entsprechenden ersten Kartenelements sowie eine zweite Vektorbeschreibung eines zweiten dem zweiten Teil der physischen Entität entsprechenden Kartenelements erzeugt.
  5. Rechengerät nach Anspruch 1, worin jede der Vielzahl von physischen Entitäten eines der Folgenden ist: ein Gebäude, ein Straßenabschnitt, ein Park oder ein Gewässer.
  6. Rechengerät nach Anspruch 5, worin das Kartenmerkmal einer Gruppe entspricht, die ein Gebäude und einen Straßenabschnitt beinhaltet, die administrativ zueinander gehören.
  7. Rechengerät nach Anspruch 2, worin der Kartendatengenerator weiterhin (i) ein mit dem Kartenmerkmal anzuzeigendes gemeinsames Textetikett und (ii) ein jeweiliges individuelles mit jedem Kartenelement, das mit dem Kartenmerkmal assoziiert ist, anzuzeigendes Textetikett erzeugt.
  8. Rechengerät nach Anspruch 2, des Weiteren umfassend ein Datenbankschnittstellenmodul zum Empfangen des Folgenden umfasst: eine Beschreibung einer Vielzahl von Kartenelementen, die der Vielzahl jeweiliger physikalischer Entitäten in der geografischen Fläche entspricht, und eine Beschreibung einer Vielzahl von Kartenmerkmalen, von denen jede mit zwei oder mehr aus der Vielzahl von Kartenelementen assoziiert ist, worin der Kartendatengenerator zum Erzeugen von Kartendaten eine Teilmenge der Beschreibung der Vielzahl von Kartenelementen auf der Basis einer am Client-Gerät ausgewählten Zoomstufe und Kartenart auswählt.
  9. Rechengerät nach Anspruch 8, worin wenigstens eines aus der Vielzahl von Kartenelementen mit zwei oder mehr aus der Vielzahl von Kartenmerkmalen assoziiert ist.
DE202012013506.6U 2011-09-26 2012-09-25 Verwaltung von Kartenelementen Mithilfe von Aggregierten Merkmalskennungen Expired - Lifetime DE202012013506U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/244,716 US8560600B2 (en) 2011-09-26 2011-09-26 Managing map elements using aggregate feature identifiers
US201113244716 2011-09-26

Publications (1)

Publication Number Publication Date
DE202012013506U1 true DE202012013506U1 (de) 2017-04-27

Family

ID=47912440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202012013506.6U Expired - Lifetime DE202012013506U1 (de) 2011-09-26 2012-09-25 Verwaltung von Kartenelementen Mithilfe von Aggregierten Merkmalskennungen

Country Status (9)

Country Link
US (2) US8560600B2 (de)
EP (1) EP2761497A4 (de)
JP (1) JP6184961B2 (de)
KR (1) KR102056882B1 (de)
CN (2) CN103946837A (de)
AU (3) AU2012316226B2 (de)
CA (1) CA2849992C (de)
DE (1) DE202012013506U1 (de)
WO (1) WO2013049053A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107679406A (zh) * 2017-09-01 2018-02-09 百度在线网络技术(北京)有限公司 高精度电子地图的处理方法、装置、设备及计算机可读存储介质

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560600B2 (en) * 2011-09-26 2013-10-15 Google Inc. Managing map elements using aggregate feature identifiers
US8274524B1 (en) * 2011-09-28 2012-09-25 Google Inc. Map rendering using interpolation of style parameters across zoom levels
US9070314B2 (en) * 2012-06-05 2015-06-30 Apple Inc. Method, system and apparatus for rendering a map according to texture masks
US10109255B2 (en) * 2012-06-05 2018-10-23 Apple Inc. Method, system and apparatus for dynamically generating map textures
US8928698B2 (en) * 2012-06-10 2015-01-06 Apple Inc. Compression of road features in map tiles
US9576340B2 (en) * 2012-07-30 2017-02-21 Nvidia Corporation Render-assisted compression for remote graphics
US20140071119A1 (en) * 2012-09-11 2014-03-13 Apple Inc. Displaying 3D Objects in a 3D Map Presentation
US9360339B2 (en) * 2013-01-14 2016-06-07 Sap Se Rendering maps with canvas elements
US11226995B2 (en) * 2013-03-15 2022-01-18 International Business Machines Corporation Generating business intelligence geospatial elements
WO2014145405A2 (en) 2013-03-15 2014-09-18 Gaiter Felix R Three-dimensional layered map
US9448754B2 (en) * 2013-05-15 2016-09-20 Google Inc. Resolving label collisions on a digital map
US9471959B2 (en) * 2013-05-15 2016-10-18 Google Inc. Water color gradients on a digital map
US9424673B2 (en) 2013-05-15 2016-08-23 Google Inc. Efficient composition and rendering of graphical elements
US9542724B1 (en) 2013-07-09 2017-01-10 Google Inc. Systems and methods for stroke rendering on digital maps
NZ719332A (en) 2013-10-25 2021-07-30 Resmed Inc Electronic management of sleep related data
US10444954B2 (en) * 2013-11-11 2019-10-15 Here Global B.V. Distinguishable geographic area presentation
WO2015089477A1 (en) * 2013-12-13 2015-06-18 AI Squared Techniques for programmatic magnification of visible content elements of markup language documents
EP3170131A2 (de) * 2014-03-04 2017-05-24 Google, Inc. Kartenpersonalisierung auf basis von sozialen hinweisen
US20150310590A1 (en) * 2014-04-25 2015-10-29 Tektronix, Inc. Multiple rasterizing displays for multiple rois in an overlaid display
US9495767B2 (en) * 2014-05-15 2016-11-15 Google Inc. Indexed uniform styles for stroke rendering
US10599570B1 (en) 2014-06-20 2020-03-24 Google Llc Expiration of offline map data
WO2016106358A1 (en) * 2014-12-22 2016-06-30 Robert Bosch Gmbh System and methods for interactive hybrid-dimension map visualization
CN104834723A (zh) * 2015-05-12 2015-08-12 天脉聚源(北京)教育科技有限公司 一种地图的显示处理方法及装置
US10495478B2 (en) * 2015-06-06 2019-12-03 Apple Inc. Feature selection in transit mode
US9702724B2 (en) 2015-06-06 2017-07-11 Apple Inc. Mapping application with transit mode
US10180331B2 (en) 2015-06-07 2019-01-15 Apple Inc. Transit navigation
KR20160144269A (ko) * 2015-06-08 2016-12-16 삼성전자주식회사 전자 장치 및 전자 장치에서의 전자 지도 표시 방법
CN106997348A (zh) * 2016-01-22 2017-08-01 腾讯科技(深圳)有限公司 一种数据绘制方法和装置
US9922426B2 (en) 2016-01-25 2018-03-20 Google Llc Reducing latency in presenting map interfaces at client devices
US9875430B1 (en) 2016-03-30 2018-01-23 Descartes Labs, Inc. Iterative relabeling using spectral neighborhoods
US10319062B2 (en) * 2016-09-27 2019-06-11 Google Llc Rendering map data using descriptions of raster differences
WO2018089925A1 (en) * 2016-11-14 2018-05-17 OneMarket Network LLC Systems and methods for presenting personalized map labels
US20180181576A1 (en) * 2016-12-22 2018-06-28 Mapbox, Inc. Real-Time Transmittal Of Optimized Map Vector Tile Data
US10482900B2 (en) * 2017-01-18 2019-11-19 Microsoft Technology Licensing, Llc Organization of signal segments supporting sensed features
CN110891659B (zh) * 2017-06-09 2021-01-29 索尼互动娱乐股份有限公司 对注视点渲染系统中的粒子和模拟模型的优化的延迟照明和中心凹调适
US10956497B1 (en) * 2017-10-05 2021-03-23 United States Automobile Association (USAA) Use of scalable vector graphics format to encapsulate building floorplan and metadata
US11029810B2 (en) * 2018-05-07 2021-06-08 Otis Elevator Company Equipment service graphical interface
CN111126120B (zh) * 2018-11-01 2024-02-23 百度在线网络技术(北京)有限公司 城市区域分类方法、装置、设备和介质
US10832449B1 (en) 2018-11-30 2020-11-10 BlueOwl, LLC Vehicular telematic systems and methods for generating interactive animated guided user interfaces
CA3081445A1 (en) 2019-06-10 2020-12-10 Mappedin Inc. System and method for tracing polygons in design files
US11042961B2 (en) * 2019-06-17 2021-06-22 Risk Management Solutions, Inc. Spatial processing for map geometry simplification
US11270484B2 (en) * 2019-09-03 2022-03-08 Mappedin Inc. System and method for semantic segmentation of a source geometry
JP6979141B1 (ja) * 2020-01-31 2021-12-08 株式会社 ミックウェア 表示装置および制御プログラム
KR102174524B1 (ko) * 2020-04-07 2020-11-04 안정훈 전자 지도 서비스 방법 및 시스템
CN111368239A (zh) * 2020-05-27 2020-07-03 航天宏图信息技术股份有限公司 一种栅格数据的处理方法和系统
CN112464132A (zh) * 2020-12-04 2021-03-09 北京五八信息技术有限公司 页面生成、配置方法及装置
CN113434619B (zh) * 2021-06-25 2024-06-04 南京领航交通科技有限公司 一种4g的高速公路智能交通路况监控系统
CN113688198B (zh) * 2021-08-27 2024-03-05 湖南省国土资源规划院 城区范围划定中线状地物截断处理方法、存储器及装置
US20230168106A1 (en) * 2021-11-29 2023-06-01 Here Global B.V. Method, apparatus, and system for providing mock map data for map design validation and documentation
CN114185613A (zh) * 2021-11-30 2022-03-15 广州景骐科技有限公司 一种语义地图分块方法、装置、交通工具及存储介质

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2609744B2 (ja) * 1989-07-14 1997-05-14 株式会社日立製作所 画像表示方法及び画像表示装置
US5519809A (en) * 1992-10-27 1996-05-21 Technology International Incorporated System and method for displaying geographical information
JP3622094B2 (ja) 1995-10-05 2005-02-23 株式会社日立製作所 地図更新支援装置および地図情報の編集方法
US6577714B1 (en) * 1996-03-11 2003-06-10 At&T Corp. Map-based directory system
US6199015B1 (en) * 1996-10-10 2001-03-06 Ames Maps, L.L.C. Map-based navigation system with overlays
US5966135A (en) 1996-10-30 1999-10-12 Autodesk, Inc. Vector-based geographic data
JP4810038B2 (ja) 1999-10-12 2011-11-09 オートデスク,インコーポレイテッド パーソナル携帯情報端末(pda)およびサーバ上のグラフィックマップ
US7308117B2 (en) * 2000-02-04 2007-12-11 National Science And Technology Development Agency System and method for manipulating information and map for geographical resource management
US7148898B1 (en) * 2000-03-29 2006-12-12 Sourceprose Corporation System and method for synchronizing raster and vector map images
WO2002041289A2 (en) * 2000-11-17 2002-05-23 Links Point, Inc. Systems and methods for representing and displaying graphics
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
GB0303888D0 (en) * 2003-02-19 2003-03-26 Sec Dep Acting Through Ordnanc Image streaming
US7844417B2 (en) * 2003-02-21 2010-11-30 First American Real Estate Solutions, Llc GIS-based rapid population assessment tool
US7865301B2 (en) 2004-03-23 2011-01-04 Google Inc. Secondary map in digital mapping system
JP5592594B2 (ja) * 2004-03-23 2014-09-17 グーグル インコーポレイテッド デジタルマッピングシステム
JP2005345495A (ja) * 2004-05-31 2005-12-15 Matsushita Electric Ind Co Ltd 対象情報提供装置、対象情報取得装置、対象情報提供方法、および対象情報取得方法
CN1710554A (zh) * 2004-06-17 2005-12-21 成都四威电子股份有限公司 表现地图信息的方法及传输地图信息数据的方法
US7792331B2 (en) * 2004-06-29 2010-09-07 Acd Systems, Ltd. Composition of raster and vector graphics in geographic information systems
US20060074660A1 (en) * 2004-09-29 2006-04-06 France Telecom Method and apparatus for enhancing speech recognition accuracy by using geographic data to filter a set of words
EP1681656A1 (de) 2005-01-18 2006-07-19 Oculus Info Inc. System und Verfahren zur Kartendatenverarbeitung
US20060197781A1 (en) 2005-03-03 2006-09-07 Arutunian Ethan B System and method utilizing enhanced imagery and associated overlays
US7777648B2 (en) 2005-04-21 2010-08-17 Microsoft Corporation Mode information displayed in a mapping application
US20070210937A1 (en) 2005-04-21 2007-09-13 Microsoft Corporation Dynamic rendering of map information
US20060271281A1 (en) * 2005-05-20 2006-11-30 Myron Ahn Geographic information knowledge systems
US7373246B2 (en) * 2005-05-27 2008-05-13 Google Inc. Using boundaries associated with a map view for business location searching
US20060277271A1 (en) 2005-06-07 2006-12-07 Yahoo! Inc. Prefetching content based on a mobile user profile
US20060293847A1 (en) * 2005-06-22 2006-12-28 Marriott Graham H Interactive scaling feature having scalability in three dimensional space
US20070013723A1 (en) * 2005-07-12 2007-01-18 Microsoft Corporation Magnification engine and interface for computers
US8296388B2 (en) * 2005-07-18 2012-10-23 Microsoft Corporation Cross-application encoding of geographical location information
US7706971B2 (en) * 2005-07-21 2010-04-27 The Boeing Company System and method for data mapping and map discrepancy reporting
US7933897B2 (en) * 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
CA2628995C (en) 2005-11-07 2015-06-23 Google Inc. Local search and mapping for mobile devices
CN101009058A (zh) * 2006-01-26 2007-08-01 崔宏 用数字来标识地理位置
EP2024939B1 (de) 2006-02-13 2016-07-06 Uber Technologies, Inc. Ziehbare karten
CN101427103A (zh) * 2006-02-17 2009-05-06 英特图形软件技术公司 通过函数样式的基于属性的符号标示
US20070208498A1 (en) 2006-03-03 2007-09-06 Inrix, Inc. Displaying road traffic condition information and user controls
US8560946B2 (en) 2006-03-22 2013-10-15 Vistracks, Inc. Timeline visualizations linked with other visualizations of data in a thin client
US20070226314A1 (en) 2006-03-22 2007-09-27 Sss Research Inc. Server-based systems and methods for enabling interactive, collabortive thin- and no-client image-based applications
US7643673B2 (en) * 2006-06-12 2010-01-05 Google Inc. Markup language for interactive geographic information system
CN100458787C (zh) * 2006-08-26 2009-02-04 福州开睿动力通信科技有限公司 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法
JP4549329B2 (ja) * 2006-08-31 2010-09-22 株式会社ナビタイムジャパン 通信型地図表示システム、地図配信サーバおよび地図表示端末
US7925982B2 (en) * 2006-09-01 2011-04-12 Cheryl Parker System and method of overlaying and integrating data with geographic mapping applications
JP2008071206A (ja) * 2006-09-14 2008-03-27 Navitime Japan Co Ltd 地図表示システム、地図配信サーバおよび地図表示端末
US7734412B2 (en) * 2006-11-02 2010-06-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US8010407B1 (en) * 2006-11-14 2011-08-30 Google Inc. Business finder for locating local businesses to contact
US8749585B2 (en) 2007-03-29 2014-06-10 Microsoft Corporation Adding custom content to mapping applications
US8374782B2 (en) 2007-08-29 2013-02-12 Vodafone Group Services Limited Pre-fetching navigation maps
US8892455B2 (en) * 2007-09-28 2014-11-18 Walk Score Management, LLC Systems, techniques, and methods for providing location assessments
US20090113296A1 (en) 2007-10-26 2009-04-30 Microsoft Corporation Displaying a map and associated symbolic context information
US20090254841A1 (en) * 2007-11-12 2009-10-08 Move Sales, Inc. Apparatus, method, and computer program product for characterizing user-defined areas
EP2078926B1 (de) 2008-01-14 2013-10-16 BlackBerry Limited System und Verfahren zum dynamischen Herunterladen und Anzeigen von Kartendaten
US8504945B2 (en) 2008-02-01 2013-08-06 Gabriel Jakobson Method and system for associating content with map zoom function
US20110047476A1 (en) * 2008-03-24 2011-02-24 Hochmuth Roland M Image-based remote access system
CN100568290C (zh) * 2008-04-22 2009-12-09 北京航空航天大学 一种可快速配置和实时渲染的安防三维电子地图系统
US8032297B2 (en) * 2008-05-08 2011-10-04 Gabriel Jakobson Method and system for displaying navigation information on an electronic map
US7940171B2 (en) * 2008-06-10 2011-05-10 Google Inc. Machine-readable representation of geographic information
US20100034466A1 (en) * 2008-08-11 2010-02-11 Google Inc. Object Identification in Images
US20100073391A1 (en) * 2008-09-25 2010-03-25 Yahoo! Inc. Informational content presentation via backdrop images
US8493408B2 (en) * 2008-11-19 2013-07-23 Apple Inc. Techniques for manipulating panoramas
US8587617B2 (en) * 2009-02-04 2013-11-19 Raytheon Company Apparatus and method for map zooming
CN101556165A (zh) * 2009-04-24 2009-10-14 方舟信息技术(苏州)有限公司 嵌入式移动电子地图数据库的实时更新方法
US20100321399A1 (en) 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
WO2011006172A1 (en) * 2009-07-10 2011-01-13 Georeplica, Inc System of identifying and advertising organizations or other entities by overlaying image files on mapping applications
US9710961B2 (en) * 2009-09-17 2017-07-18 Nokia Technologies Oy Method and apparatus for providing contextual rendering of a map
US8510045B2 (en) * 2009-12-22 2013-08-13 Steven L. Rueben Digital maps displaying search-resulting points-of-interest in user delimited regions
US9068844B2 (en) 2010-01-08 2015-06-30 Dp Technologies, Inc. Method and apparatus for an integrated personal navigation system
US20110191014A1 (en) 2010-02-04 2011-08-04 Microsoft Corporation Mapping interface with higher zoom level inset map
US8874129B2 (en) * 2010-06-10 2014-10-28 Qualcomm Incorporated Pre-fetching information based on gesture and/or location
US8681022B2 (en) * 2011-02-02 2014-03-25 Mapquest, Inc. Systems and methods for generating electronic map displays with points-of-interest based on density thresholds
US8560600B2 (en) * 2011-09-26 2013-10-15 Google Inc. Managing map elements using aggregate feature identifiers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107679406A (zh) * 2017-09-01 2018-02-09 百度在线网络技术(北京)有限公司 高精度电子地图的处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
JP2014535065A (ja) 2014-12-25
US8560600B2 (en) 2013-10-15
AU2012316226A1 (en) 2014-04-10
AU2018200087A1 (en) 2018-01-25
KR102056882B1 (ko) 2019-12-17
CA2849992A1 (en) 2013-04-04
JP6184961B2 (ja) 2017-08-23
EP2761497A1 (de) 2014-08-06
AU2019204746B2 (en) 2021-05-27
CN103946837A (zh) 2014-07-23
US8903900B2 (en) 2014-12-02
US20130080504A1 (en) 2013-03-28
WO2013049053A1 (en) 2013-04-04
AU2012316226B2 (en) 2017-10-05
EP2761497A4 (de) 2015-04-08
US20140035948A1 (en) 2014-02-06
CA2849992C (en) 2020-12-15
AU2019204746A1 (en) 2019-07-18
CN110084877B (zh) 2024-08-20
KR20140075760A (ko) 2014-06-19
CN110084877A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
DE202012013506U1 (de) Verwaltung von Kartenelementen Mithilfe von Aggregierten Merkmalskennungen
DE202012013441U1 (de) Wiedergabe von Kartenabbildungen mithilfe von Änderungen von Nicht-Raster Kartendaten
DE202014010955U1 (de) Verwendung von Kartendaten-Differenzkacheln zur iterativen Bereitstellung von Kartendaten für ein Client-Gerät
DE202014010911U1 (de) Effiziente Zusammensetzung und Darstellung grafischer Elemente
DE202014010936U1 (de) Effizientes Abrufen von Kartenkacheldaten
DE202014010903U1 (de) System für die Angabe des Benutzerstandortes und der Blickrichtung einer digitalen Karte
DE202014010892U1 (de) Personalisierung des Karteninhalts über eine Anwendungsprogrammierschnittstelle
DE202012013435U1 (de) Vorrichtung zum Vorabruf von Ortsseitendaten zur darauffolgenden Anzeige auf einem mobilen Computergerät
DE202012013426U1 (de) Integrieren von Karten und Straßenansichten
DE202015009325U1 (de) Schematische Darstellung von geografischen Standorten
DE202012013434U1 (de) Vorabruf von Kartenkacheldaten entlang einer Route
DE202014010937U1 (de) Überlagerung zweidimensionaler Kartendaten auf einer dreidimensionalen Szene
DE202012013460U1 (de) Vorabrufen von Kartenkacheldaten, basierend auf einer von einem mobilen Gerät generierten Ereignisanalyse
DE202015009120U1 (de) Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation
DE202015009138U1 (de) Indexierte Einheitsgrößenparameter für Strichwiedergabe
DE202012013450U1 (de) Beschriftungspositionierbildwiedergabesystem zur Reduzierung des Kriechens bei Zoom-Aktivitäten
DE202015009187U1 (de) Kartenpersonalisierung auf der Grundlage sozialer Anhaltspunkte
DE202014010881U1 (de) Bereitstellen von Indooreinrichtungs-Informationen auf einer digitalen Karte
DE202015009117U1 (de) Integration von Online-Navigationsdaten mit gecachten Navigationsdaten während der aktiven Navigation
DE212012000266U1 (de) System zum Bereitstellen einer Scrollkarte
DE202012013455U1 (de) Kartenerstellung
DE202013012437U1 (de) Ausblendbarer Texteingabekasten
DE202014010894U1 (de) System zur Disambiguierung der Objektauswahl
DE112016002223T5 (de) Konvertieren von Flash-Inhalten zu HTML-Inhalten durch Erzeugen einer Instruktionen-Liste
DE202013012446U1 (de) Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen

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