DE69926284T2 - Verschachtelung von Datentypen in einer geographischen Datenbank und ihr Verwendungsverfahren in einer Navigationsanwendung - Google Patents

Verschachtelung von Datentypen in einer geographischen Datenbank und ihr Verwendungsverfahren in einer Navigationsanwendung Download PDF

Info

Publication number
DE69926284T2
DE69926284T2 DE69926284T DE69926284T DE69926284T2 DE 69926284 T2 DE69926284 T2 DE 69926284T2 DE 69926284 T DE69926284 T DE 69926284T DE 69926284 T DE69926284 T DE 69926284T DE 69926284 T2 DE69926284 T2 DE 69926284T2
Authority
DE
Germany
Prior art keywords
records
type
data
packets
segment
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
DE69926284T
Other languages
English (en)
Other versions
DE69926284D1 (de
Inventor
Michael Niles Livshutz
Vijaya S. Hoffman Estates Israni
Richard A. Blue River Ashby
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.)
Here North America LLC
Original Assignee
Navteq North America 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 Navteq North America LLC filed Critical Navteq North America LLC
Application granted granted Critical
Publication of DE69926284D1 publication Critical patent/DE69926284D1/de
Publication of DE69926284T2 publication Critical patent/DE69926284T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3878Hierarchical structures, e.g. layering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/918Location
    • Y10S707/919Geographic
    • Y10S707/92Navigation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Description

  • VERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung ist verwandt mit der ebenfalls anhängigen Anmeldung mit dem Titel "SEGMENT AGGREGATION IN A GEOGRAPHIC DATABASE AND METHODS FOR USE THEREOF IN A NAVIGATION APPLICATION", welche am gleichen Tag eingereicht worden ist.
  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein System und ein Verfahren zur Vereinfachung des Zugangs zu und der Verwendung von geografischen Daten, welche mit einem Navigations-Applikationsprogramm verwendet werden, welches einem Endbenutzer Navigationsmerkmale und -funktionen bereitstellt, und im Speziellen betrifft die vorliegende Erfindung eine geografische Datenbank, die geografische Daten unterschiedlicher Typen enthält, wobei jeder Typ von ihnen darauf zugeschnitten ist, eine oder mehrere der Navigationsfunktionen zu unterstützen und mit einem anderen der unterschiedlichen Typen zu funktionieren, wodurch gewisse Navigationsfunktionen vereinfacht und die Leistungsfähigkeit verbessert wird.
  • Es sind Computer-gestützte Navigations-Applikationsprogramme erhältlich, welche Endanwendern (wie zum Beispiel Fahrern von Fahrzeugen, in denen Navigationssysteme installiert sind) verschiedene Navigationsfunktionen und -merkmale bereitstellen. Beispielsweise sind einige Navigations-Applikationsprogramme in der Lage, eine optimale, auf Straßen zu befahrende Route bzw. Strecke zwischen Orten zu bestimmen. Unter Verwendung von Input eines Endanwenders und optional von einer Ausrüstung, die den physikalischen Ort von jemandem bestimmen kann (wie beispielsweise ein GPS-System), kann ein Navigations-Applikationsprogramm verschiedene Routen zwischen zwei Orten untersuchen, um eine optimale Route zu bestimmen, um in einer geografischen Region von einem Startort zu einem Zielort zu fahren. Das Navigations-Applikationsprogramm kann dann dem Endanwender Informationen über die optimale Route in Form von Instruktionen bereitstellen, welche die erforderlichen Manöver identifizieren, die von einem Endanwender ausgeführt werden müssen, um vom Startort zum Zielort zu fahren. Wenn ein Navigationssystem in einem Kraftfahrzeug angeordnet ist, können die Instruktionen die Form von Audioinstruktionen annehmen, welche entlang des Weges bereitgestellt werden, während der Endanwender die Route abfährt. Einige Navigations-Applikationsprogramme sind in der Lage, detaillierte Karten auf Computerdisplays anzuzeigen, welche Routen zu Zielen, die an unterschiedlichen Orten entlang der Routen auszuführenden Manöver, Orte gewisser Typen von Merkmalen, usw., darstellen.
  • Um diese und andere Navigationsfunktionen bereitzustellen, verwendet das Navigations-Applikationsprogramm eine oder mehrere detaillierte Datenbanken, welche Daten enthalten, die physikalische Merkmale in einer geografischen Region repräsentieren. Die detaillierte Datenbank kann Daten enthalten, welche die Straßen und Kreuzungen in einer geografischen Region repräsentieren, und kann auch Informationen über die Straßen und Kreuzungen in einer geografischen Region enthalten, wie beispielsweise Abbiegeeinschränkungen an Kreuzungen, Geschwindigkeitsbegrenzungen entlang der Straßen, Straßennamen der unterschiedlichen Straßen, Adressbereiche entlang der unterschiedlichen Straßen, usw.
  • Eine Schwierigkeit beim Bereitstellen von geografischen Daten für die Verwendung durch ein Navigations-Applikationsprogramm betrifft die effiziente Verwendung der verfügbaren Computerressourcen des Navigationssystems, auf denen das Navigations-Applikationsprogramm läuft. Computer-gestützte Navigations-Applikationsprogramme werden auf verschiedenen Plattformen bereitgestellt, einschließlich solcher mit relativ beschränkten Computer-Hardware-Ressourcen. Beispielsweise können Navigationssysteme in Fahrzeugen angeordnet sein oder ein Handheld sein. Diese Typen von Navigationssystemen weisen typischerweise relativ begrenzte Computerressourcen auf, wie beispielsweise begrenzter Speicher und relativ langsame Eingabe/Ausgabe (I/O). Um einen hohen Level an Funktionalität in solchen Systemen bereitzustellen, ist es erforderlich, dass die verfügbaren Computerressourcen effizient verwendet werden.
  • Unter der Voraussetzung der relativ umfangreichen Größe der geografischen Datenbank, wobei die Größe notwendig ist, um ein gewünschtes Niveau von Navigationsfunktionalität dem Endanwender bereitzustellen, wird in Kauf genommen, dass nicht alle Datensätze für ein gesamtes geografisches Gebiet gleichzeitig in den Speicher des Navigationssystems geladen werden können. Dies trifft im Speziellen auf Navigationssystemplattformen zu, welche beschränkte Ressourcen aufweisen, wie in Fahrzeugen installierte Systeme oder Handheld-Systeme. Aufgrund der begrenzten Speicherressourcen dieser Navigationssysteme ist es notwendig, geografische Daten nach Bedarf von einem Speichermedium, wie beispielsweise einer CD-ROM-Platte, in den Speicher des Navigationssystems zu laden für die Verwendung durch das Navigations-Applikationsprogramm. Unglücklicherweise kann, wie oben erwähnt, in diesen Systemtypen der I/O-Zugang von einem Speichermedium auch relativ langsam sein. Die relativ beschränkten Speicherressourcen kombiniert mit dem relativ langsamen I/O können daher die Leistungsfähigkeit einiger Typen von Navigationssystemen beschränken, was zu langsamer Reaktion führt. Langsame Reaktion in einem Navigationssystem kann neben dem, dass sie unerwünscht ist, das System unter bestimmten Umständen unbrauchbar für seinen beabsichtigten Zweck machen. Wenn das Navigationssystem beispielsweise in einem Fahrzeug installiert ist, kann der Fahrer Information vom Navigationssystem über eine gewünschte Route in einem Bereich von Sekunden benötigen, um die Information beim Fahren zu verwenden. Wenn das Navigationssystem mehr als einige Sekunden benötigt, um eine Route zu berechnen, kann der Fahrer über den Punkt hinausgefahren sein, an dem die vom Navigationssystem bereitgestellte Streckenführungsinformation relevant ist. Es ist daher wichtig, dass Navigationssysteme effizient arbeiten, um Navigationsinformation relativ schnell bereitzustellen.
  • Navigations-Applikationsprogramme können auch auf Computerplattformen laufen gelassen werden, die im Allgemeinen größere Speicherressourcen und schnelleren I/O aufweisen, wie beispielsweise Personal Computer oder Netzwerke. Obwohl diese Systeme mehr und schnellere Ressourcen aufweisen, sind die Überlegungen bezüglich der effizienten Verwendung von geografischen Daten weiter gültig, jedoch in einem umfangreicheren Ausmaß. Mit diesen Systemtypen kann sogar größere Funktionalität bereitgestellt werden, wenn die durch Speichergröße und I/O auferlegten Beschränkungen minimiert werden.
  • Es wurden Techniken ausgedacht oder implementiert, um durch Organisieren, Strukturieren oder Anordnen der geografischen Datenbank oder der Daten in der Datenbank auf spezielle Art und Weise die Navigationssystem-Leistungsfähigkeit zu verbessern. Da ein Navigationssystem geografische Daten auf gewisse bekannte und erwartete Weisen nutzt, um bekannte Funktionen auszuführen, können die geografischen Daten in einer Weise organisiert, strukturiert oder angeordnet werden, die deren Verwendung in diesen bekannten Weisen durch die Navigationssysteme vereinfacht.
  • Eine Technik, die in einer geografischen Datenbank implementiert sein kann, um die Funktion des Navigationssystems zu verbessern, liegt darin, getrennte Sammlungen oder Untermengen der geografischen Daten bereitzustellen für die Verwendung durch jede der getrennten Funktionen im Navigations-Applikationsprogramm. Beispielsweise verwendet die Routenberechnungsfunktion normalerweise nur einen Teil der gesamten Information in der geografischen Datenbank, der einem Segment einer Straße zugeordnet ist. Wenn die Routenberechnungsfunktion laufen gelassen wird, kann sie Informationen benötigen, wie beispielsweise die Geschwindigkeit entlang eines Straßensegments, Abbiegeeinschränkungen von einem Straßensegment zu einem anderen, usw. Die Routenberechnungsfunktion benötigt allerdings nicht notwendigerweise den Namen der Straße, um eine Route zu berechnen. Wenn ähnlich hierzu die Kartenanzeigefunktion verwendet wird, werden einige der einem Straßensegment zugeordneten Informationen, wie beispielsweise die Geschwindigkeitsbeschränkungen oder Abbiegeeinschränkungen, nicht benötigt. Wenn die Kartenanzeigefunktion läuft, verwendet sie dagegen nur einen Teil der Information, die dem Straßensegment zugeordnet ist, wie beispielsweise die Formen und Orte und Straßen und möglicherweise die Namen der Straßen. Wenn weiterhin die Streckenführungsfunktion laufen gelassen wird, sind einige der einem Segment einer Straße zugeordneten Informationen, wie beispielsweise die Geschwindigkeit und Abbiegeeinschränkungen, nicht notwendig. Wenn die Streckenführungsfunktion läuft, verwendet sie dagegen Informationen, welche den Namen der Straße enthält, die durch den Straßensegmentdatensatz repräsentiert ist, den Adressbereich entlang des Straßensegments, alle Schilder entlang dem Straßensegment, usw. Obwohl es bezüglich der durch die verschiedenen Navigationsfunktionen verwendeten Informationstypen eine gewisse Überschneidung geben kann, werden einige Daten, welche durch irgendeine dieser Navigationsfunktionen verwendet werden, nicht durch andere der Funktionen verwendet. Wenn alle Informationen, die zu jedem Straßensegment gehören, einem einzelnen Datensatz in einer einzelnen Datenbank zugeordnet wären, wäre jede Datenentität relativ umfangreich. Immer wenn also irgendeine der Navigationsfunktionen auf einen Entitätsdatensatz zugreift, müsste sie eine bedeutende Menge von Information in den Speicher lesen, wobei vieles davon durch die Navigationsfunktion nicht gebraucht wird. Wenn die Datenentität von einer Platte gelesen wird, könnten ferner relativ wenige Datenentitäten gleichzeitig gelesen werden, da jede Datenentität relativ umfangreich sein würde.
  • Um die Information in der geografischen Datenbank in einem effizienteren Format zur Verwendung durch jede der Navigationsfunktionen bereitzustellen, sind getrennte Untermengen der gesamten geografischen Datenbank für eine gegebene geografische Region vorgesehen für jeden der unterschiedlichen Typen von Navigationsfunktionen, welche in dem Navigations-Applikationsprogramm bereitzustellen sind. Jede dieser getrennten Untermengen ist spezifisch für die Verwendung durch eine der Funktionen zugeschnitten. Jede Untermenge von Daten enthält nur Daten, welche zur Verwendung durch eine spezielle Navigationsfunktion benötigt sind. Es gibt eine gewisse Überschneidung von Daten zwischen jeder dieser Untermengen mit dem Ergebnis, dass einige Teile der Information in mehr als einer Untermenge enthalten sind. Beispielsweise können sowohl die Straßensegment-Datenentität in der Routendatenuntermenge als auch die Straßensegment-Datenentität in der kartografischen Datenuntermenge Attribute enthalten, welche die an den Enden der Segmente angeordneten Knoten identifizieren. Obwohl diese Duplizierung zu einem insgesamt größeren Datenspeichererfordernis führen kann, profitiert jede der Navigationsfunktionen von der resultierenden Effizienz der Behandlung von kleineren Datenmengen.
  • Das Bereitstellen getrennter Untermengen von geografischen Daten für jede der Navigationsfunktionen berücksichtigt auch, dass die Verwendung jeder dieser Navigationsfunktionen mit den anderen der Navigationsfunktionen in erwarteter Art und Weise in Beziehung steht. Beispielsweise möchte ein Endanwender zuerst eine aktuelle Position sehen, dann eine Destination bzw. einen Zielort eingeben, dann Instruktionen erhalten, wie zum Zielort hin gestartet wird, dann eine Karte beobachten, welche den anfänglichen Teil der Route zeigt, dann weitere Instruktionen erhalten, dann eine Karte angezeigt bekommen, auf der der nächste Teil der Route angezeigt ist, usw. Aufgrund dieses Typs von erwarteter Verwendung sorgt das Auftrennen der Daten in Untermengen für die effiziente Verwendung der Daten bei Verwendung jeder getrennten Funktion.
  • Obwohl die Aufteilung der geografischen Daten in Untermengen für effiziente Verwendung der Daten durch jede der unterschiedlichen Navigationsfunktionen sorgt, ist es notwendig, dafür zu sorgen, dass die unterschiedlichen Navigationsfunktionen, welche diese unterschiedlichen Untermengen der Datenbank nutzen, zusammenarbeiten. Nachdem beispielsweise ein Endanwender eine berechnete Route erhält, kann es gewünscht sein, eine Karte auf einer Computeranzeige mit der hervorgehobenen berechneten Route anzuzeigen. Um dies zu erfüllen, wird zuerst auf die Routenuntermenge der geografischen Daten zugegriffen, um die Routenstraßensegment-Datenentitäten für die optimale Route zu erhalten, und dann wird auf die kartografische Untermenge der geografischen Datenbank zugegriffen, um die kartografischen Straßensegment-Datenentitäten in Entsprechung zu den Routendatenentitäten zu erhalten. Um diesen Datenuntermengen das Zusammenarbeiten zu erlauben, können Indexdateien, Querverweisdateien, Suchbäume oder andere Techniken verwendet werden. Obwohl diese Techniken es erlauben, diese unterschiedlichen Typen von Daten zusammen zu verwenden, können Verzögerungen auftreten, welche dem Umschalten zwischen diesen Typen zugeordnet sind. Entsprechend gibt es weiterhin Raum für Verbesserung bei der Bereitstellung einer geografischen Datenbank zur Verwendung mit einer Navigationsapplikation.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Um die oben genannten Bedenken anzusprechen, ist gemäß einem ersten Aspekt der vorliegenden Erfindung eine geografische Datenbank zur Verwendung mit einem Navigations-Applikationsprogramm vorgesehen, das einem Endanwender Navigationsfunktionen bereitstellt. Die geografische Datenbank umfasst mehrere Datensätze von einem ersten Typ und mehrere Datensätze von einem zweiten Typ. Die mehreren Datensätze vom ersten Typ sind in mehreren Paketen angeordnet, wobei jedes Paket mehrere Datensätze vom ersten Typ enthält. Die mehreren Datensätze vom zweiten Typ sind in mehreren Paketen angeordnet, wobei jedes Paket mehrere Datensätze vom zweiten Typ enthält. Die Pakete der Datensätze vom ersten Typ sind mit den Paketen von Datensätzen vom zweiten Typ verschachtelt. Dieses Verschachteln ermöglicht Navigationsfunktionen, welche diese unterschiedlichen Typen verwenden, um auf diese unterschiedlichen Typen schneller und effizienter zuzugreifen, wodurch die Navigationssystem-Leistungsfähigkeit verbessert wird.
  • Es ist auch ein Verfahren zur Bildung einer geografischen Datenbank offenbart, die mehrere Datensätze enthält, die geografische Merkmale repräsentieren, und die in einem Navigationssystem verwendet werden kann. Das Verfahren enthält den Schritt des Verschachtelns von Paketen, welche mehrere Datensätze von einem ersten Typ enthalten, mit Paketen, welche mehrere Datensätze von einem zweiten Typ enthalten.
  • Die Datentypen, welche verschachtelt werden können, können irgendeinen Typ aufweisen, wie beispielsweise Routendaten, kartografische Daten, Manöverdaten, Daten über interessante Punkte, usw. Die Art der Verschachtelung kann ausgewählt werden, um die Leistungsfähigkeit gewisser Navigationsfunktionen zu fördern. Die Arten der Verschachtelung enthalten einfach abwechselnde Anordnung, räumliche Anordnung und maßgeschneiderte Anordnung sowie andere Arten.
  • KURZE BESCHREIBUNG DER FIGUREN
  • 1 ist ein Blockdiagramm, welches ein Navigationssystem darstellt.
  • 2 zeigt eine Karte, welche eine durch die geografische Datenbank der 1 repräsentierte geografische Region darstellt.
  • 3 stellt eine vergrößerte Ansicht eines Teils der Karte der 2 dar.
  • 4 ist eine Darstellung eines einzelnen Straßensegments, das in der Karte der 3 gezeigt ist.
  • 5 ist ein Diagramm, welches die unterschiedlichen Typen von Daten darstellt, die in der geografischen Datenbank der 1 zur Verwendung mit verschiedenen Navigations-Applikationssfunktionen enthalten sind.
  • 6 ist ein Diagramm, welches getrennte Schichten von Daten in den in 5 gezeigten Routendaten darstellt.
  • 7 zeigt eine Karte einer geografischen Region der 2, welche die Anwendung eines Paketbildungsverfahrens auf räumlich organisierte geografische Daten darstellt.
  • 8 ist ein Diagramm, welches die Anordnung von Datenpaketen in der geografischen Datenbank der 1 gemäß dem in 7 dargestellten Paketbildungsverfahren zeigt.
  • 9 ist ein Diagramm, welches die Anordnung von Segment- und Knotendatensätzen innerhalb eines einzelnen Pakets der Datenbank der 8 zeigt.
  • 10A bis 10D stellen grafisch die geografischen Merkmale dar, welche durch aggregierte Segmentdatensätze repräsentiert sind.
  • 11 ist ein Diagramm, welches die Implikation von aggregierten Segmentdatensätzen in einem Paket von Routendaten in einer Schicht über Schicht 0 darstellt.
  • 12 ist ein Diagramm, das die Komponenten eines aggregierten Segmentdatensatzes und seines zugehörigen, abgekürzten Datensatzarrays der 11 darstellt.
  • 13 ist ein Diagramm, welches die Komponenten des abgekürzten Segmentdatensatzes der 12 darstellt.
  • 14 ist ein Diagramm, das die Komponenten des abgekürzten Knotendatensatzes der 12 darstellt.
  • 15 ist ein Diagramm, das die Informationsarten darstellt, welche in einem Segmentdatensatz enthalten sind, der in Schicht 0–3 der Routendaten enthalten ist.
  • 16 ist ein Diagramm, welches die Implikation von aggregierten Segmentdatensätzen in Paketen einer Schicht von Routendaten gemäß einer anderen Ausführungsform darstellt.
  • 17 ist ein Diagramm, welches die Komponenten eines aggregierten Segmentdatensatzes und eines zugehörigen abgekürzten Datensatzarrays der 16 darstellt.
  • 18 ist ein Diagramm, das eine Anordnung zum Verschachteln unterschiedlicher Typen von Daten innerhalb einer Datenschicht repräsentiert.
  • 19 ist ein Diagramm, das eine andere Anordnung zum Verschachteln unterschiedlicher Typen von Daten innerhalb einer Datenschicht repräsentiert.
  • 20 ist ein Diagramm, das noch eine andere Anordnung zum Verschachteln unterschiedlicher Datentypen in einer Datenschicht repräsentiert.
  • 21 ist ein Diagramm, das die Schritte beim Bilden einer geografischen Datenbank darstellt, die einen Teil mit unterschiedlichen Datentypen aufweist, die miteinander verschachtelt sind, wie dies in 20 gezeigt ist.
  • 22 ist ein Diagramm einer Karte, welche die Applikation eines Paketbildungsschritts in 21 auf geografische Daten darstellt, die Merkmale in der dargestellten Region repräsentieren.
  • 23 ist ein Diagramm eines kd-Baums, der dem in 22 dargestellten Paketbildungsschritt entspricht.
  • DETAILLIERTE BESCHREIBUNG DER DERZEIT BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • I. NAVIGATIONSSYSTEM – ÜBERBLICK
  • 1 stellt ein Blockdiagramm eines Navigationssystems 10 dar. Das Navigationssystem 10 ist in einem Fahrzeug 11 installiert, beispielsweise in einem Personenkraftwagen oder Nutzkraftwagen, obwohl das Navigationssystem 10 in alternativen Ausführungsformen außerhalb eines Fahrzeugs angeordnet sein kann oder auf verschiedenen anderen Plattformen oder Umgebungen implementiert sein kann, wie dies nachfolgend beschrieben ist.
  • Unter Bezugnahme auf die Ausführungsform der 1 ist das Navigationssystem 10 eine Kombination von Hardware- und Softwarekomponenten. In einer Ausführungsform enthält das Navigationssystem 10 einen Prozessor 12, ein Laufwerk 14, das mit dem Prozessor 12 verbunden ist, und eine Vorrichtung 16 mit nicht flüchtigem Speicher zum Speichern eines Navigations-Applikationssoftwareprogramms 18 sowie möglicherweise anderer Informationen. Der Prozessor 12 kann von irgendeinem Typ sein, der bei Navigationssystemen verwendet wird, wie beispielsweise 32-Bit-Prozessoren, welche einen Adressraum verwenden, wie beispielsweise ein Hitachi SH1, ein Intel 80386, ein Intel 960, ein Motorola 68020 (oder andere Prozessoren, die ähnliche oder größere Adressräume aufweisen). Prozessortypen von einem anderen Typ sowie Prozessoren, die in der Zukunft entwickelt werden können, können ebenfalls geeignet sein.
  • Das Navigationssystem 10 kann auch ein Positionierungssystem 24 enthalten. Das Positionierungssystem 24 kann GPS-artige Technologie, ein koppelnavigationsartiges System oder Kombinationen von diesen, oder andere Systeme verwenden, die alle im Fachgebiet bekannt sind. Das Positionierungssystem 24 kann geeignete Sensorvorrichtungen 25 enthalten, welche die Fahrdistanz, Geschwindigkeit, Richtung usw. des Fahrzeugs messen. Das Positionierungssystem 24 kann ebenfalls geeignete Technologie enthalten, um ein GPS-Signal in einer im Fachgebiet bekannten Art und Weise zu erhalten. Das Positionierungssystem 24 gibt ein Signal 26 zum Prozessor 12 aus. Das Signal 26 kann durch die Navigations-Applikationssoftware 18 verwendet werden, die auf dem Prozessor 12 läuft, um den Ort, die Richtung, die Geschwindigkeit usw. des Navigationssystems 10 zu bestimmen.
  • Das Navigationssystem 10 enthält auch eine Benutzerschnittstelle 31. Die Benutzerschnittstelle 31 enthält geeignete Ausrüstung, die es dem Endanwender erlaubt, Information in das Navigationssystem einzugeben. Diese Eingabeinformation kann eine Anfrage zur Verwendung der Navigationssfunktionen des Navigationssystems enthalten. Beispielsweise kann die Eingabeinformation eine Anfrage für eine Route zu einer gewünschten Destination bzw. zu einem gewünschten Zielort enthalten. Die Eingabeinformation kann auch andere Arten von Information enthalten. Die verwendete Ausrüstung zur Eingabe von Information in das Navigationssystem kann ein Tastenblock, eine Tastatur, ein Mikrofon etc. sowie geeignete Software, wie beispielsweise ein Spracherkennungsprogramm, enthalten. Die Benutzerschnittstelle 31 enthält auch eine geeignete Ausrüstung, die Informationen zurück zum Endanwender bereitstellt. Diese Ausrüstung kann eine Anzeige 27, Lautsprecher 29 oder andere Mittel enthalten.
  • Das Navigationssystem 10 verwendet eine Kartendatenbank 40, die auf einem Speichermedium 32 gespeichert ist. Das Speichermedium 32 ist im Laufwerk 14 installiert, so dass die Kartendatenbank 40 vom Navigationssystem gelesen und verwendet werden kann. Das Speichermedium 32 kann entfernbar und ersetzbar sein, so dass ein Speichermedium mit einer geeigneten Kartendatenbank für die geografische Region, in der das Fahrzeug fährt, verwendet werden kann. Zusätzlich kann das Speichermedium 32 ersetzbar sein, so dass die Kartendatenbank 40 auf ihm einfach aktualisiert werden kann. In einer Ausführungsform können die geografischen Daten von Navigation Technologies aus Sunnyvale, Kalifornien, herausgegeben sein.
  • In einer Ausführungsform ist das Speichermedium 32 eine CD-ROM-Platte. In einer alternativen Ausführungsform kann das Speichermedium 32 eine PCMCIA-Karte sein, wobei in diesem Falle das Laufwerk 14 durch einen PCMCIA-Slot ersetzt würde. Verschiedene andere Speichermedien können verwendet werden, einschließlich Festplatten, DVDs (Digital Video Disks) oder andere derzeit verfügbare Speichermedien sowie Speichermedien, die in Zukunft entwickelt werden können. Das Speichermedium 32 und die geografische Datenbank 40 müssen physikalisch nicht am Ort des Navigationssystems bereitgestellt sein. In alternativen Ausführungsformen kann das Speichermedium 32, auf dem einige oder alle geografischen Daten 40 gespeichert sind, entfernt vom Rest des Navigationssystems angeordnet sein und Teile der geografischen Daten können über eine Kommunikationsverbindung bei Bedarf bereitgestellt werden.
  • Das Navigations-Applikationssoftwareprogramm 18 wird vom nicht flüchtigen Speicher 16 in einen RAM-Speicher 20 geladen, der dem Prozessor 12 zugeordnet ist, um das Navigationssystem zu betreiben. Das Navigationssystem 10 verwendet die Kartendatenbank 40, welche auf dem Speichermedium 32 gespeichert ist, möglicherweise in Verbindung mit der Ausgabe 26 des Positionierungssystems 24, um verschiedene Navigationsmerkmale und -funktionen bereitzustellen. Das Navigations-Applikationssoftwareprogramm 18 kann getrennte Applikationen (oder Unterprogramme) enthalten, welche diese verschiedenen Navigationsmerkmale und -funktionen bereitstellen. Diese Funktionen und Merkmale können Routenberechnung, Kartenanzeige, Fahrzeugpositionierung (z.B. Karten-Matching), Streckenführung (wobei detaillierte Richtungen zum Erreichen eines gewünschten Zielorts bereitgestellt werden), Zielortauflösungsfähigkeiten und andere Funktionen enthalten.
  • II. GEOGRAFISCHE KARTENDATENBANK
  • a) Übersicht
  • In einer vorliegenden Ausführungsform können die Geschwindigkeit und/oder Funktionalität eines Navigationssystems verbessert werden durch eine Kombination, welche Verbesserungen beim Speichern, Anordnen und/oder Strukturieren der geografischen Daten enthält, die durch das System verwendet werden, um die Verwendung der Daten durch einige der Funktionen des Navigations-Applikationsprogramms in diese Daten verwendenen Systemen zu erleichtern. Basierend auf der Art und Weise, in der die geografischen Daten gespeichert, angeordnet und/oder strukturiert sind, können Funktionen im Navigations-Applikationsprogramm, die auf die Daten zugreifen und sie verwenden, Routinen implementieren, die die in den geografischen Daten enthaltenen Verbesserungen nutzen. Diese Kombination kann zu einer insgesamt verbesserten Leistungsfähigkeit durch das Navigationssystem führen.
  • Die Kartendatenbank 40 enthält Informationen über das Straßennetzwerk in der geografischen Region. In einer Ausführungsform enthält die Kartendatenbank 40 Knotendaten und Segmentdaten. Knotendaten repräsentieren physikalische Orte in der geografischen Region (wie beispielsweise Straßenkreuzungen und andere Positionen), und Segmentdaten repräsentieren Abschnitte von Straßen zwischen den physikalischen Orten, welche durch die Knoten repräsentiert sind. Jedes Straßensegment in der geografischen Region ist durch eine Straßensegmentdatenentität (d.h. einen Datensatz) in der Kartendatenbank 40 repräsentiert. Jeder Straßensegmentdatensatz in der Kartendatenbank weist zwei Knoten auf, welche die Koordinatenpositionen an jedem Ende des Straßensegments repräsentieren, das durch den Straßensegmentdatensatz repräsentiert ist. Die Information, welche in den Knoten- und Segmentdatenentitäten enthalten ist, wird unter Bezugnahme auf die 2 und 3 erklärt. (Die Begriffe "Knoten" und "Segmente" repräsentieren nur eine Terminologie zur Beschreibung dieser physikalischen geografischen Merkmale, und für eine andere Terminologie dieser Merkmale ist es beabsichtigt, dass sie innerhalb des Bereichs dieser Konzepte eingeschlossen ist.)
  • 2 zeigt eine Karte 110, die eine geografische Region 112 zeigt. Mehrere Orte 114 sind gezeigt, die in der geografischen Region 112 liegen. Jeder der Orte 114 repräsentiert eine Stelle oder einen Punkt in dem geografischen Gebiet 112, an dem ein Merkmal angeordnet ist, von dem es gewünscht ist, dass Information in einer geografischen Datenbank enthalten ist. Jeder dieser Orte 114 weist einen einzigen physikalischen Ort (geografische Breite, geografische Länge und optional absolute oder relative Höhe) auf und jeder dieser Orte 114 kann eindeutig identifiziert werden durch seine zweidimensionalen (oder dreidimensionalen) geografischen Koordinaten (d.h. Breite, Länge und optional Höhe). Ein Ort 114 kann einer Kreuzung entsprechen, an der zwei oder mehr Straßen sich treffen, einem Punkt entlang einem Straßensegment, an dem sich die Richtung der Straße ändert, einem Punkt entlang dem Straßensegment, an dem sich die Geschwindigkeitsbeschränkung ändert, einem Punkt, an dem eine Straße eine Sackgasse erreicht, usw. Der Ort 114 kann der Position eines interessanten Punktes entsprechen, wie beispielsweise einem Hotel oder einem Verwaltungszentrum, einer Grenze eines natürlichen Merkmals, beispielsweise einem See, oder einer Position entlang eines Eisenbahngleises oder einer Fähre. Die Orte 114 können irgendetwas entsprechen, das physikalisch im geografischen Gebiet 112 angeordnet ist.
  • 3 zeigt eine vergrößerte Ansicht eines Teils 116 der Karte 110. Der Teil 116 in 3 stellt einen Teil des Straßennetzwerks 120 in der geografischen Region 112 dar. Das Straßennetzwerk 120 enthält unter anderem Straßen und Kreuzungen, welche in der geografischen Region 112 liegen. Wie im in 3 gezeigten Teil 116 der Karte 110 dargestellt, ist jede Straße in der geografischen Region 112 aus einem oder mehreren Segmenten 122(1), 122(2) ... 122(n) zusammengesetzt. In einer Ausführungsform repräsentiert ein Straßensegment einen Abschnitt der Straße. In 3 ist gezeigt, dass jedes Straßensegment 122 zwei ihm zugeordnete Knoten 123 aufweist: ein Knoten repräsentiert den Punkt an einem Ende des Straßensegments und der andere Knoten repräsentiert den Punkt am anderen Ende des Straßensegments. Ein einzelnes Straßensegment 122 und seine zwei zugeordneten Knoten 123(a) und 123(b) sind in 4 dargestellt. Der Knoten an beiden Enden eines Straßensegments kann einem Ort entsprechen, an dem die Straße eine andere Straße trifft, beispielsweise eine Kreuzung, oder wo die Straße eine Sackgasse ist. (Eine Kreuzung muss nicht notwendigerweise ein Platz sein, an dem Einbiegen von einer Straße auf eine andere erlaubt ist, sondern repräsentiert einen Ort, an dem eine Straße und eine andere Straße die gleiche geografische Breite und geografische Länge aufweisen.)
  • Wenn ferner das Straßensegment 122 nicht gerade ist (z.B. biegt es sich, biegt ab, usw.), kann das Straßensegment 122 einen oder mehrere Formpunkte 124 zwischen seinen Endpunkten 123 enthalten. Formpunkte 124 stellen geografische Positionen (d.h. geografische Breiten, geografische Längen, und optional Höhen) entlang der Länge eines Straßensegments bereit, um die wahre physikalische Lage des Straßensegments entlang seiner Länge genau zu repräsentieren. Formpunkte 124 werden verwendet, um eine Fahrzeugpositionierung, Kartenanzeige, usw. zu unterstützen.
  • Bei einem Typ von geografischer Datenbank gibt es wenigstens einen Datenbankeintrag (auch als "Entität" oder "Datensatz" bezeichnet) für jedes in der geografischen Region repräsentierte Straßensegment. Dieser Straßensegmentdatensatz kann zugeordnete Informationen aufweisen (wie beispielsweise "Attribute", "Felder", usw.), welche die Identifikation der Knoten erlaubt, welche den Straßensegment- und/oder den geografischen Positionen (zum Beispiel der Längen- und Breitenkoordinaten) der zwei Knoten zugeordnet sind. Ferner kann der Straßensegmentdatensatz zugeordnete Informationen aufweisen (z.B. mehr "Attribute", "Felder", usw.), welche die Fahrgeschwindigkeit auf dem Straßenabschnitt spezifizieren, der durch den Straßensegmentdatensatz repräsentiert ist, die Fahrtrichtung, welche auf dem Straßenabschnitt erlaubt ist, der durch den Straßensegmentdatensatz repräsentiert ist, wenn vorhanden, welche Abbiegeeinschränkungen an jedem der Knoten vorhanden sind, welcher Kreuzungen an den Enden des Straßenabschnitts entsprechen, der durch den Straßensegmentdatensatz repräsentiert ist, der Straßenadressbereich des Straßenabschnitts, der durch den Straßensegmentdatensatz repräsentiert ist, den Namen der Straße, usw. Jede Segmentdatenentität, welche ein nicht gerades Straßensegment repräsentiert, kann eines oder mehrere Formpunktdatenattribute aufweisen, die die nicht gerade Form des Straßensegments definieren. Die verschiedenen Attribute, welche einem Straßensegment zugeordnet sind, können in einem einzelnen Straßensegmentdatensatz oder vorzugsweise in mehr als einem Typ von Straßensegmentdatensätzen enthalten sein, welche untereinander mit Querverweisen versehen sind.
  • In einer geografischen Datenbank, welche die Region 112 repräsentiert, kann also ein Datenbankeintrag (Entität oder Datensatz) für jeden Knoten in der geografischen Region vorhanden sein. Der Knotendatensatz kann zugehörige Information aufweisen (beispielsweise "Attribute", "Felder", etc.), welche die Identifikation des/der Straßensegmente(s) erlaubt, welche(s) mit ihm und/oder einer geografischen Position (z.B. seine Breiten- und Längenkoordinaten) verbunden ist/sind.
  • b) Getrennte Untermengen von geografischen Daten
  • Wie oben erwähnt, liegt ein Weg, dass der Zugriff auf geografische Daten zum Durchführen verschiedener Navigationsfunktionen verbessert werden kann, darin, getrennte Sammlungen oder Untermengen von geografischen Daten bereitzustellen für die Verwendung durch jede der getrennten Funktionen im Navigations-Applikationsprogramm. 5 zeigt die geografische Datenbank 40, welche getrennte Streckenführungsdaten 136, kartografische Daten 137 (für Kartenanzeige), Manöverdaten 138 (für Streckenführung) und Daten über interessante Punkte 139 umfasst. Eine geografische Datenbank kann mit weniger oder mehr Untermengen als diese festgelegt sein und andere Typen von Daten können definiert und enthalten sein. Um es diesen Datenuntermengen zu erlauben, miteinander zu arbeiten, sind Indexdateien 140 enthalten, welche Querverweise, Suchbäume oder andere Datenauffindungstechniken bereitstellen.
  • c) Schichtenbildung von geografischen Daten
  • Eine andere Art, die geografischen Daten organisieren zu können, um deren Verwendung zu verbessern, liegt in der Bereitstellung der Daten in Schichten. Einige der Navigationsfunktionen, wie beispielsweise die Kartenanzeigefunktion und die Routenberechnungsfunktionen, können Daten auf unterschiedlichen Detailebenen verwenden. Wenn beispielsweise die Kartenanzeigefunktion verwendet wird, ist es manchmal erwünscht, Schwenken und Zooming bereitzustellen. Zooming kann effizienter durchgeführt werden, wenn die Daten in Schichten organisiert sind, mit größerem Detail in den tieferen Schichten und weniger Detail in den höheren Schichten. Wenn die Routenberechnungsfunktion verwendet wird, ist es ebenfalls vorteilhaft, die Daten auf verschiedenen Detailebenen zu verwenden. Wenn beispielsweise eine Route zwischen zwei Orten berechnet wird, wäre es ineffizient, alle möglichen Straßensegmente zu überprüfen, welche von jeder Kreuzung entlang der Route abzweigen, einschließlich Nebenstraßen und Gassen. Wenn stattdessen eine Route "auf' einer Hauptstraße oder Schnellstraße ist, ist es im Allgemeinen bevorzugt auf Hauptstraßen oder Schnellstraßen zu bleiben, bis es notwendig ist, auf Nebenstraßen zu fahren, wenn der Zielort angenähert wird. Wenn die Streckenführungsdaten in Schichten angeordnet sind, können höhere Schichten, welche Nebenstraßen unterdrücken, wenn möglich verwendet werden, um die beim Berechnen der Route zu untersuchenden möglichen Straßensegmente zu minimieren. Daher sind die geografischen Daten innerhalb einiger der Untermengen von Datentypen in getrennten Sammlungen oder Gruppen angeordnet, welche getrennten Schichten entsprechen.
  • Um Schichtbildung zu implementieren, identifiziert jeder Straßensegmentdatensatz in der Kartendatenbank 40 auch den Rang des entsprechenden Abschnitts der Straße, den er repräsentiert. Ein Rang eines Straßensegments kann seiner funktionalen Klasse entsprechen. Straßensegmente mit einem Rang von "4" können Straßen mit kontrolliertem Zugang und hohem Aufkommen enthalten, wie beispielsweise Schnellstraßen und Autobahnen. Straßensegmente mit einem Rang von "3" können Straßen mit hohem Aufkommen mit wenig Geschwindigkeitsänderungen sein, sind aber nicht notwendigerweise Straßen mit kontrolliertem Zugang. Die Straßen mit tieferem Rang wickeln entsprechend weniger Aufkommen ab und weisen im Allgemeinen mehr Geschwindigkeitsänderungen oder langsamere Geschwindigkeiten auf. Straßensegmente mit einem Rang von "0" können die geringsten Aufkommen abwickeln. Diese können beispielsweise Seitenstraßen, Gassen usw. enthalten.
  • Der Rang einer Straßensegmentdatenentität spezifiziert auch die höchste Datenschicht, in der eine Straßensegmententität enthalten ist. Unter Bezugnahme auf 6 können die Streckenführungstypendaten 136 fünf getrennte Schichten der Daten R0, R1, R2, R3 und R4 enthalten, wobei jede Schicht eine getrennte Sammlung von Streckenführungsdaten mit einer unterschiedlichen Detailebene umfasst, welche durch die Routenberechnungsfunktion verwendet werden kann. In den Streckenführungsdatentypen der geografischen Datenbank enthält die Schicht 0 ("R0") die Straßensegmentdatenentitäten (und einige oder alle ihrer entsprechenden Streckenführungsdatenattribute), welche einen Rang von "0" oder höher aufweisen. Schicht 0 enthält also Straßensegmentdatenentitäten entsprechend allen Abschnitten von allen Straßen in der geografischen Region. Schicht 1 der Streckenführungsdaten 137 umfasst eine getrennte Untermenge (oder Sammlung) von Streckenführungsdaten und enthält nur die Streckenführungssegmentdatenentitäten (und einige oder alle ihrer entsprechenden Streckenführungsdatenattribute), welche einen Rang von "1" oder höher aufweisen. Schicht 2 der Streckenführungsdaten umfasst eine getrennte Untermenge der Streckenführungsdaten und enthält nur die Streckenführungssegmentdatenentitäten (und einige oder alle ihrer entsprechenden Navigationsdatenattribute), welche einen Rang der Schicht 2 oder höher aufweisen, usw. Eine höchste bzw. oberste Schicht (Schicht n) enthält nur Datensätze, welche einen Rang n aufweisen. In einer vorliegenden Ausführungsform ist n gleich 4, auch wenn in anderen Ausführungsformen n jede Zahl größer als 0 sein kann. Jede höhere Schicht enthält weniger Datensätze, wobei diese Datensätze allerdings Straßen repräsentieren, auf denen das Fahren im Allgemeinen schneller ist.
  • In ähnlicher Weise können andere Datentypen, wie beispielsweise der kartografische Untermengentyp 137, getrennte Sammlungen von Daten enthalten, von denen jede eine unterschiedliche Detailebene aufweist, welche durch die Kartenanzeigefunktion verwendet werden kann. Durch Verwenden dieser unterschiedlichen Schichten von kartografischen Daten kann die Kartenanzeigefunktion schnelles Schwenken und Zooming bereitstellen.
  • Obwohl die Organisation von einigen der Daten in Schichten zu einiger Verdopplung bzw. Vervielfältigung der Daten führt, gleicht die durch Schichtbildung bereitgestellte erhöhte Effizienz im Allgemeinen alle Nachteile aus. Wie bei der Verwendung von unterschiedlichen Typen von Daten oben erwähnt, besteht der Bedarf, es diesen Schichten zu erlauben, zusammenzuarbeiten. Die Indexdateien 140, welche Querverweise, Suchbäume oder andere Auffindungstechniken enthalten, können zu diesem Zweck bereitgestellt sein.
  • d) Räumlicher Zugriff auf geografische Daten
  • Das Organisieren der Daten in Untermengen oder Typen und das Schichtenbilden der Daten von einigen der Typen stellen getrennte Sammlungen der Daten in Größen bereit, welche besser handhabbar durch jede der Navigationsfunktionen sind. Unter Bezugnahme auf einige Untermengentypen und Schichten von diesen Typen können die Daten ferner organisiert werden, um räumlichen Zugriff zu vereinfachen.
  • Für einige der in einem Navigationssystem bereitgestellten Navigationsfunktionen kann räumlicher Zugriff auf die geografischen Daten erforderlich sein. Eine Art, wo dies auftritt, ist, dass eine Funktion in einem Navigations-Applikationsprogramm das Auffinden eines Datenentitätsdatensatzes in einer geografischen Datenbank fordert, wobei der physikalische Ort, der durch die Datenentitäten der geografischen Region repräsentiert ist, gegeben ist. Die Datenentität kann ein Straßensegmentdatensatz sein, der einen Abschnitt einer Straße in der geografischen Region repräsentiert, und die Funktion kann das Auffinden des Straßensegmentdatensatzes fordern, basierend auf dem physikalischen Ort in der geografischen Region des Abschnitts der Straße, welche durch den Straßensegmentdatensatz repräsentiert ist. Eine andere Art räumlichen Zugriffs tritt auf, wenn eine Funktion in einem Navigations-Applikationsprogramm das Auffinden einiger oder aller Datensätze des Typs fordert, welche nahe einem Ort in der geografischen Region liegen oder innerhalb eines definierten Gebiets in der geografischen Region. Eine Funktion kann beispielsweise alle Straßensegmentdatensätze fordern, welche Straßensegmente repräsentieren, die innerhalb eines Rechtecks umfasst sind, welches durch geografische Koordinaten (x, x + n) geografische Breite und (y, y + m) geografische Länge definiert ist.
  • Unter der Annahme, dass alle die Datensätze für eine gegebene ganze geografische Region nicht gleichzeitig in den Speicher geladen werden können aufgrund beschränkter Speicherresourcen des Navigationssystems, in dem das Navigations-Applikationsprogramm läuft, wäre es wünschenswert, nur diejenigen Daten in den Speicher zu laden, welche benötigt werden. Da einige der Navigationsfunktionen räumlichen Datenzugriff erfordern, wäre es vorteilhaft, Mittel bereitzustellen, um Daten in den Speicher zu laden, basierend im Allgemeinen auf den physikalischen geografischen Orten der Merkmale, welche die Daten repräsentieren oder basierend auf der geografischen Nähe der Merkmale, welche die Daten repräsentieren. Dies kann bereitgestellt sein durch Organisieren der Daten derart, dass sie in der Datenbank und/oder auf dem Medium basierend auf den geografischen Orten oder den Merkmalen, welche durch die Daten repräsentiert sind, angeordnet sind. Verschiedene Techniken können verwendet werden, um räumlichen Zugriff bereitzustellen. Eine Art von Technik, nämlich Bilden von Paketen, ist nachfolgend beschrieben.
  • e) Bilden von Paketen
  • Bilden von Paketen gehört zu den Techniken, die verwendet werden können, um die Verwendung geografischer Daten durch Navigationssysteme zu vereinfachen. Unter der Annahme, dass alle Datensätze für eine gegebene gesamte geografische Region nicht gleichzeitig in den Speicher des Navigationssystems geladen werden können aufgrund beschränkter Speicherressourcen des Navigationssystems, in dem das Navigations-Applikationsprogramm läuft, wäre es wünschenswert, nur diejenigen Daten in den Speicher zu laden, welche benötigt werden, um eine gewünschte Funktion auszuführen. Um dies zu erreichen, sind Daten in der geografischen Datenbank 40 in einer Art organisiert, welche die Anzahl von Malen minimiert, mit der auf das Medium zugegriffen und gelesen werden muss, um eine Navigationsfunktion auszuführen. Um dies bereitzustellen, sind die Daten in Paketen organisiert. Wenn Daten als Paketen gebildet sind, sind die Mehrzahl von Datensätzen, welche zusammen die geografischen Daten umfassen, zusammen in getrennten Gruppen oder Paketen gruppiert. Ein Paket von Daten wird gebildet, damit es Daten enthält, auf die immer zusammen zugegriffen wird. Dies kann einen Bezug haben auf die Menge von Daten, auf die in einem einzelnen Datenzugriff zugegriffen werden kann, obwohl dies einen Bezug zu anderen Faktoren haben kann. Für einige Typen von Medien, wie beispielsweise eine CD-ROM-Platte, kann ein Paket gebildet sein als eine Datenmenge von 16 Kilobyte. (Andere Größen von Daten können verwendet werden, einschließlich 1 K, 2 K, 4 K, 8 K, 32 K usw. Die Teile der geografischen Datenbank sind im Allgemeinen in Größen von 2n Kilobyte gebildet, wobei n ein ganzzahliger Wert größer als 1 ist.)
  • Bildung von Paketen kann verwendet werden in Verbindung mit räumlichem Zugriff, um die Verwendung von Daten zu vereinfachen, damit die Leistungsfähigkeit des Navigationssystems verbessert wird. Wenn geografische Daten räumlich organisiert sind, sind Merkmale, welche physikalisch in der geografischen Region nahe beieinander sind, durch Datensätze repräsentiert, welche physikalisch (oder logisch) nahe beieinander in der Datenbank sind. Geografische Daten können sowohl als Pakete gebildet als auch räumlich organisiert sein, um die Vorteile beider dieser Techniken zu nutzen.
  • Zum Zwecke der Paketbildung der Daten können die Daten zuerst getrennt in unterschiedliche Typen organisiert sein, wie beispielsweise Streckenführung 136, kartografische Daten 137, Manöver 138, interessante Punkte 139 usw. Einige dieser Arten von Daten können räumlich als Pakete gebildet werden, um die Verwendung der Daten durch die Navigationsfunktionen zu vereinfachen, und andere dieser Arten von Daten können nicht räumlich als Pakete gebildet sein. Räumlich als Pakete gebildete Daten sind derart angeordnet, dass Daten, welche geografisch benachbarte Merkmale repräsentieren, logisch und/oder physikalisch benachbart in der Datenbank 40 und/oder auf dem Medium 32 angeordnet sind bzw. liegen. Für einige der Navigations-Applikationssfunktionen stellt räumliche Paketbildung ihrer jeweiligen Daten schnelleres Lesen eng beieinander liegender geografischer Daten vom Medium bereit und Laden von benachbarten geografischen Daten in den Speicher, wo sie verwendet werden können. Diese Art der Organisation minimiert das Zugreifen auf das Speichermedium 32 und kann den Betrieb dieser Navigationsfunktionen beschleunigen. Die Streckenführungsdaten 136 (in 5) gehören zu den Arten von Daten, die räumlich organisiert sein können.
  • Es gibt eine Anzahl verschiedener Prozeduren, die verwendet werden können zum Bilden von Paketen räumlich organisierter geografischer Daten. Beispielsweise kann ein einfaches Verfahren zur Bildung von Paketen das Trennen der geografischen Daten in mehrere Pakete oder Gruppierungen bereitstellen, wobei die Daten in jedem Paket Merkmale repräsentieren, die innerhalb eines getrennten von mehreren Rechtecken regelmäßiger Größe umfasst sind, die zusammen ein regelmäßiges, rechteckiges Gitter über die geografische Region bilden. Ein anderes Verfahren zur Bildung von Paketen liegt darin, die Daten in Pakete zu trennen, die innerhalb rechteckiger Gebiete umfasst sind, wobei jedes der Rechtecke durch eine Halbierung von Rechtecken gebildet ist, welche Teile der Region umfassen, bis eine Paketgröße unterhalb eines maximalen Schwellwerts erreicht ist. Ferner sind Prozeduren des Bildens von Paketen in der anhängigen Anmeldung Nr. 08/740,295, eingereicht am 25. Oktober 1996, offenbart, und Prozeduren der Bildung von Paketen sind auch in der anhängigen Patentanmeldung Nr. 08/935,809 beschrieben, welche am 5. September 1997 eingereicht wurde. Noch ein anderes Verfahren zur Bildung von Paketen, auf welches der offenbarte Gegenstand angewendet werden kann, ist im US-Patent Nr. 4,888,698 beschrieben.
  • Paketbildung räumlich organisierter Daten ist dargestellt mit Bezug auf die 79. 7 zeigt die Karte 110 einer geografischen Region 112, welche zuvor in der 2 dargestellt worden ist. Die Mehrzahl von Positionen 114 (dargestellt durch Tüpfelchen oder Punkte) ist als in der Karte 110 liegend dargestellt. In 7 überlagert ein Gitter 217 die geografische Region 112, welche durch die Karte 110 repräsentiert ist. Das Gitter 217 teilt die geografische Region 112 in mehrere rechteckige Gebiete 219 auf. Die Gitterlinien des Gitters 217 repräsentieren die Grenzen rechteckiger Gebiete 219. Diese rechteckigen Gebiete 219 können alle die gleiche Größe oder unterschiedliche Größen aufweisen, abhängig von der zur Paketbildung verwendeten Prozedur. Die Orte der Grenzen können ebenso von der verwendeten Prozedur zur Paketbildung abhängen. Wenn irgendeine der Prozeduren für räumliche Paketbildung verwendet wird, werden im Allgemeinen die Datensätze eines speziellen Typs von Daten, welche Merkmale repräsentieren, die innerhalb jedes rechteckigen Gebiets 219 umfasst sind, zusammen in einem getrennen Datenpaket gruppiert. Unter Bezugnahme auf die 8 und 9 werden die mehreren Datensätze, wie beispielsweise Straßensegmentdatensätze 322 und die Knotendatensätze 323, die die geografische Datenbank 40 umfasst, in getrennten Gruppierungen gesammelt, welche als Pakete 220 bezeichnet sind. Unter Bezugnahme auf die räumlich organisierten Daten enthält jedes Paket 220 in den 8 und 9 einen oder mehrere Datensätze 322, 323, welche die geografischen Merkmale repräsentieren, die innerhalb eines getrennten der Mehrzahl von Rechtecken 219 umfasst sind, die in 7 dargestellt sind.
  • Wie in den 8 und 9 dargestellt, sind die Pakete 220 zum Bilden der Datenbank 40 gespeichert, so dass die Daten in jedem Paket 220 logisch und/oder physikalisch zusammen gruppiert sind. Ein Paket 220 kann die physikalische Datenmenge repräsentieren, auf die auf einmal durch das Navigationssystem zugegriffen werden kann. Wenn auf ein Paket von Daten zugegriffen wird, werden alle seine Datensätze 322, 323 vom Medium in den Speicher des Navigationssystems gleichzeitig gelesen. Unter Bezugnahme auf die Karte 110 der 7 bedeutet dies, dass auf alle Datensätze, wie beispielsweise die Segmentdatensätze 322 oder die Knotendatensätze 323, eines räumlich organisierten Typs von Daten, die innerhalb jedes Rechtecks 219 umfasst sind, zusammen als eine Gruppe zugegriffen wird. Es ist verständlich, dass es für gewisse Arten von Navigationsfunktionen wünschenswert ist, im Speicher gleichzeitig alle Datensätze zu haben, welche Merkmale repräsentieren, die in der geografischen Region physikalisch nahe beieinander liegen.
  • Da die Pakete 220 für diese Typen von Daten gebildet sind, sind die Pakete geordnet. Verschiedene Ordnungstypen können verwendet werden. Im Allgemeinen ist es bevorzugt, dass die Pakete in einer Art geordnet sind, welche das Suchen nach Daten minimiert. Eine Art, räumlich organisierte Pakete zu ordnen, liegt darin, eine Tiefenordnung von einem kd-Baum-Index innerhalb jedes Typs von Daten zu verwenden. Dies stellt eine Ordnung ähnlich einer Peano-Key-Ordnung bereit. Pakete können auf der Platte (d.h. dem Medium 32 in 1) in dieser angenäherten Peano-Key-Ordnung gespeichert werden. Einer oder mehrere Indizes, wie beispielsweise ein kd-Baum, können verwendet werden, um auf die Pakete räumlich zuzugreifen. Dieser Index ist praktisch für die anfängliche Lage einer arbiträren Position, beispielsweise wenn ein Programm in einem Navigationssystem anfänglich die Kartendaten lokalisiert, welche einer aktuellen Fahrzeugposition entsprechen. Da die Pakete 220 geordnet sind, kann auch jedem ein eindeutiger Paketidentifikator (z.B. eine "Paket-ID") zugeordnet sein. Die Paket-ID kann verwendet werden, um das Paket und/oder seine Lage auf dem Medium zu identifizieren.
  • (Wie oben erwähnt, sind einige Arten der Daten nicht räumlich organisiert. Nicht jedes Paket von nicht räumlich organisierten Daten muss notwendigerweise irgendeinem der rechteckigen Gebiete 219 in 7 entsprechen. Beispielsweise können Daten, welche die Namen von Straßen repräsentieren, alphabetisch anstelle von räumlich organisiert sein.)
  • III. SEGMENTAGGREGATION
  • a) Überblick
  • In einer vorliegenden Ausführungsform enthält die geografische Datenbank Datensätze, die Aggregationen von Straßensegmenten repräsentieren. Diese Datensätze, welche Aggregationen von Straßensegmenten repräsentieren, sind in der Datenbank enthalten, und zwar zusätzlich zu den Datensätzen (z.B. 322 in 9), welche die separaten Straßensegmente repräsentieren, von denen die Aggregationen gebildet sind. Das Verwenden von Datensätzen, welche Aggregationen von Straßen repräsentieren, weist das Potential auf, verschiedene Vorteile bereitzustellen. Das Verwenden von Datensätzen, welche Aggregationen von Straßensegmenten repräsentieren, kann die Anzahl von Straßensegmenten reduzieren, die während der Routenberechnung untersucht werden müssen. Wenn Datensätze, welche Straßensegmentaggregationen repräsentieren, verwendet werden, ist es auch möglich, dass die Anzahl von Segmenten, die eine am Ende berechnete Route ausmachen, reduziert sein können, wodurch die Leistungsfähigkeit des Navigationssystems verbessert wird. Ferner ist es auch möglich, wenn Datensätze, die Straßensegmentaggregationen repräsentieren, verwendet werden, dass die Gesamtgröße der Datenbank reduziert werden kann.
  • Eine Art, Datensätze, welche Aggregationen von Straßensegmenten repräsentieren, zu bilden, ist abgeleitet von der Bildung von mehreren Schichten von Daten in der Datenbank. Wie oben erwähnt, enthält eine Straßensegmentdatenentität ein Rangattribut, das einer funktionalen Klassifikation des repräsentierten Straßensegments entspricht. In einer vorliegenden Ausführungsform wird das Rangattribut verwendet, um Schichten der geografischen Datenbank zu bilden. Die Rangattribute spezifizieren die höchste Datenschicht, in der das Straßensegment repräsentiert ist. Die tiefste Schicht, d.h. "R0", der Routenberechnungsdaten 136 enthält alle Streckenführungsstraßensegmentdatensätze (d.h. Straßensegmentdatensätze aller Ränge). In jeder folgenden höheren Schicht werden die Straßensegmentdatensätze vom niedrigsten Rang ausgelassen. Im Ergebnis enthalten diese höheren Schichten eine Anzahl von "bivalenten" Knoten, d.h. Knoten, an denen genau zwei Segmente sich treffen oder kreuzen. (Es ist auch möglich, bivalente Knoten unter anderen Umständen in der geografischen Datenbank zu bilden, beispielsweise wenn ein Straßensegment eine Verwaltungsgrenze kreuzt.) Wenn Attribute, die für die Routenberechnung relevant sind, gleich sind für zwei Straßensegmentdatensätze, die durch einen bivalenten Knoten verbunden sind, kann ein aggregierter Segmentdatensatz gebildet werden, der den bivalenten Knoten unterdrückt oder fallen lässt.
  • b) Physikalische Repräsentation von aggregierten Segmenten
  • 10A ist eine Darstellung mehrerer Straßensegmente 122, welche durch Straßensegmentdatensätze in Schicht 0 der Streckenführungsdaten 136 repräsentiert sind. Ein Knoten 123 ist jedem der Endpunkte von jedem der Straßensegmente 122 zugeordnet. In Schicht 0 sind alle Straßensegmente von allen Rängen durch Datenentitäten repräsentiert. 10B zeigt die gleichen mehreren Segmente 122 und Knoten 123, welche in 10B dargestellt sind, außer dass die Straßensegmente mit einem Rang von "0" in gestrichelten Linien dargestellt sind. 10C zeigt diese fallengelassenen bzw. entfernten Straßensegmente von niedrigerem Rang. (10B und 10C stellen Zwischenstufen dar und sind nicht repräsentativ für eine Schicht.) 10C stellt die Segmente 122 und Knoten 123 in Schicht 1 dar. Wie in 10C dargestellt, führt die Elimination von Straßensegmenten mit einem Rang von 0 zu einigen übrig bleibenden Knoten, welche nur zwei Straßensegmente verbinden. Es könnte möglich sein, die Routenberechnung zu beschleunigen, wenn wenig oder keine Berechnung durchgeführt wird, wenn eine Route berechnet wird, welche diese Arten von Knoten durchquert. Um den Vorteil dieser Anordnung auszunutzen, sind die Segmente 122 (bezeichnet als S1, S4, S5, S6, S7, S9 und S11) durch einen aggregierten Segmentdatensatz repräsentiert, welcher in der geografischen Datenbank 40 gebildet und gespeichert ist. Dieser aggregierte Segmentdatensatz repräsentiert die mit AG12 bezeichnete Aggregation der getrennten Straßensegmente, wie dies in 10D dargestellt ist.
  • c) Aggregationskriterien
  • 10A10D stellen die Bedingungen dar, unter denen es möglich ist, einen aggregierten Segmentdatensatz zu bilden. Entsprechend einer alternativen Ausführungsform werden aggregierte Segmentdatensätze immer gebildet, wennimmer zwei oder nur zwei Straßensegmente durch einen einzelnen Knoten verbunden sind. Unter gewissen Umständen kann es allerdings bevorzugt sein, das Bilden eines aggregierten Segmentdatensatzes unter diesen Bedingungen zu unterlassen. Wenn beispielsweise gewisse Attribute von benachbarten Straßensegmenten unterschiedlich sind, kann es bevorzugt sein, keinen aggregierten Segmentdatensatz zu bilden, um sie in Aggregation zu repräsentieren, auch wenn sie die einzigen Straßensegmente sind, die durch einen einzelnen Knoten verbunden sind. Attribute von benachbarten Straßensegmentdatensätzen werden also gemäß einer alternativen Ausführungsform geprüft, um zu bestimmen, ob die repräsentierten Straßensegmente genügend ähnlich sind, um durch einen aggregierten Segmentdatensatz repräsentiert zu werden. Um diese Bestimmung zu machen, müssen verschiedene Kriterien angewendet werden. In einer alternativen Ausführungsform kann es beispielsweise gefordert sein, dass alle Attribute in benachbarten Straßensegmenten gleich sein müssen, um einen aggregierten Segmentdatensatz zu bilden. In einer anderen alternativen Ausführungsform kann es gefordert sein, dass nur gewisse Attribute gleich sein müssen in benachbarten Straßensegmenten, um einen aggregierten Segmentdatensatz zu bilden. Bei dieser letzteren Alternative kann es gewissen Attributen erlaubt sein, zwischen benachbarten Straßensegmenten unterschiedlich zu sein.
  • In einer vorliegenden Ausführungsform wird ein aggregierter Segmentdatensatz da gebildet, wo jedes aufeinander folgende Paar von aneinander stoßenden Straßensegmenten den gleichen Namen, Rang, Geschwindigkeitskategorie, Spurkategorie und Zugriffsmerkmale aufweist unter anderen Merkmalen. Die Bildung eines aggregierten Straßensegments ist allerdings nicht erlaubt, wenn die benachbarten Straßensegmente ein eingeschränktes Fahrmanöver, eine Fahrzeugeinschränkung, eine Fahrtrichtungseinschränkung, ein Tor, eine Einschränkung für Viel-Insassen-Fahrzeuge, eine gabelförmige Straße, eine Mautstation oder eine Beschilderung, unter anderen Einschränkungen enthalten.
  • Die oben genannten Kriterien repräsentieren nur Beispiele der Arten von Attributen, welche ausgewertet werden können, um zu bestimmen, ob ein aggregierter Segmentdatensatz gebildet wird aus zwei oder mehr benachbarten Segmenten. Andere Kriterien können auch geeignet sein.
  • d) Prozess zum Bilden von aggregierten Segmenten
  • Wenn aggregierte Segmentdatensätze gebildet werden unter Verwendung in einer Ausführungsform, die eine Auswertung erfordert, ob die benachbarten Straßensegmente gewisse Kriterien erfüllen, liegt der erste Schritt darin, mögliche Endknoten für aggregierte Straßensegmente zu identifizieren. Diese Knoten können als "signifikant für ein aggregiertes Segment" bezeichnet werden. Jeder Knoten in der geografischen Datenbank in jeder Schicht wird ausgewertet, um zu bestimmen, ob es ein für ein aggregiertes Segment signifikanter Knoten ist. Die Knoten werden gleichzeitig ausgewertet, wobei in der höchsten Schicht gestartet wird und nach unten durchgearbeitet wird. Ein Knoten ist signifikant für ein aggregiertes Segment in einer gegebenen Schicht, wenn nur ein Straßensegment oder mehr als zwei Straßensegmente mit ihm verbunden sind. Wenn allerdings genau zwei Straßensegmente mit einem Knoten verbunden sind, kann der Knoten nicht signifikant für ein aggregiertes Segment sein. Wenn ein Knoten als signifikant für ein aggregiertes Segment in einer gegebenen Schicht bestimmt ist, ist er signifikant für ein aggregiertes Segment in allen tieferen Schichten. Jedes Straßensegment in einer Schicht, die einen für ein aggregiertes Segment signifikanten Knoten an einem Ende und einen nicht signifikanten Knoten an dem anderen Ende aufweist, ist ein potentielles Startende für ein aggregiertes Segment.
  • In 10C sind die Knoten N102 und N112 signifikant für ein aggregiertes Segment, da sie mit mehr als zwei Segmenten verbunden sind. Die Knoten N104, N106, N107, N108, N109 und N113 können nicht-signifikant sein, da sie mit zwei und nur zwei Segmenten verbunden sind. Segment S1 ist als potentieller Startpunkt für ein aggregiertes Segment identifiziert, da es einen Knoten N112 aufweist, welcher signifikant für ein aggregiertes Segment ist, und den anderen Knoten N109 aufweist, der nicht-signifikant sein kann. Sofern es nicht eine Bedingung, ein Zeichen oder eine andere Attributänderung bei S1 gibt, kann der Knoten N112 als Startpunkt für ein aggregiertes Segment verwendet werden. Der Knoten N109 am anderen Ende des Segments S1 wird gemäß den verwendbaren Kriterien ausgewertet, um zu bestimmen, ob es ein signifikanter Knoten ist. Wenn es kein signifikanter Knoten ist, ist der Knoten N109 ein potentieller interner Knoten für ein aggregiertes Segment. Es wird dann das andere mit dem Knoten N109 verbundene Segment, d.h. S4 in 10C, ausgewertet (1), um zu bestimmen, ob sein anderer Knoten N108 signifikant für ein aggregiertes Segment ist, und (2) um zu prüfen, ob die anderen Aggregationskriterien erfüllt sind. Dieser Prozess wird fortgeführt, bis ein für ein aggregiertes Segment signifikanter Knoten erreicht ist oder bis ein Knoten erreicht ist, der in anderer Weise nicht-signifikant ist, aber welcher zwei Segmente verbindet, die unterschiedliche Bedingungen aufweisen, welche sie vom Aggregieren ausschließen. Diese Bedingungen sind oben beschrieben. Wenn ein Knoten, der sonst nicht-signifikant wäre, zwei Straßensegmente verbindet, welche unterschiedliche Bedingungen aufweisen, die sie von der Aggregation ausschließen, wird der Knoten als ein für ein aggregiertes Segment signifikanter Knoten für diesen Rang und niedriger benannt.
  • Es ist anzumerken, dass das obige Verfahren ein aggregiertes Segment erzeugt, das für ein aggregiertes Segment signifikante Knoten an seinen Enden aufweist und wenigstens einen nicht-signifikanten Knoten zwischen den Enden. Es sind allerdings nicht alle für ein aggregiertes Segment signifikanten Knoten innerhalb einer Schicht notwendigerweise an Endpunkten eines aggregierten Segments angeordnet.
  • e) Anordnung bzw. Lage von aggregierten Segmentdatensätzen
  • Sobald eine Folge von Straßensegmenten (zwischen zwei für ein aggregiertes Segment signifikanten Knoten) identifiziert ist, wobei die Straßensegmente untereinander durch nicht-signifikante Knoten verbunden sind, wird ein aggregierter Segmentdatensatz erzeugt, um diese Aggregation von Straßensegmenten zu repräsentieren. In Ausführungsformen von geografischen Datenbanken, in denen die Daten nach Typ geordnet sind, können die aggregierten Segmentdatensätze in den Streckenführungsdaten 136 enthalten sein, wie dies in 5 dargestellt ist. In Ausführungsformen der geografischen Datenbank, in denen die Daten in Schichten angeordnet sind, sind die aggregierten Segmentdatensätze in Schichten über der Schicht 0 (z.B. Schicht > 0) aufzufinden, wie dies in 6 dargestellt ist. In Ausführungsformen von geografischen Datenbanken, in denen die Daten räumlich organisiert sind, können aggregierte Segmentdatensätze in den räumlich organisierten Daten enthalten sein, wie beispielsweise in Paketen 220 der Daten, wie dies in 8 dargestellt ist.
  • 11 zeigt aggregierte Segmentdatensätze 422, welche in einem Paket 220(7) von Streckenführungsdaten 136 gespeichert sind. Das Paket 220(7) liegt in einer Schicht, die höher ist als die Schicht 0. Unter Bezugnahme auf die 11 repräsentiert das dargestellte Paket 220(7) nur eines einer Mehrzahl von Paketen innerhalb der Schicht > 0. Ferner ist es klar, dass es eine oder mehrere Schichten größer als Schicht 0 geben kann, wobei jede eine Mehrzahl von Paketen aufweist, von denen jedes aggregierte Segmentdatensätze enthält. In einer vorliegenden Ausführungsform gibt es drei Schichten, welche höher sind als Schicht 0 (d.h. Schichten 1, 2 und 3), welche die Anordnung von aggregierten Segmentdatensätzen enthalten, wie dies in 11 dargestellt ist. In alternativen Ausführungsformen kann es mehr oder weniger als drei Schichten geben.
  • f) Die aggregierte Segmententität
  • In einer Ausführungsform enthält die aggregierte Segmententität oder der aggregierte Segmentdatensatz 422 die gleichen Arten von Attributinformationen, welche in nicht-aggregierten Straßensegmentdatensätzen enthalten sind (wie beispielsweise die Straßensegmentdatensätze 322, welche in der 9 dargestellt sind). Alternativ kann der aggregierte Segmentdatensatz 422 weniger Arten von Attributinformation enthalten, welche in nicht aggregierten Straßensegmentdatensätzen 322 enthalten sind. In einer Ausführungsform enthält jeder aggregierte Segmentdatensatz 422 Attributinformationen, welche denjenigen Merkmalen entsprechen, von denen die anwendbaren Kriterien fordern, dass benachbarte Straßensegmente sie gemeinsam haben, um den aggregierten Segmentdatensatz zu bilden. Die Attribute, von denen nicht gefordert ist, dass sie benachbarte Segmente gemeinsam haben, können beim Prozess des Generierens eines einzelnen Satzes von aggregierten Attributen für den aggregierten Segmentdatensatz 422 kombiniert oder fallen gelassen werden.
  • Die Komponenten eines aggregierten Segmentdatensatzes 422 sind in der 12 dargestellt. Der aggregierte Segmentdatensatz 422 enthält einen Segmentidentifikator (z.B. "ID") 423, der ihn als ein aggregiertes Segment identifiziert. Der aggregierte Segmentdatensatz 422 enthält Daten, welche seine Endknoten 424 und 425 identifizieren, wobei die Endknoten signifikanten Knoten für ein aggregiertes Segment entsprechen. (Beispielsweise unter Bezugnahme auf 10D ist anzumerken, dass das aggregierte Segment AG12 die Knoten N102 und N112 enthält, welche den Endpunkten des aggregierten Segments entsprechen.) Der aggregierte Segmentdatensatz 422 kann auch Informationen speichern über das aggregierte Segment, das er repräsentiert einschließlich seiner Länge 430, seiner durchschnittlichen Geschwindigkeit 432 und einer Durchfahrzeit 434. Der aggregierte Segmentdatensatz 422 kann auch zusätzliche Informationen 436 speichern.
  • In einer vorliegenden Ausführungsform enthält der aggregierte Segmentdatensatz 422 Daten, welche verwendet werden können, um die Segmentdatensätze und Knotendatensätze zu identifizieren, welche die Straßensegmente und Knoten zwischen den Straßensegmenten repräsentieren, welche in Aggregation durch den aggregierten Segmentdatensatz repräsentiert sind. Der aggregierte Segmentdatensatz 422 enthält wenigstens einen Zeiger 426 auf einen Array 520, welcher abgekürzte Segmentdatensätze 522 und abgekürzte Knotendatensätze 523 enthält. In einer vorliegenden Ausführungsform sind die abgekürzten Datensätze sequentiell im Array 520 gespeichert, d.h. in der Reihenfolge von einem Ende (z.B. von links) der Aggregation zum anderen Ende. In einer Ausführungsform verweist der Zeiger 426 auf den ersten Datensatz in dem Array 520. In der in 12 dargestellten Ausführungsform ist der erste Datensatz in dem Array 520 ein abgekürzter Segmentdatensatz. Der abgekürzte Segmentdatensatz 422 kann auch Daten 435 enthalten, welche eine Anzahl von Nummern von abgekürzten Segmentdatensätzen in dem entsprechenden Array 520 von abgekürzten Segmenten und Knotendatensätzen anzeigt. Diese abgekürzten Datensätze 522 und 523 sind also zugänglich vermittels des aggregierten Segmentdatensatzes und vermittels des Zeigers 426 auf den ersten abgekürzten Datensatz und die Zählung 435.
  • g) Abgekürzte Segmente und abgekürzte Knotendatensätze
  • Wenn in einer vorliegenden Ausführungsform ein aggregierter Segmentdatensatz gebildet wird, werden abgekürzte Datensätze gebildet, welche die Segmente und Knoten innerhalb des aggregierten Segments repräsentieren. Unter Bezugnahme auf die 11 und 12 enthalten diese abgekürzten Datensätze abgekürzte Segmentdatensätze 522 und abgekürzte Knotendatensätze 523. Die abgekürzten Segmentdatensätze 522 und die abgekürzten Knotendatensätze 523 sind dem aggregierten Segmentdatensatz 422 zugeordnet und repräsentieren die Knoten und Segmente, welche in Aggregation durch den aggregierten Segmentdatensatz 422 repräsentiert sind. Diese abgekürzten Datensätze 522 und 523 werden in der geografischen Datenbank zusätzlich zu nicht abgekürzten Segmentdatensätzen 322 gehalten, welche sich auf die gleichen Straßensegmentmerkmale beziehen, und zu nicht abgekürzten Knotendatensätzen 323, welche sich auf die gleichen Knotenmerkmale beziehen.
  • In einer vorliegenden Ausführungsform werden diese abgekürzten Datensätze 522 und 523 relativ nahe (physikalisch und/oder logisch) zum aggregierten Segmentdatensatz 422 gehalten, welcher sich auf sie bezieht. Dies ermöglicht es dem aggregierten Segmentdatensatz, relativ schnellen Zugriff auf die Information zu haben, welche in den abgekürzten Segmentdatensätzen 522 und den abgekürzten Knotendatensätzen 523 enthalten ist. In einer Ausführungsform sind die abgekürzten Datensätze 522 und 523 in der gleichen Datenschicht enthalten wie der aggregierte Segmentdatensatz, welcher sich auf sie bezieht. Ferner sind in einer vorliegenden Ausführungsform in Schichten über Schicht 0, aber unter der höchsten Schicht n, die abgekürzten Segmentdatensätze 522 und die abgekürzten Knotendatensätze 523 im gleichen Paket enthalten wie der aggregierte Segmentdatensatz 422, der sich auf sie bezieht. Diese Anordnung ist in der 11 dargestellt, wobei die abgekürzten Segmente 522 und die abgekürzten Knoten 523 im gleichen Paket 220(7) enthalten sind wie das aggregierte Segment 422, welches sich auf sie bezieht. Innerhalb jedes der Pakete über der Schicht 0, wie beispielsweise des Pakets 220(7) können mehrere aggregierte Segmentdatensätze 422 vorhanden sein, von denen sich jeder auf mehrere abgekürzte Segmentdatensätze 522 und abgekürzte Knotendatensätze 523 bezieht.
  • Wenn die abgekürzten Segmente 522 und die abgekürzten Knoten 523 im gleichen Datenpaket enthalten sind wie der aggregierte Segmentdatensatz 422, welcher sich auf sie bezieht, zeigt die Referenz 426 im aggregierten Segmentdatensatz 422 die Adresse oder Lage der abgekürzten Segmente 522 und der abgekürzten Knoten 523 innerhalb des Pakets an. Diese Referenz oder dieser Zeiger 426 kann die Form eines Versatzes von einer Startposition des Pakets zu den abgekürzten Segment- und Knotendatensätzen aufweisen. Alternativ können andere geeignete Referenzmittel verwendet werden.
  • Wie oben unter Bezugnahme auf 12 erwähnt, sind in einer Ausführungsform die abgekürzten Segment- und Knotendatensätze im Array 520 gespeichert. Innerhalb des Arrays 520 wechseln sich abgekürzte Segment- und Knotendatensätze ab. Der erste Datensatz im Array, auf den der aggregierte Segmentdatensatz zeigt, ist ein abgekürzter Segmentdatensatz 522, welchem ein abgekürzter Knotendatensatz 523 folgt, dem ein abgekürzter Segmentdatensatz 522 folgt, usw., abwechselnd bis die zwei letzten Datensätze in der Liste erreicht sind, die ein abgekürzter Knotendatensatz 523, gefolgt von einem abgekürzten Segmentdatensatz 522 sind. Diese abwechselnde Anordnung von abgekürzten Segment- und Knotendatensätzen entspricht der abwechselnden Anordnung von physikalischen Knoten und Straßensegmenten, welche in Aggregation durch den aggregierten Segmentdatensatz repräsentiert sind. Der erste abgekürzte Segmentdatensatz 522 im Array repräsentiert das erste Segment, auf das man von einem Endpunkt eines aggregierten Segments stößt, wenn die durch den aggregierten Segmentdatensatz repräsentierte Aggregation von einem Endpunkt hiervon durchquert wird. Der nächste anzutreffende abgekürzte Datensatz ist der erste von einem oder mehreren internen Knoten des aggregierten Segments, wobei vom gleichen Endpunkt des aggregierten Segments begonnen wird. Diese abgekürzten Datensätze wechseln sich ab, bis man auf das abgekürzte Segment trifft, welches unmittelbar vor dem anderen Endpunkt des aggregierten Segments liegt.
  • Unter Bezugnahme auf 13 enthält jeder abgekürzte Datensatz 522 einen Segmentidentifikator 543 und Daten, welche eine Länge 544 und eine Transitzeit 545 anzeigen. In einer vorliegenden Ausführungsform werden die Länge 544 und eine Transitzeit 545 des abgekürzten Segments 522 als eine einzelne Fraktion der Länge 530 und der Transitzeit 434 des aggregierten Segmentdatensatzes 422 gespeichert, welcher sich auf sie bezieht. Der abgekürzte Segmentdatensatz 522 kann auch zusätzliche Information 548 enthalten, durch welche die gesamte (d.h. nicht abgekürzte) Version des Segmentdatensatzes (z.B. ein Segmentdatensatz 322) gefunden werden kann. In einer Ausführungsform ist diese Information 548 ein Datenflag, welches verwendet werden kann als Referenz auf eine Schicht-0-Paket-Identifikation, wie dies oben beschrieben wurde. Der abgekürzte Segmentdatensatz 522 kann auch zusätzliche Information 549 enthalten, wie beispielsweise den Bezug auf das Straßensegment, welches durch das abgekürzte Segment repräsentiert ist, obwohl auf solche Information stattdessen vom referenzierten Schicht-0-Datensatz 322 zugegriffen werden kann.
  • Unter Bezugnahme auf die 14 enthält jeder abgekürzte Knotendatensatz 523 einen abgekürzten Knotenidentifikator ("ID") 553 und Daten, welche seine Position 554 identifizieren. Der abgekürzte Knotendatensatz 523 kann auch zusätzliche Informationen enthalten, wie beispielsweise einen Zeiger oder eine Referenz 559, durch welche die vollständige (d.h. nicht abgekürzte) Version des Knotendatensatzes 323 gefunden werden kann. Der abgekürzte Knotendatensatz 523 kann auch zusätzliche Information 555 enthalten.
  • Wie oben erwähnt, enthalten die abgekürzten Segment- und Knotendatensätze Referenzen auf die nicht abgekürzten Versionen dieser Datensätze. Diese Referenzen können verwendet werden, um Informationen zu erhalten, die in den abgekürzten Segment- und Knotendatensätzen nicht verfügbar sind, aber in den nicht abgekürzten Versionen dieser Datensätze enthalten sind. Die nicht abgekürzten Versionen dieser Datensätze werden beispielsweise verwendet, wenn die berechnete Route vollständig ist und Querverweise auf andere Datentypen, wie beispielsweise den Kartenanzeigetyp oder den Manövertyp erforderlich sind. Im abgekürzten Segmentdatensatz 522 ist die Referenz 548 ein Datenflag, welches anzeigt, ob der abgekürzte Segmentdatensatz 522 einen Paket-ID-Index enthält. (Die Referenz 559 im abgekürzten Knotendatensatz 523 kann ein ähnliches Datenflag enthalten.) Wenn ein abgekürzter Segment- oder Knotendatensatz ein Paket-ID-Indexfeld enthält, weist dieser abgekürzte Segment- oder Knotendatensatz die Paket-ID in der Schicht 0 auf. Wenn allerdings ein abgekürzter Segment- oder Knotendatensatz keinen Paket-ID-Index enthält, wird angenommen, dass der Knoten die Schicht-0-Paket-ID des vorangehenden abgekürzten Knoten-(oder Segment)-Datensatzes aufweist, der ein Paket-ID-Feld enthalten hat. Wenn die Schicht-0-Datenentitäten, welche durch aufeinander folgende abgekürzte Datensätze referenziert sind, im gleichen Paket angeordnet sind, ist es auf diese Weise nicht erforderlich, dass die Paket-ID-Nummer für aufeinander folgende abgekürzte Datensätze wiederholt wird.
  • h) Aufwärtsreferenzierung
  • In einer vorliegenden Ausführungsform enthält jeder der Segmentdatensätze 322 in Schichten, die tiefer als Schicht n sind, Daten, welche jeden der aggregierten Segmentdatensätze 422 in jeder der höheren Schichten identifiziert, der eine Aggregation von Straßensegmenten repräsentiert, welche das durch den Segmentdatensatz 322 repräsentierte Straßensegment enthält. Ein Diagramm, welches dieses Merkmal des Segmentdatensatzes 322 darstellt, ist in der 15 enthalten. Wie in 15 gezeigt, gibt es zusätzlich zu den anderen Typen von Attributen, welche im Segmentdatensatz 322 enthalten sind, eine Referenz 648 zu jedem der aggregierten Segmentdatensätze 422 in höheren Schichten, welche Aggregationen von Straßensegmenten repräsentiert, die das Straßensegment enthalten, welches durch den Segmentdatensatz repräsentiert ist. In einer vorliegenden Ausführungsform identifiziert die Referenz 648 im Segmentdatensatz 322 die aggregierten Segmentdatensätze durch die aggregierte Segment-ID 423 (in 12) und die Schicht (d.h. 1 bis n), in der der aggregierte Segmentdatensatz auftritt. Diese Information ist zusätzlich zu den anderen Informationen im Segmentdatensatz 322 enthalten.
  • IV. AUSFÜHRUNGSFORMEN MIT VERSCHACHTELUNGEN VON DATENTYPEN
  • a) Trennung von aggregierten und abgekürzten Datensätzen
  • In einer vorliegenden Ausführungsform werden für einige Schichten von Streckenführungsdaten oberhalb der Schicht 0 die abgekürzten Segmentdatensätze 522 und die abgekürzten Knotendatensätze 523 im gleichen Paket gespeichert, wie der aggregierte Segmentdatensatz 422, der sich auf sie bezieht, wie dies oben beschrieben wurde. Gemäß einer vorliegenden Ausführungsform sind allerdings in wenigstens einer Schicht von Streckenführungsdaten oberhalb der Schicht 0 die abgekürzten Segmentdatensätze und die abgekürzten Knotendatensätze in einem Paket gespeichert, welches getrennt vom Paket ist, das den aggregierten Segmentdatensatz enthält, der sich auf sie bezieht. Im Speziellen sind in einer vorliegenden Ausführungsform für die höchste Schicht (d.h. Schicht n, wobei n = 4) die abgekürzten Segment- und abgekürzten Knotendatensätze in einem Paket gespeichert, welches getrennt ist von dem Paket, welches den aggregierten Segmentdatensatz aufweist, welcher sich auf sie bezieht. Diese letzte Anordnung ist in 16 dargestellt. Wie in 16 gezeigt, sind die abgekürzten Segmentdatensätze 522 und die abgekürzten Knotendatensätze 523 in einem Paket 220(3) gespeichert, das von den Paketen 220(1), 220(2) ... getrennt ist, welche die aggregierten Segmentdatensätze 422 enthalten, die sich auf sie beziehen. In einer vorliegenden Ausführungsform enthält dieses Paket 220(3) von abgekürzten Datensätzen abgekürzte Segmentdatensätze 522 und abgekürzte Knotendatensätze 523 (und möglicherweise einige zusätzliche Informationen, wie beispielsweise Header-Informationen). Das Paket 220(3), welches die abgekürzten Datensätze enthält, enthält allerdings keine Streckenführungsdaten. Wie in 16 dargestellt, sind die abgekürzten Datensätze 522 und 523 in der gleichen Schicht enthalten (d.h. Schicht n) wie die aggregierten Segmentdatensätze 422, welche sich auf sie beziehen. In einer alternativen Ausführungsform können die Pakete 220(3) der abgekürzten Segmentdatensätze 522 und der abgekürzten Knotendatensätze 523 in einer anderen Schicht oder an einem anderen Ort in der Datenbank angeordnet sein bzw. liegen.
  • Wie bei den aggregierten Segmentdatensätzen, welche in den Schichten unter Schicht n enthalten sind, enthält jeder aggregierte Segmentdatensatz einen Zeiger oder eine andere Referenz zu den abgekürzten Segment- und Knotendatensätzen, welche die in Aggregation durch den aggregierten Segmentdatensatz repräsentierten Merkmale repräsentiert. 17 stellt die Komponenten eines aggregierten Segmentdatensatzes dar und seiner repräsentierten abgekürzten Segment- und Knotendatensätze gemäß der in 16 dargestellten Ausführungsform. Der aggregierte Segmentdatensatz 422 enthält wenigstens einen Zeiger 426 auf einen Array 520, welcher abgekürzte Segmentdatensätze 522 und abgekürzte Knotendatensätze 523 enthält. In dieser Ausführungsform verweist der Zeiger 426 auf den ersten Datensatz im Array 520. Weil die abgekürzten Datensätze in einem von den aggregierten Segmentdatensätzen, welche sich auf sie beziehen, getrennten Paket gespeichert sind, enthält die Referenz 426 in einem aggregierten Segmentdatensatz 422 zu seinen zugehörigen abgekürzten Segment- und Knotendatensätzen 522, 523 eine geeignete Identifikation des Pakets, in dem die abgekürzten Datensätze angeordnet sind. Wie beim Array 520, welcher in Verbindung mit 12 beschrieben ist, sind die abgekürzten Datensätze sequentiell im Array 520 gespeichert, und zwar in einer Reihenfolge von einem Ende der repräsentierten Aggregation zum anderen Ende. Anders als in der Ausführungsform der 12 sind allerdings dann, wenn die abgekürzten Datensätze in einem Paket sind, das getrennt ist vom Paket, welches den aggregierten Segmentdatensatz enthält, der sich auf sie bezieht, der erste Datensatz im Array 520 ein abgekürzter Knotendatensatz 523, gefolgt von einem abgekürzten Segmentdatensatz 522 usw., abwechselnd, bis die letzten zwei Datensätze in der Liste erreicht sind, welche ein abgekürzter Segmentdatensatz 522 gefolgt von einem abgekürzten Knotendatensatz 523 sind. Wenn die abgekürzten Datensätze in einem Paket sind, das getrennt ist von dem Paket, welches den aggregierten Segmentdatensatz enthält, welcher sich auf sie bezieht, ist der erste Datensatz im Array 520 ein abgekürzter Knotendatensatz 523, welcher einen der Endpunkte des referenzierenden aggregierten Segmentdatensatzes repräsentiert, und der letzte Datensatz im Array 520 ist ein abgekürzter Knotendatensatz 523, welcher den anderen Endpunkt des referenzierenden aggregierten Segmentdatensatzes repräsentiert. Es ist nützlich, diese aggregierten Knotendatensätze 523 zu haben, welche die aggregierten Segmentendpunkte im Array 520 repräsentieren, wenn die abgekürzten Datensätze in einem Paket angeordnet sind, welches vom aggregierten Segmentdatensatz 422, der sich auf sie bezieht, getrennt ist, weil sonst keine Datensätze in dem Paket sein könnten, welches die abgekürzten Datensätze enthält, die diese Endpunkte des aggregierten Segments repräsentieren. In anderer Hinsicht sind die aggregierten Segmentdatensätze 422 und die abgekürzten Datentsätze 522, 523 in Schicht n ähnlich wie diejenigen in der zuvor beschriebenen Ausführungsform.
  • Die abgekürzten Segmentdatensätze 522 und die abgekürzten Knotendatensätze 523 im Schicht-n-Paket 220(3) enthalten geeignete Referenzen auf entsprechende nicht abgekürzte Segment- und Knotendatensätze, welche in den Paketen 220(4) und 220(5) in Schicht 0 enthalten sind, welche die gleichen entsprechenden geografischen Merkmale repräsentieren. Wie in Verbindung mit der vorherigen Ausführungsform beschrieben, wenn die in den nicht abgekürzten Segment- oder Knotendatensätzen enthaltene Information für eine Navigationsfunktion benötigt wird, können die Referenzen, welche in den abgekürzten Segment- und Knotendatensätzen enthalten sind, welche im Schicht-n-abgekürzten-Datensatzpaket 220(3) enthalten ist, verwendet werden, um die entsprechenden nicht abgekürzten Segment- und Knotendatensätze in den Schicht-0-Paketen 220(4) und 220(5) zu finden (dargestellt in 16).
  • Das Trennen der abgekürzten Segmente und der abgekürzten Knotendatensätze vom aggregierten Segmentdatensatz, welcher sich auf sie bezieht, weist die Wirkung auf, dass den Streckenführungspaketen, welche die aggregierten Segmentdatensätze enthalten, erlaubt wird, mehr Streckenführungsdaten von anderen Daten als dem gekürzten Segment- und Knotendatensatz zu halten. Dies erlaubt es den Streckenführungsdatenpaketen, welche die aggregierten Segmentdatensätze enthalten, geografische Merkmale zu repräsentieren, welche innerhalb größer festgelegten, rechteckigen Gebieten umfasst sind. Es werden daher weniger solche Streckenführungsdatenpakete benötigt, wenn eine Route durch das geografische Gebiet berechnet wird, wodurch im Allgemeinen die Navigationssystem-Leistungsfähigkeiten für einige Typen von Funktionen, wie beispielsweise Routenberechnung, verbessert werden.
  • (Gemäß dieser alternativen Ausführungsform sind die abgekürzten Datensätze nur in der höchsten Schicht (d.h. in Schicht n, wobei n = 4 ist) von Daten von den aggregierten Datensätzen, die sich auf sie beziehen, getrennt. In einer anderen Version dieser alternativen Ausführungsform können die abgekürzten Datensätze auch in anderen Schichten von den aggregierten Datensätzen getrennt sein. Gemäß einer weiteren anderen Version dieser alternativen Ausführungsform können die abgekürzten Datensätze in allen Datenschichten, in denen aggregierte Datensätze vorhanden sind, von den aggregierten Datensätzen, welche sich auf sie beziehen, getrennt sein.)
  • b) Arten von Verschachtelung
  • Wie bereits erwähnt, kann das Speichern der abgekürzten Datensätze getrennt von den Streckenführungsdaten, welche die aggregierten Segmentdatensätze enthalten, welche sich auf sie beziehen, gewisse Vorteile bereitstellen, welche die Navigationssystem-Leistungsfähigkeit verbessern. Weitere Vorteile können in einer Ausführungsform erreicht werden, bei der die Streckenführungsdaten (welche die aggregierten Segmentdatensätze enthalten) verschachtelt sind mit den abgekürzten Datensätzen. Dies kann die Such- und Zugriffszeiten für Daten reduzieren, wenn gewisse Arten von Navigationsfunktionen durchgeführt werden, wodurch es möglich ist, die Navigationssystem-Leistungsfähigkeit weiter zu verbessern. Im Speziellen sind in dieser weiteren alternativen Ausführungsform die Pakete, welche die Streckenführungsdaten enthalten, die aggregierten Segmentdatensätze enthalten, mit den Paketen verschachtelt, welche die abgekürzten Datensätze enthalten, die durch die aggregierten Segmentdatensätze innerhalb der gleichen Schicht referenziert sind.
  • 18, 19 und 20 zeigen drei verschiedene Arten, dass Pakete, die Streckenführungsdaten enthalten (einschließlich aggregierte Segmentdatensätze), und Pakete, welche abgekürzte Datensätze enthalten (welche durch die aggregierten Segmentdatensätze referenziert sind), innerhalb einer Schicht angeordnet sein können. Für Zwecke dieser Ausführungsform wird das Verschachteln von abgekürzten Datensätzen mit Streckenführungsdaten innerhalb einer Schicht beschrieben. Die Vorteile, welche sich aus dem Verschachteln unterschiedlichen Datentypen ergeben, und im Speziellen von Paketen unterschiedlicher Datentypen, sind nicht nur gerade auf Streckenführungsdaten und abgekürzte Datensätze beschränkt. Es ist klar, dass die offenbarten Konzepte auch auf andere Typen und Schichten von Daten ausgeweitet werden können, wie dies nachfolgend beschrieben ist. Es können daher verschiedene Navigationsfunktionen von den Leistungsfähigkeitsverbesserungen profitieren, welche mit dem Verschachteln von Datentypen einhergehen.
  • 18 zeigt mehrere Pakete 220 innerhalb einer Schicht n von Streckenführungsdaten. Diese Pakete enthalten Pakete, welche Streckenführungsdaten enthalten (gekennzeichnet mit einem "R") und Pakete, welche abgekürzte Segment- und Knotendatensätze (gekennzeichnet mit einem "A") enthalten. Die Streckenführungspakete enthalten aggregierte Segmentdatensätze, welche Referenzen auf die abgekürzten Segment- und Knotendatensätze enthalten, welche individuell die Straßensegmente und Endpunkte von diesen repräsentieren, welche die aggregierten Segmentdatensätze in Aggregation repräsentieren. Auch wenn in der Ausführungsform gemäß 18 alle Pakete, welche abgekürzte Segment- und Knotendatensätze enthalten, in der gleichen Schicht von Streckenführungsdaten als die Streckenführungspakete angeordnet sind, welche die aggregierten Segmentdatensätze enthalten, welche sich auf sie beziehen, sind alle Pakete, welche die abgekürzten Segment- und Knotendatensätze enthalten, entfernt von (d.h. vor oder nach) allen den Paketen, welche die Schicht-n-Streckenführungspakete enthalten, welche die aggregierten Segmentdatensätze enthalten, die sich auf sie beziehen, angeordnet und gespeichert. Wie oben erwähnt, bietet das Platzieren der Pakete, welche die abgekürzten Segment- und Knotendatensätze in der gleichen Schicht enthalten wie die Pakete, welche die aggregierten Segmentdatensätze enthalten, welche sich auf sie beziehen, den Vorteil, dass im Allgemeinen weniger Zeit benötigt wird, um auf die abgekürzten Datensätze zuzugreifen, wenn sie durch die aggregierten Segmentdatensätze referenziert sind, was zu einer verbesserten Navigationssystem-Leistungsfähigkeit führt.
  • Obwohl die in 18 dargestellte Ausführungsform potentielle Leistungsfähigkeitsvorteile bereitstellt, können weitere Vorteile erreicht werden, wenn die Pakete, welche die abgekürzten Segmentdatensätze enthalten, noch näher bei den Paketen platziert sind, welche die aggregierte Segmentdatensätze enthalten, welche sich auf sie beziehen. Die in 19 dargestellte Ausführungsform zeigt eine Anordnung von Paketen, welche diesen Vorteil bietet. In der Ausführungsform der 19 folgt jedem Paket von Streckenführungsdaten ein Paket, welches abgekürzte Datensätze enthält. Die abgekürzten Datensätze in jedem Paket von abgekürzten Datensätzen sind durch die aggregierten Segmentdatensätze im unmittelbar benachbarten Paket referenziert. (In 19 ist das Paket, welches die abgekürzten Segment- und Knotendatensätze enthält, gleich nachfolgend an das Paket gezeigt, welches die Streckenführungsdatensätze enthält, die die aggregierten Segmentdatensätze enthalten, welche sich auf sie beziehen. In einer alternativen Ausführungsform kann das Paket, welches die abgekürzten Segment- und Knotendatensätze enthält, dem Paket unmittelbar vorangehen, welches die Streckenführungsdatensätze enthält, welche die aggregierten Segmentdatensätze enthalten, welche sich auf sie beziehen.)
  • Die Anordnung gemäß 19 kann für gewisse Funktionen noch weitere Vorteile gegenüber der Ausführungsform gemäß 18 bieten. Weil das Paket, welches die abgekürzten Segment- und Knotendatensätze enthält, unmittelbar benachbart zum Paket ist, welches die Streckenführungsdaten enthält, welche die aggregierten Segmentdatensätze enthält, welche sich auf sie beziehen, ist noch weniger Zeit erforderlich, um auf die abgekürzten Datensätze zuzugreifen, wenn sie durch die aggregierten Segmentdatensätze referenziert sind, was zu noch weiter verbesserter Navigationssystem-Leistungsfähigkeit führt.
  • Ein mit der in 19 dargestellten Anordnung verbundener Nachteil liegt darin, dass die Menge von Daten, welche den abgekürzten Segment- und Knotendatensätzen zugeordnet ist, welche durch aggregierte Segmentdatensätze in einem einzelnen Paket von Streckenführungsdaten referenziert sind, nicht notwendigerweise einer idealen Paketgröße entspricht. Wenn das Streckenführungspaket relativ wenige aggregierte Segmentdatensätze oder aggregierte Segmentdatensätze enthält, welche Aggregationen von relativ wenigen Segmenten repräsentiert, werden entsprechend wenige abgekürzte Datensätze in den benachbarten Paketen der abgekürzten Datensätze sein. Wenn die Streckenführungspakete relativ viele aggregierte Segmentdatensätze oder aggregierte Segmentdatensätze, welche Aggregationen von relativ vielen Segmenten repräsentieren, enthalten, gibt es entsprechend viele abgekürzte Datensätze in dem benachbarten Paket der abgekürzten Datensätze. In der Ausführungsform der 19 hängt das Datengrößenerfordernis für die abgekürzten Segment- und Knotendatensätze, welche durch die aggregierte Segmentdatensätze in jedem einzelnen Paket von Streckenführungsdaten referenziert sind, von der Anzahl und Art von aggregierten Segmentdatensätzen im Streckenführungsdatenpaket ab. Die Anzahl und Art von aggregierten Segmentdatensätzen in einem Streckenführungsdatenpaket hängt zu wenigstens einem gewissen Grad vom referenzierten Straßennetzwerk ab. Da Straßennetzwerke relativ unterschiedlich sein können, können die Datengrößenerfordernisse für die abgekürzten Segment- und Knotendatensätze, welche durch die aggregierten Segmentdatensätze in einem einzelnen Streckenführungsdatenpaket referenziert sind, ebenfalls beträchtlich variieren.
  • Im Allgemeinen erfordern die abgekürzten Segment- und Knotendatensätze, welche durch die aggregierten Segmentdatensätze in einem Paket referenziert sind, weniger als und manchmal bedeutend weniger als eine ideale Paketgröße. Dies bedeutet, dass bei der in 19 dargestellten Ausführungsform substanzielles Auffüllen erforderlich sein kann, damit die abgekürzten Datensatzdaten in einigen Paketen von abgekürzten Datensätzen hinzugefügt werden, um eine einheitliche Paketgröße unter den Paketen innerhalb einer Schicht beizubehalten. Dies hat zum Ergebnis, dass die Pakete, welche die abgekürzten Datensätze enthalten, einen geringeren Füllprozentsatz aufweisen als gewünscht. Wenn ein gewünschter Paketfüllprozentsatz 80% beträgt, können einige der Pakete, welche abgekürzte Segment- und Knotendatensätze enthalten, weniger als 50% oder sogar weniger als 20% gefüllt sein. Es ist im Allgemeinen unerwünscht, Pakete im Wesentlichen weniger als voll zu haben. Ein Grund dafür, dass weniger als volle Pakete unerwünscht sind, liegt dann, dass Speicherplatz verschwendet wird, der sonst verwendet werden könnte, um Information zu speichern, die für den Endanwender von Wert sein kann. Ein anderer unerwünschter Effekt von Paketen, welche im Wesentlichen weniger als voll sind, liegt in der erhöhten Fragmentierung der Datenbank. Dies kann zu erhöhten Such- und Zugriffszeiten führen, was zu geringer Leistungsfähigkeit führt.
  • Ein anderer potentieller Nachteil der Ausführungsform der 19 liegt unter gewissen Umständen darin, dass Datenerfordernisse für die abgekürzten Segment- und Knotendatensätze, welche durch die aggregierten Segmentdatensätze in einem einzelnen Streckenführungsdatenpaket referenziert sind, die maximale Paketgröße übersteigen.
  • Unter Bezugnahme auf die Ausführungsform der 19 ist es möglich, die Pakete, welche abgekürzte Segment- und Knotendatensätze enthalten, kleiner (oder größer) in ihrer Größe zu machen, als die unmittelbar benachbarten Pakete, welche die Streckenführungsdaten enthalten, die die aggregierten Segmentdatensätze enthalten, welche sich auf sie beziehen. Die Pakete, die die abgekürzten Segment- und Knotendatensätze enthalten, allerdings dazu zu bringen, unterschiedliche Größen als die Pakete zu haben, welche die Streckenführungsdaten aufweisen, reduziert die Fragmentierung nicht. Da ferner die Faktoren, welche verwendet werden, eine gewünschte Paketgröße zu bestimmen, spezifische Merkmale der Medien enthalten können, auf denen die Daten gespeichert sind, gibt es relativ wenige verfügbare bevorzugte Größen, in denen ein Paket bereitgestellt werden kann, um die gewünschten Leistungsfähigkeitsmerkmale zu erreichen.
  • Obwohl die Verschachtelungsanordnung der 19 daher Leistungsfähigkeitsvorteile in Navigationssystemen für einige Typen bereitstellen kann, kann sie für andere Datentypen nicht geeignet sein. Unter Bezugnahme auf die Ausführungsform von verschachtelten Datentypen, welche in 19 gezeigt ist, ist sie am besten geeignet für Typen von Daten, in denen die Paketgrößen der unterschiedlichen Datentypen leicht ausgeglichen werden können.
  • 20 zeigt eine andere Anordnung zum Verschachteln von Paketen von abgekürzten Segment- und Knotendatensätzen mit Paketen, welche Streckenführungsdaten enthalten, die die aggregierten Datensätze enthalten, welche abgekürzte Segment- und Knotendatensätze referenzieren. In 20 sind die Pakete, welche abgekürzte Segment- und Knotendatensätze enthalten, so gebildet, dass sie eine Größe aufweisen, welche einer gewünschten Paketgröße entspricht, und sind so gebildet, dass sie einen im Allgemeinen hohen Füllprozentsatz aufweisen. In einer Ausführungsform können die Pakete, welche die abgekürzten Segment- und Knotendatensätze enthalten, gleiche Größe haben wie die Streckenführungsdatenpakete, welche die aggregierten Segmentdatensätze enthalten, welche sich auf sie beziehen. Wenn beispielsweise die Streckenführungsdatenpakete in einer Größe von 16 K bereitgestellt sind, können die Pakete, welche die abgekürzten Segment- und Knotendatensätze enthalten, auch in Größen von jeweils 16 K bereitgestellt sein. Andere Größen sind ebenfalls geeignet.
  • In 20 sind die Pakete, welche die Streckenführungsdaten enthalten, mit den Paketen, welche die abgekürzten Segment- und Knotendatensätze enthalten, verschachtelt. In einer vorliegenden Ausführungsform ist jedes Paket, welches abgekürzte Segment- und Knotendatensätze enthält, zusammengruppiert mit dem einen oder mehreren Streckenführungspaketen, welche die aggregierten Segmentdatensätze enthalten, auf die sich sie beziehen. In einer Ausführungsform sind die Pakete, welche die abgekürzten Segment- und Knotendatensätze enthalten, welche durch aggregierte Segmentdatensätze referenziert sind, die in einem oder mehreren Streckenführungspaketen enthalten sind, unmittelbar nach diesen Streckenführungspaketen angeordnet. In einer alternativen Ausführungsform können die Pakete, die die abgekürzten Segment- und Knotendatensätze enthalten, welche durch aggregierte Segmentdatensätze referenziert sind, welche in einem oder mehreren Streckenführungspaket enthalten sind, unmittelbar vor diesen Streckenführungspaketen angeordnet sein. In einer bevorzugten Ausführungsform hängt die Platzierung der Pakete, welche die abgekürzten Datensätze enthalten, von der räumlichen Organisation der Daten innerhalb der Schicht ab, wie dies nachfolgend beschrieben wird.
  • Bezugnehmend auf 20 folgt vier Paketen der Schicht n, welche Streckenführungsdaten enthalten, ein Paket, welches abgekürzte Segment- und Knotendatensätze enthält. Das eine Paket, welches die abgekürzten Segment- und Knotendatensätze enthält, enthält alle abgekürzten Segment- und Knotendatensätze, welche durch alle aggregierten Segmentdatensätze referenziert sind, welche in den vier Streckenführungsdatenpaketen enthalten sind, die ihm unmittelbar vorangehen. In 20 folgen dem ersten abgekürzten Datensatzpaket zwei weitere Streckenführungspakete, welche von einem anderen Paket gefolgt werden, welches abgekürzte Datensätze enthält. Dieses zweite Paket von abgekürzten Datensätzen enthält die abgekürzten Datensätze, welche durch die aggregierten Segmentdatensätze referenziert sind, welche in den zwei Streckenführungspaketen enthalten sind, die ihm unmittelbar vorangehen. In der in 20 dargestellten Ausführungsform ist die Anzahl der Pakete von Streckenführungsdaten und die Anzahl von Paketen von abgekürzten Datensätzen bestimmt, um (1) eine gewünschte Paketgröße und einen gewünschten Füllprozentsatz unter diesen Paketen in der Schicht beizubehalten, und (2) die räumlich in Paketen angeordneten Streckenführungspakete nahe den räumlich in Paketen angeordneten abgekürzten Datensatzpakete zu halten, welche die gleichen geografischen Merkmale repräsentieren. Die in 20 dargestellte Ausführungsform kombiniert den Vorteil, dass die abgekürzten Segment- und Knotendatensätze relativ nahe zu den aggregierten Segmentdatensätzen gespeichert sind, welche sich auf sie beziehen, mit dem Vorteil, dass alle Pakete im Allgemeinen einer gewünschten Paketgröße und einem gewünschten Füllprozentsatz entsprechen.
  • c) Prozess zum Bilden von verschachtelten Daten
  • Wie oben erwähnt, werden die Streckenführungspakete in einer bevorzugten Ausführungsform in räumlichen Paketen angeordnet und in ähnlicher Weise werden die Pakete, welche die abgekürzten Segment- und Knotendatensätze enthalten, räumlich in Paketen angeordnet. In einer bevorzugten Ausführungsform werden die Pakete, welche die abgekürzten Segment- und Knotendatensätze enthalten, gleichzeitig mit den Streckenführungspaketen in Paketen angeordnet, mit denen sie verschachtelt werden. Ein Prozess zum Bilden der verschachtelten Anordnung wird nachfolgend beschrieben.
  • Prozesse zum Bilden einer geografischen Datenbank einschließlich geschichteter, in Paketen angeordneter Streckenführungsdaten sind in den Anmeldungen mit den Nummern 08/924,328, 08/935,809 und 08/740,295 offenbart. Zusammenfassend ist ein Prozess zum Bilden einer geschichteten, in Paketen angeordneten, geografischen Datenbank, welche wenigstens einen verschachtelten Teil aufweist, in 21 dargestellt. (In 21 sind die allgemeinen Schritte des Prozesses an der linken Seite gezeigt und die entsprechenden Komponententeile, welche in den Schritten verwendet werden, sind auf der rechten Seite dargestellt.)
  • Ausgehend von der geografischen Datenbank 900, welche in einem generalisierten Datenformat bereitgestellt ist, werden verschiedene Zwischenformatdateien 902 für jeden Datentyp und jede Schicht gebildet (bei Schritt A). Die geografische Datenbank 900 mit generalisiertem Datenformat kann in einem proprietären Format oder in einem nicht proprietären Format sein. In der geografischen Datenbankdatei 900 mit generalisiertem Datenformat können die geografischen Daten bis auf Typ und Schicht undifferenziert sein. Diese Zwischenformatdateien 902, welche aus der Datenbankdatei 900 mit generalisiertem Datenformat gebildet sind, werden erzeugt, um jeden der unterschiedlichen Typen von Daten abzuleiten, wie beispielsweise Streckenführung, Kartografie, interessante Punkte, Manöver, usw., wie dies in 5 dargestellt ist, und ebenso, um jede der Schichten von einigen dieser Typen abzuleiten, wie dies in 6 dargestellt ist.
  • Nachdem jede von diesen getrennten Zwischenformatdateien 902 erzeugt ist, wird jede dieser Zwischenformatdateien 902 in Pakete angeordnet, um Pakete 906 von Datensätzen von jedem Datentyp für jede Schicht zu bilden (bei Schritt B). Unterschiedliche Arten von Paketbildungsprozessen können verwendet werden, einschließlich verschiedener Arten von Prozessen für räumliche Paketbildung, wie oben beschrieben. Sobald die Pakete 906 für jeden der getrennten Typen und Schichten gebildet sind, werden die Pakete 906 jede Schicht und jeden Typ in einer einzelnen Datei 910 aneinander gehängt (bei Schritt C). Unter Bezugnahme auf einen Teil der aneinander gehängten Datei 910, in welcher Pakete verschachtelt sind, werden die Pakete von den zwei oder mehr in Paketen angeordneten Zwischendateien 906 gewählt und verschachtelt (bei Schritt D), wie dies nachfolgend detaillierter beschrieben wird.
  • Sobald die getrennten Pakete 906 für jeden der separaten Typen und jede der Schichten gebildet sind, werden Paketidentifikationen zugewiesen. Nachdem alle getrennten Pakete 906 für jeden der getrennten Typen und jede Schicht in einer einzelnen Datei 910 aneinander gereiht sind und Paketidentifikationen zugewiesen sind, werden die Paketreferenzen über alle Datensätze und -indizes aktualisiert, um die neu zugewiesenen Paketidentifikationen einzubeziehen, um eine Endformatdatei 912 zu bilden (bei Schritt E).
  • Diese allgemeinen Schritte zum Bilden einer geografischen Datenbank repräsentieren nur eine Art, wie eine geografische Datenbank gebildet werden kann, und es ist klar, dass es auch andere Verfahren zum Bilden einer geografischen Datenbank gibt, welche das Verschachteln von unterschiedlichen Datentypen einschließt. Eine detailliertere Beschreibung von Aspekten des Prozesses zum Bilden einer geografischen Datenbank, welche einen verschachtelten Teil aufweist, wird wie folgt beschrieben: Um eine geografische Datenbank zu bilden, welche unterschiedliche Datentypen verschachtelt, wird gemäß einer Ausführungsform eine getrennte Zwischendatei gebildet für jeden der unterschiedlichen Datentypen, welche verschachtelt werden sollen. Um beispielsweise eine geografische Datenbank zu bilden, welche Pakete enthält, die Streckenführungsdaten enthalten, welche aggregierte Segmentdatensätze und getrenne Pakete, welche abgekürzte Segment- und Knotendatensätze enthalten, die durch die aggregierten Segmentdatensätze referenziert sind (wie in den 1720 dargestellt), bilden, werden getrennte Zwischenformatdateien gebildet für die Streckenführungsdaten und für die abgekürzten Segment- und Knotendaten. Die getrennte Zwischenformatdatei für die abgekürzten Datensätze enthält die Teile der geografischen Datenbankdatei mit generalisiertem Datenformat, welche notwendig sind, um die abgekürzten Segment- und Knotendatensätze abzuleiten (wie beispielsweise die Datensätze 522 und 523 in den 13 bzw. 14).
  • Wenn Pakete, welche abgekürzte Datensätze enthalten, mit Paketen verschachtelt werden sollen, welche Streckenführungsdaten mehr als einer Schicht enthalten, werden getrennte Zwischenformatdateien von abgekürzten Segment- und Knotendatensätzen für jede getrennte Schicht gebildet. In einer vorliegenden Ausführungsform werden die abgekürzten Segment- und Knotendatensätze in Paketen gespeichert, welche getrennt sind von den aggregierten Segment- und Knotendatensätzen, welche sich auf sie nur in der höchsten Schicht der Streckenführungsdaten beziehen (d.h. Schicht n, wobei n = 4). In alternativen Ausführungsformen können allerdings abgekürzte Segment- und Knotendatensätze in Paketen gespeichert werden, welche getrennt sind von den aggregierten Segment- und Knotendatensätzen, welche sich in irgendeiner Schicht auf sie beziehen, welche die aggregierten Segmentdatensätze enthält.
  • In weiteren alternativen Ausführungsformen, wenn Datentypen, die nicht Streckenführungsdaten und nicht abgekürzte Datensätze sind, verschachtelt werden sollen, werden Zwischenformatdateien dieser unterschiedlichen Datentypen nach Notwendigkeit gebildet.
  • Sobald die Zwischenformatdteien für jede Schicht von Streckenführungsdaten und jede Schicht von abgekürzten Segment- und Knotendatensätzen gebildet sind, wird jede dieser Zwischenformatdateien in Paketen angeordnet. In einer bevorzugten Ausführungsform wird die Streckenführungsdatenschicht 0 zuerst in Paketen angeordnet. Alternativ können andere der Datentypen, wie beispielsweise die kartografischen Daten oder die Manöverdaten, zuerst in Paketen angeordnet werden. Beim In-Pakete-Anordnen der Streckenführungsdaten der Schicht 0 kann irgendein geeignetes Paketbildungsverfahren verwendet werden, wie beispielsweise irgendeines der Paketbildungsverfahren, die in den Anmeldungen mit den Nummern 08/924,328, 08/935,809 und 08/740,295 offenbart sind.
  • Nachdem die Streckenführungsdaten der Schicht 0 in Paketen angeordnet sind, werden die höheren Schichten der Streckenführungsdaten in Paketen angeordnet. In einer bevorzugten Ausführungsform werden die höheren Schichten der Streckenführungsdaten parallel zum Paketbildungsverfahren, welches für die Streckenführungsdaten der Schicht 0 verwendet wurde, in Paketen angeordnet. Dies bedeutet, dass, wenn Pakete für eine höhere Schicht von Streckenführungsdaten gebildet werden, die gleichen Grenzen verwendet werden, welche im Verfahren zum Bestimmen der rechteckigen Gebiete, welche der Streckenführungsschicht 0 zugeordnet sind, um die rechteckigen Gebiete zu definieren, welche jedem Paket höherer Schicht zugeordnet werden. Da selbstverständlich höhere Schichten von Daten weniger Datensätze enthalten, können Pakete höherer Schichten größeren rechteckigen Gebieten zugeordnet werden. Wenn irgendein Paket höherer Schicht einem größeren rechteckigen Gebiet als einem Paket tieferer Schicht zugeordnet wird, werden die rechteckigen Gebiete, welche den Paketen höherer Schicht zugeordnet sind, exakt die kleineren rechteckigen Gebiete umfassen, welche mit einem oder mehr Streckenführungsdatenpaketen niedrigerer Schicht zugeordnet sind.
  • Nachdem die Zwischenformatdatei, welche eine Schicht von Streckenführungsdaten mit aggregierten Segmenten repräsentiert, in Paketen angeordnet ist, wird die Zwischenformatdatei, die die abgekürzten Segment- und Knotendatensätze für die gleiche Schicht enthält, in Paketen angeordnet. (Es ist anzumerken, dass die Zwischenformatdatei, welche die abgekürzten Segment- und Knotendatensätze enthält, sofort nachdem die Schicht von Streckenführungsdaten in Paketen angeordnet ist, in Paketen angeordnet werden kann, oder alternativ kann die Zwischenformatdatei, welche die abgekürzten Segment- und Knotendatensätze enthält, in Paketen angeordnet werden, nachdem andere Typen von Schichten von Daten in Paketen angeordnet sind.) In einer bevorzugten Ausführungsform wird die Zwischenformatdatei, welche die abgekürzten Segment- und Knotendatensätze enthält, parallel mit den Streckenführungsdaten in Paketen angeordnet. Die parallele bzw. gleichzeitige Paketbildung der Zwischenformatdatei, welche die abgekürzten Segment- und Knotendatensätze enthält, ist ähnlich zur parallelen Paketbildung von Zwischenformatdateien höherer Schichten von Streckenführungsdaten, wie oben beschrieben. Es werden also die gleichen Grenzen, welche für die rechteckigen Gebiete definiert sind, die mit Streckenführungspaketen der Schicht 0 zugeordnet sind, im nötigen Ausmaß verwendet, um rechteckige Gebiete zu definieren, welche Paketen von abgekürzten Segment- und Knotendatensätzen zugeordnet sind. Ein einem Paket von abgekürzten Segment- und Knotendatensätzen zugeordnetes rechteckiges Gebiet entspricht entweder exakt dem rechteckigen Gebiet, welches dem Streckenführungsdatenpaket zugeordnet ist, welches die aggregierten Segmentdatensätze enthält, welche sich auf die abgekürzten Segment- und Knotendatensätze beziehen, oder entspricht exakt zwei oder mehr rechteckigen Gebieten, welche zwei oder mehr Streckenführungsdatenpaketen zugeordnet sind, welche die aggregierten Segmentdatensätze enthalten, welche sich auf die abgekürzten Segment- und Knotendatensätze beziehen. Diese Anordnung ist grafisch in 22 dargestellt. (Im Falle, dass die abgekürzten Datensätze, welche durch die aggregierten Segmentdatensätze einem Paket von Streckenführungsdaten referenziert sind, eine wesentlich größere Datenmenge als das Streckenführungspaket enthalten, trifft die umgekehrte Beziehung zu, d.h. die rechteckigen Gebiete, welche zwei oder mehr abgekürzten Datensatzpaketen zugeordnet sind, umfassen exakt die rechteckigen Gebiete, welche einem einzelnen Streckenführungspaket zugeordnet sind.)
  • 22 zeigt eine Karte 612 eines Teils einer geografischen Region. Die Region ist mit mehreren Grenzlinien überlagert. Diese Grenzlinien sind entsprechend einem Paketbildungsverfahren ausgewählt, um mehrere rechteckige Gebiete zu bestimmen. Wie oben erwähnt, kann irgendeine geeignete Paketbildungsmethode verwendet werden. Die Grenzen, welche jedes der rechteckigen Gebiete bilden, sind so ausgewählt, dass jedes rechteckige Gebiet geografische Merkmale umfasst, die durch geografische Datensätze repräsentiert sind, welche innerhalb eines getrennten Pakets für eine gegebene Schicht und gegebene Datentypen enthalten sind. In 22 definieren die Grenzen die rechteckigen Gebiete, welche geografische Merkmale umfassen, welche durch Streckenführungsdatensätze repräsentiert sind, die in getrennen Paketen von Streckenführungsdaten der Schicht 0 enthalten sind. (Es ist klar, dass 22 nur einen Teil einer geografischen Region darstellt. In einer geografischen Region, welche durch eine geografische Datenbank repräsentiert ist, wie beispielsweise die geografische Datenbank 40, welche mit einem Navigationssystem 10 in 1 verwendet wird, können Hunderte solcher rechteckiger Gebiete vorhanden sein, wobei jedes einem getrennten Paket von Streckenführungsdaten der Schicht 0 zugeordnet ist.)
  • Wenn Pakete von abgekürzten Segment- und Knotendatensätzen gebildet werden, werden die zuvor für die Streckenführungsdaten der Schicht 0 definierten Grenzlinien verwendet, um die rechteckigen Gebiete zu definieren, welche die abgekürzten Segment- und Knotendatensätze umfassen, welche in jedem Paket enthalten sein sollen. In einer vorliegenden Ausführungsform weisen diese abgekürzten Segment- und Knotendatensätze relativ kleinere Datengrößenanforderungen auf, als die Streckenführungsdaten für ein entsprechendes Gebiet. Pakete, welche von abgekürzten Segment- und Knotendatensätzen gebildet sind, können daher größer bemessene rechteckige Gebiete repräsentieren. Da die beim Definieren eines einem Paket zugeordneten rechteckigen Gebiets zu verwendenden Grenzlinien durch diejenigen bedingt sind, welche zuvor für Streckenführungsdaten der Schicht 0 definiert worden sind, enthält ein rechteckiges Gebiet, welches einem Paket von abgekürzten Segment- und Knotendatensätzen zugeordnet ist, ganze rechteckige Gebiete, welche Streckenführungsschichtpaketen zugeordnet sind. Beispielsweise in 22, wenn die abgekürzten Segment- und Knotendatensätze, welche die Merkmale repräsentieren, die in den vier rechteckigen Gebieten 650(1), 650 (2), 650(3) und 650(4) enthalten sind, kleiner sind als eine maximale Paketgröße, kann ein Paket mit all diesen abgekürzten Segment- und Knotendatensätzen gebildet werden. In ähnlicher Weise, wenn die abgekürzten Segment- und Knotendatensätze, welche die Merkmale repräsentieren, die in den zwei rechteckigen Gebieten 650(5) und 650(6) enthalten sind, kleiner sind als eine maximale Paketgröße, kann ein Paket dieser abgekürzten Segment- und Knotendatensätze gebildet werden.
  • Nach der Paketbildung enthält die Zwischenformatdatei die in Paketen angeordneten abgekürzten Segment- und Knotendatensätze in mehreren Paketen. Jedes Paket ist bis zu einer gewünschten Größe aufgefüllt. Die Pakete sind in einer Reihenfolge angeordnet, welche die räumliche Organisation der Daten widerspiegelt.
  • Wenn die Zwischenformatdatei, welche die Streckenführungsdaten für Schicht n enthält, in Paketen angeordnet ist und die Zwischenformatdatei, welche die abgekürzten Segment- und Knotendaten für Schicht n enthält, in Paketen angeordnet ist, können die Pakete der zwei Zwischenformatdateien unterschiedlicher Datentypen verschachtelt werden. Die zu verschachtelnden Zwischenformatdateien werden für einen Compiler oder einen anderen Prozess gekennzeichnet, welcher die Endformatgeografische-Datenbank-Datei bildet. Die gekennzeichneten bzw. identifizierten Dateien sind Input für den Compiler oder ein anderes Programm oder Prozess. (In einer vorliegenden Ausführungsform empfängt der Compiler als Input auch die Schichten und Datentypen, die nicht verschachtelt werden.)
  • Wie in 21 dargestellt, wird dann beim Bilden der geografischen Datenbankdatei im Endformat der Teil der Datei, welcher verschachtelte Pakete unterschiedlicher Datentypen enthält, unter anderen Teilen enthalten sein, welche nicht verschachtelte Pakete enthalten, sofern vorhanden. Beispielsweise kann der Compiler die nicht verschachtelten Pakete und Streckenführungsdaten der Schicht 0 speichern, gefolgt von nicht verschachtelten Paketen von Streckenführungsschicht 1, usw. Wenn der Compiler zu einer verschachtelten Schicht gelangt (z.B. Streckenführungsdaten der Schicht n), sind sowohl die in Paketen angeordnete Zwischenformatdatei, welche Streckenführungsdaten der Schicht n enthält, und die in Paketen angeordnete Zwischenformatdatei, welche die abgekürzten Datensätze der Schicht 4 enthält, vorhanden. Beim Bilden der geografischen Datenbankdatei im Endformat wird die räumliche Organisation der Streckenführungsdaten und abgekürzten Datensätze in der verschachtelten Schicht beibehalten. Um das Beibehalten der räumlichen Organisation der Daten zu vereinfachen, wird während des Verschachtelungsprozesses ein kd-Baum verwendet. 23 zeigt einen kd-Baum, welcher die Pakete repräsentiert, die aus den Daten gebildet sind, welche innerhalb der rechteckigen Gebiete von 22 umfasst sind. In einer bevorzugten Ausführungsform wird ein kd-Baum während der Paketbildung der Streckenführungsdaten der Schicht 0 gebildet. Ein Eintrag oder Knoten im kd-Baum wird jedem "Schnitt" zugeordnet (d.h. Teilung) eines umfassenden rechteckigen Gebiets, welches gemacht wird, wenn individuell kleinere rechteckige Gebiete gebildet werden, die jedem der Pakete von Streckenführungsdaten der Schicht 0 zugeordnet sind. Jeder Blattknoten (d.h. ein Knoten mit keinem Kindknoten) des kd-Baums repräsentiert eines der Streckenführungspakete der Schicht 0. Ein Paket der Schicht 0 kann daher unter Verwendung dieses kd-Baums gefunden werden. (Eine Form des kd-Baums kann als eine Datei gespeichert werden und als Suchwerkzeug verwendet werden, um Daten räumlich innerhalb der Pakete zu bilden, wie dies für den Fachmann bekannt ist.) Jedes Paket (wie beispielsweise ein Paket höherer Schicht oder ein Paket von abgekürzten Datensätzen), welches gebildet ist, ohne alle für die Pakete der Schicht 0 notwendigen Schnitte zu machen, ist durch einen der internen Knoten des kd-Baums repräsentiert.
  • Der beim Paketbilden der Streckenführungsdaten der Schicht 0 gebildete kd-Baum kann auch verwendet werden, wenn die Pakete von Streckenführungsdaten und die Pakete von abgekürzten Datensätzen verschachtelt werden (wie in Schritt D in 21 dargestellt). Die rechteckigen Gebiete, welche den Paketen von Streckenführungsdaten der Schicht 4 zugeordnet sind und Pakete von abgekürzten Datensätzen müssen nicht notwendigerweise exakt die gleichen Grenzen aufweisen (d.h. in 22) wie die rechteckigen Gebiete, welche den Paketen von Streckenführungsdaten der Schicht 0 zugeordnet sind, die verwendet werden, um den kd-Baum zu bilden. Ferner müssen die rechteckigen Gebiete, welche den Paketen von abgekürzten Datensätzen zugeordnet sind, nicht notwendigerweise die exakt gleichen Grenzen aufweisen wie die rechteckigen Gebiete, welche den Paketen von Streckenführungsdaten der Schicht 4 zugeordnet sind. Die zum Bilden der Paketgrenzen der Streckenführungsschicht 4 und zum Bilden der abgekürzten Datensatzpaketgrenzen verwendeten Schnitte sind allerdings im kd-Baum enthalten, da diese Schnitte beim Prozess des Bildens der Streckenführungspakete der Schicht 0 erzeugt werden. Wenn diese unterschiedlichen Datentypen verschachtelt werden, kann der kd-Baum entsprechend verwendet werden, um die Pakete dieser unterschiedlichen Datentypen räumlich zu organsieren. Die Knoten des kd-Baums werden in einer Reihenfolge durchquert. Da in der Reihenfolge jeder der Knoten des kd-Baums angetroffen wird, wenn ein Streckenführungspaket der Schicht 4 oder ein abgekürztes Datensatzpaket durch den Schnitt gebildet ist, welcher dem kd-Baumknoten zugeordnet ist, wird das Paket (Streckenführung oder abgekürzter Datensatz oder beides) dem Teil der Endformatdatei hinzugefügt, welcher den Streckenführungsdaten der Schicht 4 entspricht. Beim Durchqueren des kd-Baums in der Reihenfolge können die Streckenführungspakete der Schicht 4 und abgekürzte Datensatzpakete, welche den gleichen geografischen Merkmalen zugeordnet sind, identifiziert und zusammengruppiert werden in dem Teil der Endformatdatei, welcher der Streckenführungsschicht 4 entspricht. Da die abgekürzten Datensätze die gleichen geografischen Merkmale wie die aggregierten Segmentdatensätze repräsentieren, welche sich auf sie beziehen, können auf diese Weise durch Verwenden der repräsentierten geografischen Merkmale die abgekürzten Segmentdatensätze nahe bei den aggregierten Segmentdatensätzen platziert werden, welche sich auf sie beziehen.
  • Nachdem die Streckenführungsdatenpakete und abgekürzten Datensatzpakete verschachtelt sind, können sie mit den Paketen von anderen Typen und Schichten in der Endformatdatei aneinander gereiht werden. Paketidentifikationsnummern werden zugewiesen und Paketreferenzen innerhalb jedes Pakets werden aktualisiert, sofern notwendig, um die Endformatdatei 912 zu bilden (in Schritt E von 21).
  • d) Alternative verschachtelte Ausführungsformen
  • Zum Zweck der oben beschriebenen Ausführungsform ist offenbart worden, dass Pakete, welche die abgekürzten Datensätze enthalten, in der gleichen Schicht verschachtelt werden können wie Pakete, welche andere Arten von Daten enthalten, wie beispielsweise Streckenführungsdaten einschließlich aggregierter Segmentdatensätze. Verschachteln von unterschiedlichen Datentypen kann auf andere Datentypen ausgeweitet werden. Irgendwelche zwei Arten von räumlich organisierten Daten können auf irgendeiner Ebene verschachtelt werden, um Vorteile für gewisse Navigationsfunktionen bereitzustellen. Beispielsweise können kartografische Daten mit Daten über interessante Punkte verschachtelt werden. In ähnlicher Weise können kartografische Daten mit Streckenführungsdaten verschachtelt werden. Ebenso können nicht räumlich organisierte Datentypen miteinander oder mit räumlich organisierten Datentypen verschachtelt werden.
  • In einer anderen Ausführungsform können Indexdateien gewisser Arten von Datentypen mit dem Datentyp verschachtelt werden, welcher indexiert ist.
  • In weiteren alternativen Ausführungsformen können Pakete unterschiedlicher Typen gemäß einer maßgeschneiderten Reihenfolge verschachtelt werden. Die maßgeschneiderte Reihenfolge kann durch eine arbiträre Funktion definiert sein, welche ein explizites Reihenfolge- bzw. Anordnungsmuster spezifiziert. Während der Bildung der Endformatdatei enthält der Compiler Instruktionen zusammen mit der Identifikation von den zwei oder mehr Pakettypen, welche verschachtelt werden sollen. Die Instruktionen spezifizieren das Muster und/oder die Reihenfolge für jedes Paket von jedem Typ. Der Compiler implementiert dann diese Reihenfolge, wenn die Pakete in der Endformatdatei verschachtelt werden.
  • V. WEITERE ALTERNATIVE AUSFÜHRUNGSFORMEN
  • Die zuvor beschriebenen Ausführungsformen repräsentieren nur spezifische Implementierungen der hierin offenbarten Erfindungskonzepte. Von verschiedenen anderen Implementierungen und alternativen Ausführungsformen wird gedacht, dass sie innerhalb des Bereichs der vorliegenden Offenbarung umfasst sind. In den offenbarten Ausführungsformen sind beispielsweise aggregierte Segmentdatensätze in höheren Schichten gespeichert, welche physikalisch unterschiedlich von der untersten Schicht von Daten sind (z.B. "Schicht 0"). In einer alternativen Ausführungsform können getrennte Schichten von Daten bereitgestellt werden, ohne physikalisch getrennte Schichten zu speichern. Die getrennten Schichten können stattdessen durch Unterdrücken gewisser Ränge von Daten während der Laufzeit der Navigationsfunktionen bereitgestellt sein.
  • Beim Verwenden der Unterdrückung von Rängen in dieser Art und Weise können einige oder alle der getrennten Schichten kombiniert werden, und Rangunterdrückung kann falls benötigt auch verwendet werden, um die Anzahl von Datensätzen zu reduzieren, welche geprüft werden sollen, anstelle des Bereitstellens getrennter Schichten.
  • In anderen alternativen Ausführungsformen können aggregierte Segmente und aggregierte Segmentdatensätze in verschiedener Art und Weise gebildet sein. In den offenbarten Ausführungsformen repräsentiert die Verwendung eines Rangattributs, welche getrennte Schichten definiert, eine Art, wie aggregierte Segmentdatensätze gebildet werden können. In alternativen Ausführungsformen können allerdings aggregierte Segmentdatensätze gebildet werden, ohne Rangattribute zu verwenden. Beispielsweise können aggregierte Segmente gebildet werden durch Berücksichtigung von Verkehrsmustern oder Fahrzeugverwendung.
  • In weiteren alternativen Ausführungsformen sollte das Navigationssystem auch dahingehend verstanden werden, dass es irgendein Computerbasiertes System enthält, welches Navigationsfunktionen für einen Endanwender bereitstellt, unabhängig von Hardwareplattform oder -architektur. Das Navigationssystem kann beispielsweise irgendeine Art von tragbarem System enthalten, einschließich Handheld-Systeme, Systeme, welche auf PDAs (Personal Digital Assistants) installiert sind, oder auf Notebook-Computern. In alternativen Ausführungsformen kann das Navigationssystem Navigationsapplikationssoftware enthalten, welche auf einem Personal Computer installiert ist, wie beispielsweise einem Desktop-Computer. Ferner kann das Navigationssystem in verschiedenen unterschiedlichen Umgebungen implementiert sein, einschließlich Netzwerkumgebungen und Client-Server-Plattform-Umgebungen. Das Navigations-Applikationsprogramm und die geografische Datenbank müssen nicht am gleichen Ort angeordnet sein, sondern können über ein Netzwerk verbunden sein. Die geografische Datenbank kann fern vom Endanwender angeordnet sein, und die Daten können zum Endanwender über eine drahtlose Kommunikationsverbindung übertragen werden.
  • In den oben beschriebenen Ausführungsformen wurden geografische Daten als in Paketen angeordnet beschrieben. Diese Datensätze können entweder komprimiert oder nicht komprimiert sein.
  • In den zuvor beschriebenen Ausführungsformen wurde eine gewisse Terminologie verwendet, um auf Komponenten, Datenstrukturen usw. im Navigationssystem, der Applikation und der Datenbank zu verweisen. Eine andere Terminologie kann verwendet werden, um diese Arten von Entitäten zu bezeichnen und es ist klar, dass es nicht beabsichtigt ist, dass der hierin offenbarte Inhalt auf irgendeine spezielle Terminologie beschränkt ist, welche ähnliche Konzepte ausdrückt.
  • Es ist beabsichtigt, dass die vorangegangene detaillierte Beschreibung eher illustrativ als einschränkend betrachtet wird, und dass es verstanden wird, dass die folgenden Ansprüche einschließlich aller Äquivalente den Bereich der Erfindung definieren sollen.

Claims (24)

  1. Verfahren zur Bildung einer geographischen Datenbank zur Verwendung in einem Navigationssystem, wobei die geographische Datenbank mehrere Datensätze enthält, die geographische Merkmale in einer geographischen Region repräsentieren, wobei das Verfahren die Schritte umfasst: Bereitstellen von Zwischenformat-Dateien unterschiedlicher Typen, welche wenigstens eine Zwischenformat-Datei von einem ersten Typ und eine Zwischenformat-Datei von einem zweiten Typ umfassen, wobei jede der Zwischenformat-Dateien mehrere Datensätzen enthält, die geographische Merkmale in der geographischen Region repräsentieren; Bilden von Paketen wenigstens aus der Zwischenformat-Datei vom ersten Typ und aus der Zwischenformat-Datei vom zweiten Typ, wobei der Paketbildungs-Schritt mehrere Pakete aus der Zwischenformat-Datei vom ersten Typ und mehrere Pakete aus der Zwischenformat-Datei vom zweiten Typ bildet, wobei jedes Paket mehrere Datensätze vom jeweiligen Typ enthält; und Verschachteln der Pakete vom ersten Typ und der Pakete vom zweiten Typ.
  2. Verfahren nach Anspruch 1, wobei die geographische Datenbank in mehreren getrennten Schichten geordnet wird, wobei jede Schicht eine getrennte Sammlung von auf einer funktionalen Klasse basierenden Datensätzen enthält.
  3. Verfahren nach Anspruch 2, wobei die Pakete vom ersten Typ und die Pakete vom zweiten Typ innerhalb einer der mehreren Schichten miteinander verschachtelt werden.
  4. Verfahren nach Anspruch 1, wobei die Datensätze in den Paketen vom ersten Typ Datensätze enthalten, welche Aggregationen von Straßensegmenten und diesen zugehörigen Streckenführungsmerkmalen repräsentieren, und wobei ferner die Datensätze in den Paketen vom zweiten Typ Straßensegmente repräsentieren, und wobei ferner jeder der Datensätze in den Paketen vom ersten Typ, welcher eine Aggregation von Straßensegmenten repräsentiert, einen Verweis zu denjenigen Datensätzen in den Paketen vom zweiten Typ enthält, welche die Straßensegmente repräsentieren, die der Datensatz im Paket vom ersten Typ in Aggregation repräsentiert.
  5. Verfahren nach Anspruch 1, wobei die mehreren Datensätze in jedem der durch den Paketbildungs-Schritt für jeden der Typen gebildeten Pakete geographische Merkmale repräsentieren, die innerhalb eines getrennten Gebiets einer Mehrzahl von rechteckigen Gebieten eingeschlossen sind, die zusammen die gesamte geographische Region einschließen.
  6. Verfahren nach Anspruch 1, ferner umfassend: Bildung eines kd-Baumes, um die Paket-Bildung einer der Zwischenformat-Dateien räumlich zu repräsentieren.
  7. Verfahren nach Anspruch 6, ferner umfassend: Verwenden des kd-Baumes beim Verschachteln, um eine Reihenfolge zu definieren, in welcher die Pakete vom ersten Typ und die Pakete vom zweiten Typ verschachtelt werden.
  8. Verfahren nach Anspruch 1, wobei die Pakete vom ersten Typ Datensätze enthalten, von denen jeder einen Verweis auf wenigsten einen Datensatz in den Paketen vom zweiten Typ enthält, und wobei der Verschachtelungsschritt ferner umfasst: Speichern jedes der Pakete, welches Datensätze vom zweiten Typ enthält, benachbart zu denjenigen Paketen, welche Datensätze vom ersten Typ enthalten, die Datensätze mit Verweisen zu den darin enthaltenen Datensätzen vom zweiten Typ enthalten.
  9. Verfahren nach Anspruch 1, wobei der Verschachtelungsschritt ferner das Abwechseln von einzelnen Paketen vom ersten Typ und von einzelnen Paketen vom zweiten Typ über eine ganze Schicht der geographischen Datenbank umfasst.
  10. Verfahren nach Anspruch 1, wobei der Verschachtelungsschritt zur Folge hat, dass die verschachtelten Pakete vom ersten Typ und Pakete vom zweiten Typ räumlich organisiert sind.
  11. Verfahren nach Anspruch 1, ferner umfassend den Schritt: Bereitstellen von Anweisungen, welche ein anwendungsspezifisches Anordnungsmuster zum Verschachteln der Pakete vom ersten Typ und der Pakete vom zweiten Typ angeben; und wobei der Verschachtelungschritt ferner umfasst: Verschachteln der Pakete vom ersten Typ und der Pakete vom zweiten Typ entsprechend dem anwendungsspezifischen Anordnungsmuster.
  12. Verfahren nach Anspruch 1, ferner umfassend den Schritt: nach dem Verschachteln der Pakete vom ersten Typ und der Pakete vom zweiten Typ Bilden einer Endformat-Datei mit den miteinander verknüpften Paketen vom ersten Typ und Paketen vom zweiten Typ.
  13. Geographische Datenbank zur Verwendung in einem Navigationssystem, umfassend: mehrere Datensätze von einem ersten Typ; mehrere Datensätze von einem zweiten Typ; wobei die mehreren Datensätze vom ersten Typ in mehreren Paketen organisiert sind, wobei jedes Paket mehrere Datensätze vom ersten Typ enthält; wobei die mehreren Datensätze vom zweiten Typ in mehreren Paketen organisiert sind, wobei jedes Paket mehrere Datensätze vom zweiten Typ enthält; und wobei die Pakete von Datensätzen vom ersten Typ mit den Paketen von Datensätzen vom zweiten Typ verschachtelt sind.
  14. Datenbank nach Anspruch 13, wobei die geographische Datenbank auf einem computerlesbaren Medium gespeichert ist.
  15. Datenbank nach Anspruch 13, wobei die geographische Datenbank in mehrere getrennte Schichten geordnet ist, wobei jede Schicht eine getrennte Sammlung von auf einer funktionalen Klasse basierenden Datensätzen enthält und wobei die Pakete von Datensätzen vom ersten Typ mit den Pakten von Datensätzen vom zweiten Typ innerhalb einer der mehreren Schichten verschachtelt sind.
  16. Datenbank nach Anspruch 13, wobei die Datensätze in den Paketen vom ersten Typ Datensätze enthalten, welche Aggregationen von Straßensegementen und diesen zugehörigen Streckenführungsmerkmalen repräsentieren, und wobei ferner die Datensätze in den Paketen vom zweiten Typ Straßensegemente repräsentieren.
  17. Datenbank nach Anspruch 16, wobei jeder Datensatz in den Paketen vom ersten Typ, der eine Aggregation von Straßensegmenten repräsentiert, einen Verweis auf diejenigen Datensätze in den die Straßensegmente repräsentierenden Paketen vom zweiten Typ enthält, die der Datensatz im Paket vom ersten Typ in Aggregation repräsentiert.
  18. Datenbank nach Anspruch 17, wobei die geographische Datenbank in mehrere getrennte Schichten geordnet ist, wobei jede Schicht eine getrennte Sammlung von auf einer funktionalen Klasse basierenden Datensätzen enthält, und wobei die Pakete der Datensätze vom ersten Typ mit den Paketen von Datensätzen vom zweiten Typ innerhalb einer der mehreren Schichten verschachtelt sind.
  19. Datenbank nach Anspruch 13, wobei die Pakete von Datensätzen vom ersten Typ und die Pakete von Datensätzen vom zweiten Typ räumlich organisiert sind.
  20. Datenbank nach Anspruch 13, wobei jedes von wenigstens einem der Pakete von Datensätzen vom zweiten Typ benachbart ist zu wenigstens einem der Pakete von Datensätzen vom ersten Typ, die die gleichen geographischen Merkmale repräsentieren.
  21. Datenbank nach Anspruch 20, wobei die Datensätze in den Paketen vom ersten Typ Datensätze enthalten, welche Aggregationen von Straßensegmenten und diesen zugehörigen Streckenführungsmerkmalen repräsentieren, und wobei ferner die Pakete vom zweiten Typ Datensätze enthalten, die abgekürzte Repräsentationen von Straßensegmenten enthalten, und wobei ferner jeder der Datensätze in den Paketen vom ersten Typ, welcher eine Aggregation von Straßensegmenten repräsentiert, einen Verweis auf diejenigen Datensätze in den Paketen vom zweiten Typ enthält, welche die Straßensegmente repräsentieren, die der Datensatz im Paket vom ersten Typ in Aggregation repräsentiert.
  22. Datenbank nach Anspruch 21, wobei jeder der Datensätze in den Paketen vom zweiten Typ, welche abgekürzte Repräsentationen von Straßensegmenten enthalten, einen Verweis auf einen Datensatz in einem Paket vom ersten Typ enthält, der eine nicht abgekürzte Repräsentation desselben Straßensegments enthält.
  23. Datenbank nach Anspruch 13, wobei die Pakete, welche Datensätze vom ersten Typ enthalten, Datensätze enthalten, von denen jeder einen Verweis auf wenigstens einen Datensatz in einem Paket enthält, welches Datensätze vom zweiten Typ enthält, und wobei jedes der Datensätze vom zweiten Typ enthaltenden Pakete benachbart zu den Datensätze vom ersten Typ enthaltenden Paketen angeordnet ist, welche Verweise auf dieses Paket vom zweiten Typ enthalten.
  24. Datenbank nach Anspruch 13, wobei die Datensätze in den Paketen vom ersten Typ Datensätze enthalten, die kartographische Merkmale und diesen zugehörige Anzeigemerkmale repräsentieren, und wobei ferner die Datensätze in den Paketen vom zweiten Typ Punkte von Bedeutung und diesen zugehörige Merkmale repräsentieren.
DE69926284T 1998-03-16 1999-03-12 Verschachtelung von Datentypen in einer geographischen Datenbank und ihr Verwendungsverfahren in einer Navigationsanwendung Expired - Lifetime DE69926284T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39586 1998-03-16
US09/039,586 US6112200A (en) 1998-03-16 1998-03-16 Interleaving of data types in a geographic database and methods for application

Publications (2)

Publication Number Publication Date
DE69926284D1 DE69926284D1 (de) 2005-09-01
DE69926284T2 true DE69926284T2 (de) 2006-05-24

Family

ID=21906265

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69926284T Expired - Lifetime DE69926284T2 (de) 1998-03-16 1999-03-12 Verschachtelung von Datentypen in einer geographischen Datenbank und ihr Verwendungsverfahren in einer Navigationsanwendung

Country Status (4)

Country Link
US (1) US6112200A (de)
EP (1) EP0943894B1 (de)
JP (1) JP4498486B2 (de)
DE (1) DE69926284T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1439372A1 (de) * 1996-11-25 2004-07-21 Toyota Jidosha Kabushiki Kaisha Fahrzeugnavigationsvorrichtung und Vorbereitung von Strassenformdaten die für die Vorrichtung verwendet werden
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6473770B1 (en) * 1998-03-16 2002-10-29 Navigation Technologies Corp. Segment aggregation and interleaving of data types in a geographic database and methods for use thereof in a navigation application
JP3514626B2 (ja) * 1998-04-14 2004-03-31 インクリメント・ピー株式会社 ルート情報提供システム及びそれに用いるwwwサーバ、並びに、ルート情報提供方法及びそれに用いるwwwサーバ
US6343301B1 (en) * 1999-02-24 2002-01-29 Navigation Technologies Corp. Method and system for collecting data for updating a geographic database
DE60020372T2 (de) * 1999-06-24 2006-01-26 Telia Ab Kartendienst
US6324470B1 (en) * 2000-03-07 2001-11-27 Navigation Technologies Corporation Method and system for representing restricted driving maneuvers
US6587787B1 (en) * 2000-03-15 2003-07-01 Alpine Electronics, Inc. Vehicle navigation system apparatus and method providing enhanced information regarding geographic entities
US6829690B1 (en) * 2000-05-23 2004-12-07 Navteq North America, Llc Method and system for accessing spatially organized geographic data in blocks
US6591270B1 (en) * 2000-07-28 2003-07-08 Navigation Technologies Corporation Method for organizing map data
US6772142B1 (en) * 2000-10-31 2004-08-03 Cornell Research Foundation, Inc. Method and apparatus for collecting and expressing geographically-referenced data
US6421602B1 (en) * 2001-01-03 2002-07-16 Motorola, Inc. Method of navigation guidance for a distributed communications system having communications nodes
US6650326B1 (en) 2001-01-22 2003-11-18 Navigation Technologies Corp. Method of handling context during scaling with a map display
US6571169B2 (en) * 2001-03-16 2003-05-27 Alpine Electronics, Inc. Destination input method in navigation system and navigation system
US6691128B2 (en) * 2001-04-19 2004-02-10 Navigation Technologies Corp. Navigation system with distributed computing architecture
US6704645B1 (en) 2001-12-11 2004-03-09 Garmin Ltd. System and method for estimating impedance time through a road network
US6574553B1 (en) 2001-12-11 2003-06-03 Garmin Ltd. System and method for calculating a navigation route based on adjacent cartographic map databases
US7283905B1 (en) 2001-12-11 2007-10-16 Garmin Ltd. System and method for estimating impedance time through a road network
US6574554B1 (en) 2001-12-11 2003-06-03 Garmin Ltd. System and method for calculating a navigation route based on non-contiguous cartographic map databases
US6545637B1 (en) 2001-12-20 2003-04-08 Garmin, Ltd. Systems and methods for a navigational device with improved route calculation capabilities
US6581003B1 (en) * 2001-12-20 2003-06-17 Garmin Ltd. Systems and methods for a navigational device with forced layer switching based on memory constraints
US6999873B1 (en) 2001-12-21 2006-02-14 Garmin Ltd. Navigation system, method and device with detour algorithm
US6975940B1 (en) 2001-12-21 2005-12-13 Garmin Ltd. Systems, functional data, and methods for generating a route
US7184886B1 (en) 2001-12-21 2007-02-27 Garmin Ltd. Navigation system, method and device with detour algorithm
US6892135B1 (en) 2001-12-21 2005-05-10 Garmin Ltd. Navigation system, method and device with automatic next turn page
US6909965B1 (en) 2001-12-28 2005-06-21 Garmin Ltd. System and method for creating and organizing node records for a cartographic data map
US6937936B2 (en) * 2002-04-25 2005-08-30 Aisin Aw Co., Ltd. Navigation system
US7082443B1 (en) 2002-07-23 2006-07-25 Navteq North America, Llc Method and system for updating geographic databases
US6836781B2 (en) * 2002-09-16 2004-12-28 Navteq North America, Llc Method for streamlined representation of roads in a geographic database
US6782319B1 (en) * 2002-11-26 2004-08-24 Navteq North America, Llc Method for organizing map data
US7805317B2 (en) 2005-03-03 2010-09-28 Navteq North America, Llc Method of organizing map data for affinity relationships and application for use thereof
EP1785696B1 (de) * 2005-11-09 2011-10-05 Harman Becker Automotive Systems GmbH Bestimmung einer optimalen Route mit Karten-Kacheln
US7925320B2 (en) 2006-03-06 2011-04-12 Garmin Switzerland Gmbh Electronic device mount
DE102006013388A1 (de) * 2006-03-23 2007-09-27 Robert Bosch Gmbh Verfahren zum Betrieb eines Navigationssystems
KR100796045B1 (ko) * 2007-02-08 2008-01-21 (주)올라웍스 디지털 데이터에 대한 지오 태깅 방법 및 이를 위한 지리적명칭 정보 제공 방법
US8725407B2 (en) 2009-11-09 2014-05-13 United Parcel Service Of America, Inc. Enhanced location information for points of interest
WO2013072749A1 (en) * 2011-11-17 2013-05-23 Your Earth Share B.V. System and method for preserving land through an independent trust organization
US10730626B2 (en) 2016-04-29 2020-08-04 United Parcel Service Of America, Inc. Methods of photo matching and photo confirmation for parcel pickup and delivery
WO2017204998A2 (en) 2016-04-29 2017-11-30 United Parcel Service Of America, Inc. Unmanned aerial vehicle pick-up and delivery systems
US10775792B2 (en) 2017-06-13 2020-09-15 United Parcel Service Of America, Inc. Autonomously delivering items to corresponding delivery locations proximate a delivery route

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8602654A (nl) * 1986-10-23 1988-05-16 Philips Nv Werkwijze voor het in kavels verdelen en in een massageheugen bitsgewijs opslaan van een gegevensbestand, alsook voor het adresseren van een kavel, en inrichting voor het uitvoeren van de werkwijze.
DE3719017A1 (de) * 1987-06-06 1988-12-15 Bosch Gmbh Robert Verfahren und vorrichtung zur bestimmung einer fahrtroute zwischen einem startpunkt und einem zielpunkt
US4972319A (en) * 1987-09-25 1990-11-20 Delorme David M Electronic global map generating system
JP2812361B2 (ja) * 1987-11-24 1998-10-22 住友電気工業株式会社 車載型ナビゲーションシステム
DE3853719T2 (de) * 1987-12-28 1995-10-05 Aisin Aw Co Wegsuchverfahren für navigationssystem.
JP2680318B2 (ja) * 1987-12-28 1997-11-19 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置
JP2659742B2 (ja) * 1988-03-02 1997-09-30 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置
US5031104A (en) * 1988-12-05 1991-07-09 Sumitomo Electric Industries, Ltd. Adaptive in-vehicle route guidance system
US5036471A (en) * 1989-04-18 1991-07-30 Sanyo Electric Co., Ltd. Apparatus for road path searching applicable to car navigation system and operation method thereof
US5440730A (en) * 1990-08-09 1995-08-08 Bell Communications Research, Inc. Time index access structure for temporal databases having concurrent multiple versions
DE69131270T2 (de) * 1990-10-01 1999-12-02 Mannesmann Vdo Ag Verfahren zur Speicherung eines topologischen Netzwerkes und Verfahren und Geräte, um eine Reihe von 1-Zellen zu identifizieren
JP2874397B2 (ja) * 1991-03-19 1999-03-24 松下電器産業株式会社 経路選出装置
US5285391A (en) * 1991-08-05 1994-02-08 Motorola, Inc. Multiple layer road memory storage device and route planning system
US5515284A (en) * 1991-09-25 1996-05-07 Zexel Corporation Storage medium for map information for navigation system and system for offering map information for navigation system
DE69214092T2 (de) * 1991-10-29 1997-04-03 Philips Electronics Nv Navigationseinrichtung und Auto mit einer derartigen Einrichtung
JPH05341711A (ja) * 1992-06-11 1993-12-24 Nippondenso Co Ltd 車載用画像表示装置
JPH0727568A (ja) * 1993-07-09 1995-01-27 Zanabui Informatics:Kk 経路誘導装置および経路探索方法
US5408597A (en) * 1993-07-29 1995-04-18 Digital Equipment Corporation Method and apparatus for schematic routing
JPH07249190A (ja) * 1994-03-08 1995-09-26 Mitsubishi Electric Corp 移動体用ディスク記録再生装置
US5519619A (en) * 1994-03-14 1996-05-21 Motorola, Inc. Route planning method for hierarchical map routing and apparatus therefor
US5528501A (en) * 1994-03-28 1996-06-18 At&T Corp. System and method for supplying travel directions
JP3355804B2 (ja) * 1994-08-30 2002-12-09 株式会社デンソー 車両用道路地図表示装置
JPH0895489A (ja) * 1994-09-28 1996-04-12 Sumitomo Electric Ind Ltd 地図データ記憶装置
JP2746163B2 (ja) * 1995-01-06 1998-04-28 住友電気工業株式会社 地図データ読出装置
JPH08262975A (ja) * 1995-03-28 1996-10-11 Pioneer Electron Corp 車載ナビゲーション装置
US5710915A (en) * 1995-12-21 1998-01-20 Electronic Data Systems Corporation Method for accelerating access to a database clustered partitioning
US5893898A (en) * 1996-07-30 1999-04-13 Alpine Electronics, Inc. Navigation system having intersection routing using a road segment based database

Also Published As

Publication number Publication date
DE69926284D1 (de) 2005-09-01
EP0943894A2 (de) 1999-09-22
EP0943894B1 (de) 2005-07-27
EP0943894A3 (de) 2003-01-22
US6112200A (en) 2000-08-29
JP4498486B2 (ja) 2010-07-07
JPH11327435A (ja) 1999-11-26

Similar Documents

Publication Publication Date Title
DE69926284T2 (de) Verschachtelung von Datentypen in einer geographischen Datenbank und ihr Verwendungsverfahren in einer Navigationsanwendung
DE69736082T2 (de) Vorrichtung und Verfahren zum Speichern von geographischen Daten auf einem physikalischen Speichermedium
DE60028143T2 (de) Verfahren zur Erzeugung einer durch ein Navigationssystem berechneten Vorschauroute
DE69828339T2 (de) Programm zum Erzeugen von Manövern
US6507850B1 (en) Segment aggregation and interleaving of data types in a geographic database and methods for use thereof in a navigation application
DE69629451T2 (de) Routensuchvorrichtung für Fahrzeuge
DE69735387T2 (de) Vorrichtung zum Suchen einer Route
DE60215988T2 (de) Spracherkennung mit geographisch erzeugter Wortliste
DE60209448T2 (de) Verfahren und System zur dynamischen Einordnung beweglicher Objekte
DE19547253B4 (de) Fahrzeug-Innennavigationsgerät
EP0798540B1 (de) Verfahren zur Referenzierung von ortsfesten Objekten
DE60316937T2 (de) Verfahren zum Verarbeiten von digitalen Kartendaten
EP2507589B1 (de) Verfahren zur vereinfachung einer beschreibung einer fahrtroute
DE69937116T2 (de) Abkürzungsgenerator
DE60132243T2 (de) Verfahren zum indizieren von entitäten
DE102011003162A1 (de) Elektrische Vorrichtung zum Ausführen eines Prozesses auf der Grundlage von Kartendaten
DE112005001300T5 (de) Verfahren zur Bereitstellung von Kartendaten
DE102011003165A1 (de) Kartendatensatz, Navigationsvorrichtung mit Kartendatensatz und Verfahren zum Erzeugen eines Kartendatensatzes
DE69924249T2 (de) Verfahren zum herstellen eines speichermediums mit einer karte
WO2009149704A1 (de) Verfahren und vorrichtung zur berechnung einer navigationsroute zu zusammenhängenden zielpunkten
EP1423661A1 (de) Verfahren zum ermitteln von routen und darauf bezogenes navigationssystem
EP1027578B1 (de) Verfahren und anordnung zur rechnergestüzten bearbeitung eines graphen
EP1526358B1 (de) Verfahren zur Zerlegung eines Strassennetzes aus Kanten und Knoten
EP1301756B1 (de) Verfahren und anordnung zur codierung, zur decodierung und/oder zur übertragung von ortsinformationen
DE112012005733B4 (de) Kartendatenstruktur, Kartendatenerstellungsverfahren und Bordinformationsterminal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition