-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf Navigationssysteme und insbesondere
auf geographische Datensätze
zur Verwendung in Navigationssystemen.
-
Computerbasierte
Navigationssysteme zur Verwendung auf Land sind in einer Vielzahl
von Formen verfügbar
und stellen eine Vielzahl nützlicher Merkmale
zur Verfügung.
Ein beispielhafter Typ eines Navigationssystems verwendet (1)
einen oder mehrere detaillierte Datensätze, die einen oder mehrere
geographische Bereiche oder Regionen darstellen, (2) ein
Navigationsanwendungsprogramm, (3) geeignete Computerhardware,
wie zum Beispiel einen Mikroprozessor, Speicher und Datenspeicher und
(4) optional ein Positionsbestimmungssystem.
-
1 zeigt
eine Darstellung, die eine Konfiguration eines beispielhaften Navigationssystems 10 veranschaulicht.
Das Navigationssystem 10 ist eine Kombination von Hardware-
und Softwarekomponenten, die in verschiedenen unterschiedlichen
Arten von Umgebungen oder auf unterschiedlichen Plattformen implementiert
werden können.
Das Navigationssystem 10 kann sich beispielsweise in einem
Automobil 12 befinden. In einer beispielhaften Ausführungsform
umfasst das Navigationssystem 10 geeignete Hardware 14,
die ein GPS-System 16 umfassen kann, eine Antenne 18,
Sensoren 20, die gekoppelt sind, um die Fahrzeuggeschwindigkeit
und die zurückgelegte
Strecke wahrzunehmen, und einen Kompass 22, um die Fahrzeugrichtung
wahrzunehmen. Zusätzlich
umfasst das Navigationssystem einen geeigneten Computer 24,
der eine CPU 26 und einen Speicher 28 sowie andere
geeignete Hardware umfasst.
-
Ein
Laufwerk 30 (oder ein anderes geeignetes Peripheriegerät), in das
ein Datenspeicherungsmedium 32 eingebracht werden kann,
ist als Teil des Navigationssystems 10 inbegriffen. Ein
oder mehr geographische Datensätze 34 werden
auf dem Speicherungsmedium 32 gespeichert. In einer Ausführungsform
ist das Speichermedium 32 eine CD-ROM Disk. In einer weiteren
alternativen Ausführungsform kann
das Speichermedium 32 eine PCMCIA-Karte sein, wobei in
diesem Fall das Laufwerk 30 durch einen PCMCIA-Einschub
ersetzt wäre.
Verschiedene andere Speichermedien können verwendet werden, einschließlich Fest-
oder Magnetplatten, DVD's
(digitale Video-Disks) oder anderer zur Zeit verfügbarer Speichermedien
sowie Speichermedien, die eventuell in Zukunft entwickelt werden.
Die hier offengelegten Ausführungsformen
können,
wie später
erklärt wird,
in anderen Typen von Navigationssystemen verwendet werden.
-
Das
Navigationssystem 10 umfasst auch eine Benutzerschnittstelle 40,
die mit dem Computer 24 verbunden ist. Die Benutzerschnittstelle 40 umfasst
geeignete Mittel zum Empfangen von Anweisungen und Eingaben von
einem Endbenutzer sowie Mittel, um Informationen zum Endbenutzer
zurück
zu liefern. Die Benutzerschnittstelle 40 kann beispielsweise
ein Eingabepult oder eine Tastatur umfassen, über die ein Endbenutzer eine
Auswahl eines Zielortes angeben kann. Die Benutzerschnittstelle 40 kann auch
ein Display oder Lautsprecher (einschließlich Sprachsynthese-Hardware
und Software) umfassen, wodurch der Benutzer über Navigationsinformationen
in Kenntnis gesetzt werden kann. Die Benutzerschnittstelle 40 kann
für visuelle
Navigationsinformationen Merkmale zur Verfügung stellen, die es dem Benutzer
erlauben, eine Darstellung eines bestimmten geographischen Bereich
zu verkleinern oder zu vergrößern, um
abwechselnd einen größeren geographischen
Bereich oder detailliertere geographische Informationen anzuzeigen.
-
Das
Positionsbestimmungssystem kann jede einiger weithin bekannter Technologien
einsetzen, um die physikalische Positionen des Endbenutzers in einer
geographischen Region zu ermitteln oder anzunähern. Das Positionsbestimmungssystem
kann beispielsweise ein GPS-System (globales Positionsbestimmungssystem)
sein, ein Koppelnavigations-System oder Kombinationen dieser oder
anderer Systeme, die alle im Stand der Technik weithin bekannt sind.
-
Alle
oben beschriebenen Komponenten können
konventionell (oder anders als konventionell) sein, und die Herstellung
und die Verwendung dieser Komponenten sind dem Fachmann bekannt.
-
Das
Navigationssystem 10 umfasst eine weitere Datenspeicherungseinrichtung 36 (oder
ROM), die verwendet wird, um ein Navigationsanwendungsprogramm 38 zu
speichern. (Andererseits kann das Anwendungsprogramm 38 auf
der gleichen Speichervorrichtung oder dem gleichen Medium 32 zur Verfügung gestellt
werden, wie die geographischen Datensätze 34.) Das Navigationsanwendungsprogramm 38 ist
ein Software-Programm, das den geographische Datensatz 34 und
das Positionsbestimmungssystem (wenn es eingesetzt wird) verwendet. Das
Navigationsanwendungsprogramm 38 kann separate Anwendungen
(oder Unterprogramme) umfassen. Diese Unterprogramme liefern verschiedene Navigationsmerkmale
zum Endbenutzer des Navigationssystems 10. Diese Merkmale
können
Wegberechnungsfunktionen umfassen, Ausweichmanövererzeugungsfunktionen, Kartendarstellungsfunktionen,
Fahrzeugpositionsbestimmungsfunktionen, Zielortauflösungsfähigkeiten
und so weiter. Die Navigationsmerkmale werden dem Endbenutzer (beispielsweise
dem Fahrer) mittels der Benutzerschnittstelle 40 zur Verfügung gestellt.
Das Navigationsanwendungsprogramm 38 kann in einer geeigneten Computerprogrammiersprache
wie beispielsweise C geschrieben sein, obgleich andere Programmiersprachen
ebenfalls geeignet sind.
-
Bei
einer typischen Verwendung des Navigationssystem 10 von 1 wird
das Navigationsanwendungsprogramm 38 vom ROM 6 in
den dem Prozessor 26 zugeordneten Speicher 28 geladen.
Der Computer 24 empfängt
eine Eingabe von der Benutzerschnittstelle 40. Die Eingabe
kann eine Anfrage nach Navigationsinformationen umfassen. Der Computer 24 erhält Informationen
von der Positionsbestimmungssystem-Hardware 14. Die Informationen von
den Hardware 14 werden von der Navigationsanwendersoftware 38 verwendet,
um den Standort, die Richtung, die Geschwindigkeit etc. des Fahrzeugs 12 zu
bestimmen. Das Navigationsanwendungsprogramm 38 kann dem
Endbenutzer eine graphischen Anzeige (beispielsweise einer "Karte") des spezifischen
Standorts des Endbenutzers in der geographischen Region liefern.
Zusätzlich
kann das Navigationsanwendungsprogramm den Endbenutzer mit spezifischen
Wegbeschreibungen versorgen ausgehend von einem beliebigen Ort,
an dem sich der Endbenutzer befindet, zu Orten im geographischen
Gebiet.
-
Um
diese verschiedenen Navigationsanwendungsmerkmale zur Verfügung zu
stellen, verwendet das Navigationssystem 10 die geographischen
Daten 34, die auf dem Speichermedium 32 gespeichert sind,
auf Wunsch in Verbindung mit der Ausgabe der Positionsbestimmungssystem-Hardware 14.
Die geographischen Daten 34 können in Form von einer oder
mehreren computerlesbaren Dateien oder Datenbanken vorliegen, die
es dem Navigationsanwendungsprogramm 38 ermöglichen,
die unterstützten Merkmale
zur Verfügung
zu stellen. Beispielsweise können
die geographischen Daten 34 Wegberechnungsdaten umfassen,
die die Positionen von Straßen
und Kreuzungen in der geographischen Region, Informationen über Einbahnstraßen, Wendeverbote, Stoppzeichen,
Ampeln, Geschwindigkeitsbeschränkungen
und so weiter umfassen, um die Berechnung eines Weges zwischen zwei
Orten in der geographischen Region zu ermöglichen.
-
Wenn
eine Kartendarstellungsfunktion mit dem Navigationssystem durchführt wird,
werden die Größen, Formen
und relativen Positionen von geographischen Merkmalen in einem Teil
einer geographischen Region auf dem Display der Benutzerschnittstelle 40 dargestellt.
Diese geographischen Merkmale können
Straßen,
Kreuzungen und Sehenswürdigkeiten
umfassen, sowie andere Merkmale, wie Seen, Bahngleise, Gebäude, Flughäfen, Stadien,
Parks, Bergketten, Hafenanlagen, Fähren, Tunnels, Brücken und
so weiter. Um diese Kartendarstellungsfunktion zur Verfügung zu
stellen, kann der geographische Datensatz 34 kartographische
Daten umfassen, die es dem Navigationsanwendungsprogramm 38 ermöglichen
Karten anzuzeigen, welche die Größe, Form,
Position und den Charakter dieser verschiedenen geographischen Merkmale
auf einem angeschlossenen Anzeigegerät darstellen. Zoomen und Verschieben
der angezeigten Bereiche kann ebenfalls unterstützt werden.
-
2 zeigt
eine Darstellung, die eine beispielhafte Konfiguration eines kartographischen
Datensatzes 34 (carto) veranschaulicht, der zur Kartendarstellung
verwendet wird. Der Datensatz 34 (carto) gehört zum geographischen
Datensatz 34 von 1, der andere
Arten von Datensätzen
umfassen kann, die zur Wegberechnung, Ausweichmanövererzeugung
und für
andere Navigationsfunktionen verwendet werden. In 2 umfasst
der Datensatz 34 (carto) eine (Teil-)Menge 42 der
Straßensegmentdateneinheiten,
beispielsweise seg(1), seg(2), ..., seg(n). Jede Straßensegmentdateneinheit
stellt einen Streckenabschnitt in der geographischen Region dar.
Jeder Straßensegmentdateneinheitsaufzeichnung seg()
sind Daten (wie Knotenpunkte und Eigenschaften 46(1), 46(2),
..., 46(n)) zugeordnet, was das Darstellen der entsprechenden
dargestellten Straßenabschnitte
auf dem Computeranzeigegerät
erleichtert. Die Straßensegmentdateneinheiten
seg(1), seg(2),..., seg(n) können
unter Verwendung von beim Datenbankaufbau verwendeten Standarddatenstrukturen
implementiert werden.
-
3 zeigt
eine Kartendarstellung, die einen Teil der geographischen Region
darstellt, der durch den geographischen Datensatz 34 repräsentiert
wird. Dieser Teil zeigt sowohl gerade 52S1, 52S2 als
auch anders-als-gerade (beispielsweise kurvige) 52C Strecken.
Zum Zwecke der Speicherung der zum Anzeigen dieses Teils der geographischen
Region notwendigen Informationen, werden Knotenpunkte entlang der
Strecken identifiziert. Knoten werden identifiziert, wo sich zwei
Straßen
schneiden, oder wo sich irgendein einem Streckenabschnitt zugeordnetes Merkmal ändert, wie
beispielsweise, wenn eine Straße
in einen Schulbereich hineinführt
und sich die Geschwindigkeitsbegrenzung ändert. Im Datensatz 34 ist
jede der Straßensegmenteinheitsaufzeichnungen zwei
Knotenpunkten (und/oder den geographisch Koordinaten der Knotenpunkte)
assoziiert, die den Positionen der Endpunkte des durch die Straßensegmenteinheitsaufzeichnungen
repräsentierten
Streckenabschnitts, wie bei 46() in 2 veranschaulicht,
entsprechen. Eine weitere zur Darstellung des Streckenabschnitts
notwendige Information ist ebenfalls mit der Straßensegmenteinheitsaufzeichnungen im
kartographisch Datensatz 34 (carto) assoziiert, wie auch
bei 46() in 2 veranschaulicht.
-
Für gerade
Straßenabschnitte,
beispielsweise 52S1, 52S2 in 3,
kann das Aufzeichnen der Form eines Straßenabschnitts durch Erzeugen
einer Geraden vorgenommen werden, welche die Endpunkte (d.h., die
Knotenpunkte) verbindet, die durch die den Straßenabschnitt repräsentierende
Segmentdateneinheitaufzeichnung festgelegt sind. Wenn jedoch der
Straßenabschnitt
anders-als-gerade ist, ist gefordert, dass die geographische Datenbank
zusätzliche
Informationen umfasst, um die Gestalt des Straßenabschnitts anzuzeigen.
-
In
der Karte von 3 ist der durch seg(m) repräsentierte
kurvige Straßenabschnitt 52C1 dargestellt,
welcher durch LN(m) und RN(m) repräsentierte Endpunkte aufweist. 4 zeigt
eine Darstellung eines Straßensegmentdatensatzes
seg(m) im Datensatz 34 (carto), der verwendet wird, um
den kurvigen Straßenabschnitt 52C1 in 3 darzustellen.
Den Straßensegmentdateneinheiten
seg(m) sind Knotenpunktdaten 48 zugeordnet, welche die
Breitengrad- und der Längengrad-Koordinatenpositionen
der beiden Endpunkte LN(m) und RN(m) des dargestellten Straßenabschnitts 52C1 umfassen.
In einer bekannten geographischen Datenbank für ein Navigationssystem werden.
kurvige geographische Merkmale durch Gestalt-Punkte dargestellt. 3 zeigt
beispielhaft Gestalt-Punkte SP(m)(1), SP(m)(2), SP(m)(3) und SP(m)(n),
die entlang des durch die Dateneinheit seg(m) dargestellten Straßenabschnitts 52C1 angeordnet
sind. Der geographische Datensatz 34 speichert bei Verwendung
dieser Methode zusätzlich
zu den Knotenpunktdaten auch diesen Gestalt-Punkten entsprechende
Daten, die entlang des kurvigen geographischen Merkmals fallen.
In 4 ist die Straßensegmentdateneinheit seg(m) den
Gestalt-Punkten 50 (SP(m)(1), SP(m)(2),..., SP(m)(n)) zugeordnet,
welche Breitengrad- und Längengrad-Koordinaten
für jeden
entlang des kurvigen Straßenabschnitts 52C1 gelegenen
Gestalt-Punkt speichert. Diese Gestalt-Punkte werden aus verschiedenen
Gründen
in der geographischen Datenbank und durch die sie verwendende Navigationsanwendung
verwendet. Beispielsweise werden Gestalt-Punkte verwendet, um die kurvige Gestalt
des dargestellten Straßenabschnitts
auf der Computeranzeige anzunähern.
Das kurvige geographische Merkmal wird auf der Anzeige durch das
Ziehen einer Geraden von Gestalt-Punkt zu Gestalt-Punkt dargestellt,
wobei bei den Endpunkten begonnen und geendet wird. Die Zahl von
zwischen einem gegebenen Satz von Endpunkten gespeicherten Gestalt-Punkten hängt ab von
der Form der Kurve und von der bei der reproduzierten Anzeige gewünschten
Genauigkeit oder Auflösung.
Gestalt-Punkte werden durch die Navigationsanwendung auch zur Fahrzeugpositionsbestimmung
entlang kurviger Straßenabschnitte
verwendet, wobei Genauigkeit wichtig ist. (Obgleich die Terminologie "Gestalt-Punkt" in dieser Spezifikation verwendet
wird, ist es selbstverständlich,
dass eine andere Terminologie verwendet werden kann, um sich auf
eines zu beziehen.)
-
Die
oben gegebene Beschreibung bezieht sich auf das Darstellen der anders-alsgeraden
Streckenabschnitte. Ähnliche Überlegungen
treffen auf das Darstellen anderer geographischer Merkmale in Form
von Linien oder Polygonen zu, wie beispielsweise von Teichen, Eisenbahnschienen,
Gebäuden, Flughäfen, Stadien,
Parks, Gebirgszügen,
Hafenanlagen, Fähren,
Tunnel, Brücken
und so weiter. Gestalt-Punkte werden entlang der Länge oder
entlang von Grenzen dieser Art von geographischen Merkmalen ausgewählt, gespeichert
und dazu verwendet, um das Merkmal auf einem Computerdisplay darzustellen.
-
Während die
Verwendung von Gestalt-Punkten zur Darstellung der Gestalt eines
anders-als-geraden geographischen Merkmals den Vorteil hat, dass
es begrifflich verhältnismäßig einfach
ist, damit bei einer Datenbankentwicklung zu arbeiten, bereitet das
Kompilieren, der Zugriff und die Anzeige-Software einige Schwierigkeiten.
Das Speichern dieser zusätzlichen
Daten zum Anzeigen von anders-als-geraden geographischen Merkmalen
erhöht
die Datenspeicheranforderungen der geographischen Datensätze. Sogar
mit bescheidenen Genauigkeitsanforderungen können fünf bis zehn Prozent jeder Datenbank
für Gestalt-Punktdaten
reserviert sein. Außerdem
erhöht
sich dieser Prozentsatz direkt proportional zu jeglicher Zunahme
der Genauigkeitsanforderungen. Da außerdem Gestalt-Informationen
einen viel größeren Prozentsatz
jener geographischen Daten-Untermengen
darstellen, die zur Kartendarstellung verwendet werden, und um auf
die Position des Fahrzeugs zu schließen, ist die negative Auswirkung auf
die RAM-Speichergrößeanforderungen
und die Datenbank-Lesezeit im Verhältnis sogar noch größer.
-
Die
Europäische
Patentanmeldung
EP 0807803 legt
eine Straßenkarten-Informations-Ausleseeinrichtung
offen, ein Aufzeichnungsmedium und ein Übertragungsverfahren, wobei
eine Reduktion der Menge an aufgezeichneten Informationen erzielt wird,
indem Kartendaten in Gruppen einstuft werden, und die Verwendung
von B-Spline-Kurven wird diskutiert. B-Spline-Kurven werden ferner
in US5566288 diskutiert. Ein Fahrzeugnavigationssystem, das den Krümmungsradius
(oder den Kehrwert davon) verwendet, um kurvige Kartenmerkmale zu
definieren, ist in
EP0394517 offengelegt.
-
Dementsprechend
besteht eine Notwendigkeit, in den Navigationssystemen eine Methode
zum Darstellen und zum Speichern der geographischen Merkmal-Informationen derart
zur Verfügung
zu stellen, dass die Speicheranforderungen minimiert werden, während ein
hoher Genauigkeitsgrad bei der Darstellung der anders-als-geraden
Merkmale bereitgestellt wird. Ferner ist es gewünscht, dass die Zunahme in
der Auflösung
und in der Genauigkeit in einem geographischen Datensatz sich nicht
negativ auf die Anforderungen an die RAM-Speichergröße oder
an die Betriebsleistung eines Navigationssystems auswirken.
-
Folglich
ist es wünschenswert,
eine verbesserte Methode zum Darstellen und Speichern der geographischen
Merkmal-Informationen zur Verfügung zu
stellen, die für
eine in hohem Maße
genaue Darstellung von geographischen Merkmalen, minimale Speicheranforderungen
und minimale Auswirkungen auf Hardwarekonfigurationsanforderungen
aufweist.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Dementsprechend
stellen bestimmte bevorzugte Ausführungsformen der vorliegenden
Erfindung ein System und ein Verfahren zur Speicherung von Daten
zur Verfügung,
um anders-als-gerade Kartenmerkmale in einer computer-lesbaren geographischen
Datenbank zur Verwendung in einem Navigationssystem darzustellen.
Für geographische
Merkmale, die anders-als-gerade sind, kann eine Kurve durch eine
rekursive Funktion erzeugt werden, die dann an ein Bild der anders-als-geraden
Kartenmerkmale angepasst wird. Die rekursive Funktion kann eine
Polynom-Gleichung sein, deren Gestalt durch ihre Koeffizienten definiert
ist. In einer Ausführungsform
ist die Polynom-Gleichung eine Spline-Kurve und insbesondere eine
Bezier-Kurve, deren Gestalt durch Kontrollpunkte definiert ist.
Die Koeffizienten der Polynom-Gleichung sind Daten zugeordnet, welche
das anders-alsgerade Merkmal repräsentieren. In dem Fall, in
dem die Polynom-Gleichung eine Bezier-Kurve ist, sind die Kontrollpunkte
zum Erzeugen der Bezier-Kurve den Daten zugeordnet, welche das anders-als-gerade
Merkmal repräsentieren.
Diese Kontrollpunkte werden in der geographischen Datenbank gespeichert
und werden beim Anzeigen des anders-als-geraden geographischen Merkmals
verwendet. Verwenden einer rekursiven Funktion, um anders-als-gerade
geographischen Merkmale und durch die rekursive Funktion zu verwendende
Speicherungsparameter zu erzeugen, weist das Potential auf, die
Speicheranforderungen zum Repräsentieren der
anders-als-geraden Merkmale in einer geographischen Datenbank erheblich
zu verringern.
-
Entsprechend
einem weiteren Aspekt können
normierte Kontrollpunkt-Paare in einer Datenstruktur gespeichert
werden und ein Indexbezug in die Datenstruktur ist Daten zugeordnet,
die verwendet werden, um das anders-als-gerade geographische Merkmal
zu repräsentieren,
wobei sich eine weitere Reduzierung der Datenspeicheranforderungen
ergibt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm eines herkömmlichen
Navigationssystems.
-
2 ist
ein Blockdiagramm, das einen Teil der geographischen Datenbank von 1 repräsentiert.
-
3 ist
eine Darstellung einer Karte, die einen Teil der durch die geographische
Datenbank von 2 repräsentierten geographischen Region
veranschaulicht.
-
4 ist
ein Blockdiagramm, das Teile einer Straßensegmentaufzeichnung in der
geographischen Datenbank von 2 entsprechend
einer Methode des Stands der Technik veranschaulicht.
-
5 ist
eine Darstellung einer Karte, die einen Teil der geographischen
Region veranschaulicht und eine Anwendung einer ersten Ausführungsform der
Erfindung darstellt.
-
6 ist
ein Blockdiagramm, das Teile einer Straßensegmentaufzeichnung in der
geographischen Datenbank entsprechend einer ersten Ausführungsform
veranschaulicht.
-
7 ist
ein Blockdiagramm eines Anzeigeteils des Navigationsanwendungsprogramms
von 1, der modifiziert ist, um die geographische Datenbank
zu verwenden, die Segmentaufzeichnungen wie in 6 aufweist.
-
8 ist
eine Darstellung, die einen ersten Vorgang zur Bildung einer geographischen
Datenbank mit Kontrollpunkt, wie in 6 dargestellt,
veranschaulicht.
-
9 ist
eine Darstellung, die einen weiteren Vorgang zur Bildung einer geographischen
Datenbank mit Kontrollpunkt, wie in 6 dargestellt,
veranschaulicht.
-
10 ist
eine Darstellung, die einen dritten Vorgang zur Bildung einer geographischen
Datenbank mit einer normierten Tabelle vom Kontrollpunkt veranschaulicht.
-
11 ist
ein Blockdiagramm ähnlich 7, das
einen Anzeigenteil des Navigationsanwendungsprogramms veranschaulicht,
das modifiziert ist, um eine durch den Vorgang von 10 gebildete
geographische Datenbank zu verwenden.
-
GENAUE BESCHREIBUNG DER
DERZEIT BEVORZUGTEN AUSFÜHRUNGS-FORMEN
-
1. ERSTE AUSFÜHRUNGSFORM
-
5 zeigt
die gleiche geographische Region und die gleichen Strecken wie 3 mit
geraden Straßenteilen 52S1, 52S2 und
dem anders-als-geraden Streckenabschnitt 52C1. Wie in Zusammenhang mit
der Ausführungsform
von 3 und 4 erwähnt, werden Kontrollpunkte
ausgewählt
und definieren die Endpunkte der Streckenabschnitte und werden festgelegt,
wo sich zwei oder mehr Straßen kreuzen,
oder wo sich die Eigenschaften einer Straße ändern. In der geographischen
Datenbank teilen diese Knotenpunkt-Datenpunkte die Strecken auf
und kennzeichnen die Endpunkte der als Straßensegment-Dateneinheiten darzustellenden
Straßenabschnitte.
In der geographischen Datenbank dieser Ausführungsform werden gerade Streckenteile
durch Straßensegmenteinheiten
dargestellt, die den Koordinaten-Positionen der Endpunkte (beispielsweise Knotenpunkte)
des dargestellten Straßenabschnitts zugeordnet
sind.
-
Die
anders-als-geraden Streckenabschnitte werden durch Verwenden der
Lage von zwei (oder mehr) Parametern zusätzlich zu Daten, die die Koordinaten
ihrer Endpunkte kennzeichnen, dargestellt. Diese Parameter werden
von einer rekursiven Funktion verwendet, um die Form des anders-als-geraden geographischen
Merkmals zu erzeugen. In der gezeigten Ausführungsform, ist die rekursive
Funktion eine Bezier-Kurve und die Parameter, die gespeichert werden,
sind Kontrollpunkte zum Erzeugen der Bezier-Kurve. 5 zeigt
Kontrollpunkte CP(m)(1) und CP(m)(2), die, wie später besprochen
wird, bei der Darstellung der Form des anders-als-geraden Straßenteils 52C1 in
der geographischen Datenbank verwendet werden. Diese Kontrollpunkte
werden unter Verwendung von Bezier-Kurven bestimmt, einer Teilmenge
der kubischen Spline-Unterfamilie von Spline-Kurven. In alternativen
Ausführungsformen können andere
Polynom-Gleichungen, die gebogene Vektoren definieren, einschließlich anderer
Spline-Kurvenfamilien, verwendet werden.
-
Mit
Spline-Kurven und insbesondere mit Bezier-Kurven werden anders-als-gerade
Kartenmerkmale, wie kurvige Straßenteile, durch Polynom-Gleichungen
dargestellt, deren Koeffizienten derart bestimmt wurden, dass Kurven
erzeugt wurden, die mit den Formen der geographischen Merkmale mit
dem gewünschten
Grad an Genauigkeit übereinstimmen.
-
Eine
Eigenschaft der Bezier-Kurven ist, dass sie durch ihre zwei Endpunkte
und zwei zusätzliche Kontrollpunkte
definiert sind. Diese Kontrollpunkte sind entlang der Tangenten
der Kurve an den Endpunkten gelegen, wie durch die gestrichelten
Linien in 5 veranschaulicht. Bezier-Kurven
können S-Kurven,
Kreisbögen,
Parabelformen und sogar Geraden gut annähern. Standardtechniken zum
Anpassen von Polynom-Kurven an Punktreihen können eingesetzt werden, um
die Kontrollpunktkoordinaten zu finden, die eine „am besten
angepasste" Bezier-Kurve
für irgendeine
bestimmte Reihe von Gestalt-Punkten ergeben, die in einer Gerade-Linie-Segmentapproximation
an eine Kurve in einer geographischen Datenbank verwendet werden.
-
In
der ersten Ausführungsform
einer geographischen Datenbank sind Kontrollpunkte der Straßensegment-Dateneinheit
zugeordnet, die den anders-als-geraden Teil der Straße repräsentiert.
In einer Ausführungsform
sind diese Kontrollpunkte, CP(1)(m) und CP(2)(m) oder ihre Breitengrad-
und Längengrad-Koordinaten,
der Segmenteinheit seg(m) zugeordnet. In einer Ausführungsform
werden diese Kontrollpunktdaten als Eigenschaften der Segmentdateneinheit
gespeichert.
-
6 zeigt
eine Darstellung der Straßensegmentdateneinheit
seg(m), welche den kurvigen Straßenteil 52C1 von 5 repräsentiert.
Die Segmenteinheit ist Daten zugeordnet, die verwendet werden, um
den Straßenabschnitt
zu beschreiben. Die Daten umfassen Knotenpunktdaten LN(m), RN(m),
welche die Breitengrad- und Längengradkoordinatenpositionen
der dem Straßenabschnitt
entsprechenden Endpunkte kennzeichnen, und Kontrollpunktdaten CP(m)(1),
CP(m)(2), welche die Breitengrad- und Längengradkoordinatenpositionen
der beiden Kontrollpunkte kennzeichnen, die verwendet werden können, um
die Gestalt des kurvigen Straßenabschnitts 52C1 darzustellen.
-
Verwenden der ersten Ausführungsform
der geoqraphischen Datenbank.
-
7 zeigt
die Schritte, die eine Ausführungsform
eines Kartenanzeigeprogramms 66 durchführt, um einen Teil der geographischen
Region anzuzeigen, der durch eine Ausführungsform der geographischen
Datenbank repräsentiert
wird, die, wie in 6, Kontrollpunktdaten verwendet,
um gebogene Merkmale darzustellen. Das Kartenanzeigeprogramm 66 ist
ein Teil des Navigationsanwendungsprogramms 38 in 1.
Zuerst empfängt
das Kartenanzeigeprogramm 66 eine Liste 68 der
Straßensegment-Dateneinheiten
seg(), welche die anzuzeigenden Straßenabschnitte repräsentieren.
Schritte 70 – 76 werden
für jede
Straßensegment-Dateneinheit
in der Liste 68 wiederholt. In Schritt 70 liest
das Kartenanzeigeprogramm 66 die jeder Segmenteinheitsaufzeichnung
zugeordneten Daten. Diese Daten umfassen die geographischen Koordinaten
der Knotenpunkte, die der Segmentdateneinheit zugeordnet sind. (Die
Knotenpunktdaten enthalten die Endpunktpositionen für den bestimmten
anzuzeigenden Streckenabschnitt.) Schritt 72 überprüft das Bestehen von
Kontrollpunkten, die der Segmenteinheit zugeordnet sind. Wenn die
Segmentdateneinheit keine ihr zugewiesenen Kontrollpunkte aufweist,
springt Schritt 72 zu Schritt 76, bei dem das
Straßensegment dargestellt
wird, indem eine Gerade zwischen die Endpunkte auf der Anzeige der
Benutzerschnittstelle 40 gezeichnet wird. Wenn es jedoch
Kontrollpunkte gibt, die der Segmentaufzeichnung zugeordnet sind, übermittelt
Schritt 72 die Daten, die dem Segment zugeordnet sind an
Schritt 74. In Schritt 74 wird die Bezier-Kurve
unter Verwendung der geeigneten Polynom-Gleichung berechnet und das Bild der
Kurve wird erzeugt. In Schritt 76 wird auch das erzeugte Bild
der Kurve an die Anzeige der Benutzerschnittstelle 40 ausgegeben.
Diese Schritte werden wiederholt bis alle Straßenabschnitte, die sich in
der Liste 68 befinden, auf die Anzeige der Benutzerschnittstelle 40 übertragen
sind.
-
Verfahren zum Speichern
von Gestalt-Informationen entsprechend der ersten Ausführungsform.
-
8 zeigt
eine erste Methode zum Erzeugen einer geographischen Datenbank,
welche die Kontrollpunktdaten zum Darstellen der anders-als-geraden
Merkmale umfasst, wie in 6 gezeigt. Ein Bild 120 eines
Teils einer geographischen Region wird erhalten. Das Bild 120 kann
von einer Luftbildaufnahme, GPS-Daten, Papierkarten oder von anderen
bekannten Quellen gewonnen werden, um elektronische geographische
Datenbanken zu bilden. Alternativ kann das Bild 120 von
einem Kartenanzeigeprogramm erhalten werden, welches das Bild 120 aus
den Gestalt-Punktdaten entsprechend der in Verbindung mit 2 und 3 beschriebenen
Methode des Stands der Technik erzeugt. In 8 wird das
Bild 120 auf einem Computerbildschirm angezeigt, aber in
einer praktischen Anwendung dieses Vorgangs ist es nicht notwendig, dieses
Bild physikalisch auf einem Bildschirm zu zeigen.
-
Ein
Gestalterfassungsprogramm 122 ermittelt automatisch die
Bilder der geographischen Merkmale, wie beispielsweise Strecken 125,
vom Bild 120 des Bereichs. Dies wird mit herkömmlichen
Mustererkennungstechniken durchgeführt. Diese Mustererkennungstechniken
können
beispielsweise das Identifizieren von kontrastierenden Farbenmustern,
kontinuierlichen Formen, Größen, Querverbindungen
und so weiter umfassen. Beim Verwenden von herkömmlichen Mustererkennungstechniken
werden Merkmale, wie beispielsweise Straßen, einschließlich anders-als-gerade
Straßen,
automatisch vom Bild 120 erfasst. Nachdem die Strecken 125 erfasst
sind, führt das
Programm ein Kurvenanpassungsprogramm 126 aus, das die
ermittelten anders-als-geraden Straßen an Bezier-Kurven anpasst.
Kurvenanpassungstechniken sind auch beim Stand der Technik bekannt.
Sobald eine Bezier-Kurve identifiziert ist, welche mit der anders-als-geraden
Strecke übereinstimmt,
werden die zur Erzeugung der Bezier-Kurve verwendeten Kontrollpunkte identifiziert.
Die Koordinaten der Kontrollpunkte sind dann einer Segmentdateneinheitsaufzeichnung
zugeordnet, die das ermittelte Straßensegment repräsentiert.
In einer Ausführungsform prüft ein Anwender-Bediener die Streckenerfassung, die
Kurvenanpassung und die Bezier-Kurven-Erzeugungsschritte. Diese Überprüfung kann
durchgeführt werden,
indem ein aus den Bezier-Kurven-Kontrollpunkten erzeugtes Bild des
anders-als-geraden Straßensegments
dem Bild 120 überlagert
wird, um zu sehen, wie gut sie übereinstimmen.
Wenn sie nicht zusammenpassen kann der Anwender-Bediener dann eine
andere Technik verwenden, um die Kontrollpunkte zu erzeugen. Wenn
jedoch das erfasste Straßensegment
dem Bild des Straßensegments
auf der Anzeige entspricht, erlaubt der Anwender-Bediener das Speicher
der computererzeugten Bezier-Kontrollpunkte und die ermittelten
Knoten-/Endpunkte LN, RN, CP1, CP2 in einem kartographischen Datensatzes 34 (carto)(B).
-
Alternative Methode zum
Speichern von Gestalt-Informationen.
-
9 zeigt
eine alternative Methode zum Anpassen einer Bezier-Kurve an ein
gegebenes geographisches Merkmal. Wie in der vorher beschriebenen
Methode, wird ein Bild 220 eines Teils einer geographischen
Region erhalten. Das Bild 220 kann eine Luftbildaufnahme
sein oder aus einer Luftbildaufnahme gewonnen werden. Alternativ
kann das Bild 220 von einem Kartenanzeigeprogramm erhalten
werden, das das Bild 220 aus den Gestalt-Punktdaten entsprechend
der in Verbindung mit 2 und 3 beschriebenen
Methode des Stands der Technik erzeugt. Das Bild 22 kann
auf Papier gedruckt werden oder auf einem Computersichtanzeigegerät angezeigt
werden. Bei Verwendung dieser Methode verwendet ein menschlicher
Anwender-Bediener, der das Bild ansieht, eine Zeigegerät, wie beispielsweise ein
Digitalisiertablett oder eine Maus, um Punkte (beispielsweise durch
Anklicken) auf den Merkmale auszuwählen, die in dem Bild dargestellt
sind, das durch Dateneinheiten in der geographischen Datenbank repräsentiert
wird. Beispielsweise kann der menschliche Anwender-Bediener das
Zeigegerät
verwenden, um die Endpunkte von durch Segmenteinheiten darzustellenden
Merkmalen auszuwählen,
indem das Zeigegerät
verwendet wird, um Punkte am Bild anzuklicken, welche die Enden
der durch Segmentdateneinheiten darzustellenden Streckenabschnitte darstellen.
Wenn das identifizierte Segment anders-als-gerade ist, dann wählt der
Anwender-Bediener temporäre
Gestalt-Punkte TSP1, TSP2,..., TSPn entlang der Länge des
Bildes des Straßenteils
aus. Der Anwender-Bediener wählt
diese temporären
Gestalt-Punkte durch Bewegen eines Cursors auf dem Bild des Straßensegments
und durch Anklicken mit einem Zeigegerät (Schritt 222). Unter
Verwendung der temporären
Gestalt-Punkte erzeugt das Computerprogramm dann eine Kurve durch
sie (Schritt 226). (In einer Ausführungsform, in der das Bild 220 aus
einem kartographischen Datensatz erzeugt wird, der bereits die Endpunkt-Knotenpunkte und
identifizierte Gestalt-Punkte aufweist, können die oben genannten Schritte
ausgelassen werden.)
-
Das
Programm führt
dann ein Kurvenanpassungsprogramm 226 aus, das die ermittelten
anders-als-geraden Straßenabschnitte,
die durch die gewählten
Endpunkte und Gestalt-Punkte repräsentiert werden, an die Bezier-Kurven
anpasst. Wie oben erwähnt
sind Kurveanpassungstechniken auch im Stand der Technik bekannt.
Sobald eine Bezier-Kurve identifiziert ist, welche der anders-als-geraden Strecke 225 entspricht,
werden die zur Erzeugung der Bezier-Kurve verwendeten Kontrollpunkte
identifiziert. Die Koordinaten der Kontrollpunkte werden dann der
Segmentdateneinheitsaufzeichnung zugeordnet, die das gewählte Straßensegment
repräsentiert.
Um zu bestätigen,
dass die erzeugte Bezier-Kurve das Bild der Strecke 225 richtig
darstellt, kann ein aus den Bezier-Kurven-Kontrollpunkten erzeugtes
Bild des anders-als-geraden Straßensegments dem Bild 220 überlagert
werden, um zu sehen, wie gut sie übereinstimmen. Der Anwender-Bediener betrachtet
das überlagerte
Bild und beurteilt, ob das Bezier-Kurven-erzeugte Straßenbild
innerhalb gegebener Toleranzen dem zur Verfügung gestellten Straßenabschnitt 225 entspricht.
Wenn sie nicht zusammenpassen kann der Anwender-Bediener zusätzliche
temporäre
Gestalt-Punkte wählen
und die Bezier-Kurve
wird erneuert. Dieser Vorgang wird wiederholt bis eine Kurve erzeugt
ist, die mit dem Bild des Straßenabschnitts
gut genug übereinstimmt. Dann
werden die Kontrollpunktdaten und die Knotenpunktdaten LN, RN, CP1
und CP2 für
die „am
besten angepasste" Kurve
wie oben beschrieben im kartographischen Datensatz 34 (carto)(B)
gespeichert. In alternativen Ausführungsformen kann ein Computerprogramm
verwendet werden, um zu beurteilen wie gut die erzeugten Bezier-Kurve
dem Bild des darzustellenden Streckenabschnitts entspricht. Das
Computerprogramm kann herkömmliche
Anpassungstechniken verwenden, um festzustellen, wann eine Schwelle,
die eine zufriedenstellende Anpassung repräsentiert, erreicht ist.
-
II. ZWEITE AUSFÜHRUNGSFORM
-
Eine
weitere Eigenschaft von Bezier-Kurven ist, dass, wenn die beiden
Endpunkte der Kurve an normierten Positionen festgelegt sind, Schwankungen
der Form der Kurve nur durch die relativen Positionen der Kontrollpunkt
bestimmt sind, (d.h. die Form ist "normiert"). So wird eine Bibliothek von allgemeinen
Kurvenformen in Form einer Tabelle von Kontrollpunkt-Positionspaaren
relativ zu zwei Standardendpunktpositionen definiert. Diese Bibliothek
ist in einem normierten Gestalt-Feld gespeichert. Durch bekannte
mathematische Operationen werden diese Bibliothekskurvenformen skaliert,
rotiert und im Raum verschoben, um sie auf einer Kartenanzeige dorthin
zu setzen, wo immer es gewünscht
wird. In der Ausführungsform
der geographischen Datenbank ist ein Indexbezugswert in das normierte
Gestalt-Feld jeder anders-als-geraden Straßensegment-Dateneinheit zugeordnet.
Dieser Indexbezugswert wird dann anstelle der tatsächlichen
Kontrollpunkt-Koordinatepositionen verwendet.
-
Für einen
bestimmten Streckenabschnitt werden die beiden Endpunktpositionen
durch die zugeordneten Kontrollpunktdaten der bestimmten kurvigen
Straßensegmentdateneinheit
geliefert. Die Kontrollpunkte für
eine bestimmte Form der Bezier-Kurve sind im normierten Gestalt-Feld
gespeichert. Ein Indexbezugswert, der der Gestalt eines bestimmten
Streckenabschnitts in der indexierten Gestalt-Feldeinheit entspricht, ist in der Straßensegment-Dateneinheiten
gespeichert. Diese Informationen werden durch das Kartenanzeige-Anwendungsprogramm
(oder Unterprogramm) verwendet, um den kurvigen Streckenteil auf
dem Anzeigegerät
zu reproduzieren, indem die Endpunkt- und Kontrollpunktinformationen
mathematisch in eine Bezier-Kurve umgewandelt werden, die den kurvigen
Streckenteil darstellt.
-
Herstellen der peographischen
Datenbank mit einem normierten Gestalt-Feld.
-
Eine
beispielhafte Methode zum Bilden dieser Ausführungsform der geographischen
Datenbank ist in 10 veranschaulicht. Unter Verwendung
bekannter Techniken werden Bilder aller anders-als-geraden Straßenabschnitte
in einer geographischen Region erhalten. Diese Bilder können von
Luftbildaufnahmen oder Satellitenbildern erhalten werden, in gedruckter
oder elektronischer Form, oder die Bilder können von bestehenden geographischen
Datenbanken erhalten werden, die Gestaltpunktdaten umfassen, um
anders-als-gerade Straßenteile
darzustellen. In 10 ist eine Mehrzahl 300(1), 300(2),...,300(n) solcher
Bilder gezeigt. Zunächst werden
die Knotenpunkte von jedem anders-als-geraden Straßensegment
gewählt.
Wenn die Bilder von einer existierenden geographischen Datenbank
erzeugt werden, können
die Knotenpunktdaten in der zur Erzeugung des Bilds verwendeten
Straßensegment-Dateneinheit bereits
enthalten sein. Andernfalls werden die Endpunkte/Knoten mit den
oben beschriebenen Techniken oder mit den im Stand der Technik bekannten
identifiziert.
-
Für kurvige
Streckenabschnitte wird das Bild der kurvigen Strecke normiert (Schritt 310),
um die Endpunktpositionen von jedem anders-als-geraden Straßenteil
in standardisierte Positionen zu setzen. Der Normierungsvorgang 310 kann
erfordern, dass die kurvige Strecke skaliert, gedreht und/oder verschoben
wird. Sobald die kurvige Strecke normiert ist, werden mathematische
Standardtechniken zur Bezier-Kurvenanpassung
eingesetzt, um eine Bezier-Kurve zu finden, die am besten ("beste Anpassung") das gebogene Streckensegment
annähert. Sobald
eine „am
besten angepasste" Kurve
bestimmt ist, werden die beiden Kontrollpunktpositionen, welche
die Kurve definieren, identifiziert. Die Koordinaten dieser Kontrollpunkte
werden relativ zu den Endpunkten normiert und werden außerdem durch
Skalieren in Richtung senkrecht zur Linie durch die Endpunkte normiert
so, dass der Abstand entlang dieser Richtung der Kontrollpunkte
Standard ist. Sind die standardisierten Endpunktpositionen der Kurve
gegeben, sind die beiden Kontrollpunktpositionen alles, was erforderlich
ist, um die Form der Kurve zu definieren. Die Daten, die dieses Kontrollpunktpaar
identifizieren, werden in ein normiertes Gestalt-Feld 320 eingegeben.
Das normierte Gestalt-Feld 320 ist eine Datenstruktur,
die eine Mehrzahl von Datenelementen speichern kann. Im normierten
Gestalt-Feld 320 ist jedes separate normierte Kontrollpunktpaar CPN1,
CPN2 einem unterschiedlichen Gestalt-Identifikator CPE zugeordnet.
Eine Segmentdateneinheit, die den kurvigen Straßenabschnitt repräsentiert,
verwendet den Index CPE anstelle der Koordinatenpositionen der Kontrollpunkte.
Die Segmentdateneinheit, einschließlich Daten, die den Knotenpunkten
LN, RN entsprechen, und des Indexbezugswert CPE, wird im kartographischen
Datensatz 34(carto)(A) gespeichert.
-
Nachfolgende
kurvigen Straßenabschnitte im
geographischen Datensatz werden in einer ähnlichen Weise überprüft und verarbeitet.
Da die kurvigen Straßenabschnitte
im geographischen Datensatz überprüft werden,
können
einige Straßenabschnitte
die gleichen normierten Kontrollpunktpaare wie vorher überprüfte Straßenabschnitte
haben. In 10 zeigt beispielsweise das
Bild 300(n) ein Straßensegment,
welches nach Drehen oder anderer Normierung die gleiche Form aufweist
wie das Straßensegment,
das im ersten Bild 300(1) dargestellt ist. Wenn die normierten
Kontrollpunkte für
das Straßensegment
im Bild 300(n) bestimmt sind, stimmen sie mit den bereits
in Feld 320 vorliegenden überein, die für das Straßensegment
in Bild 300(1) erzeugt wurden. Wenn dann die Segmentdateneinheitsaufzeichnung,
die das Streckensegment von Bild 300(n) repräsentiert
im Datensatz 34(carto)(A) gespeichert wird, umfasst die
Aufzeichnung zusätzlich
zu den Daten, welche die Knotenpunkte LN(n), RN(n) identifizieren,
einen Eintrag CPE(1) zum gleichen normierten Kontrollpunktpaar CP1(1),
CP2(1), wie die Strecke, die im Bild 300(1) dargestellt
ist. In diesem Fall wird ein neuer Eintrag von Kontrollpunktpaaren
in das normierte Gestalt-Feld 320 nicht gemacht.
-
Da
jedes kurvige Straßensegment
untersucht wird, wenn es keine Übereinstimmung
im Gestalt-Feld 320 für
ein bestimmtes Kontrollpunkt-Positionspaar gibt, wird ein neuer
Eintrag dem Feld hinzugefügt
und der neue Indexbezugswert wird in der Gestaltdateneigenschaft
der Straßensegmentdateneinheit
für diesen
bestimmten Streckenteil gespeichert. Wenn jedoch das normierte Kontrollpunktpaar
mit einem vorhandenen Eintrag im Feld 320 übereinstimmt,
wird kein neuer Eintrag gemacht. Der Vorgang wird wiederholt, bis
alle Streckenteile in Straßensegment-Dateneinheiten und
entsprechende Knotenpunkt- und Gestaltdateneigenschaften umgewandelt
sind.
-
Beim
Entwickeln des normierten Feldes wird es vorgezogen zu verfolgen
wie oft jedes der Kontrollpunktpaare verwendet wird, um die Gestalt-Punkte
einer Segmentdateneinheit zu ersetzen. Sobald dann alle Straßensegmentdaten
in einer Region überprüft sind,
wird der Index nur von den Paaren gebildet, welche am häufigsten
verwendet wurden. Beispielsweise kann das Feld nur die 2000 am häufigsten
verwendeten normierten Kontrollpunktpaare umfassen. Innerhalb des
Feldes können
die Kontrollpunktpaare nach Häufigkeit
oder nach anderen Mitteln geordnet werden, um Suchen zu beschleunigen. Wenn
kein normiertes Kontrollpunktpaar unter den Kontrollpunktpaaren
ist, die im Feld landen, können die
Kontrollpunkte gespeichert werden, ohne normiert zu werden, oder
die Daten können
als Gestalt-Punktdaten anstelle von den Kontrollpunktdaten gespeichert
werden.
-
In
einer beispielhaften praktischen Anwendung des geographischen Datensatzes 34 (carto)(A) können zwei
Kontrollpunkte in lediglich 6 Datenbytes gespeichert werden. Eine
Bibliothek von zwei tausend solcher Gestaltformen kann in einer
normierten Gestalt-Feld-Tabelle gespeichert werden, die gerade 12
tausend Bytes des Speichers belegt, und kann mit Indexwerten zugänglich gemacht
werden, die eine Datengröße von 15
Bytes haben. Wenn diese zwei tausend Linienformen mit verhältnismäßig hoher Häufigkeit
in der Datenbank wiederkehren, werden bedeutende Mengen vom Medienplatz
gespart, da die Gestalt-Informationen für jedes derartige Auftreten
auf den Medien in nur 15 Bytes kodiert werden anstelle von den 6
Bytes, die durch die beiden Bezier-Kontrollpunkt aufgegriffen werden
(plus den für die
Endpunkte benötigten
Platz).
-
In
einer alternativen Ausführungsform
wird ein festes geographisches Positionsgitter verwendet, um die
Bilder der kurvigen Straßenabschnitte
zu überlagern.
Dies schränkt
die möglichen
Positionen ein, die Kontrollpunktpaare und Streckenabschnitt-Endpunkte
belegen, was in einer definierten Anzahl von möglichen/vordefinierten Kurvenformen resultiert,
die gebildet oder dargestellt werden können. Vor dem Beginn des Umwandlungsprozesses, berechnet
ein Computer alle möglichen
Kontrollpunkt-Positionen bezüglich
normierter Endpunkt-Positionen
und errechnet alle möglichen
Kurvenformen bei einem vorgegebenen gewünschten Auflösungsgrad.
Diese Kurvenformen werden dann alle anfänglich im normierten Gestalt-Feld
gespeichert, wie beispielsweise oben im Feld 320. Sobald
der Kurvenanpassungs-/Kontrollpunktbestimmungs-Prozess für einen
bestimmten Streckenteil abgeschlossen ist, wird das resultierende
Kontrollpunkt-Positionspaar verglichen mit Einträgen im normierten Gestalt-Feld. Der
Eintrag in der Tabelle, der den berechneten Kontrollpunktpositionen
innerhalb eines vordefinierten Schwellwertes am nächsten kommt,
wird ausgewählt.
Der entsprechende Indexwert für
diesen Eintrag wird dann der Straßensegment-Dateneinheit zugeordnet,
die den Streckenabschnitt repräsentiert. Dieser
Vorgang wird wiederholt bis alle Streckenabschnitte in der speziellen
geographischen Region umgewandelt sind.
-
Verwenden der zweiten
Ausführungsform
der geographischen Datenbank.
-
Wie
in 11 gezeigt, verwendet ein Kartenanzeige-Anwendungsprogramm
(oder Unterprogramm) 366 die Knotenpunktdaten und den Index
zu einem normierten Gestalt-Feld in den Dateneinheiten, die Straßensegmente
repräsentieren,
um Bilder der Straßenabschnitte
auf einem Anzeigegerät
zu reproduzieren. In 11 wird eine Liste 368 von
Segmenteinheiten seg() ins Kartenanzeigeprogramm 366 eingegeben.
Die Liste identifiziert die Segmentdateneinheiten, die anzuzeigende
Straßenstrecken repräsentieren.
Die Straßensegment-Dateneinheiten enthalten
die Daten, die sowohl gerade, als auch kurvige Streckenabschnitte
im geographischen anzuzeigenden Bereich darstellen. Das Kartenanzeige-Anwendungsprogramm 366 repräsentiert
Streckenabschnitte auf dem Anzeigegerät, indem zuerst die Daten gelesen
werden, die jeder der in der Liste 368 enthaltenen Straßensegment-Dateneinheiten
zugeordnet sind (Schritt 370). Wenn kein Kontrollpunkt-Indexhinweis
für die
gegebene Straßensegment-Dateneinheit
(Schritt 372) existiert, springt das Kartenanzeige-Anwendungsprogramm 366 zu
Schritt 376 und macht eine Gerade auf der Anzeige 40 zwischen den
als Endpunkte (d.h. als Knotenpunkte) identifizierten Positionen
der Segmentdateneinheit. Für Segmente,
die Kontrollpunkt-Indexhinweise
aufweisen (Schritt 372), fährt das Kartenanzeige- Anwendungsprogramm 366 bei
Schritt 373 fort. Dieser Indexbezugswert ist ein Index
in das normierte Gestalt-Feld 320. Um den Ablauf zu verbessern,
wird das normierte Gestalt-Feld 320 bei der Initialisierung des
Navigationssystems in den Speicher geladen oder, wenn die Kartenanzeigefunktion
aufgerufen wird. Unter Verwendung des Indexbezugswerts schaut das
Kartenanzeige-Anwendungsprogramm (oder
das Unterprogramm) 366 auf den Eintrag in die normierte
Gestalt-Feld-Einheit 320, welche die Kontrollpunkt-Positionspaardaten
(Schritt 373) enthält. Diese
Kontrollpunkt-Positionsdaten, in Verbindung mit standardisierten
Endpunktpositionen, und Skalierungsfaktor senkrecht zur Linie durch
die Enden, werden verwendet, um Parameter-Gleichungen für die Bezier-Kurve zu berechnen
(Schritt 374), die verwendet werden kann, um den kurvigen
Streckenabschnitt mit weithin bekannten Techniken auf das Anzeigegerät zu übertragen
(Schritt 376). Dieser Prozess wiederholt sich für jeden
Streckenabschnitt, der durch das Kartenanzeige-Anwendungsprogramm
(oder Unterprogramm) 366 auf das Anzeigegerät übertragen
werden soll.
-
III. ALTERNATIVE AUSFÜHRUNGSFORMEN
-
In
den oben beschriebenen Ausführungsformen
wurde jede anders-als-gerade geographische Eigenschaft durch Daten
dargestellt, welche die Koordinaten der Endpunkte identifizieren
und durch Daten, welche die Koordinaten von zwei zusätzlichen Punkten,
d.h. von den zwei Kontrollpunkten, identifizieren, die dazu verwendet
werden, um die Bezier-Kurve zu erzeugen: Es wird angemerkt, dass
einige anders-als-gerade geographische Merkmale durch mehr als eine
Bezier-Kurve erzeugt werden können.
Es wird weiter angemerkt, dass mehr als zwei Kontrollpunkte oder
andere Parameter der das anders-als-gerade geographische Merkmal
repräsentierenden
Dateneinheit zugeordnet sein können.
-
In
alternativen Ausführungsformen
können andere
Arten von rekursiven Funktionen, andere als die Bezier-Kurvenfunktion,
verwendet werden. Diese anderen Arten der rekursiven Funktionen
umfassen Polynom-Gleichungen jeder Ordnung, deren Koeffizienten
verwendet werden, um die Gestalt des repräsentierten geographischen Merkmals
zu definieren. Spline-Kurvenfunktionen können verwendet werden. In weiteren
alternativen Ausführungsformen
kann irgendeine andere Art von rekursiver Funktion verwendet werden,
um eine Kurve zu erzeugen, um mit dem anders-alsgeraden geographischen
Merkmal überein zu
stimmen und es darzustellen, einschließlich fraktaler Funktionen
oder anderer iterativer Funktionen oder rekursiv definierter Funktionen.
-
In
den oben beschriebenen Ausführungsformen
wurden die Daten, die das andersals-gerade geographische Merkmal
repräsentieren,
dazu verwendet, das Merkmal auf einer Computeranzeige für den Benutzer
des Navigationssystems sichtbar dazustellen. Es ist selbstverständlich,
dass die Darstellung von anders-als-geraden geographischen Merkmalen zusätzlich zur
Kartenanzeige weitere Anwendungen hat. Beispielsweise ist eine andere
wichtige Funktion, die durch ein Navigationssystem bereitgestellt
wird, die Fahrzeugpositionsbestimmung. Bei der Fahrzeugpositionsbestimmung
verwendet das Navigationssystem ein Positionsbestimmungssystem,
wie beispielsweise ein GPS-System, um seine physischen geographische
Koordinaten (beispielsweise Breitengrad und Längengrad) zu bestimmen und bringt
dann jene Koordinaten mit den Koordinaten der Streckenmerkmale in Übereinstimmung,
die in der geographischen Datenbank repräsentiert sind, um den Benutzer über seine
oder ihre Position im Straßennetz
in einem geographischen Bereich zu informieren. Die Fähigkeit
der offengelegten Ausführungsformen,
die Form der anders-als-geraden geographischen Merkmale mit relativer
Genauigkeit zu bestimmen, ermöglicht
dem Navigationssystem, die physischen geographischen Koordinaten
des Benutzers mit den Koordinaten des Streckennetzes in Übereinstimmung
zu bringen und den Benutzer mit Informationen zu versorgen, welche
die Position des Benutzers in Bezug auf das Streckennetz identifiziert.
-
Obgleich
die Verwendung von Kontrollpunkten, um anders-als-gerade geographische
Merkmale darzustellen, im Allgemeinen verringerte Speicheranforderungen
ergibt, ist es unter einigen Umständen möglich, dass die Gestalt eines
bestimmten geographischen Merkmals effizienter dargestellt werden kann,
indem Gestalt-Punkte anstelle von Kontrollpunkten verwendet werden.
Um solchen geographische Merkmalen Rechnung zu tragen, kann eine
einzelne geographische Datenbank einige anders-als-gerade geographische
Merkmale unter Verwendung von Kontrollpunkten repräsentieren
und andere anders-als-gerade geographische Merkmale unter Verwendung
von Gestalt-Punkten repräsentieren.
In einer Ausführungsform
einer solchen geographischen Datenbank, verwendet jede Dateneinheit, die
ein anders-als-gerades geographisches Merkmal repräsentiert,
entweder Gestalt-Punkte oder Kontrollpunkte (aber nicht beide),
um die anders-alsgerade Gestalt des Merkmals darzustellen. Jede
Dateneinheit, die ein anders-alsgerades geographisches Merkmal darstellt,
würde auch
ein Mittel umfassen, um zu identifizieren, ob bei der Navigationsanwendung
unter Verwendung der geographischen Datenbank Kontrollpunkte oder
Gestalt-Punkte verwendet wurden. Das Mittel, durch das identifiziert
werden kann, ob Kontrollpunkte oder Gestalt-Punkte in einer bestimmten Dateneinheit
verwendet wurden, kann jede mögliche
Technik sein, wie beispielsweise Verwenden eines Kontroll-Bits,
Verwenden von verschiedenen Wertebereichen, unterschiedliches Ordnen
von Daten und so weiter.
-
In
einer weiteren Ausführungsform
einer geographischen Datenbank, können bestimmte anders-als-gerade
geographische Merkmale effizienter dargestellt werden, indem sowohl
Kontrollpunkte als auch Gestalt-Punkte zusammen in einer einzelnen Dateneinheit
verwendet werden, welche das geographische Merkmal repräsentiert.
Wie oben erwähnt wird
ein Mittel zur Verfügung
gestellt, um zu entscheiden, ob die Form des anders-als-geraden
geographischen Merkmals durch Kontrollpunktdaten oder Gestalt-Punktdaten
repräsentiert
wird. Diese Mittel können
ausgeweitet werden, um ferner anzuzeigen, dass sowohl Gestalt-Punktdaten
als auch Kontrollpunktdaten innerhalb einer einzelnen Dateneinheit verwendet
werden. Bei einer praktischen Anwendung, bei der sowohl Kontrollpunkte
als auch Gestalt-Punkte
verwendet werden, kann die Navigationsanwendung die Kontrollpunktdaten
verwenden, um einen gute Annäherung
an das dargestellte geographische Merkmal zu erzeugen. Gestalt-Punkte werden
dann zur Feinabstimmung der Darstellung an Positionen verwendet,
an denen die mit Kontrollpunkten erzeugte Kurve nicht genau mit
dem dargestellten Merkmal übereinstimmt.
In einem weiteren Beispiel können
Kontrollpunkte verwendet werden, um einen ersten Abschnitt eines
Streckensegments darzustellen und Gestaltpunkte können verwendet werden,
um einen weiteren Abschnitt eines Streckensegments darzustellen.