DE112011105528T5 - Zeichenkettenanordnungsvorrichtung - Google Patents

Zeichenkettenanordnungsvorrichtung Download PDF

Info

Publication number
DE112011105528T5
DE112011105528T5 DE112011105528.5T DE112011105528T DE112011105528T5 DE 112011105528 T5 DE112011105528 T5 DE 112011105528T5 DE 112011105528 T DE112011105528 T DE 112011105528T DE 112011105528 T5 DE112011105528 T5 DE 112011105528T5
Authority
DE
Germany
Prior art keywords
character
string
function value
calculator
road
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.)
Ceased
Application number
DE112011105528.5T
Other languages
English (en)
Inventor
Ken Miyamoto
Shoichiro Kuboyama
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112011105528T5 publication Critical patent/DE112011105528T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/106Map spot or coordinate position indicators; Map reading aids using electronic means
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/34Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
    • G09G5/346Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling for systems having a bit-mapped display memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/32Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory with means for controlling the display position

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)
  • Traffic Control Systems (AREA)
  • Character Input (AREA)

Abstract

Es wird eine Zeichenkettenanordnungsvorrichtung offenbart, die einen Zeichenlückenfunktionsberechner 51, der einen Zeichenlückenfunktionswert berechnet, der eine Bewertung zu einer Zeichenlücke zwischen einer Vielzahl von Zeichenketten zeigt, welche jeweils von einer Vielzahl von Kandidatenpunkten aus durch einen Zeichenketten-Anordner 4 angeordnet werden, einen Straßenwinkelfunktionsberechner 52, der einen Straßenwinkelfunktionswert berechnet, welcher eine Bewertung zu einem Winkel einer Straßenknotenpunktserie zeigt, entlang der eine Zeichenkette von dem Zeichenketten-Anordner 4 angeordnet wird, und einen Bewertungsfunktionswertberechner 53, der einen Bewertungsfunktionswert basierend auf dem durch den Zeichenlückenfunktionswertberechner 51 berechneten Zeichenlückenfunktionswert und dem durch den Straßenwinkelfunktionswertberechner 52 berechneten Straßenwinkelfunktionswert berechnet, beinhaltet.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Zeichenkettenanordnungsvorrichtung, die eine Zeichenkette auf einer Grafik, wie z. B. einer Karte, anordnet.
  • Hintergrund der Erfindung
  • Eine herkömmliche Kartenanzeigevorrichtung besitzt eine Funktion zum Anordnen einer Zeichenkette, wie z. B. eines Straßennamens, von einem Punkt, wo die Anordnung der Zeichenkette beginnt (von hier an als Zeichenkettenanordnungsstartpunkt bezeichnet), aus entlang einer Straßenlinie (von hier an als Straßenknotenpunktserie bezeichnet) (siehe z. B. 21). In diesem Fall, wenn der Zeichenkettenanordnungsstartpunkt ungeeignet ist, erfolgt eine Überlappung zwischen der Zeichenkette und einer anderen Zeichenkette, wie in 22(a) gezeigt ist, eine Einschränkung in der Lesbarkeit aufgrund einer Änderung in dem Anzeigewinkel eines Zeichens, wie in 22(b) gezeigt ist, und eine Einschränkung in der Lesbarkeit aufgrund eines hohen Nahegrades zwischen der Zeichenkette und einer anderen Zeichenkette, wie in 22(c) gezeigt ist.
  • Als ein Verfahren zum Beheben einer solchen Überlappung zwischen Zeichenketten, wie in 22(a) gezeigt ist, und einer solchen Einschränkung in der Lesbarkeit, wie in 22(b) gezeigt ist, wird z. B. ein Verfahren zum Ändern eines Zeichenkettenanordnungsstartpunkts zu einer Position mit hoher Lesbarkeit in der Nichtpatentliteratur 1 beschrieben. Anschaulich beschrieben ist dies ein Verfahren zum Ändern eines Zeichenkettenanordnungsstartpunkts durch Minimieren einer Bewertungsfunktion f, die durch die folgende Gleichung (1) gezeigt wird und aus einer Funktion overlap(i), die eine Überlappung zwischen Zeichenketten zeigt, wie in 23(a) gezeigt ist, und einer Funktion flatness(i), die eine Variation in dem Winkel einer Straßenknotenpunktserie zeigt, entlang welcher eine Zeichenkette angeordnet wird, wie in 23(b) gezeigt ist, besteht. α1 und α2 in der Gleichung (1) sind Parameter zum jeweiligen Anpassen von overlap(i) und flatness(i), und String_num gibt die Anzahl der Zeichenketten an.
  • Figure DE112011105528T5_0002
  • Stand der Technik
  • Nichtpatentliteratur
    • Nichtpatentliteratur 1: Shawn Edmondson, ”A General Cartographic Labeling Algorithm”, The International Journal for Geographic Information and Geovisualization, Volume 33, Number 4/Winter 1996
  • Zusammenfassung der Erfindung
  • Von der Erfindung zu lösende Probleme
  • Ein Problem mit dem Verfahren, das in der oben genannten Nichtpatentliteratur 1 offenbart ist, besteht jedoch darin, dass, weil das Verfahren dazu vorgesehen ist, einfach eine Überlappung zwischen Zeichenketten, wie in 22(a) gezeigt wird, und eine Einschränkung in der Lesbarkeit aufgrund einer Variation in dem Winkel einer Straße, entlang welcher eine Zeichenkette angeordnet wird, wie in 22(b) gezeigt wird, zu beheben, kann eine Einschränkung in der Lesbarkeit aufgrund eines hohen Nahegrades zwischen Zeichenketten, wie in 22(c) gezeigt wird, nicht vermieden werden.
  • Die vorliegende Erfindung ist vorgesehen, die oben genannten Probleme zu lösen, und es ist daher auch eine Aufgabe der vorliegenden Erfindung, eine Zeichenkettenanordnungsvorrichtung bereitzustellen, die einen Zeichenkettenstartpunkt zu einer optimalen Position ändert, indem nicht nur eine Überlappung zwischen Zeichenketten und eine Variation in dem Anzeigewinkel eines Zeichens berücksichtigt werden, sondern auch der Nähegrad zwischen Zeichenketten.
  • Mittel zur Lösung des Problems
  • Gemäß der vorliegenden Erfindung wird eine Zeichenkettenanordnungsvorrichtung bereitgestellt, die beinhaltet: einen Datenerfasser, der Zeichenkettendaten über eine anzuordnende Zeichenkette erfasst, und Straßenknotenpunktseriendaten über eine Straßenknotenpunktserie, entlang welcher die oben genannte Zeichenkette angeordnet werden soll; einen Kandidatenpunkterzeuger, der eine Vielzahl von Kandidatenpunkten zum Anordnen der Zeichenkette auf der Straßenknotenpunktserie basierend auf den von dem Datenerfasser erfassten Zeichenkettendaten und Straßenknotenpunktseriendaten erzeugt; einen Zeichenkettenanordner, der die Zeichenkette von jedem der von dem Kandidatenpunkterzeuger erzeugten Vielzahl von Kandidatenpunkten aus anordnet; einen Bewertungsfunktionsberechner, der einen Bewertungsfunktionswert berechnet, welcher eine Bewertung zu der Anordnung der Zeichenkette durch den Zeichenkettenanordner zeigt; und einen Minimumbewertungsfunktionswertspeicherer, die einen Minimumbewertungsfunktionswert, welcher ein Minimum des von dem Bewertungsfunktionsberechner berechneten Bewertungsfunktionswert ist, und eine Zeichenkettenanordnung und ein Zeichenkettenanordnungsstartpunkt in dem oben genannten Bewertungsfunktionswert speichert, wobei der Bewertungsfunktionsberechner beinhaltet: einen Zeichenlückenfunktionsberechner, der einen Zeichenlückenfunktionswert berechnet, welcher eine Bewertung zu einer Zeichenlücke zwischen einer Vielzahl von Zeichenketten zeigt, welche jeweils von einer Vielzahl von Kandidatenpunkten aus von dem Zeichenkettenanordner angeordnet werden; einen Straßenwinkelfunktionsberechner, der einen Straßenwinkelfunktionswert berechnet, welcher eine Bewertung zu einem Winkel der Straßenknotenpunktserie zeigt, entlang welcher die Zeichenkette von dem Zeichenkettenanordner angeordnet wird; und einen Bewertungsfunktionswertberechner, der den Bewertungsfunktionswert basierend auf dem von dem Zeichenlückenfunktionsberechner berechneten Zeichenlückenfunktionswert und dem von dem Straßenwinkelfunktionsberechner berechneten Straßenwinkelfunktionswert berechnet.
  • Vorteile der Erfindung
  • Die Zeichenkettenanordnungsvorrichtung gemäß der vorliegenden Erfindung kann eine Einschränkung in der Lesbarkeit aufgrund einer Überlappung zwischen Zeichenketten und einer Änderung des Anzeigewinkels eines Zeichens verhindern, und kann ebenso verhindern, dass der Nähegrad zwischen Zeichenketten hoch wird, wodurch eine Verbesserung der Sichtbarkeit jeder Zeichenkette ermöglicht wird.
  • Kurze Beschreibung der Figuren
  • 1 ist ein Blockdiagramm, welches die Struktur einer Zeichenkettenanordnungsvorrichtung gemäß einem ersten Ausführungsbeispiel zeigt;
  • 2 ist ein Flussdiagramm, welches die Arbeitsweise der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 3 ist ein Blockdiagramm, welches die Struktur eines Kandidatenpunkterzeugers der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 4 ist ein Blockdiagramm, welches die Struktur eines Zeichenkettenanordners der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 5 ist ein Blockdiagramm, welches die Struktur eines Bewertungsfunktionsberechners der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt.
  • 6 ist ein Diagramm, welches eine Beziehung zwischen zwei Mengen von Straßenknotenpunktserien zeigt, wobei entlang jeder von diesen eine Zeichenkette angeordnet werden soll;
  • 7 ist ein Flussdiagramm, welches die Arbeitsweise des Kandidatenpunkterzeugers der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 8 ist ein Diagramm, welches die Ergebnisse der Kandidatenpunkterzeugung zeigt, welche von der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel erhalten worden sind;
  • 9 ist ein Flussdiagramm, welches die Arbeitsweise des Zeichenkettenanordners der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 10 ist ein Diagramm, welches das Ergebnis der Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 11 ist ein Diagramm, welches das Ergebnis der Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 12 ist ein Diagramm, welches das Ergebnis der Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 13 ist ein Diagramm, welches das Ergebnis der Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 14 ist ein Flussdiagramm, welches die Arbeitsweise des Bewertungsfunktionsberechners der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 15 ist ein erklärendes Diagramm, welches ein Beispiel einer Berechnung eines Verbindungswinkels durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 16 ist ein Diagramm, welches ein Beispiel einer Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 17 ist ein Diagramm, welches ein Beispiel einer Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 18 ist ein Diagramm, welches die Ergebnisse einer Kandidatenpunkterzeugung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 19 ist ein Diagramm, welches ein Beispiel einer Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 20 ist ein Diagramm, welches ein Beispiel einer Anordnung durch die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt;
  • 21 ist ein erklärendes Diagramm, welches eine herkömmliche Anordnung einer Zeichenkette zeigt;
  • 22 ist ein erklärendes Diagramm, welches eine herkömmliche Anordnung von Zeichenketten zeigt; und
  • 23 ist ein erklärendes Diagramm, welches eine Verbesserung in der Lesbarkeit einer herkömmlichen Anordnung von Zeichenketten zeigt.
  • Ausführungsbeispiele der Erfindung
  • Nachstehend werden die bevorzugten Ausführungsbeispiele der vorliegenden Erfindung mit Bezug auf die beigefügten Figuren beschrieben, um diese Erfindung näher zu erläutern.
  • Ausführungsbeispiel 1
  • 1 ist ein Blockdiagramm, welches die Struktur einer Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung zeigt. Die Zeichenkettenanordnungsvorrichtung 100 umfasst einen Zeichenkettendatenspeicher 1, einen Zeichenkettendatenerfasser (Datenerfasser) 2, einen Kandidatenpunkterzeuger 3, einen Zeichenkettenanordner 4, einen Bewertungsfunktionsberechner 5, einen Minimumbewertungsfunktionswertspeicherer 6, einen Minimumbewertungsfunktionswertdatenspeicher 7, einen Zeichenkettenanordnungsdatenspeicher 8 und einen Zeichenkettenanordnungsstartpunktdatenspeicher 9.
  • Der Zeichenkettendatenspeicher 1 ist ein Speicherbereich zum Speichern einer Menge von Daten über eine Vielzahl von Zeichenketten und speichert die Anzahl der Zeichenketten, die Anzahl der in jeder der Zeichenketten enthaltenen Zeichen, die Breite und die Höhe jedes der Zeichen und eine Straßenknotenpunktserie, entlang welcher jede der Zeichenketten anzuordnen ist. Der Zeichenkettendatenerfasser 2 erfasst in dem Zeichenkettendatenspeicher 1 gespeicherte Zeichenkettendaten. Der Kandidatenpunkterzeuger 3 erzeugt zwei oder mehr Anordnungskandidaten (nachstehend als Kandidatenpunkte bezeichnet) für die Zeichenkette auf einem Straßenknotenpunkt, entlang welchem die Zeichenkette anzuordnen ist. Der Zeichenkettenanordner 4 ordnet die Zeichenkette entlang der Straßenknotenpunktserie von jedem Kandidatenpunkt aus an.
  • Der Bewertungsfunktionsberechner 5 bewertet die Lesbarkeit einer Zeichenkette, welche angeordnet wird. Der Minimumbewertungsfunktionswertspeicherer 6 speichert in jedem Speicherbereich einen Bewertungsfunktionswert, eine Zeichenkettenanordnung und einen Zeichenkettenanordnungsstartpunkt zu einer Zeit, wenn eine Bewertungsfunktion ein Minimum aufweist. Die Minimumbewertungsfunktionswertdatenspeichereinheit 7 ist ein Speicherbereich zum Speichern des Minimumbewertungsfunktionswerts. Die Zeichenkettenanordnungsdatenspeichereinheit 8 ist ein Speicherbereich zum Speichern der Zeichenkettenanordnung zu der Zeit, wenn die Bewertungsfunktion einen Minimumbewertungsfunktionswert aufweist. Die Zeichenkettenanordnungsstartpunktdatenspeichereinheit 9 ist ein Speicherbereich zum Speichern des Zeichenkettenanordnungsstartpunkts zu der Zeit, wenn der Bewertungsfunktionswert ein Minimum ist.
  • Als nächstes wird die Arbeitsweise der Zeichenkettenanordnungsvorrichtung erklärt. 2 ist ein Flussdiagramm, welches die Arbeitsweise der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung zeigt. Der Zeichenkettendatenerfasser 2 verweist auf den Zeichenkettendatenspeicher 1, um die Zeichenkettendaten über eine anzuordnende Zeichenkette zu erfassen (Schritt ST1). Der Kandidatenpunkterzeuger 3 erzeugt Kandidatenpunkte, wobei die in Schritt ST1 erfasste Zeichenkette von jedem dieser auf der Straßenknotenpunktserie, entlang welcher die Zeichenkette anzuordnen ist, anzuordnen ist (Schritt ST2). Der Zeichenkettenanordner 4 ordnet die Zeichenkette von jedem der in Schritt ST2 erzeugten Kandidatenpunkte aus entlang der Straßenknotenpunktserie an (Schritt ST3). Der Zeichenkettenanordner 4 verweist weiter auf das Ergebnis der Anordnung in Schritt ST3 und bestimmt, ob die Zeichenkette entlang der Straßenknotenpunktserie angeordnet werden kann oder nicht (Schritt ST4). Z. B., wenn die Zeichenkette angeordnet wird, solange sie über die Straßenknotenpunktserie hinausragt, bestimmt der Zeichenkettenanordner, dass die Zeichenkette nicht angeordnet werden kann. Wenn der Zeichenkettenanordner bestimmt, dass die Zeichenkette nicht entlang der Straßenknotenpunktserie angeordnet werden kann (wenn „NEIN” in Schritt ST4), beendet die Zeichenkettenanordnungsvorrichtung die Verarbeitung.
  • Im Gegensatz dazu, wenn der Zeichenkettenanordner bestimmt, dass die Zeichenkette entlang der Straßenknotenpunktserie angeordnet werden kann (wenn „JA” in Schritt ST4), berechnet der Bewertungsfunktionsberechner 5 den Bewertungsfunktionswert der Zeichenkette, die angeordnet wird (Schritt ST5). Der Minimumbewertungsfunktionswertspeicherer 6 bestimmt, ob der in Schritt ST5 berechnete Bewertungsfunktionswert kleiner ist als ein Minimumbewertungsfunktionswert mini_cost, welcher bereits in der Minimumbewertungsfunktionswertdatenspeichereinheit 7 gespeichert ist, oder nicht (Schritt ST6). Wenn der Bewertungsfunktionswert gleich oder größer als der Minimumbewertungsfunktionswert mini_cost ist (wenn „NEIN” in Schritt ST6), beendet die Zeichenkettenanordnungsvorrichtung die Verarbeitung. Dagegen, wenn der Bewertungsfunktionswert kleiner als der Minimumbewertungsfunktionswert mini_cost ist (wenn „JA” in Schritt ST6), speichert der Minimumbewertungsfunktionswertspeicherer 6 den in Schritt ST5 gespeicherten Bewertungsfunktionswert in dem Minimumbewertungsfunktionswertdatenspeicher 7 (Schritt ST7) und speichert jeweils Daten über die Zeichenkettenanordnung und Daten über den Zeichenkettenanordnungsstartpunkt in dem Zeichenkettenanordnungsdatenspeicher 8 und in dem Zeichenkettenanordnungsstartpunktdatenspeicher 9 (Schritt ST8), und die Zeichenkettenanordnungsvorrichtung beendet die Verarbeitung.
  • Als nächstes wird eine detailliertere Struktur und eine detailliertere Arbeitsweise der Zeichenkettenanordnungsvorrichtung 100 erklärt. 35 sind Blockdiagramme, welche jede strukturelle Komponente der Zeichenkettenanordnungsvorrichtung 100 in Einzelheiten zeigt. 3 ist ein Blockdiagramm, welches die Struktur des Kandidatenpunkterzeugers 3 zeigt, 4 ist ein Blockdiagramm, welches die Struktur des Zeichenkettenanordners 4 zeigt und 5 ist ein Blockdiagramm, welches die Struktur des Bewertungsfunktionsberechners 5 zeigt. Zuerst, wie in 3 gezeigt, umfasst der Kandidatenpunkterzeuger 3 einen ersten Verbindungslängenberechner 31, der die Länge jeder Verbindung, welche zwei Knotenpunkte in der Straßenknotenpunktserie miteinander verbindet, einen Verbindungsgesamtlängenaktualisierer 32, der die von dem ersten Verbindungslängenberechner 31 berechnete Länge jeder Verbindung addiert, um die Gesamtlänge der Straßenknotenpunktserie zu bestimmen, einen Kandidatenpunktlückenberechner 33, der die Lücke zwischen Kandidatenpunkten von der Gesamtlänge der Verbindungen berechnet, einen Erzeuger 34, der Kandidatenpunkte auf der Straßenknotenpunktserie erzeugt, einen zweiten Verbindungslängenberechner 35, der, wenn die Länge einer eingestellten Verbindung eine vorbestimmte Bedingung nicht erfüllt, die Knotenpunkte ändert und die Länge einer anderen Verbindung berechnet, einen Abstandaktualisierer 36, der die Verbindungslänge basierend auf der von dem zweiten Verbindungslängenberechner 35 berechneten Länge der anderen Verbindung aktualisiert, und eine Informationsspeichereinheit 37, die Informationen über Kandidatenpunkte inklusive der Kandidatenpunktlücke (cand_gap), einer Kandidatenpunktzahl (cand_idx) und der Länge (dist) einer Verbindung von dem führenden Knotenpunkt der Straßenknotenpunktserie zu einem vorbestimmten Knotenpunkt berechnet.
  • Als nächstes, wie in 4 gezeigt, umfasst der Zeichenkettenanordner 4 einen Anfangszeichenpositionsbestimmer 41, der die Position des ersten Zeichens einer Zeichenkette einstellt, einen Verbindungswinkelberechner 42, der einen Winkel einer Verbindung berechnet, einen Zeichenanordnungspositionsberechner 43, der die Anordnungsposition des Zeichens berechnet, einen Zeichen-außerhalb-Verbindung-Bestimmer 44, der bestimmt, ob das Zeichen außerhalb der Verbindung angeordnet ist oder nicht, einen Zeichenanordner 45, der die Anordnung des Zeichens einstellt, einen Überlappungsbestimmer 46, der bestimmt, ob das Zeichen ein anderes Zeichen, das vorher angeordnet wird, überlappt, einen ersten Parameteraktualisierer (Parameteraktualisierer) 47, der einen für die Anordnung des Zeichens notwendigen Parameter aktualisiert, wenn das Zeichen auf einer Verbindung existiert und kein anderes Zeichen überlappt, und einen zweiten Parameteraktualisierer 48, der einen für die Anordnung des Zeichens notwendigen Parameter aktualisiert, wenn das Zeichen außerhalb der Verbindung angeordnet wird.
  • Als nächstes, wie in 5 gezeigt, umfasst der Bewertungsfunktionsberechner 5 einen Zeichenlückenfunktionsberechner 51, der einen Funktionswert berechnet, welcher den Einfluss der Zeichenlücke zwischen Zeichenketten auf die Lesbarkeit einer Zeichenkette zeigt, einen Straßenwinkelfunktionsberechner 52, der einen Funktionswert berechnet, welcher den Einfluss eines Winkels einer Straße auf die Lesbarkeit der Zeichenkette zeigt, und einen Bewertungsfunktionswertberechner 53, der einen Bewertungsfunktionswert berechnet. Des Weiteren umfasst der Zeichenlückenfunktionsberechner 51 einen Anfangszeichenkettenbestimmer 54, der bestimmt, ob die Zeichenkette die erste ist oder nicht, einen ersten Gaußfunktionswertberechner 55, der einen Wert einer Gaußfunktion berechnet, und einen Zeichenlückenfunktionsaktualisierer 56, der einen Funktionswert, der den Einfluss der Zeichenlücke zwischen Zeichenketten auf die Lesbarkeit einer Zeichenkette zeigt, aktualisiert. Zusätzlich umfasst der Straßenwinkelfunktionsberechner 52 einen zweiten Gaußfunktionswertberechner 57, der einen Wert einer Gaußfunktion berechnet, und einen Straßenwinkelfunktionsaktualisierer 58, der einen Funktionswert aktualisiert, der den Einfluss eines Winkels einer Straße auf die Lesbarkeit einer Zeichenkette zeigt.
  • Als nächstes werden die detaillierten Arbeitsweisen des Kandidatenpunkterzeugers 3, des Zeichenkettenanordners 4 und des Bewertungsfunktionsberechners 5 erklärt. Die folgende Erklärung der Arbeitsweisen erfolgt unter der Annahme, dass die Zeichenkettendaten über Zeichenketten, von denen jede entlang einer Straßenknotenpunktserie angeordnet werden soll, die Daten über eine Zeichenkette „String11” und eine Zeichenkette „String2” sind, und die Breite aller Zeichen 5 ist und die Höhe aller Zeichen 10 ist. Des Weiteren wird eine Beziehung zwischen der Straßenknotenpunktserie, entlang welcher die Zeichenkette „String11” angeordnet werden soll, und der Straßenknotenpunktserie, entlang welcher die Zeichenkette „String2” angeordnet werden soll, in 6 gezeigt. Die Straßenknotenpunktserie P(0) bis P(2), entlang welcher die Zeichenkette „String11” angeordnet werden soll, besteht aus einem Knotenpunkt P(0) = (10, 20), einem Knotenpunkt P(1) = (10, 50) und einem Knotenpunkt P(2) = (100, 50). Gleichermaßen besteht die Straßenknotenpunktserie P(3) bis P(5), entlang welcher die Zeichenkette „String2” angeordnet werden soll, aus einem Knotenpunkt P(3) = (50, 70), einem Knotenpunkt P(4) = (50, 10) und einem Knotenpunkt P(5) = (110, 10). Zusätzlich wird STEP_SIZE auf 1 gesetzt und CANDIDATE_NUM (die Anzahl von Kandidatenpunkten) auf 3 gesetzt, F wird durch die folgende Gleichung (2) ausgedrückt, H wird durch die folgende Gleichung (3) ausgedrückt, RC wird auf 1 gesetzt und SC wird auf 1 gesetzt.
  • Figure DE112011105528T5_0003
  • Als erstes, in Schritt ST1 des in 2 gezeigten Flussdiagramms, erfasst der Zeichenkettendatenerfasser 2 die erste Zeichenkette „String11”, die zweite Zeichenkette „String2”, die Straßenknotenpunktserie P(0) bis P(2) und die Straßenknotenpunktserie P(3) bis P(5), entlang welcher jeweils die Zeichenketten angeordnet werden sollen, und die Breite und die Höhe jedes der Zeichen, welche jede der Zeichenketten bilden, von dem Zeichenkettendatenspeicher 1. Als nächstes optimiert die Zeichenkettenanordnungsvorrichtung die Anordnung der ersten Zeichenkette „String11”. Als ein Verfahren zum Optimieren der Anordnung erzeugt der Kandidatenpunkterzeuger 3 Kandidatenpunkte, deren Anzahl gleich der voreingestellten CANDIDATE_NUM ist, auf der Straßenknotenpunktserie P(0) bis P(2), entlang welcher die Zeichenkette „String11” angeordnet werden soll, d. h. drei Kandidatenpunkte in gleichen Abständen.
  • Ein konkretes Verfahren zum Erzeugen von Kandidatenpunkten wird mit Bezug auf ein in 7 gezeigtes Flussdiagramm erklärt. 7 ist ein Flussdiagramm, welches die Arbeitsweise des Kandidatenpunkterzeugers der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt. Der erste Verbindungslängenberechner 31 des Kandidatenpunkterzeugers 3 verweist auf jede Knotenpunktinformation, welche in der Informationsspeichereinheit 37 gespeichert ist, und berechnet die Länge der Verbindung zwischen dem n-ten Knotenpunkt P(n) und dem (n + 1)-ten Knotenpunkt P(n + 1) (Schritt ST11). Nachdem der erste Verbindungslängenberechner 31 die Länge der Verbindung berechnet hat, addiert der Verbindungsgesamtlängenaktualisierer 32 die Länge zu einer Verbindungsgesamtlänge, welche der erste Verbindungslängenberechner das letzte Mal berechnet hat, und aktualisiert die Verbindungsgesamtlänge (total_dist) (Schritt ST12).
  • Der erste Verbindungslängenberechner 31 bestimmt, ob der erste Verbindungslängenberechner die Berechnung der Längen aller Verbindungen, welche die Straßenknotenpunktserie bilden, abgeschlossen hat (Schritt ST13). Wenn der erste Verbindungslängenberechner die Berechnung der Längen der mit allen Knotenpunkten assoziierten Verbindungen nicht abgeschlossen hat (wenn „NEIN” in Schritt ST13), kehrt die Zeichenkettenanordnungsvorrichtung zurück zu dem Vorgang des Schritts ST11 und wiederholt die oben beschriebenen Vorgänge. Dagegen, wenn der erste Verbindungslängenberechner die Berechnung der Längen der mit allen Knotenpunkten assoziierten Verbindungen abgeschlossen hat (wenn „JA” in Schritt ST13), erfasst der Kandidatenpunktlückenberechner 33 die Anzahl von Kandidatenpunkten (CANDIDATE_NUM) mit Verweis auf den Informationsspeicher 37, und berechnet die Lücke zwischen Kandidatenpunkten gemäß der folgenden Gleichung (4) und speichert die hierdurch berechnete Kandidatenpunktlücke (cand_gap) in dem Informationsspeicher 37 (Schritt ST14). cand_gap = total_dist/CANDIDATE_NUM (4)
  • Als nächstes verweist der Erzeuger 34 auf den Informationsspeicher 37 und erfasst die Informationen über die Kandidatenpunktlücke (cand_gap), die Kandidatenpunktzahl (cand_idx) und die Verbindungslänge (dist) der Verbindung zwischen dem führenden Knotenpunkt der Straßenknotenpunktserie und dem vorbestimmten Knotenpunkt, und bestimmt, ob der Kandidatenpunkt eine durch die folgende Gleichung (5) gezeigte Bedingung erfüllt (Schritt ST15). dist > cand_idxxcand_gap (5)
  • Ein Anfangswert der Kandidatenpunktzahl (cand_idx) ist 0, und eine Anfangsverbindungslange (dist) ist die Länge der Verbindung zwischen dem führenden Knotenpunkt der Straßenknotenpunktserie und dem Knotenpunkt, welcher neben dem führenden Knotenpunkt angeordnet ist. Es wird angenommen, dass diese Anfangsbedingungen vorher in dem Informationsspeicher 37 gespeichert worden sind.
  • Wenn die in der oben gezeigten Gleichung (5) gezeigte Bedingung erfüllt ist (wenn „JA” in Schritt ST15), erzeugt der Erzeuger 34 einen Kandidatenpunkt Q, welcher entlang der Straßenknotenpunktserie in einem Abstand der Kandidatenpunktzahl (cand_idx) x die Kandidatenpunktlücke (cand_gap) von dem führenden Knotenpunkt der Straßenknotenpunktserie angeordnet ist (Schritt ST16). Danach bestimmt der Erzeuger 34, ob der Erzeuger alle Kandidatenpunkte Q, deren Anzahl CANDIDATE_NUM ist, erzeugt hat (Schritt ST17). Wenn der Erzeuger alle Kandidatenpunkte erzeugt hat (wenn „JA” in Schritt ST17), beendet die Zeichenkettenanordnungsvorrichtung die Verarbeitung. Dagegen, wenn der Erzeuger nicht alle Kandidatenpunkte erzeugt hat (wenn „NEIN” in Schritt ST17), erhöht die Zeichenkettenanordnungsvorrichtung die Kandidatenpunktzahl um 1 und speichert die Kandidatenpunktzahl in dem Informationsspeicher 37 (cand_idx + 1 in Schritt ST18) und kehrt zu dem Vorgang des Schritts ST15 zurück.
  • Dagegen, wenn die in der oben erwähnten Gleichung (5) gezeigte Bedingung nicht erfüllt ist (wenn „NEIN” in Schritt ST15), erhöht der Erzeuger die Knotenpunktzahl in dem Bestimmungsvorgang des Schritts ST15 um 1 (Schritt ST19) und berechnet die Länge der Verbindung zwischen dem Knotenpunkt der erhöhten Knotenpunktzahl und dem Knotenpunkt, der neben dem Knotenpunkt der erhöhten Knotenpunktzahl angeordnet ist (Schritt ST20). Der Abstandaktualisierer 36 addiert die Länge der Verbindung, die in Schritt ST20 neu berechnet wird, zu der Verbindungslänge (dist), welche für den Bestimmungsvorgang des Schritts ST15 verwendet wird, und aktualisiert die Verbindungslänge (dist) (Schritt ST21). Die in den Schritten ST19 bis ST21 aktualisierten Informationen werden in dem Informationsspeicher 37 gespeichert. Danach kehrt das Flussdiagramm zu dem Vorgang des Schritts ST15 zurück.
  • Als nächstes erfolgt eine Erklärung eines in 6 gezeigten konkreten Beispiels zusammen mit dem in 7 gezeigten Flussdiagramm. In Schritt ST11 berechnet der erste Verbindungslängenberechner 31 die Länge: 30 der Verbindung zwischen dem 0-ten Knotenpunkt P(0) und dem ersten Knotenpunkt P(1). In Schritt ST12 addiert der Verbindungsgesamtlängenaktualisierer 32 die Länge: 30 der Verbindung zu der Verbindungsgesamtlänge: 0, welche das letzte Mal berechnet worden ist, und aktualisiert die Verbindungsgesamtlänge. Der erste Verbindungslängenberechner berechnet gleichermaßen die Länge: 90 der Verbindung zwischen dem ersten Knotenpunkt P(1) und dem zweiten Knotenpunkt P(2) und aktualisiert die Verbindungsgesamtlänge zu 120. Wenn bestimmt wird, in Schritt ST13, dass die Längen aller Verbindungen, welche die Straßenknotenpunktserie P(0) bis P(2) bilden, berechnet worden sind, erfasst der Kandidatenpunktlückenberechner 33 in Schritt ST14 die Anzahl von Kandidatenpunkten (CANDIDATE_NUM) = 3 mit Verweis auf den Informationsspeicher 37 und berechnet die Kandidatenpunktlücke (cand_gap): 120/3 = 40.
  • In Schritt ST15 verweist der Erzeuger 34 auf die Informationsspeichereinheit 37 und erfasst die Kandidatenpunktlücke (cand_gap): 40, die Kandidatenpunktzahl (cand_idx): 0 (Anfangswert), und die Verbindungslänge (dist): 30 (die Anfangsverbindung P(0), P(1)), und bestimmt, ob der Kandidatenpunkt Q(0) die durch die oben genannte Gleichung (5) gezeigte Bedingung erfüllt. In dem Beispiel der 6, weil 30 > 0·40, bestimmt der Erzeuger, dass der Kandidatenpunkt die durch Gleichung (5) gezeigte Bedingung erfüllt.
  • In Schritt ST16 erzeugt der Erzeuger 34 den Kandidatenpunkt Q(0) in einem Abstand von 0·40 = 0 von dem Startknotenpunkt P(0). Insbesondere ist der 0-te Kandidatenpunkt Q(0) an dem gleichen Punkt angeordnet wie P(0). Die Position des Kandidatenpunkts Q(0) ist (10, 20), der Index des Startknotenpunkts der Verbindung (P(0), P(1)), auf welcher der Kandidatenpunkt Q(0) angeordnet ist, ist 0 und der Abstand vom Startknotenpunkt P(0) der Verbindung, auf welcher der Kandidatenpunkt angeordnet ist, zu dem Kandidatenpunkt ist 0. In Schritt ST17 bestimmt der Erzeuger 34, dass er nicht alle Kandidatenpunkte erzeugt hat, und erhöht, in Schritt ST18, die Kandidatenpunktzahl um 1 und stellt auf Erzeugung eines Kandidatenpunkts Q(1) um, und kehrt zu dem Vorgang des Schritts ST15 zurück.
  • Als nächstes wird ein Erzeugungsvorgang zum Erzeugen des Kandidatenpunkts Q(1) erklärt. In Schritt ST15 verweist der Erzeuger 34 auf die Informationsspeichereinheit 37 und erfasst die Kandidatenpunktlücke (cand_gap): 40, die Kandidatenpunktzahl (cand_idx): 1 und die Verbindungslänge (dist): 30 (die Anfangsverbindung P(0), P(1)), und bestimmt, ob der Kandidatenpunkt Q(1) die durch die oben erwähnte Gleichung (5) gezeigte Bedingung erfüllt. In dem Beispiel der 6, weil 30 < 1·40, bestimmt der Erzeuger, dass der Kandidatenpunkt die durch Gleichung (5) gezeigte Bedingung nicht erfüllt. Dann, in Schritten ST19 und 20, addiert der Erzeuger 1 zu der Knotenpunktzahl des Knotenpunkts P(0) und wechselt zu dem Knotenpunkt P(1) und berechnet die Länge: 90 der Verbindung zwischen dem Knotenpunkt P(1) und dem Knotenpunkt P(2). In Schritt ST21 aktualisiert der Abstandaktualisierer 36 die Verbindungslänge (dist) auf einen Wert 120, welchen der Abstandaktualisierer durch Addieren der hierdurch berechneten Verbindungslänge: 90 zu der Verbindungslänge (dist): 30, welche für den Bestimmungsvorgang in dem oben erwähnten Schritt ST15 verwendet wird, erhält. Nach dem Speichern der aktualisierten Informationen in dem Informationsspeicher 37 kehrt die Zeichenkettenanordnungsvorrichtung zu dem Vorgang des Schritts ST15 zurück.
  • In Schritt ST15 verweist der Erzeuger 34 auf die Informationsspeichereinheit 37 und erfasst die Kandidatenpunktlücke (cand_gap): 40, die Kandidatenpunktzahl (cand_idx): 1 und die Verbindungslänge (dist): 120 (die Verbindung P(0), P(2)), und bestimmt, ob der Kandidatenpunkt Q(1) die durch die oben genannte Gleichung (5) gezeigte Bedingung erfüllt. In dem Beispiel der 6, weil 120 > 1·40, bestimmt der Erzeuger, dass der Kandidatenpunkt die durch Gleichung (5) gezeigte Bedingung erfüllt. In Schritt ST16 erzeugt der Erzeuger 34 den Kandidatenpunkt Q(1) in einem Abstand von 1·40 = 40 von dem Startknotenpunkt P(0). Danach, in Schritt ST17, bestimmt der Erzeuger 34, dass er nicht alle Kandidatenpunkte erzeugt hat und erhöht, in Schritt ST18, die Kandidatenpunktzahl um 1 und wechselt zur Erzeugung eines Kandidatenpunkts Q(2), und kehrt zurück zu dem Vorgang des Schritts ST15. Die Zeichenkettenanordnungsvorrichtung führt wiederholt die oben genannten Vorgänge durch, bis die Zeichenkettenanordnung den Kandidatenpunkt Q(2) erzeugt.
  • Die Ergebnisse des Erzeugens der Kandidatenpunkte für die Straßenknotenpunktserie P(0) bis P(2), welche in 6 gezeigt ist, sind in 8 gezeigt. Des Weiteren ist eine Positionsbeziehung zwischen den drei Kandidatenpunkten Q(0), Q(1) und Q(2) in 8 gezeigt, wie unten gezeigt wird.
    Kandidatenpunkt Q(0) Position: (10, 20), Index des Startknotenpunkts: 0, Abstand vom Startknotenpunkt: 0
    Kandidatenpunkt Q(1) Position: (20, 50), Index des Startknotenpunkts: 1, Abstand vom Startknotenpunkt: 10
    Kandidatenpunkt Q(2) Position: (60, 50), Index des Startknotenpunkts: 1, Abstand vom Startknotenpunkt: 50
  • Als nächstes wird eine Arbeitsweise des Zeichenkettenanordners 4, der eine Zeichenkette an einem durch den Kandidatenpunkterzeuger 3 erzeugten Kandidatenpunkt Q anordnet, beschrieben. 9 ist ein Flussdiagramm, welches die Arbeitsweise des Zeichenkettenanordners der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt. Nachstehend wird der Index des Startknotenpunkts der Verbindung R(Q), auf welcher der Kandidatenpunkt Q angeordnet ist, als road_idx ausgedrückt, und der Abstand von dem führenden Knotenpunkt der Straßenknotenpunktserie, entlang welcher der Kandidatenpunkt Q angeordnet ist, zu dem Kandidatenpunkt Q wird als dist ausgedrückt.
  • Der Anfangszeichenpositionsbestimmer 41 führt eine Anfangseinstellung von road_idx und dist zu Beginn seines Vorgangs aus (Schritt ST31). Als nächstes berechnet der Verbindungswinkelberechner 42 einen Winkel θ der Verbindung zwischen dem road_idx(n)-ten Knotenpunkt und dem road_idx(n + 1)-ten Knotenpunkt (Schritt ST32). Der Winkel θ der Verbindung ist definiert als der Winkel der Verbindung (road_idx(n), road_idx(n + 1)), d. h. der Winkel des Vektors (road_idx(n), road_idx(n + 1)), wobei eine X-Achsenrichtung als 0° definiert ist und eine Y-Achsenrichtung als 90° definiert ist. Der Zeichenanordnungspositionsberechner 43 berechnet eine Position in einem Abstand von dist von dem road_idx(n)-ten Knotenpunkt in einer Richtung θ als eine Zeichenanordnungsposition (Schritt ST33).
  • Der Zeichen-außerhalb-Verbindung-Bestimmer 44 bestimmt, ob die Zeichenanordnungsposition auf der Verbindung (road_idx(n), road_idx(n + 1)) existiert (Schritt ST34). Wenn die Zeichenanordnungsposition auf der Verbindung (road_idx(n), road_idx(n + 1)) existiert (wenn „JA” in Schritt ST34), bestimmt der Zeichenanordner 45 die Anordnungsposition des Zeichens (Schritt ST35). In dem konkreten Vorgang stellt der Zeichenanordner die Koordinaten der Zeichenkettenanordnungsposition, welche der Zeichenanordnungspositionsberechner 43 in Schritt ST33 berechnet, zunächst als links-unten-Koordinaten des Zeichens. Zusätzlich berechnet der Zeichenanordner links-oben-Koordinaten, rechts-unten-Koordinaten und rechts-oben-Koordinaten des Zeichens gemäß der folgenden Gleichung (6).
    Figure DE112011105528T5_0004
  • In der Gleichung (6) ist char_idx ein Index, welcher die Anordnungsreihenfolge jedes Zeichens zeigt, welches die Zeichenkette bildet. Zusätzlich zeigt H(char_idx) die Höhe des char_idx-ten Zeichens, W(char_idx) die Breite des char_idx-ten Zeichens, LD(char_idx) die links-unten-Koordinaten des char_idx-ten Zeichens, LT(char_idx) die links-oben-Koordinaten des char_idx-ten Zeichens, RD(char_idx) die rechts-unten-Koordinaten des char_idx-ten Zeichens und RT(char_idx) die rechts-oben-Koordinaten des char_idx-ten Zeichens.
  • Der Überlappungsbestimmer 46 bestimmt, ob die in Schritt ST35 bestimmte Überlappungsposition ein Zeichen überlappt, welches durch einen vorhergehenden Vorgang angeordnet wird (Schritt ST36). Wenn die Anordnungsposition kein Zeichen überlappt (wenn „NEIN” in Schritt ST36), addiert der erste Parameteraktualisierer 47 die Breite des char_idx-ten-Zeichens zu dist und erhöht ebenso char_idx um „1” (Schritt ST37). Danach bestimmt der erste Parameteraktualisierer 47, ob der Zeichenanordner die Anordnungspositionen aller Zeichen, welche die Zeichenkette bilden, bestimmt hat (Schritt ST38). Nachdem der Zeichenanordner die Anordnungspositionen aller Zeichen bestimmt hat (wenn „JA” in Schritt ST38), beendet die Zeichenkette die Verarbeitung. Im Gegensatz dazu, wenn der Zeichenanordner noch nicht die Anordnungspositionen von allen Zeichen bestimmt hat (wenn „NEIN” in Schritt ST38), befiehlt der erste Parameteraktualisierer 47 dem Zeichenanordnungspositionsberechner 43, eine Anordnungsposition noch einmal basierend auf dem in Schritt ST37 aktualisierten Parameter zu berechnen (Schritt ST39). Danach kehrt die Zeichenkettenanordnungsvorrichtung zu dem Vorgang des Schritts ST33 zurück und wiederholt die oben beschriebenen Vorgänge.
  • Im Gegensatz dazu, wenn die Anordnungsposition ein Zeichen überlappt (wenn „JA” in Schritt ST36), addiert der Überlappungsbestimmer 46 STEP_SIZE zu dist (Schritt ST40) und befiehlt dem Zeichenanordnungspositionsberechner 43, eine Anordnungsposition noch einmal basierend auf dem in Schritt ST40 addierten Parameter zu berechnen (Schritt ST41). Danach kehrt die Zeichenkettenanordnungsvorrichtung zu dem Vorgang des Schritts ST33 zurück und wiederholt die oben beschriebenen Vorgänge.
  • Zusätzlich, wenn die Zeichenanordnungsposition nicht auf der Verbindung existiert (wenn „NEIN” in Schritt ST34), aktualisiert der zweite Parameteraktualisierer 48 den Parameter (Schritt ST42). Konkret aktualisiert der zweite Parameteraktualisierer 48 dist auf einen Wert, welchen der zweite Parameteraktualisierer durch Subtrahieren der Länge der Verbindung (road_idx(n), road_idx(n + 1)) von dist erhält und, nachdem er road_idx um 1 erhöht, befiehlt dem Zeichenanordnungspositionsberechner 43, auch eine Anordnungsposition noch einmal basierend auf dem aktualisierten Parameter zu berechnen (Schritt ST43). Danach kehrt die Zeichenkettenanordnungsvorrichtung zu dem Vorgang des Schritts ST32 zurück und wiederholt die oben beschriebenen Vorgänge.
  • Als nächstes erfolgt eine Erklärung unter Verwendung des in den 6 und 8 gezeigten konkreten Beispiels zusammen mit dem in 9 gezeigten Flussdiagramm. Als erstes, in Schritt ST31, führt der Anfangszeichenpositionsbestimmer 41 eine Anfangseinstellung von road_idx und dist aus, um den Index: 0, welcher den Startknotenpunkt zeigt, des Kandidatenpunkts Q(0) auf road_idx einzustellen und auch den Abstand: 0 von dem führenden Knotenpunkt P(0) der Straßenknotenpunktserie P(0) bis P(2) zu dem Kandidatenpunkt Q auf dist einzustellen. In Schritt ST32 berechnet der Verbindungswinkelberechner 42 den Winkel θ der Verbindung (P(0), P(1)) als 90°. In Schritt ST33 berechnet der Zeichenanordnungspositionsberechner 43, als die Zeichenkettenanordnungsposition, die Position LD(0) = (10, 20) in einem Abstand von dist = 0 von dem road_idx = 0-ten Knotenpunkt in einer Richtung von θ = 90°.
  • Der Zeichen-außerhalb-Verbindung-Bestimmer 44 bestimmt in dem Bestimmungsprozess des Schritts ST34, dass LD(0) auf der Verbindung (P(0), P(1)) existiert. In Schritt ST35 bestimmt der Zeichenanordner 45 die Anordnungsposition des 0-ten Zeichens „5” der Zeichenkette „String11”. Der Zeichenaußerhalb-Verbindung-Bestimmer stellt LD(0) zunächst als die links-unten-Koordinaten des Zeichens „5” ein und stellt dann LT(0) = (0, 20) als die links-oben-Koordinaten des Zeichens „S” ein. Danach stellt der Zeichen-außerhalb-Verbindung-Bestimmer RD(0) = (10, 25) als die rechts-unten-Koordinaten des Zeichens „S” ein. Schließlich stellt der Zeichen-außerhalb-Verbindung-Bestimmer RT(0) = (0, 25) als die rechts-oben-Koordinaten des Zeichens „5” ein. Die Anordnung eines umschriebenen Rechtecks des Zeichens „5” ist in 10 gezeigt. In Schritt ST36 bestimmt der Überlappungsbestimmer 46, ob es eine Überlappung zwischen dem Zeichen „5”, welcher in Schritt ST35 angeordnet wird, und dem Zeichen, welches das letzte Mal angeordnet worden ist, gibt oder nicht. In diesem Beispiel, da kein Zeichen, welches das letzte Mal angeordnet worden ist, existiert, bestimmt der Überlappungsbestimmer, dass es keine Überlappung gibt.
  • In Schritt ST37 addiert der erste Parameteraktualisierer 47 die 0-te Breite „5” zu dist und setzt dist auf dist = 0 + 5 = 5 und addiert „1” zu char_idx und setzt char_idx auf char_idx = 0 + 1 = 1. Weil der erste Parameteraktualisierer 47, in Schritt ST38, bestimmt, dass der Zeichenanordner nicht die Anordnungspositionen aller Zeichen, welche die Zeichenkette bilden, bestimmt hat, befiehlt der erste Parameteraktualisierer, in Schritt ST39, dem Zeichenanordnungspositionsberechner 43, eine Anordnungsposition noch einmal basierend auf dem aktualisierten Parameter zu berechnen, und kehrt zu dem Vorgang des Schritts ST33 zurück.
  • Der Zeichenanordnungspositionsberechner 43, welcher den Befehl in Schritt ST39 erhalten hat, berechnet die Zeichenanordnungsposition des zweiten Zeichens „t”. Die Berechnung wird basierend auf dist = 5 und char_idx = 1 ausgeführt, welche in Schritt ST37 aktualisiert werden. In Schritt ST33 berechnet der Zeichenanordnungspositionsberechner 43 die Position LD(1) = (10, 25) als die Zeichenkettenanordnungsposition. Die Zeichenkettenanordnungsvorrichtung führt die Vorgänge der Schritte ST34 bis ST36 aus. Infolgedessen wird bestimmt, dass LD(1) auf der Verbindung (P(0), P(1)) existiert, und die links-unten-Koordinaten, die links-oben-Koordinaten, die rechts-unten-Koordinaten und die rechts-oben-Koordinaten des zweiten Zeichens „t” jeweils LD(1) = (10, 25), LT(1) = (0, 25), RD(1) = (10, 30) und RT(1) = (0, 30) sind. Die Anordnung eines umschriebenen Rechtecks des zweiten Zeichens „t” ist in 11 gezeigt. Weil in Schritt ST36 bestimmt wird, dass das Zeichen, welches als erstes Zeichen angeordnet wird, das Zeichen überlappt, welches als das zweite Zeichen angeordnet wird, addiert der Überlappungsbestimmer 46 in Schritt ST40 STEP_SIZE = 1 zu dist und befiehlt, in Schritt ST41, dem Zeichenanordnungspositionsberechner 43, die Zeichenanordnungsposition des zweiten Zeichens „t” noch einmal basierend auf dem erhöhten Parameter zu berechnen.
  • Die Zeichenkettenanordnungsvorrichtung wiederholt die Vorgänge der Schritte ST33 bis ST36 noch einmal und berechnet die Zeichenanordnungsposition des zweiten Zeichens „t”. Die Berechnung wird basierend auf dist = 6, was in Schritt ST40 erhöht wird, und char_idx = 1 ausgeführt. Die Ergebnisse des Wiederholens der oben beschriebenen Vorgänge und des Anordnens des zweiten Zeichens LD(1) bis zum sechsten Zeichen LD(5) werden in 12 gezeigt. Nur die links-unten-Koordinaten jedes Zeichens sind in 12 gezeigt.
  • Nach dem Anordnen des sechsten Zeichens berechnet der Zeichenanordnungspositionsberechner 43 die Anordnungsposition des siebten Zeichens „1” der Zeichenkette „String11”. Dieses Mal, weil dist = 35, cand_idx = 6 und road_idx = 0, ist die Position in einem Abstand von dist von dem road_idx-ten Knotenpunkt in einer Richtung θ LD(6) = (10, 55). In Schritt ST34 bestimmt der Zeichen-außerhalb-Verbindung-Bestimmer 44, dass die Anordnungsposition (10, 55) außerhalb der Verbindung (P(0), P(1)) ist, und der zweite Parameteraktualisierer 48, in Schritt ST42, aktualisiert den Parameter. Konkret, weil die Länge der Verbindung zwischen dem 0-ten Knotenpunkt und dem ersten Knotenpunkt „30” ist, wird dist auf dist = 35 – 30 = 5 aktualisiert, und road_idx wird auf road_idx = 0 + 1 = 1 gesetzt. Danach gibt der zweite Parameteraktualisierer in Schritt ST43 einen Befehl zum erneuten Berechnen der Anordnungsposition basierend auf dem durch den zweiten Parameteraktualisierer 48 aktualisierten Parameter aus und kehrt zum dem Vorgang des Schritts ST32 zurück.
  • In Schritt ST32 berechnet der Verbindungswinkelberechner 42 den Winkel θ der Verbindung (P(1), P(2)) als 0° basierend auf dem aktualisierten Parameter. Danach führt die Zeichenkettenanordnungsvorrichtung die gleichen Vorgänge wie die oben Beschriebenen aus, um das siebte Zeichen und das achte Zeichen anzuordnen, und, wenn in dem Bestimmungsvorgang des Schritts ST38 bestimmt wird, dass die Anordnungspositionen aller Zeichen bestimmt worden sind, beendet die Verarbeitung. Die Ergebnisse des Anordnens aller Zeichen sind in 13 gezeigt. Auch in 13 sind nur die links-unten-Koordinaten jedes Zeichens gezeigt.
  • Als nächstes wird ein Verfahren zum Berechnen eines Bewertungsfunktionswerts erklärt, welcher den Einfluss einer angeordneten Zeichenkette auf die Lesbarkeit zeigt. 14 ist ein Flussdiagramm, welches die Arbeitsweise des Bewertungsfunktionsberechners der Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel zeigt. Als erstes berechnet der Zeichenlückenfunktionsberechner 51 einen Wert P(Sstring_idx/{Sstring_idx-1}) einer Zeichenlückenfunktion, welche eine Funktion ist, die die Zeichenlücke zwischen jeder Zeichenkette (jede der 0-ten bis (string_idx – 1)-ten Zeichenketten), deren Anordnung bereits bestimmt ist, und der string_idx(n)-ten Zeichenkette. Konkret bestimmt der Anfangszeichenkettenbestimmer 54 des Zeichenlückenfunktionsberechners 51, ob entweder string_idx = 0 oder string_idx ≥ 1 eingerichtet ist (Schritt ST51). Wenn bestimmt ist, in Schritt ST51, dass string_idx = 0 eingerichtet ist, setzt der Anfangszeichenkettenbestimmer „1” auf den Zeichenlückenfunktionswert P(Sstring_idx/{Sstring_idx-1}) (Schritt ST52), und schreitet dann zu dem Vorgang des Straßenwinkelfunktionsberechners 52 fort.
  • Dagegen, wenn bestimmt wird, in Schritt ST51, dass string_idx ≥ 1 eingerichtet ist, berechnet der Zeichenlückenfunktionsaktualisierer 56 den Zeichenlückenfunktionswert P(Sstring_idx/{Sstring_idx-1}) gemäß der folgenden Gleichung (7) (Schritt ST53), und schreitet zu dem Vorgang des Straßenwinkelfunktionsberechners 52 fort.
  • Figure DE112011105528T5_0005
  • In der oben erwähnten Gleichung (7) zeigt Cstring_idx und Cstring_idx2 jeweils die Anzahl von Zeichen der string_idx-ten Zeichenkette und die Anzahl von Zeichen der string_idx2-ten Zeichenkette. Des Weiteren zeigen xchar_idx und xchar_idx2 in der Gleichung (7) jeweils die Mittelpunktskoordinaten des char_idx-ten Zeichens und die Mittelpunktskoordinaten des char_idx2-ten Zeichens.
  • N'(xchar_idx/xchar_idx2) in der oben erwähnten Gleichung (7) wird durch die erste Gaußfunktionsausgabeeinheit 55 gemäß der folgenden Gleichung (8) berechnet.
  • Figure DE112011105528T5_0006
  • xchar_idx und xchar_idx2 in der oben erwähnten Gleichung (8) zeigen jeweils die Mittelpunktskoordinaten des char_idx-ten Zeichens und die Mittelpunktskoordinaten des char_idx2-ten Zeichens, SC zeigt eine Konstante, und H–1 zeigt eine Kovarianzmatrix.
  • Der Straßenwinkelfunktionsaktualisierer 58 berechnet einen Straßenwinkelfunktionswert P(Rstring_idx/Sstring_idx) gemäß der folgenden Gleichung (9) (Schritt ST54).
  • Figure DE112011105528T5_0007
  • Nostring_idx in der oben erwähnten Gleichung (9) zeigt die Anzahl von Knotenpunkten in der Straßenknotenpunktserie, entlang welcher die string_idx-te Zeichenkette anzuordnen ist, und μroad_idx zeigt die Koordinaten des road_idx-ten Knotenpunkts in der Straßenknotenpunktserie.
  • N(xchar_idxroad_idx) in der oben erwähnten Gleichung (9) wird durch den zweiten Gaußfunktionswertberechner 57 gemäß der folgenden Gleichung (10) berechnet.
  • Figure DE112011105528T5_0008
  • In der oben erwähnten Gleichung (10) sind xchar_idx und μroad_idx Vektoren, die Positionskoordinaten zeigen, xchar_idx zeigt den Mittelpunkt des char_idx-ten Zeichens, und μroad_idx zeigt den road_idx-ten Straßenknotenpunkt. Des Weiteren zeigt T eine Transposition und Σ–1 die inverse Matrix von Σ. Angle(road_idx) in der oben erwähnten Gleichung (10) zeigt eine Winkelvariation, welche die Verbindung zwischen dem (road_idx – 1)-ten Knotenpunkt und dem road_idx-ten Knotenpunkt mit der Verbindung zwischen dem (road_idx + 1)-ten Knotenpunkt und dem road_idx-ten Knotenpunkt bildet. Ein Beispiel für die Berechnung von Angle(road_idx) ist in 15 gezeigt. R(road_idx) in 15 zeigt den road_idx-ten Straßenknotenpunkt. Wie in 15 gezeigt, ist eine Winkelvariation, die zwei Verbindungen miteinander bilden, definiert als eine Variation in den Winkeln der Verbindungen.
  • Der Bewertungsfunktionswertberechner 53 berechnet den Bewertungsfunktionswert F unter Verwendung des Zeichenlückenfunktionswerts P(Sstring_idx/{Sstring_idx-1}), der in Schritt ST52 oder ST53 berechnet wird, und des Straßenwinkelfunktionswerts P(Rstring_idx/Sstring_idx), der in Schritt ST54 berechnet wird, gemäß der folgenden Gleichung (11) (Schritt ST55).
  • Figure DE112011105528T5_0009
  • Der berechnete Bewertungsfunktionswert F wird an den Minimumbewertungsfunktionswertspeicherer 6 ausgegeben (Schritt ST56), und die Zeichenkettenanordnungsvorrichtung beendet die Verarbeitung.
  • Als nächstes erfolgt eine Erklärung unter Verwendung des in 13 gezeigten konkreten Beispiels zusammen mit dem in 14 gezeigten Flussdiagramm. In Schritt ST51 bestimmt der Anfangszeichenkettenbestimmer 54, ob entweder string_idx = 0 oder string_idx ≥ 1 eingerichtet ist. Als erstes, weil die Bestimmung die Erste ist, ist diesmal string_idx = 0 eingerichtet, und der Anfangszeichenkettenbestimmer setzt, in Schritt ST52, „1” auf den Zeichenlückenfunktionswert P(Sstring_idx/Sstring_idx-1}).
  • Als nächstes berechnet der Straßenwinkelfunktionsaktualisierer 58 in Schritt ST54 den Wert P(Rstring_idx/Sstring_idx) als 2.36036·10–85 gemäß der oben erwähnten Gleichung (9). Danach aktualisiert der Straßenwinkelfunktionsaktualisierer 58 char_idx und road_idx, um den Vorgang des Schritts ST54 zu wiederholen, und erfasst schließlich den Wert P(Rstring_idx/Sstring_idx) = 0.000777442.
  • In Schritt ST55 berechnet der Bewertungsfunktionswertberechner 53 den Bewertungsfunktionswert basierend auf dem Zeichenlückenfunktionswert P(Sstring_idx/{Sstring_idx-1}) = 1, welcher in Schritt ST52 berechnet wird, und dem Straßenwinkelfunktionswert P(Rstring_idx/Sstring_idx) = 0.000777442, welcher schließlich in Schritt ST54 gemäß der oben erwähnten Gleichung (11) erfasst wird, und erfasst den Bewertungsfunktionswert F = log0.000777442 + log1 = –3.109331764. In Schritt ST56 gibt der Bewertungsfunktionswertberechner den hierdurch berechneten Bewertungsfunktionswert F an den Minimum bewertungsfunktionswertspeicherer 6 aus. Der Minimumbewertungsfunktionswertspeicherer 6 bestimmt, dass der berechnete Bewertungsfunktionswert F kleiner ist als min_cost und setzt dann F = –3.109331764 auf den Wert min_cost und speichert diesen Wert in dem Minimumbewertungsfunktionswertdatenspeicher 7, und setzt auch Q(0) auf den Zeichenkettenstartpunkt der 0-ten Zeichenkette und speichert diesen Zeichenkettenstartpunkt in dem Zeichenkettenanordnungsstartpunktdatenspeicher 9. Der Minimumbewertungsfunktionswertspeicherer speichert weiter die Zeichenkettenanordnung, die in 13 gezeigt ist, in dem Zeichenkettenanordnungsdatenspeicher 8, und die Zeichenkettenanordnungsvorrichtung beendet die Verarbeitung.
  • Danach wiederholt die Zeichenkettenanordnungsvorrichtung die oben erwähnten Vorgänge, und der Zeichenkettenanordner 4 ordnet die 0-te Zeichenkette von dem ersten Kandidatenpunkt Q(1) aus an. Ein Beispiel der Anordnung in diesem Fall ist in 16 gezeigt. Der Bewertungsfunktionswertberechner 53 berechnet den Bewertungsfunktionswert F für das in 16 gezeigte Beispiel der Anordnung. In diesem Beispiel ist der Bewertungsfunktionswert F –19.48284883 und wird an den Minimumbewertungsfunktionswertspeicherer 6 ausgegeben. Weil der Bewertungsfunktionswert F kleiner ist als mini_cost, aktualisiert der Minimumbewertungsfunktionswertspeicherer 6 den Wert mini_cost auf –19.48284883 und setzt Q(1) auf den Zeichenkettenstartpunkt, und speichert die in 16 gezeigten Zeichenkettenanordnung in dem Zeichenkettendatenspeicher 7, und die Zeichenkettenanordnungsvorrichtung beendet die Verarbeitung.
  • Die Zeichenkettenanordnungsvorrichtung wiederholt weiter die gleichen Vorgänge und ordnet die Zeichenketten von dem zweiten Kandidatenpunkt Q(2) aus an. In diesem Fall wird bis zu dem siebten Zeichen angeordnet, wie in 17 gezeigt wird. Danach berechnet der Zeichenanordnungspositionsberechner 43 des Zeichenkettenanordners 4 die Anordnungsposition des achten Zeichens. Diesmal ist dist = 101 und road_idx = 1. Daher berechnet der Zeichenanordnungspositionsberechner eine Position LD(7) in einem Abstand von dist von dem road_idx-ten Knotenpunkt P(1) entlang der Verbindung zwischen dem road_idx-ten Knotenpunkt und dem (road_idx + 1)-ten Knotenpunkt. LD(7) = (101, 50) wird als das Ergebnis der Berechnung erhalten.
  • Danach bestimmt der Zeichen-außerhalb-Verbindung-Bestimmer 44, ob LD(7) außerhalb der Verbindung angeordnet ist oder nicht. Weil LD(7) außerhalb der Verbindung angeordnet ist, aktualisiert der zweite Parameteraktualisierer 48 dist. In diesem Fall wird dist auf dist = 1 aktualisiert. Danach, weil keine Verbindung existiert, entlang welcher das achte Zeichen anzuordnen ist, beendet die Zeichenkettenanordnungsvorrichtung die Verarbeitung. Insbesondere, weil es unmöglich ist, die Zeichenkette „String11” von dem Kandidatenpunkt Q(2) aus anzuordnen, wird die Berechnung unter Verwendung der Bewertungsfunktion nicht ausgeführt. Der Zeichenkettenanordnungsstartpunkt der 0-ten Zeichenkette wird auf diese Weise bestimmt. In diesem Fall wird der Zeichenkettenanordnungsstartpunkt der 0-ten Zeichenkette, welcher die Zeichenkette „String11” ist, auf Q(1) gesetzt. Weiter wird die Zeichenkettenanordnung (siehe 16) zur Anordnung der Zeichenkette von Q(1) aus entlang der Straßenknotenpunktserie zur Optimierung des Zeichenkettenanordnungsstartpunkts der ersten und folgenden Zeichenketten verwendet.
  • Nachdem der Zeichenkettenanordnungsstartpunkt der 0-ten Zeichenkette „String11” bestimmt worden ist, führt die Zeichenkettenanordnungsvorrichtung die gleichen Vorgänge ebenfalls auf „String2” aus, welche die erste Zeichenkette ist. Als erstes erzeugt der Kandidatenpunkterzeuger 3 Kandidatenpunkte auf der Straßenverbindung, entlang welcher die erste Zeichenkette anzuordnen ist. In diesem Fall, wie in 18 gezeigt, werden drei Kandidatenpunkte Q(3), Q(4) und Q(5) erzeugt. Als nächstes ordnet der Zeichenkettenanordner 4 die erste Zeichenkette von dem Kandidatenpunkt Q(3) aus an (siehe 19). Danach berechnet der Bewertungsfunktionsberechner 5 den Bewertungsfunktionswert F.
  • Konkret bestimmt der Anfangszeichenkettenbestimmer 54 in Schritt ST51, dass string_idx = 1 eingerichtet ist, und der Zeichenlückenfunktionsaktualisierer 56 berechnet in Schritt ST53 den Wert des Zeichenlückenfunktionswerts P(Sstring_idx/{Sstring_idx-1}) als 5.1·10–264 gemäß der oben erwähnten Gleichung (7). Danach wiederholt die Zeichenkettenanordnungsvorrichtung den Vorgang des Zeichenlückenfunktionsaktualisierers 56, um den Zeichenlückenfunktionswert P(Sstring_idx/{Sstring_idx-1}) zu aktualisieren, und erfasst schließlich den Wert P(Sstring_idx/{Sstring_idx-1}) = 0.040705.
  • Als nächstes berechnet der Straßenwinkelfunktionsaktualisierer 58 in Schritt ST54 den Wert P(Rstring_idx/Sstring_idx) als 1.96618·10–53. In Schritt ST55 berechnet der Bewertungsfunktionswertberechner 53 den Bewertungsfunktionswert F basierend auf dem Zeichenlückenfunktionswert P(Sstring_idx/{Sstring_idx-1}) = 0.040705 und dem Straßenwinkelfunktionswert P(Rstring_idx/Sstring_idx) = 1.96618·10–53 gemäß der oben erwähnten Gleichung (11). In diesem Fall ist der Bewertungsfunktionswert F = log1.96618·10–53 + log0.040705 = –52.7063767 – 1.3936 = –54.0999767. In Schritt ST56 gibt der Bewertungsfunktionswertberechner den hierdurch berechneten Bewertungsfunktionswert F an den Minimumbewertungsfunktionswertspeicherer 6 aus.
  • Danach bestimmt der Minimumbewertungsfunktionswertspeicherer 6, dass der berechnete Bewertungsfunktionswert F kleiner ist als min_cost, und setzt min_cost auf min_cost = –54.0999767 und speichert diesen Wert in dem Minimumbewertungsfunktionswertdatenspeicher 7. Der Minimumbewertungsfunktionswertspeicherer setzt auch den Zeichenkettenanordnungsstartpunkt der ersten Zeichenkette auf Q(3) und speichert diesen Zeichenkettenanordnungsstartpunkt in dem Zeichenkettenanordnungsstartpunktdatenspeicher 9, und speichert weiter die in 19 gezeigte Zeichenkettenanordnung in dem Zeichenkettenanordnungsdatenspeicher 8.
  • Danach ordnet der Zeichenkettenanordner 4 gleichermaßen die erste Zeichenkette „String2” von dem Kandidatenpunkt Q(4) aus an (siehe 20). Der Zeichenlückenfunktionsberechner 51 berechnet den Zeichenlückenfunktionswert P(Sstring_idx/{Sstring_idx-1}) = 2.7947·10–166. Danach berechnet der Straßenwinkelfunktionsberechner 52 den Straßenwinkelfunktionswert P(Rstring_idx/Sstring_idx) = 0.002850205. Der Bewertungsfunktionswertberechner 53 berechnet den Bewertungsfunktionswert F unter Verwendung dieser Werte gemäß der oben erwähnten Gleichung (11). In diesem Fall ist der Bewertungsfunktionswert F = log2.7947·10–66 + log0.002850205 = –165.55367 – 2.244993909 = –167.7977639. Der Minimumbewertungsfunktionswertspeicherer 6 bestimmt, dass der berechnete Bewertungsfunktionswert F kleiner ist als min_cost, und setzt min_cost auf min_cost = –167.7977639 und setzt auch den Zeichenkettenanordnungsstartpunkt der ersten Zeichenkette auf Q(4).
  • Gleichermaßen ordnet der Zeichenkettenanordner 4 die Zeichenkette von Q(5) aus an. In diesem Fall, weil in der Anordnung der Zeichenkette von Q(5) aus die Länge der Straßenverbindung nicht ausreichend ist und daher die Zeichenkette nicht passend angeordnet werden kann, bestimmt der Zeichenkettenanordner, dass die Zeichenkettenanordnung fehlgeschlagen ist, und die Zeichenkettenanordnungsvorrichtung beendet die Verarbeitung. Durch die oben erwähnten Vorgänge wird der Zeichenkettenanordnungsstartpunkt der ersten Zeichenkette, welche die Zeichenkette „String2” ist, als Q(4) bestimmt.
  • Wie oben erwähnt wurde, weil die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel derart aufgebaut ist, dass der Zeichenlückenfunktionsberechner 51, der einen Funktionswert berechnet, der den Einfluss der Zeichenlücke zwischen Zeichenketten auf die Lesbarkeit jeder der Zeichenketten zeigt, in dem Bewertungsfunktionsberechner 5 angeordnet ist, kann die Zeichenkettenanordnungsvorrichtung den Zeichenkettenanordnungsstartpunkt von jeder der Zeichenketten auf eine optimale Position derart setzen, dass die Lücke zwischen Zeichenketten groß wird, zusätzlich zu der Berücksichtigung einer Überlappung zwischen Zeichenketten und einer Variation in dem Winkel einer Straße, entlang welcher jede der Zeichenketten anzuordnen ist. Infolgedessen kann die Lücke zwischen Zeichenketten breit gestaltet werden, und es kann vermieden werden, dass der Nähegrad zwischen Zeichenketten hoch wird, und die Sichtbarkeit von jeder der Zeichenketten kann verbessert werden.
  • Des Weiteren, weil die Zeichenkettenanordnungsvorrichtung gemäß dem ersten Ausführungsbeispiel derart aufgebaut ist, dass sie einen ersten Gaußfunktionswertberechner 55 beinhaltet, der einen Gaußfunktionswert berechnet, wenn ein Zeichenlückenfunktionswert berechnet wird, kann eine Gaußverteilung in dem Mittelpunkt zwischen einem Straßenknotenpunkt und einem Zeichen, welches bereits angeordnet ist, angeordnet werden, und der Zeichenkettenanordnungsstartpunkt kann auf eine optimale Position derart geändert werden, dass die Lücke zwischen Zeichenketten breit wird.
  • Während die Erfindung anhand ihres bevorzugten Ausführungsbeispiels beschrieben worden ist, ist diese so zu verstehen, dass vielerlei Änderungen in einer beliebigen Komponente gemäß dem Ausführungsbeispiel vorgenommen werden können, und eine beliebige Komponente gemäß dem Ausführungsbeispiel kann innerhalb des Schutzbereichs der Erfindung weggelassen werden.
  • Industrielle Anwendung
  • Die Zeichenkettenanordnungsvorrichtung gemäß der vorliegenden Erfindung kann zur Verbesserung in der Lesbarkeit eines Anzeigegeräts oder ähnlichem verwendet werden, und kann auch zur Anwendung in einem Navigationsgerät benutzt werden, welches eine verbesserte Benutzersichtbarkeit usw. bereitstellt.
  • Bezugszeichenliste
  • 1
    Zeichenkettendatenspeicher
    2
    Zeichenkettendatenerfasser
    3
    Kandidatenpunkterzeuger
    4
    Zeichenkettenanordner
    5
    Bewertungsfunktionsberechner
    6
    Minimumbewertungsfunktionswertspeicherer
    7
    Minimumbewertungsfunktionswertdatenspeicher
    8
    Zeichenkettenanordnungsdatenspeicher
    9
    Zeichenkettenanordnungsstartpunktdatenspeicher
    31
    erster Verbindungslängenberechner
    32
    Verbindungsgesamtlängenaktualisierer
    33
    Kandidatenpunktlückenberechner
    34
    Erzeuger
    35
    zweiter Verbindungslängenberechner
    36
    Abstandaktualisierer
    37
    Informationsspeicher
    41
    Anfangszeichenpositionsbestimmer
    42
    Verbindungswinkelberechner
    43
    Zeichenanordnungspositionsberechner
    44
    Zeichen-außerhalb-Verbindung-Bestimmer
    45
    Zeichenanordner
    46
    Überlappungsbestimmer
    47
    erster Parameteraktualisierer
    48
    zweiter Parameteraktualisierer
    51
    Zeichenlückenfunktionsberechner
    52
    Straßenwinkelfunktionsberechner
    53
    Bewertungsfunktionswertberechner
    54
    Anfangszeichen kettenbestimmer
    55
    erster Gaußfunktionswertberechner
    56
    Zeichenlückenfunktionsaktualisierer
    57
    zweiter Gaußfunktionswertberechner
    58
    Straßenwinkelfunktionsaktualisierer
    100
    Zeichenkettenanordnungsvorrichtung

Claims (6)

  1. Zeichenkettenanordnungsvorrichtung umfassend: einen Datenerfasser, der Zeichenkettendaten über eine anzuordnende Zeichenkette und Straßenknotenpunktseriendaten über eine Straßenknotenpunktserie, entlang welcher die besagte Zeichenkette angeordnet werden soll, erfasst; einen Kandiatenpunkterzeuger, der eine Vielzahl von Kandidatenpunkten zur Anordnung der besagten Zeichenkette auf der besagten Straßenknotenpunktserie basierend auf den Zeichenkettendaten und den Straßenknotenpunktseriendaten, die von dem besagtem Datenerfasser erfasst worden sind, erzeugt; einen Zeichenkettenanordner, der die besagte Zeichenkette von jedem der Vielzahl von durch den besagten Kandidatenpunkterzeuger erzeugten Kandidatenpunkten aus anordnet; einen Bewertungsfunktionsberechner, der einen Bewertungsfunktionswert berechnet, welcher eine Bewertung zu der Anordnung der Zeichenkette durch den besagten Zeichenkettenanordner zeigt; und einen Minimumbewertungsfunktionswertspeicherer, der einen Minimumbewertungsfunktionswert, welcher ein Minimum des von dem besagten Bewertungsfunktionsberechner berechneten Bewertungsfunktionswert ist, und Zeichenkettenanordnung und einen Zeichenkettenanordnungsstartpunkt in dem besagten Minimumbewertungsfunktionswert speichert, wobei der besagte Bewertungsfunktionsberechner beinhaltet: einen Zeichenlückenfunktionsberechner, der einen Zeichenlückenfunktionswert berechnet, welcher eine Bewertung zu einer Zeichenlücke zwischen einer Vielzahl von Zeichenketten zeigt, welche jeweils von einer Vielzahl von Kandidatenpunkten aus von dem besagten Zeichenkettenanordner angeordnet werden; einen Straßenwinkelfunktionsberechner, der einen Straßenwinkelfunktionswert berechnet, welcher eine Bewertung zu einem Winkel der Straßenknotenpunktserie zeigt, entlang welcher die Zeichenkette von dem Zeichenkettenanordner angeordnet wird; und einen Bewertungsfunktionswertberechner, der den besagten Bewertungsfunktionswert basierend auf dem von dem besagten Zeichenlückenfunktionsberechner berechneten Zeichenlückenfunktionswert und dem von dem besagten Straßenwinkelfunktionsberechner berechneten Straßenwinkelfunktionswert berechnet.
  2. Zeichenkettenanordnungsvorrichtung nach Anspruch 1, wobei der besagte Kandidatenpunkterzeuger beinhaltet: einen ersten Verbindungslängenberechner, der eine Länge einer Verbindung zwischen vorbestimmten Straßenknotenpunkten berechnet; einen Verbindungsgesamtlängenaktualisierer, der die Länge der Verbindung zwischen den Straßenknotenpunkten, die von dem besagten ersten Verbindungslängenberechner berechnet wird, addiert, um eine Aktualisierung durchzuführen, und eine Gesamtlänge der besagten Straßenknotenpunktserie berechnet; einen Kandidatenpunktlückenberechner, der eine Lücke für eine Kandidatenpunkterzeugung basierend auf der Gesamtlänge der besagten Straßenknotenpunktserie, die von dem besagten Verbindungsgesamtlängenaktualisierer berechnet wird, und einer vorbestimmten Anzahl von Kandidatenpunkten, die von dem besagten Kandidatenpunkterzeuger erzeugt werden, berechnet; und einen Erzeuger, der die Vielzahl von Kandidatenpunkten auf der besagten Straßenknotenpunktserie und in Abständen der Lücke für eine Kandidatenpunkterzeugung, welche von dem besagten Kandidatenpunktlückenberechner berechnet wird, erzeugt.
  3. Zeichenkettenanordnungsvorrichtung nach Anspruch 1, wobei der besagte Zeichenkettenanordner beinhaltet: einen Anfangszeichenpositionsbestimmer, der eine Anordnungspositian eines ersten Zeichens der besagten Zeichenkette bestimmt; einen Verbindungswinkelberechner, der einen Winkel einer Verbindung berechnet, welche durch die Anordnungsposition des ersten Zeichens, welche von dem besagten Anfangszeichenpositionsbestimmer bestimmt wird, bestimmt wird und welche vorbestimmte Straßenknotenpunkte, entlang welcher die besagte Zeichenkette angeordnet werden soll, miteinander verbindet; einen Zeichenanordnungspositionsberechner, der eine Anordnungsposition jedes Zeichens, welches die besagte Zeichenkette bildet, basierend auf der Anordnungsposition des ersten Zeichens, welche von dem besagten Anfangszeichenpositionsbestimmer bestimmt wird, und dem Winkel der Verbindung, welcher von dem Verbindungswinkelberechner berechnet wird, berechnet; einen Zeichen-außerhalb-Verbindung-Bestimmer, der bestimmt, ob die Anordnungsposition des besagten jeden Zeichens, welche von dem besagten Zeichenanordnungspositionsberechner berechnet wird, auf der besagten Verbindung existiert; und einen Zeichenanordner, der Anordnungskoordinaten basierend auf der Anordnungsposition des besagten jeden Zeichens einstellt und das besagte jede Zeichen in den hierdurch eingestellten Anordnungskoordinaten anordnet, wenn der besagte Zeichen-außerhalb-Verbindung-Bestimmer bestimmt, mit die Anordnungsposition des jeden besagten Zeichens auf der besagten Verbindung existiert.
  4. Zeichenkettenanordnungsvorrichtung nach Anspruch 3, wobei der besagte Zeichenkettenanordner beinhaltet: einen Überlappungsbestimmer, der bestimmt, ob die Anordnungskoordinaten, an welchen der besagte Zeichenanordner das jede besagte Zeichen anordnet, vorher eingestellte Anordnungskoordinaten eines Zeichens überlappen; und einen Parameteraktualisierer, der eine vorbestimmte Konstante zu einem von dem besagten Anfangszeichenpositionsbestimmer bestimmten Parameter hinzuaddiert, um den Parameter zu aktualisieren, wenn der besagte Überlappungsbestimmer bestimmt, dass die besagten Anordnungskoordinaten die vorher eingestellten Anordnungskoordinaten eines Zeichens überlappen.
  5. Zeichenkettenanordnungsvorrichtung nach Anspruch 1, wobei der besagte Zeichenlückenfunktionsberechner beinhaltet: einen Anfangszeichenkettenbestimmer, der eine Zeichenkette bestimmt, die unter einer Vielzahl von durch den besagten Zeichenkettenanordner angeordneten Zeichenketten zuerst angeordnet wird; einen ersten Gaußfunktionswertberechner, der einen Gaußfunktionswert berechnet, welcher eine Zeichenlücke zwischen einer Zeichenkette, die nicht die Zeichenkette ist, welche der besagte Anfangszeichenkettenbestimmer als zuerst anzuordnen bestimmt, und einer anderen Zeichenkette; und ein Zeichenlückenfunktionsaktualisierer, der den besagten Zeichenkettenlückenfunktionswert unter Verwendung des von dem besagten ersten Gaußfunktionswertberechner berechneten Gaußfunktionswert aktualisiert.
  6. Zeichenkettenanordnungsvorrichtung nach Anspruch 1, wobei der besagte Straßenwinkelfunktionsberechner beinhaltet: einen zweiten Gaußfunktionswertberechner, der einen Gaußfunktionswert berechnet, welcher eine Beziehung zwischen der besagten Zeichenkette und der Straßenknotenpunktserie, entlang welcher die besagte Zeichenkette angeordnet werden soll, zeigt; und einen Straßenwinkelfunktionsaktualisierer, der den besagten Straßenwinkelfunktionswert unter Verwendung des von dem besagten zweiten Gaußfunktionswertberechner berechneten Gaußfunktionswert aktualisiert.
DE112011105528.5T 2011-08-15 2011-08-15 Zeichenkettenanordnungsvorrichtung Ceased DE112011105528T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/004583 WO2013024505A1 (ja) 2011-08-15 2011-08-15 文字列配置装置

Publications (1)

Publication Number Publication Date
DE112011105528T5 true DE112011105528T5 (de) 2014-05-08

Family

ID=47714851

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105528.5T Ceased DE112011105528T5 (de) 2011-08-15 2011-08-15 Zeichenkettenanordnungsvorrichtung

Country Status (5)

Country Link
US (1) US9418461B2 (de)
JP (1) JP5748856B2 (de)
CN (1) CN103765492B (de)
DE (1) DE112011105528T5 (de)
WO (1) WO2013024505A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9082339B2 (en) * 2011-11-04 2015-07-14 Facebook, Inc. Rendering texts on electronic devices
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US9886794B2 (en) 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
US9111380B2 (en) * 2012-06-05 2015-08-18 Apple Inc. Rendering maps
US9052197B2 (en) 2012-06-05 2015-06-09 Apple Inc. Providing navigation instructions while device is in locked mode
US10156455B2 (en) 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US20190087993A1 (en) * 2016-04-26 2019-03-21 Aisin Aw Co., Ltd. Map display system and map display program
JP6589056B2 (ja) * 2016-05-19 2019-10-09 アイシン・エィ・ダブリュ株式会社 地図表示システムおよび地図表示プログラム
CN109427237B (zh) * 2017-09-04 2022-02-22 阿里巴巴(中国)有限公司 一种道路文字标注位置确定方法及装置
US12084204B2 (en) * 2021-06-29 2024-09-10 Air T, Inc. Remote deicing/anti-icing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580742A (ja) * 1991-09-25 1993-04-02 Hitachi Ltd 文字データ処理方式
JP3568621B2 (ja) * 1995-04-20 2004-09-22 株式会社日立製作所 地図表示装置
JPH09146529A (ja) 1995-09-25 1997-06-06 Hitachi Ltd 文字の表示方法および画像表示装置
JP3604492B2 (ja) 1996-03-01 2004-12-22 株式会社ザナヴィ・インフォマティクス 地図表示装置
JP2004246357A (ja) * 1996-09-30 2004-09-02 Aisin Aw Co Ltd 地図表示装置
JPH09127925A (ja) * 1996-10-03 1997-05-16 Casio Comput Co Ltd 文字列出力装置
JP3783487B2 (ja) * 1999-10-13 2006-06-07 アイシン・エィ・ダブリュ株式会社 情報検索装置
JP2002007104A (ja) * 2000-06-22 2002-01-11 Mitsubishi Electric Corp 文字データ圧縮表示装置
DE10036817A1 (de) * 2000-07-28 2002-02-14 Bosch Gmbh Robert Verfahren zur Routenberechnung
JP2005115174A (ja) * 2003-10-09 2005-04-28 Navitime Japan Co Ltd 地図表示装置、地図表示方法および地図表示プログラム
KR100688018B1 (ko) * 2005-02-16 2007-02-27 엘지전자 주식회사 도로 명 데이터의 표시위치 결정방법
JP4068637B2 (ja) * 2005-12-05 2008-03-26 株式会社ナビタイムジャパン 地図表示システム、地図表示装置および地図表示方法
JP4891636B2 (ja) * 2006-03-14 2012-03-07 オリンパスメディカルシステムズ株式会社 画像解析装置
JP4367538B2 (ja) * 2007-07-17 2009-11-18 株式会社デンソー 車両用ナビゲーション装置
AU2009251043A1 (en) * 2009-01-07 2010-07-22 The University Of Sydney A method and system of data modelling
US20100198823A1 (en) * 2009-02-05 2010-08-05 Tsoukalas Kathleen J Systems and methods to automatically generate enhanced information associated with a selected web table

Also Published As

Publication number Publication date
US20140152670A1 (en) 2014-06-05
US9418461B2 (en) 2016-08-16
JPWO2013024505A1 (ja) 2015-03-05
CN103765492A (zh) 2014-04-30
WO2013024505A1 (ja) 2013-02-21
JP5748856B2 (ja) 2015-07-15
CN103765492B (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
DE112011105528T5 (de) Zeichenkettenanordnungsvorrichtung
DE69329565T2 (de) Verfahren und Vorrichtung zur Vorbereitung von Landkartendaten mit regionalen Eigenschaften
DE69526752T2 (de) Verfahren zum automatischen anzeigen von kartensymbolen
DE69221178T2 (de) Routen-Auswahlverfahren und Gerät zur Durchführung dieses Verfahrens
DE69814780T2 (de) Karteneditierungsgerät, das durch benutzerwählbare automatische Editierungsfunktionen eine einfache Editierung ermöglicht
DE69625084T2 (de) Kostengebiete
DE69535098T2 (de) Verfahren und -vorrichtung zur Suche von Bildern in einer Datenbank
DE69618724T2 (de) Kartographisches Datenbankgerät
DE102008061981B4 (de) Navigationsgerät
DE102011003155A1 (de) Kartendaten, Kartendatenerzeugungsverfahren, Kartendatenspeichermedium und Navigationsvorrichtung
DE112004001569T5 (de) Fahrzeuginternes Informationsendgerät
DE102005049829B4 (de) Grobkarten-Erzeugungsvorrichtung, fahrzeuginternes Informationsendgerät, Grobkarten-Verteilungssystem und Grobkarten-Erzeugungsverfahren
DE102004040381A1 (de) Karteninformations-Verarbeitungsgerät, Kartenaktualisierungs-Informationsspeichermedium, Kartenaktualisierungs-Informationsdatenstruktur, Kartenaktualisierungs -Informations- und Erzeugungssystem und Karteninformations-Aktualisierungssystem
DE102006047212A1 (de) Navigationssystem
DE102005049827A1 (de) Navigationsvorrichtung, Kartendaten-Verteilungsvorrichtung, Kartendaten-Verteilungssystem und Kartenanzeigeverfahren
DE102009047407A1 (de) Verfahren und Navigationsgerät zur Vereinfachung einer Beschreibung einer Fahrtroute
DE102014007914A1 (de) Graphisches Darstellen von Straßen und Routen unter Benutzung von Hardware-Tesselierung
DE102011003152A1 (de) Kartendaten, Verfahren zum Erstellen derselben, Datenprodukt, das dieselben enthält, Speichermedium, das dieselben enthält, und Navigationsvorrichtung, die dieselben verwendet
DE102014006549B4 (de) Technik zur Verarbeitung einer Zeichenfolge zur graphischen Darstellung an einer Mensch-Maschine-Schnittstelle
DE112017007272T5 (de) Anzeigesteuerungseinrichtung und Anzeigesteuerungsverfahren
DE102005049828A1 (de) Grobkarten-Erzeugungsvorrichtung, fahrzeuginternes Informationsendgerät, Grobkarten-Verteilungssystem und Grobkarten-Erzeugungsverfahren
DE102019215522A1 (de) Verfahren zum Aktualisieren von Attributen in einer digitalen Karte
DE19645983C2 (de) Vorrichtung und Verfahren für die Bildverarbeitung
DE112013007437T5 (de) Speichermedium, Karteninformation-Verarbeitungsvorrichtung, Datenerzeugungsverfahren
DE112013006968T5 (de) Dynamische Beschriftungsanordnungsvorrichtung, Anzeigevorrichtung, dynamisches Beschriftungsanordnungsverfahren und Anzeigeverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final