GNavigia Clients
Erweiterungen, die zum Umfang der Auslieferung gehören
Was Sie im vorausgehenden Kapitel programmiert haben, fasse ich im
Folgenden unter der Bezeichnung «GNavigia
Client» zusammen. Und damit Sie sehen, dass ich selbst dieser
Art, GNavigia zu erweitern, eine große Bedeutung beimesse, werden
zusammen mit dem Programm ein Client zur Demonstration und weitere mit
«realer» Funktionalität ausgeliefert. Sie müssen
sie nicht benutzen, aber wenn Sie diese nutzen wollen, müssen sie gewisse Voraussetzungen dafür schaffen.
HOLUX Client zur Anzeige der Geschwindigkeit
Die Anzeige der von HOLUX-Empfängern registrierten Geschwindigkeit erfolgt über eine spezielle Erweiterung, die sich im Hauptmenü unter Clients einhängt. Diese Funktionalität ist ab Version 2.6.9.0 verfügbar, siehe Programm GNavigia. Sie funktioniert naturgemäß nur da, wo die Geschwindigkeit als eigenständige Größe gespeichert wurde. Schalten Sie andere Anzeigen aus, wenn Sie diese Funktionalität benutzen. Stellen Sie sicher, dass Sie nicht ganz allgemein im Menü Ansicht die Anzeige der Profilfenster ausgeschaltet haben. Da muss ein Haken dran sein!Adressen im OSM Datenbestand suchen
1. Vorbereitung der Datenbank:
Um den folgenden Abschnitt zu verstehen müssen Sie die Seite
«OSM
Daten nutzen» durchgeackert und OSM Daten in eine PostgreSQL
Datenbank eingespielt haben.
Folgende Erweiterungen des Modells sind erforderlich, damit Sie suchen können, hier am Beispiel von XP:- Öffnen Sie unter XP Systemsteuerung/Verwaltung/ODBC-Datenquellen oder starten Sie unter Windows 7 als Administrator das Programm C:\Windows\SysWOW64\odbcad32.exe. Wählen Sie den Reiter System-DSN. Wählen Sie die Schaltfläche Konfigurieren. Geben Sie die folgenden Daten ein. Ersetzen Sie den Datenbanknamen durch den, den Sie für die OSM-Daten benutzt haben.

- Sichern Sie die Einstellungen mittels Save.
-
Fügen Sie der Datenbank Funktionen hinzu, die die Suche ausführen. Namentlich:
DROP FUNCTION soundex(text);Eine Beschreibung zur Implementierung von Funktionen findet sich unter:
CREATE FUNCTION soundex(text)
RETURNS text AS '$libdir/fuzzystrmatch', 'soundex'
LANGUAGE 'C' WITH (iscachable, isstrict);
http://www.postgresql.org/docs/current/static/sql-createfunction.htmlDer hier vorgestellte Client nutzt allein die scharfe Suche und die Soundex-Suche. Der Client stellt auch nicht die Suche selbst bereit, sondern steuert lediglich die Fähigkeiten der Datenbank an. Die aufwändige Implementierung des Clients und die Zusammenstellung der folgenden Suchalgorithmen geht zurück auf freizeit-biking.de (historische Domain).
2. Suchen und erfolgreich positionieren:
Um einen Ort zu suchen, gehen Sie wie folgt vor:- Öffnen Sie eine neue Datei (zunächst ohne Vorlage) und blenden Sie das Verwaltungsfenster aus.
-
Schalten Sie Ansicht/Hintergrundbild darstellen ein.
-
Starten Sie aus dem Menü Clients/Adresssuche.



OSM Daten werden von Enthusiasten zusammengestellt, die gerne auch mal über das Ziel hinaus schießen. Das manifestiert sich vor allem in der Tatsache, dass einige Ergebnisse doppelt auftreten. Sind auch Länge und Breite identisch, werden sie aussortiert. Suchen Sie mal nach «Weiler»!
Wichtig zu wissen ist auch, dass die Suche unabhängig ist vom WMS Server, der angesprochen wird. Die Suche positioniert nur das Kartenbild. Sie können also in der OSM-Datenbank nach Bonn/Sebastianstraße suchen und ein Hintergrundbild von einem NRW-DGK-5 Service erhalten, wenn dieser als aktiver Service ausgewählt ist! Allgemein gilt, dass der zuletzt benutzte Service bei einer neuen Karte aufgerufen wird. Und bedenken Sie auch, dass bei einer neuen Karte die Ansicht des Hintergrundbildes ausgeschaltet ist!
3. Als Vorlage speichern
Es gibt noch eine Reihe weiterer Voreinstellungen, die Sie machen werden , bevor Sie eine Kartenansicht haben, die Ihnen gefällt. Speichern Sie daher die aktuelle Kartenansicht «als Vorlage». Und damit Sie beim Aufstarten nicht zu lange auf das Ergebnis warten müssen, wählen Sie zuvor eine kleine Maßstabszahl. Wenn das Hintergrundbild dann nicht mehr angezeigt wird - umso besser. Bedenken Sie, dass bei der nächsten Suche, die auf dieser Vorlagendatei aufsetzt, wieder der Maßstab so eingestellt wird, wie Sie das auf dem Reiter Optionen angegeben haben.4. Vorschläge für eigene Clients
Sie können weitere Algorithmen implementieren, müssen dann
aber die Methoden selbst als Clients implementieren. Das erfordert die Bereitstellung eigener Dialoge! Beispiele für Suchfunktionen:
Levenshtein (
http://en.wikipedia.org/wiki/Levenshtein_distance)
DROP FUNCTION levenshtein(text,text);
CREATE FUNCTION levenshtein (text,text)
RETURNS int AS '$libdir/fuzzystrmatch','levenshtein'
LANGUAGE 'C' WITH (iscachable, isstrict);
Metaphone (
http://en.wikipedia.org/wiki/Metaphone)
DROP FUNCTION metaphone (text,int);
CREATE FUNCTION metaphone (text,int)
RETURNS text AS '$libdir/fuzzystrmatch','metaphone'
LANGUAGE 'C' WITH (iscachable, isstrict);
Dmetaphone (
http://en.wikipedia.org/wiki/Double_Metaphone)
DROP FUNCTION dmetaphone (text,int);
CREATE FUNCTION dmetaphone (text,int)
RETURNS text AS '$libdir/fuzzystrmatch','dmetaphone'
LANGUAGE 'C' WITH (iscachable, isstrict);