bbbike
bbbike - Informationssystem für Radfahrer in Berlin und Brandenburg
bbbike [options]
BBBike ist ein Informationssystem für Radfahrer in Berlin und
Brandenburg. Mit dem Programm können Routen, optimiert für
Radfahrer, automatisch gesucht oder manuell erstellt werden. Bei der
automatischen Suche wird die kürzeste Strecke zwischen zwei
angegebenen Punkten gesucht. Bei der manuellen Routenerstellung
können abschnittsweise Zwischenpunkte eingegeben werden und zum
Schluss die Gesamtlänge abgelesen werden.
Eine einfache WWW-Version kann man unter der Adresse
http://www.bbbike.de finden.
Wenn eine Verbindung zum Internet existiert, kann BBBike die
aktuellen Wetterdaten von der FU Berlin (Dahlem) bzw. vom DWD Berlin
(Tempelhof) für die Windstärke und -richtung auswerten.
Diese Daten können bei der Berechnung der Fahrzeit und Leistung
verwendet werden.
Ein Teil von BBBike ist das perl-Modul BikePower. Mit
diesem Modul kann (wie beim ursprünglichen
bike_power-Programm von Ken Roberts - roberts@cs.columbia.edu )
anhand von Daten wie Gefälle, Wind, Rollwiderstand der Reifen,
Luftwiderstand, Masse von Rad und Fahrer die Leistung ermittelt
werden.
BBBike liefert unter anderem die Antwort auf folgende Fragen:
-
Wie lang ist die Strecke von A nach B?
-
Wie schnell komme ich von A nach B, wenn ich durchschnittlich 15 km/h
schnell fahre?
-
Wie lange brauche ich von A nach B, wenn ich mit 100 Watt Leistung
fahre, mit Berücksichtigung des aktuellen Windes und von Steigungen
auf der Strecke?
-
Auf welchen Straßen fahre ich, wenn ich von A nach B kommen will?
-
Wo habe ich Gegenwind- und Rückenwindstrecken?
-
Wo gibt es Steigungen und Gefälle?
-
Kann ich Hauptstraßen und/oder Kopfsteinpflasterstrecken auf
meiner Strecke vermeiden?
Start- und Zielpunkt einer Route setzt man, indem man mit der linken
Maustaste auf eine Straße klickt. Nach dem Setzen des
Zielpunktes berechnet das Programm die kürzeste Route und zeigt
sie an. Danach kann die Route verlängert werden. Soll eine neue
Route (mit neuem Start- und Zielpunkt) berechnet werden, kann die alte
mit der rechten Maustaste oder mit Klick auf das Icon Route
zurücksetzen gelöscht werden. Mit der mittleren Maustaste
oder mit der Backspace-Taste kann jeweils der letzte Punkt der Route
gelöscht werden. Mit der Delete-Taste (Entf) kann die Route bis
zum letzten Via-Punkt gelöscht werden.
Wenn Winddaten existieren (automatisch aus dem WWW geholt oder manuell
eingegeben), werden die Rückenwindstrecken grün und die
Gegenwindstrecken rot dargestellt.
Die manuelle Routenerstellung wird zum Beispiel bei der Erstellung
einer Tourplanung verwendet, bei der nicht das Suchen einer
kürzesten Strecke im Vordergrund steht. Sie funktioniert
prinzipiell wie die automatische Suche, nur wird der Benutzer mehr
Punkte eingeben, um die Route festzulegen. Mit Klick auf Alt-Button1
oder Shift-Button1 (Klick auf die linke Maustaste und gleichzeitiges
Drücken der Alt- oder Shift-Taste) kann ein beliebiger Punkt
gekennzeichnet werden (also ein Punkt, der nicht auf einer
Straße liegt).
Im oberen Bereich des Fensters befindet sich die Informationsleiste
von BBBike.
- Ort/Bahnhof
-
Anzeige des Ortes bzw. der Haltestelle unter dem Mauscursor. Die
Angabe ist nur gültig, wenn sie in schwarzer Schrift (und nicht
in grauer) erscheint. Mit einem Klick wird die Ort-Auswahl angezeigt.
- Straße/Strecke
-
Anzeige der Straße bzw. Bahnlinie unter dem Mauscursor. Auch
hier ist die Angabe nur bei schwarzer Schrift gültig. Mit einem
Klick wird die Straßen-Auswahl angezeigt.
- km
-
Länge der aktuellen Route in Kilometern. Mit der rechten Taste
kann zwischen der Angabe in Kilometern und Metern umgeschaltet werden.
- %
-
Angabe, wieviel % über der Ideallinie (Luftlinie) die aktuelle
Route liegt. Bei offensichtlichen Rundfahrten bleibt die Angabe leer.
- km/h
-
Fahrzeit bei dieser durchschnittlichen Geschwindigkeit. Mit Klick auf
das km/h-Feld kann eine andere Geschwindigkeit eingegeben werden. Mit
Klick auf die Fahrzeit wird das Alarm-Fenster geöffnet. Mit der
rechten Maustaste kann die jeweilige Geschwindigkeit als
"Referenzgeschwindigkeit" ausgewählt werden. Mit dem
Ampel-Icon kann das Einbeziehen von Ampeln in die Fahrzeit
ein-/ausgeschaltet werden.
- W
-
Fahrzeit bei dieser durchschnittlichen Leistung, abhängig von
der Windgeschwindigkeit und von Steigungen. Die Berechnung wird mit
dem Modul BikePower durchgeführt. Mit Klick auf das
W-Feld kann eine andere Leistung (in Watt) eingegeben werden. Mit
Klick auf die Fahrzeit wird das Alarm-Fenster geöffnet. Mit der
rechten Maustaste kann die jeweilige Leistung als
"Referenzleistung" (intern wird diese auf eine
Geschwindigkeit umberechnet) ausgewählt werden. Mit dem
Ampel-Icon kann das Einbeziehen von Ampeln in die Fahrzeit
ein-/ausgeschaltet werden.
- Datum der Winddaten
-
Falls aktuelle Winddaten vorhanden sind, stehen in diesem Feld das
jeweilige Datum und die Uhrzeit. Bei einem Mausklick wird versucht,
die aktuellen Daten über das WWW oder über eine lokale
Datenbank zu holen. Mit der rechten Maustaste erscheint ein Menü
mit folgenden Punkten:
- Wetterstation
-
Hier kann ausgewählt werden, welche der Quellen im Internet
(Meteorologisches Institut der FU oder Deutscher Wetterdienst)
verwendet werden soll. Mit "aktuellste" werden alle Quellen nach den
aktuellsten Angaben überprüft.
- Quelle
-
Hier kann angegeben werden, ob die Wetterdaten über das Internet
direkt gezogen werden oder ob ein evtl. vorhandener lokaler Cache bzw
eine lokale Datenbank vorgezogen wird.
- Auswahl aus Datenbank
-
Falls eine lokale Datenbank vorhanden ist, können hiermit
Wetterdaten zu einem bestimmten Tag ausgewählt werden.
- Wind ignorieren
-
Normalerweise wird - falls Winddaten vorhanden sind - die Route anhand
der Windrichtung gefärbt: Rückenwindabschnitte sind
grün, Gegenwindabschnitte rot und Seitenwindabschnitte von
hellgrün bis orange.
Falls der Menüpunkt "Wind ignorieren" angeklickt ist, wird die
Windgeschwindigkeit und -richtung bei der Route und bei der
Zeitberechnung ignoriert. Die Route wird dann in einer einzelnen Farbe
(blau) gezeichnet.
- Aktualisierung
-
Hiermit kann das Zeichnen der Gegenwind- und Rückenwindstrecken
der Route aktualisiert werden.
- automatische Aktualisierung
-
Beim Ändern der Wetterstation bzw. der Quelle werden automatisch
die neuen Wetterdaten geholt.
- automatische Routenaktualisierung
-
Beim Ändern von Wetterdaten werden automatisch die Gegenwind-
und Rückenwindstrecken der Route aktualisiert.
- Winddaten
-
Hier wird, falls vorhanden, die aktuelle Windrichtung und die aktuelle
Windgeschwindigkeit in m/s angezeigt. Mit einem Klick wird ein Fenster
zur manuellen Eingabe der Windrichtung und -geschwindigkeit
geöffnet. Anmerkung: Zwar kann die maximale Windgeschwindigkeit
eingegeben werden, das Programm verwendet aber nur die mittlere
Windgeschwindigkeit für die Zeitberechnungen.
- Temp
-
Anzeige der aktuellen Temperatur. Die Temperatur wird sogar in die
Leistungsberechnung einbezogen, die Auswirkungen darauf sind aber nur
minimal.
Unter manchen Icons befindet sich ein kleiner Pfeil, mit dem ein
zugehöriges Popup-Menü aufgeklappt werden kann. Das
Menü kann auch mit Klick auf die rechte Maus-Taste,
während sich der Maus-Cursor über dem Icon befindet,
aufgerufen werden.
Hier folgt die Beschreibung der Icons von links nach rechts.
Die erste Gruppe kontrolliert, welche Elemente auf der
Kartenfläche dargestellt werden sollen. In allen Menüs
dieser Icons kann mit oben, normal und unten angegeben
werden, ob die Elemente über oder unter allen anderen Elementen
gezeichnet werden sollen oder ob die normale Reihenfolge
wiederhergestellt werden soll (die normale Reihenfolge lautet von
unten nach oben: Flächen, Gewässer, Inseln, Grenzen,
U-Bahnen, Regionalbahnen, S-Bahnen, Straßen,
Landstraßen, Orte). Daneben besitzt jedes Menü einen
Schalter zum Ein- und Ausschalten des Elements und einen Eintrag zum
Auswählen einer bestimmten Straße oder eines bestimmten
Ortes über eine Listbox.
- Straßen-Symbol
Schaltet das Zeichnen von Straßen in Berlin ein oder aus
(Tastatur: s
).
Menü: Neben den Standardeinträgen sind noch folgende
Einträge vorhanden:
- Auswahl aus ...
-
In diesem Untermenü kann eine Straße aus alternativen
Verzeichnissen ausgewählt werden:
- Komplette Straßenliste
-
In der Straßen-Datenbank von BBBike sind nur ca. 2300
Straßen erfasst. Straßen, die hier nicht vorhanden sind,
können in der umfangreicheren PLZ-Datenbank ausgewählt
werden. Allerdings wird bei der Auswahl einer nicht vorhandenen
Straße nur der Postleitzahlbereich angezeigt.
- Telefonbuch-Datenbank (Straße)
-
Wenn eine Telefonbuch-CD-ROM 1998/99 oder 1999/2000 für Berlin
vorhanden ist, kann diese Datenbank verwendet werden. Hier kann jede
Straße mit Hausnummer angegeben werden; die Position wird recht
exakt angzeigt.
- Telefonbuch-Datenbank (Name)
-
Mit diesem Formular kann nach Namen im Telefonbuch-Verzeichnis gesucht
werden. Es muss mindestens der Nachname angegeben werden. Mit dem
Schalter Exakt kann eingestellt werden, ob der Nachname exakt
passen muss (ansonsten wird bei der Suche von "Wall" auch "Wallburg"
etc. angezeigt). Nachdem mit Suchen die Ergebnisliste erstellt
wurde, können mit << und >> weitere
passende Datensätze eingesehen werden. Mit Alle werden alle
passenden Datensätze auf der Karte markiert. Wenn ein
dial
-Programm vorhanden ist, erscheint noch ein Button
Wählen zum Wählen der Telefonnummer.
- Untermenü Straßenkategorien
-
In diesem Untermenü kann das Zeichnen von Hauptstraßen,
Nebenstraßen und für Kfz gesperrte Straßen ein-
und ausgeschaltet werden.
- Höhenpunkte
-
Höhenpunkte werden in die Karte eingezeichnet.
- Radwege
-
Radwege werden gezeichnet. Benutzungspflichtige Radwege sind
dunkelblau, freiwillig zu nutzende Radwege blau, Radstreifen
grün und Busspuren orange. Für jede Richtung, in die ein
Radweg existiert, wird auf der jeweiligen Straßenseite ein
Radweg gezeichnet, auch wenn es sich eigentlich um einen
Zwei-Richtungs-Radweg auf der falschen Straßenseite handelt.
- Untermenü Radwegekategorien
-
In diesem Untermenü kann das Zeichnen von einigen
Radwegekategorien ein- und ausgeschaltet werden.
- Einbahn-/gesperrte Straßen
-
Kennzeichnung von Einbahnstraßen (blaue Pfeile, die in die
Straßenrichtung zeigen), gesperrten Straßen (rote
Kreuze) sowie Punkten, an denen das Fahrrad getragen werden muss (drei
waagerechte Striche). Temporäre Sperrungen wegen Bauarbeiten
werden mit einem Baustellen-Symbol gekennzeichnet.
- Fähren
-
Zeichnen von Fähren. Um die Fähren auch in der Suche mit
einzubeziehen, muss im Menü von Route suchen der Eintrag
Fähren verwenden aktiviert sein.
- Ampeln
-
Ampeln werden in die Karte eingezeichnet. Bei der Auswahl einer Route
wird die Anzahl der durchgefahrenen Ampeln mit einer ungefähren
Verzögerungszeit (15 Sekunden pro Ampel) im Feld rechts von den
Icons angezeigt.
Reine Fußgängerampeln sind in der Datenbasis nur erfasst,
wenn sie die Fahrt wesentlich verzögern würden (hohe
Fußgängerfrequenz oder stark befahrene Querstraße
direkt vor oder hinter der Ampeln). Beschrankte
Bahnübergänge sind ebenfalls unter den Ampeln zu finden.
- Outline zeichnen
-
Die Straßen werden mit Umrandung gezeichnet.
- Straßennamen
-
Die Straßen werden mit Straßennamen gezeichnet. Ist
wesentlich langsamer, besonders wenn Font rotation eingeschaltet
ist.
- Straßenqualität
-
Die Qualität des Straßenbelags wird gezeichnet. Die
Kategorisierung siegt wie folgt aus:
- dunkelgrün
-
Sehr guter Belag (meist Asphalt). Da die meisten Straßen einen
guten Belag haben, wurde auf eine Erfassung dieser Kategorie meist
verzichtet.
- hellgrün
-
Guter Belag, z.B. gutes Kopfsteinpflaster oder etwas schlechterer
Asphalt.
- orange
-
Mäßiger Belag, z.B. die meisten
Kopfsteinpflasterstraßen.
- rot
-
Schlechter Belag (schlechtes Kopfsteinpflaster, unbefestigte Wege).
- Qualitätskategorien
-
Hiermit kann das Zeichnen der Qualitätskategorien
eingeschränkt werden.
- Sonstige Behinderungen
-
Zeichnen von sonstigen Behinderungen (z.B.
Fußgängerverkehr).
- Landstraßen-Symbol
Schaltet das Zeichnen von Landstraßen in Berlins Umgebung ein
oder aus (Tastatur: l
).
Menü: Neben den Standardeinträgen sind noch folgende
Einträge vorhanden:
- Outline zeichnen
-
Gleiche Funktion wie beim Straßen-Symbol.
- Landstraßen jwd zeichnen
-
Zeichnet auch Landstraßen außerhalb Brandenburgs.
- Straßenqualität
-
Gleiche Funktion wie beim Straßen-Symbol.
- Sonstige Behinderungen
-
Gleiche Funktion wie beim Straßen-Symbol.
- Ort-Symbol
Schaltet das Zeichnen von Orten in Brandenburg ein oder aus (Tastatur:
o
).
Menü: Neben den Standardeinträgen sind noch folgende
Einträge vorhanden:
- Ortsnamen
-
Anzeige von Ortsnamen ermöglichen oder unterbinden.
- Kategorie
-
In diesem Untermenü kann das Zeichnen von kleineren Orten
unterdrückt werden. Beispielorte für die Kategorisierung:
6 Berlin
5 Potsdam, Brandenburg
4 Werder, Kyritz
3 Ketzin, Lindow
2 Caputh, Göttin
1 Krummensee
0 Ortsteile wie Wilhelmsdorf, Döthen,
Petzow
Mit "Alle" werden alle Orte gezeichnet. Mit
"Auto" werden die Orte abhängig von der Zoom-Stufe
gezeichnet.
- Schriftgröße
-
Untermenü zum Einstellen einer anderen Schriftgröße
für die Anzeige der Ortsnamen. Der Bereich geht von "klein" bis
"sehr groß".
- Überlappungen vermeiden
-
Hier wird mit einem sehr einfachen Algorithmus versucht, die
Ortsbeschriftungen so zu setzen, dass sie sich nicht einander
überlappen. Per Voreinstellung ist diese Option ausgeschaltet,
weil das Zeichnen der Orte dadurch erheblich verlangsamt wird.
Sinnvoll ist diese Option, wenn z.B. die Karte als Bilddatei
abgespeichert werden soll.
- U-Bahn-Symbol
Schaltet das Zeichnen von U-Bahnlinien ein oder aus (Tastatur: u
).
Menü: Zusätzlich zum Ein-/Ausschalten und Auswählen
der U-Bahnlinien können auch U-Bahnhöfe ein-/ausgeschaltet
und ausgewählt werden.
Wenn der Punkt U-Bhf-Namen angeklickt wird, werden die jeweiligen
Namen zum U-Bahnhof auf der Karte eingezeichnet. Mit
Überlappungen vermeiden wird versucht, die Namen so zu
setzen, dass sie sich nicht einander überlappen. Siehe auch die
Bemerkung zu Überlappungen vermeiden im Menüpunkt
Ort-Symbol.
Mit VBB-Zone A, VBB-Zone B und in Bau kann das U-Bahn-Netz
zusätzlich auf die jeweilige Zone eingeschränkt werden.
- S-Bahn-Symbol
Schaltet das Zeichnen von S-Bahnlinien ein oder aus (Tastatur: b
).
Menü: Wie beim U-Bahn-Symbol.
- RB-Symbol
Schaltet das Zeichnen von Regionalbahnlinien ein oder aus (Tastatur: r
).
Menü: Wie beim U-Bahn-Symbol.
- Gewässer-Symbol
Schaltet das Zeichnen von Flüssen, Kanälen und Seen ein
oder aus (Tastatur: w
).
Menü: Neben den Standardeinträgen sind noch folgende
Einträge vorhanden:
- Outline zeichnen
-
Wie beim gleichnamigen Eintrag beim Straßen-Symbol.
- Namen der Gewässer
-
Schaltet das Zeichnen der Gewässernamen ein oder aus.
- Gewässer im Umland zeichnen
-
Schaltet das Zeichnen der Gewässer im Umland von Berlin ein oder aus.
- Gewässer in der Stadt zeichnen
-
Schaltet das Zeichnen der Gewässer in Berlin ein oder aus.
- Flächen-Symbol
Schaltet das Zeichnen von sonstigen Flächen (Parks,
Wälder, Flughäfen) ein oder aus (Tastatur: f
).
Menü: Neben den Standardeinträgen sind noch folgende
Einträge vorhanden:
- PLZ-Gebiete
-
Schaltet das Zeichnen der Berliner Postleitzahlgrenzen ein oder aus.
Die PLZ-Datenbank ist noch im Aufbau.
- PLZ-Gebiet auswählen
-
Zeigt eine Listbox zum Auswählen einer Berliner Postleitzahl an.
- Grenzen von Berlin
-
Schaltet das Zeichnen der Berliner Stadtgrenze ein oder aus.
- Kneipen-Symbol
Schaltet das Zeichnen von Kneipen ein oder aus. Im Menü gibt es
die weiteren Punkte:
- Kneipen
-
Zeichnet genau wie die Schaltfläche Kneipen in Berlin.
- Kneipe auswählen
-
Zeigt eine Listbox zum Auswählen einer Kneipe an.
- Restaturants
-
Zeichnet Restaurants in Berlin.
- Restaurant auswählen
-
Zeigt eine Listbox zum Auswählen eines Restaurants an.
- Kinos
-
Zeichnet Kinos in Berlin.
- Kino auswählen
-
Zeigt eine Listbox zum Auswählen eines Kinos an.
- Persönliche Orte
-
Zeigt eine Listbox mit persönlich eingetragenen Orten ein. Die
Punkte müssen im
bbd
-Format in der Datei
$HOME/.bbbike/personal.bbd
vorhanden sein.
- Sehenswürdigkeiten
-
Schaltet das Zeichnen von Sehenswürdigkeiten und anderen
markanten Gebäuden in Berlin und Brandenburg ein oder aus.
- Sehenswürdigkeit auswählen
-
Zeigt eine Listbox zum Auswählen einer Sehenswürdigkeit
an.
- Obst
-
Zeichnet Stellen mit öffentlich zugänglichen
Obstbäumen.
In der nächsten Gruppe sind die Navigations-Icons:
- Vergrößern-Symbol (+)
-
Es wird ein kleinerer Ausschnitt angezeigt (mehr Details). Tastatur:
+
.
- Verkleinern-Symbol (-)
-
Es wird ein größerer Ausschnitt angezeigt (weniger
Details). Tastatur:
-
.
- Maßstab-Feld
-
Dieses Feld zeigt den aktuellen Maßstab, bezogen auf den
Bildschirm, an. Die Zahl stimmt nur, wenn die DPI-Zahl des X-Servers
korrekt eingetragen wurde (beim X-Server von XFree86 kann die DPI-Zahl
mit der Option -dpi verändert werden). Mit Klick auf das Feld
kann ein anderer Maßstab angegeben werden und so der
Kartenausschnit vergrößert oder verkleinert werden.
- Übersichtskarten-Symbol
Mit diesem Symbol kann die Übersichtskarte von Berlin und
Brandenburg ein- und ausgeschaltet werden. In der
Übersichtskarte wird der aktuelle Ausschnitt durch ein schwarzes
Rechteck gekennzeichnet. Durch Verschieben dieses Rechtecks wird auch
der aktuelle Ausschnitt verschoben.
- Windrosen-Symbol
Mit dem Windrosen-Symbol kann man die Karte in die vier
Himmelsrichtungen scrollen. Mit der linken Maustaste sind dabei die
Schritte kleiner, mit der mittleren größer. Wenn man
länger auf die Mitte der Windrose klickt (ca. 2 Sekunden), wird
wieder zurück auf die Mitte zentriert. Scrollen kann man auch
mit den Scrollbars oder mit den Tasten Pos1 (links), Ende
(rechts), Bild nach oben und Bild nach unten (jeweils immer
seitenweise) bzw. mit den Cursortasten (feinere Abstufung).
Die folgenden Icons kontrollieren die Suche von Routen:
- Route suchen
Mit diesem Schalter kann man den Suchmodus ein- oder ausschalten.
Normalerweise ist dieser Schalter nicht aktiviert und es ist immer der
Suchmodus eingeschaltet (kann mit der Kommandozeilen-Option
-advanced geändert werden).
Menü:
- Route löschen
-
Die aktuelle Route wird gelöscht. Gleiche Funktion wie ein Klick auf
die rechte Maustaste oder Drücken auf
Shift-Backspace
.
Der letzte Punkt der Route wird mit der Backspace-Taste gelöscht.
- Route wiederherstellen (Undo)
-
Die zuletzt gelöschte Route wird wiederhergestellt.
- Route aktualisieren
-
Die Route wird in Bezug auf Wind und Leistung aktualisiert (sollte nicht
notwendig sein).
- gesperrte Straßen beachten
-
Wenn dieser Schalter eingeschaltet ist, werden gesperrte
Straßen und Einbahnstraßen nicht in die Suche
einbezogen.
- Tragen vermeiden
-
Stellen, an denen das Rad getragen werden muss, werden nicht in die
Suche einbezogen.
- Fähren verwenden
-
Fähren werden bei der Suche berücksichtigt.
- Steigungen berechnen
-
Höhenangaben werden eingelesen und bei der Berechnung der
Leistung werden die Höhenangaben für Steigungen und
Gefälle verwendet.
- Ampel-Optimierung
-
Bei der Suche einer Route wird für jede Ampel 25m, 50m oder 100m
auf die entsprechende Strecke aufgeschlagen (nur für den
Suchalgorithmus). Abhängig von der Geschwindigkeit bekommt man
für die Verzögerungszeit pro Ampel folgende Tabelle:
| 15km/h | 20km/h | 25km/h |
---|
25m | 6s | 5s | 4s |
50m | 12s | 9s | 7s |
100m | 24s | 18s | 14s |
Zu lesen ist die Tabelle wie folgt: wenn man mit 25km/h unterwegs ist
und als Aufschlag 100m gewählt hat, würde dies einer
Verzögerung von durchschnittlich 14s pro Ampel entsprechen.
- Steigungen/Gefälle zeigen
-
Auf der Route liegende Gefälle oder Steigungen über 1%
werden angezeigt.
- Startflagge
-
Schaltet das Zeichnen einer Startflagge am Routenanfangspunkt ein oder
aus.
- Zielflagge
-
Schaltet das Zeichnen einer Zielflagge am Routenendpunkt ein oder aus.
- Beschreibung der aktuellen Route
Es wird eine Routenbeschreibung in der folgenden Form angezeigt:
Länge | Gesamt | Richtung | Straße |
---|
nach 0.15 km | (0.2 km) | | Franklinstr. |
nach 0.03 km | (0.2 km) | | Marchstr. |
nach 0.48 km | (0.7 km) | rechts (80°) auf den | Ernst-Reuter-Platz |
nach 0.28 km | (0.9 km) | halbrechts (30°) in die | Hardenbergstr. |
nach 0.09 km | (1.0 km) | angekommen! | |
Diese Beschreibung kann in eine Datei geschrieben, ausgedruckt oder
als Mail verschickt werden.
Routenbeschreibung in den Palm laden
Folgendes gilt nur für Unix-ähnliche Betriebssysteme.
In $PATH
muss sich mindestens eins der folgenden Programme
befinden: iSiloBSD
, iSiloLinux
oder pilot_makedoc
.
Die Sourcen zu pilot_makedoc
bekommt man z.B. bei
iSilo
ist ein anderes Format, das einen speziellen Palm-Viewer
braucht, der allerdings Hypertextfähig ist. Die Binaries für die
Umwandlung findet man unter ftp://ftp.iSilo.com/pub/. Hinweise zum
PalmViewer befinden sich auf der Homepage von iSilo.
Die Übertragung erfolgt automatisch, wenn pilot-xfer
installiert
ist, welches man auf folgenden FTP-Servern bekommt:
- Route zurücksetzen
Mit Klick auf dieses Icon wird die aktuelle Route gelöscht.
- Rückweg-Symbol
Start- und Zielpunkt der aktuellen Route werden vertauscht.
- Koordinaten-Symbol
Dieses Menü ist normalerweise nicht aktiviert und wird nur zum
Editieren der Koordinatendateien benötigt.
- Info-Symbol
Hiermit kann im Informationsmodus umgeschaltet werden. Beim Klick auf
Kartenelemente wird jeweils ein Informationsfenster geöffnet.
Diese Funktion kann nur intern verwendet werden.
- Salesman-Symbol
In diesem Modus kann die kürzeste Rundreise berechnet werden.
Dazu klickt man erst einmal in diesen Modus und wählt alle
gewünschten Stationen der Rundreise an. Der erste und letzte
Punkt werden fest als Start- und Zielpunkt markiert; alle anderen
Punkte werden in ihrer Reihenfolge frei gewählt. Wenn man alle
Stationen ausgewählt hat, muss man noch einmal auf das
Salesman-Symbol klicken, um die Berechnung zu starten. Es wird darauf
hingewiesen, dass bei einer großen Anzahl von Stationen (mehr
als acht) die Berechnung sehr lange dauert (der geneigte Leser kann
sich die Problematik in der Literatur zum Thema "Problem des
Handlungsreisenden" bzw. "Traveling salesman problem" aneignen). Wenn
die Berechnung zu lange dauern würde, kann sie mit der Esc-Taste
abgebrochen werden (wenn die Berechnung bereits mehr als zu 50%
durchgeführt wurde, bekommt man dann noch ein Ergebnis, auch
wenn es nicht das optimalste ist).
- Öffnen-Symbol
Hiermit kann eine bereits gespeicherte Route wiedergeladen werden.
Eine Liste der zuletzt geladenen Routen kann man mit Klick auf die
rechte Maustaste erhalten.
Zusätzlich zum bbbike-Format kann auch eine Track-Datei von
GPS-Navigationsgeräten eingeladen werden. Die Datei muss aus
Zeilen im folgenden Format bestehen:
TRK N52 29.072278 E13 15.879650 1998/06/21-08:47:20 1
- Speichern-Symbol
Hiermit kann die aktuelle Route gespeichert werden.
Menü:
Mit den Menüpunkten kann man den aktuellen Ausschnitt der Karte
als Bilddatei im Postscript-, GIF-, JPEG- oder PPM-Format
speichern speichern. GIF-Dateien sind in der Regel am kleinsten.
Postscript-Dateien sind vektororientiert und können somit
beliebig ohne Qualitätsverluste vergrößert werden.
Das Erzeugen von JPEG- und PPM-Dateien ist normalerweise nicht
empfehlenswert.
Folgende Programme müssen für die verschiedenen Formate
installiert sein:
|Postscript| GIF | JPEG | PPM |
-----------+----------+-------+--------+-------+
Ghostscript| - | x | x | x |
pnmrotate | - | o | o | o |
ppmtogif | - | x | - | - |
cjpeg | - | - | x | - |
(x = erforderlich, o = optional, - = nicht erforderlich)
Da der Postscript-Treiber, der für jede Konvertierung aufgerufen
wird, die Schriften sehr klein darstellt, sollte im Orte-Menü
der Punkt Sehr große Schrift gesetzt sein. Bessere
Ergebnisse erhält man, wenn man die Option -usexwd (xwd als
Screengrabber im Sonstiges-Teil des Optionseditors) einschaltet oder
direkt mit einem Screengrabber (z.B. xwd oder xv) arbeitet.
- Drucken-Symbol
Ausdruck des angezeigten Kartenausschnitts. Der Ausdruck wird nicht
direkt vorgenommen, sondern es wird eine Postscript-Datei erstellt und
ein Postscript-Viewer (z.B. gv oder ghostview) aufgerufen, aus
dem heraus gedruckt werden kann. Ist kein Postscript-Viewer vorhanden,
wird in eine temporäre Datei geschrieben.
Menü:
- Farbe, Graustufen, Schwarz-Weiß
-
Diese Schalter kontrollieren die Farbausgabe des Drucks.
- Landscape, Portrait
-
Diese Schalter geben an, ob im Landscape- oder im Portrait-Modus
gedruckt werden soll. Im Portait-Modus erscheint die Karte verzerrt.
- auf A4 skalieren
-
Wenn dieser Schalter aktiviert ist, wird die Karte so
vergrößert, dass ein A4-Blatt vollkommen
ausgefüllt ist.
- Legende
-
Eine Legende mit Nordpfeil wird mit ausgedruckt.
- Legende rechts statt links
-
Die Position der Legende wird geändert.
- Fahrrad-Symbol (Bikepower)
Aufruf des Bikepower-Moduls, z.B. zum Eintragen der persönlichen und
Fahrrad-Daten. Siehe BikePower.
- Options-Symbol (O)
-
Falls Tk::Getopt installiert ist, kann hiermit der
Options-Editor aufgerufen werden.
Menü:
- Ausgabe sofort aktualisieren
-
Einige Kommandos wie Outline zeichnen oder Straßennamen
werden nicht sofort ausgeführt, sondern beim nochmaligen
Anwählen des jeweiligen Icons. Um die sofortige Aktualisierung
zu erzwingen, kann dieser Schalter gesetzt werden.
- Netz sofort aktualisieren
-
Hiermit wird die interne Darstellung des Straßennetzes
aktualisiert.
- Alles aktualisieren
-
Alle ausstehenden Kommandos werden ausgeführt.
- gedrehte Zeichensätze
-
Beim Zeichnen von Straßen- und Gewässernamen werden
gedrehte Zeichensätze verwendet. Das Zeichnen wird dadurch
verlangsamt, außerdem wird der X-Server zusätzlich
belastet.
Gedrehte Zeichensätze können nicht gedruckt werden.
- Landscape
-
Die Karte wird im "Landscape"-Modus angezeigt.
- Portrait
-
Die Karte wird im "Portrait"-Modus angezeigt.
- Canvas balloon
-
Einschalten eines Balloons (Tooltip-Hilfe) für den
Kartenbereich. Im Untermenü kann zwischen kein (kein
Balloon), nur Route (Balloon wird nur über einer Route
angezeigt) und überall (Balloon wird über allen
Kartenelementen angezeigt) ausgewählt werden.
- Farben ändern
-
Mit diesem Menüpunkt können die Farben von bbbike
geändert werden. Die Änderungen sind nicht permanent.
- Schriftart ändern
-
Mit diesem Menüpunkt kann die Schriftart geändert werden.
Die Änderung ist nicht permanent.
- Ständige Markierung
-
Wenn dieser Punkt eingeschaltet ist, bleibt die Markierung nach einer
Auswahl stehen, ansonsten blinkt die Markierung einige Male und wird
dann gelöscht.
- Markierung löschen
-
Falls Ständige Markierung eingeschaltet ist, kann eine
Markierung mit diesem Menüpunkt gelöscht werden.
- Status nach STDERR
-
Statusmeldungen werden nicht in der Statuszeile angezeigt, sondern
nach stderr umgelenkt.
- Wortreich (verbose)
-
Es werden zusätzliche Meldungen nach stderr ausgegeben.
- Lautsprecher-Symbol
Ein-/Ausschalten des zusätzlichen Mausklicks.
- Hilfe-Symbol (?)
-
Anzeige der Online-Dokumentation (über Tk::Pod oder
einen WWW-Browser).
Menü:
- Legende
-
Hiermit wird die Legende ein- und ausgeschaltet. In der Legende werden
nur die gerade angezeigten Kartenelemente erklärt. Tastatur:
F1
.
- Kurzhilfe
-
Ein Fenster mit den wichtigsten Mausbefehlen wird angezeigt.
- Kontexthilfe
-
Schaltet die Kontexthilfe ein.
- Netscape bbbike.html
-
Zeigt die BBBike-Dokumentation in Netscape an.
- Über...
-
Zeigt die Version von BBBike, perl und Tk an.
- Busy-Zeiger zurücksetzen
-
Es kann vorkommen, dass nach einem Fehler der Busy-Zeiger (Uhr
oder Sandglas) nicht zurückgesetzt wurde. Dies kann hiermit
nachgeholt werden.
- Kontexthilfe-Symbol
-
Mit der Kontexthilfe kann die Hilfe für einen Button direkt
angefordert werden.
- Ende-Symbol
-
Hiermit wird BBBike beendet. Temporäre Dateien werden
gelöscht und die Liste der zuletzt geöffnet Routen-Dateien
in
~/.bbbike/last
gespeichert. Tastatur: q
oder Ctrl-C
.
Folgende Kommandozeilenoptionen sind definiert:
Usage: ./bbbike [options] --[no]str --[no]landstr --[no]sbahn
--[no]sbahnhof --[no]ubahn --[no]ubahnhof --[no]rbahn --[no]rbahnhof
--[no]wasser --[no]wasserumland --[no]wasserstadt --[no]faehre
--[no]flaeche --[no]ort --[no]hs --[no]pp --outline --[no]ampel
--lsamaybe --[no]plothoehe --[no]showgrade --[no]strname --[no]ortname
--ortkategorie --[no]wassername --rbahnnetz --usbahnnetz --nice
--faraway --fast --turbo --lowmem --[no]diplom --[no]mldbm --center
--centerc --edit --[no]qualitaetoptimierung --[no]qualitaetwerte
--[no]kategorieoptimierung --[no]kategoriewerte --[no]sperre
--[no]nichttragen --[no]ampeloptimierung --beschleunigung --[no]wind
--[no]bikepwr --resetpower --power --resetspeed --speed --[no]www
--[no]wwwmap --[no]wwwcache --cachedir --[no]wwwslow --proxy
--[no]fontrot --fontfamily --fixedfontfamily --fontheight --fontweight
--[no]balloon --[no]cballoon --cballoonwait --[no]contexthelp
--[no]smoothscroll --[no]followmouse --[no]dialog --mapcolor
--geometry --visual --scale --[no]overviewwasser --[no]flat
--[no]transient --[no]autoscroll --autoscrollspeed --[no]audio
--audiotype --coordout --printcmd --[no]gvreuse --[no]server
--[no]autosave --[no]stderr --[no]advanced --[no]public -v --version
-h
(Auswahl aus den Optionen:)
- --center strasse
-
Beim Starten wird auf die angegebene Straße zentriert.
Beispiel:
--center Dudenstr
- --centerc koord
-
Beim Starten wird auf die angegebenen Koordinaten (Format "x,y")
zentriert.
- --proxy httpproxy
-
Angabe eines Proxies für WWW-Verbindungen im Format
"http://hostname:port/". Beispiel:
http://www.cs.tu-berlin.de:80/
- routefile
-
Beim Starten wird die Routendatei geladen und angezeigt.
Für das Zeichnen der realen Karten sind folgende Programme aus
dem pbmplus- bzw. netpbm-Paket notwendig:
-
giftoppm
-
pnmscale
-
djpeg (aus libjpeg)
Eine komplette Liste der optionalen perl-Module findet man in
Bundle::BBBike.
Die Installationsbeschreibung befindet sich in der Datei
README bzw. README.html.
Um Icons mit dem fvwm2 darstellen zu können, sollte in .fvwm2rc oder
.fvwmrc folgende Zeile eingefügt werden:
Style "Bbbike*" MiniIcon srtbike_mini.xpm
Die Datei srtbike_mini.xpm sollte in ein Verzeichnis eingefügt werden,
wo sich die sonstigen fvwm-Icons befindet (siehe Direktive PixmapPath).
Verwendete Tags:
- Kreuzungen:
-
'pp', Koordinate (x,y), undef, pp-$abk
- Strecken:
-
$abk, Name, $abk-$category, $abk-$index
- Strecken (Outline):
-
$abk-out, $abk-$category-out
- Flächen:
-
$abk, Name
- Flächen (Outline):
-
$abk-out
- Haltestellen:
-
'p', Hafas-Index
- besondere Punkte (Bahnhöfe etc.)
-
$abk-[fb]g, Name
$abk-[fb]g, Koordinate (x,y)
- Ampeln
-
$abk-fg, Koordinate (x,y), Kategorie
- Markierung Punkt:
-
'show', 'showp'
- Markierung Strecke:
-
'show', 'shows'
- Ort
-
'o', Name
- Ort (Bezeichnung)
-
'O'
- Route, Routenstartpunkt
-
'route', route-$nr
- Karte
-
'map'
Zu viele...
-
Abspeichern von leeren Routen verhindern. Auch das Laden von leeren
Routen verhindern, ansonsten gibt es komische Fehler ("Punkt existiert
nicht im Netz").
-
Entfernungen von manuell erzeugten Strecken werden bei der
Wegbeschreibung anscheinend nicht berücksichtigt (gesehen beim Weg
westlich des Neuen Sees/Potsdam).
-
CGI: siehe Kommentar in search_coord. Ich brauche also leider eine
neue Datei strassen2, wo die gesperrten Straßen ausgeschlossen
sind.
-
Suche: Das Anwählen eines Punktes innerhalb einer gesperrten
Straße ist fälschlicherweise erlaubt.
-
Falsche Streckenführung, wenn für das gleiche
Streckenstück zweimal der Punkt mit nearest_line_points
ausgewählt wurde. Problematisch, wenn ich irgendwann bei den
Landstraßen auf lange Streckenstücke (Kilometer werden
nur zwischen Kreuzungen und nicht mehr zwischen Kurvenpunkten
vorberechnet) umsteigen werde.
-
optionadd...*search hat auch Auswirkungen auf den Menüpunkt in
Tk::Pod ... wie kann das begrenzt werden? Vielleicht MainWindow statt
Toplevel benutzen?
-
Kontextsensitive Hilfe auf "km/h" findet beim Tk-POD-Ersatz nicht den
richtigen Abschnitt.
-
Beim Anzeigen einer Routenbeschreibung, die Landstraßen
enthält, wird nichts ausgegeben, wenn Landstraßen nicht
gezeichnet sind. => in nearest_points evtl. Landstraßen bei
Bedarf nachladen (wie feststellen???).
-
Beim Reinzoomen werden die Strecken und Punkte sehr ungenau
gezeichnet. Dies könnte behoben werden, wenn alle Punkte beim Zoomen
neu gezeichnet werden, aber das würde das Zoomen *sehr* verlangsamen.
-
Der Canvas-Postscript-Treiber kann mit rotierten Fonts nichts anfangen.
-
Markierungen (die runden) müssen auch durchsichtig sein!
-
BikePower: Profile laden/speichern, evtl. auch direkt aus bbbike
sichtbar. Erst einmal das Problem mit dem Komma (Linux, Solaris mit
LANG gesetzt) lösen.
-
Dynamisches Zeichnen (weniger/mehr) von Kartenelementen anhand der
Vergrößerung (wird teilweise schon gemacht, z.B. bei
get_symbol oder Orte/Kategorien=Auto).
-
In Routenbeschreibungen Zeilen wie "Straße A", "...",
"Straße A" zu einer Zeile zusammenfassen.
-
Bessere Routenbeschreibung für Landstraßen. In der
Datenbank "X - Y" nach "(A) - X - V - Y - (B)" ändern, wobei X
und Y Start- und Zielort der Strecke ist, (A) und (B) die globale
Richtung (größere Städte vor und nachher) und V ein
Via-Ort ist. Die geklammerten Orte und V sind optional.
Möglichst Orte in die Routenbeschreibung aufnehmen. Vielleicht
mit nearest_... arbeiten.
-
Update über das Internet: gzip/zip-Unterstützung
-
Telefonbuch-Datenbank (Name): Die Suche ist suboptimal. Bei der
Suche von häufigen Nachnamen (Müller, Schulze)
wird das Ergebnis begrenzt (200 Namen) und kann mit "Weiter"
fortgesetzt werden.
-
B2/B3 auf Speed/Power-Labels dokumentieren --- generelles Widget wie
Mouse-Info bei xfig?
-
evtl. ein Composite-Item fuer canvas erstellen und zwar fuer punkte
mit zugehoerigem label. so bleiben die labels im korrekten
abstand neben dem punkt
-
CGI: Grafik zeichnen: Option (Straßennamen) einführen,
mit der eine Imagemap für die Route erstellt wird.
-
Optimierung: bei Landstraßen reine Kurvenpunkte bei der
Netzberechnung ignorieren => ist mit make_wide_net bereits
implementiert, wird aber nicht verwendet...
-
oben/normal/unten: Reihenfolge: RB oder S, dann RB-Bhf oder S-Bhf, und
nicht RB, RB-Bhf, S, S-Bhf wie bislang
-
Vias werden gesondert dargestellt.
-
unlimited Undo?
-
Optionen -auchumland und -nurberlin: setzen einige Variablen wie
wasserumland, landstr, orte etc.
-
search_route: multiple Start/Ziel (Checkbutton)
-
Mehr benutzerfreundliche Optionen für die Suche: kürzeste
Strecke, schnellste Strecke (in Abhängigkeit von Wind,
Steigung/Gefälle, Straßenoberfläche etc.),
-
Verwendung von Storable zum schnelleren Laden und Parsen (für
Strassen-Dateien). Die Dateien sind da, aber ich muss mal Benchmarks
machen, ob es sich tatsächlich lohnt.
-
Weiterer Suchmodus: Start- und Ziel bleiben fest, Via kann beliebig
verändert werden. Und: Ausgabe von alternativen Routen.
-
GUI-build aus package main in eigene Funktionen verlagern
-
einheitliche Schalter für das interne Caching von Daten (z.B. ob
beim Anklicken von "Ort" die Datei immer neu eingelesen werden soll)
-
Portrait/Landscape-Umschaltung: alle Canvas-Daten aktualisieren.
Route wird z.Zt. nicht gedreht (evtl.
auf @coords verzichten und nur @realcoords verwenden).
-
Vernünftige Options-Eingabe in der GUI. Zwischen
Startup-Optionen (Zeichnen der Straßen/Punkte) und aktuellen
Optionen unterscheiden.
-
Kategorisierung der Landstraßen? Gibt es Untersuchungen zur
Verkehrsdichte? Vielleicht zweigleisig fahren: Straßenbelag,
Verkehrsdichte, offizielle Einstufung (Bundesstraße ...) (ups,
ist dreigleisig geworden...)
-
choose_ort, S- und U-Bahnen: neben dem Bahnhof die zugehörige(n)
Linien anzeigen
-
Option: alle Ortschaften entlang einer Route zeigen (evtl. auch die
Nähe einstellbar, default 100m)
-
Im Umland ist es wahrscheinlich sinnvoller, eine Routenbeschreibung
anhand von Punkten (Ortschaften) anstatt Strecken (Straßen) zu
machen. Optional eins oder beides zusammen.
-
Ab und zu Pfeile zeichnen, damit die Routenführung eindeutig wird
(wenn eine Strecke zweimal durchfahren wird).
-
Option -centerc auch interaktiv zugänglich machen (ist schon,
aber nur mit grauenvollem Interface).
-
Das Erzeugen von GIF-Bildern benötigt netpbm, von JPEG-Bildern
die JPEG-Distribution und alle brauchen ghostscript. Eine bessere
Methode wäre WinPhoto (wenn es korrekt funktionieren
würde).
-
Suchen nach Alternativen. Es ist schwierig zu entscheiden, wann eine
Alternative wirklich eine Alternative darstellt (z.B. ist es kein
großer Unterschied, ob man nur rechts oder links um einen Block
herum fährt).
-
Bei Tix sind Eingabe-Widgets und Listboxen in einem helleren Farbton.
Auch hier umsetzen. Wie wendet Tix die Schemes auf die alten Widgets
an?
-
Evtl: Canvas und Übersichtskarte: Maus ziehen zum Einstellen
eines Ausschnitts
-
Rückkehr aus dem edit-Modus in den Suchmodus: Cursor wieder
umstellen, Start/Zielflagge aktivieren.
-
Straßennamen: Labels wie in richtigen Stadtplänen
anordnen, also z.B. "Yorckstr.": am Anfang der Straße "Yorck-",
am Ende der Straße "str.". Dadurch werden die Namen hoffentlich
lesbarer sein. => Ist schon implementiert, aber langsam...
-
Da das Zeichnen von Straßennamen so lange dauert: mit Hints
arbeiten (z.B. für einige oft verwendete Zoomstufen Koordinaten
vorberechnen).
-
Beim Vergrößern könnte man ab einer bestimmten
Stufe auch die Größe der Straßen/Ortslabel auch
mitvergrößern.
-
Optional mehr Informationen in der Routenbeschreibung, z.B.
Steigungen, Sehenswürdigkeiten in der Nähe,
U/S-Bahnstationen ... Kommentare sind schon drinnen.
-
Alle in "strassen" vorkommende Straßen sollten auch in
"Berlin.coords.data" stehen. Ansonsten gibt es derart PÜrobleme,
daß zwar beim CGI in der Liste "Alle Straßen anzeigen"
z.B. "Hallesches Tor" angezeigt wird, diese Straße als Eingabe
aber nicht akzeptiert wird. Sprich: die Datei data/add_str sollte auf
Aktualität überprüft werden und dann möglichst
alle fehlende Straßen nach Berlin.coords.data übertragen
werden.
Hatte ich schonmal:
[in add_str sollten möglichst KEINE "richtigen" Straßen stehen --- nur
Sachen wie Brücken, Tunnel, "Alexanderplatz [zur Grunerstr.]" etc.
ansonsten werden sie in bbbike.cgi nicht erkannt, obwohl sie
existieren!]
-
Server-Mode und Client-Programm: austesten, insbesondere mit KDE, und
dann alle Starts auf bbbikeclient umschreiben. Gucken, wie man sowas
mit Win32 machen könnte. Server-Beispielcode aus
"Mastering Perl/Tk" verwenden.
-
CGI-Bilder antialiased erstellen. Ich habe schon was gemacht, ist aber
noch nicht optimal. (Was habe ich gemacht? Wie kann man das mit GD
machen???)
-
In BBBikeDraw.pm nach AREA suchen: Probleme mit den verschiedenen
Netscape-Versionen.
-
Implementierung der interaktiven Eingabe für einige
Straßenlabels, die dann bei "Straßennamen" in bbbike und
immer in den vorgefertigten bbbike.cgi-Bildern und konditional in den
dynamischen gesetzt werden.
-
install.pl: Falls Tk nicht installiert ist und PPM vorhanden ist, mit
PPM nachinstallieren. Bei Bedarf eine Reihe weiterer Module
nachinstallieren (siehe Bundle::BBBike). Das Installieren mittels
Bundle::BBBike funktioniert ab CPAN 1.60 nicht mehr.
-
FreeBSD-Port anpassen, so daß install.pl verwendet wird. PLIST
von install.pl abhängig machen. -kdeinstall in
Abhängigkeit von HAVE_KDE angeben.
-
Rotierte Fonts: vielleicht ein Freetype-Modul schreiben, dafür
eine Tk::Canvas-Erweiterung und diese in BBBike verwenden? ---
Es gibt bereits libgdtf. Dieses zu einem Perl-Modul machen und
wenigstens für die statischen CGI-Karten verwenden.
-
Neuimplementation der Streckensuche. Dabei soll zwischen
Streckenaufwänden und Knotenpunktaufwänden unterschieden
werden. Aufwände werden entweder in Längen, in Zeit oder
in einem Punktesystem (Kombination aus Zeit, Komfort, Sicherheit etc.)
angegeben. Streckenaufwände berechnen sich aus: Länge der
Strecke, Gegenwind, Steigungen, Dynamowiderstand,
Straßenqualite<auml>t der Strecke, sonstige Hindernisse auf der
Strecke, Verkehrsdichte (Staus, Berufsverkehr), Radwege,
Maximalgeschwindigkeiten. Knotenpunktaufwänden berechnen sich
aus: durchschnittliche oder wahre Ampelwartezeit mit Zeit für
die Beschleunigung, durchschnittlicher Zeitverlust an
Rechts-vor-links-Kreuzungen und an vorfahrtsgewährenden
Kreuzungen (abknickende Vorfahrtsstraßen beachten), Zeitverlust
für Abbiegevorgänge (rechts, links), erschwertes Abbiegen
(Bordsteinkanten überwinden). Qualitätsbewertungen:
Straßenqualität, niedrige Leistungsaufwände (Wind,
Steigungen), Nebenstraßen, Parks. Sicherheitsbewertungen:
Nebenstraßen vor Hauptstraßen bevorzugen, Radwege
ja/nein. In (C) und Perl implementieren.
Analyse eines Streckenabschnitts:
* Feststellen der LE<auml>nge
* Feststellen der Windrichtung und -geschwindigkeit
* Feststellen der Steigung
* Verluste durch StraE<szlig>enqualitE<auml>t
* Korrigieren auf Maximalgeschwindigkeit (max. Trittfrequenz)
* anhand der aktuellen Leistungswert Zeit berechnen
Analyse einer Kreuzung:
* Feststellen, ob es um einen Abbiegevorgang handelt und ggfs. Zeit
fE<uuml>r den Abbiegevorgang abziegen
* Feststellen, ob eine Ampel vorhanden ist, und eine
durchschnittliche Zeit abziehen.
* Feststellen, ob die Vorfahrt beachtet werden muE<szlig>
-
cgi-Version: Linux+Netscape: Probleme mit Cookies (Einstellungen)
=> noch immer?
-
wenn GD nicht installiert ist, sollte die gif-Datei gelöscht werden und
eine Fehlermeldung ausgegeben werden (?)
-
Vergrößerung der Schrift beim Zoomen
-
Speichern von Grafiken: Extension erzwingen (?), Überschreiben testen
und verhindern
-
evtl. mit fork eine Warteschleife implementieren. Wenn es nicht mit
Tk (threads!) geht, dann vielleicht mit X11::Protocol oder mit xterm?
-
Kurzhilfe: kann man feststellen, ob man eine 2/3-Tastenmaus hat?
-
Vielleicht Windchill-Temperatur zusätzlich anzeigen.
-
Optimierung: Beim Ausschalten von Outline oder Straßennamen
muß nicht alles neu gezeichnet werden.
-
Meta-Choose-Dialog, das alle Choose-Dialoge vereinigt. Vielleicht
Tk::SmartListbox verwenden?
-
wettermeldung2 mit fork/spawn/threads aufrufen
-
Neue Version von wettermeldung2 schreiben, die SYNOP-Information
verwendet.
-
Wenn während eines WWW-Fetches die Verbindung gekappt wird,
hängt BBBike vollkommen. Gesehen bei Win32. Vielleicht mit
Timeouts arbeiten (kann das LWP?) und häppchenweise holen. Oder
noch besser: fileevent verwenden! ... LWPng kann Event-Handling.
Leider ist das Event-Handling noch inkompatibel mit Tk. Auch für
wettermeldung2 mit LWPng arbeiten. => Vielleicht das hochgelobte
POE verwenden.
-
Für das Drucken von Text: evtl. auch Netscape und print-Methode
verwenden (?). Für Unix könnte man eine start netscape,
netscape remote openFile/print-Kombination verwenden. Bei Windows?
Netscape könnte man auch zum Mailabschicken verwenden,
über mailto. Evtl. ein Modul für Netscape schreiben,
daß die ganzen remote-Kommandos verwendet. Hier eine Liste:
%s: usage: OpenURL(url [ , new-window|window-name ] )
%s: usage: OpenFile(file)
%s: usage: print([filename])
%s: usage: SaveAS(file, output-data-type)
%s: usage: SaveAS(file, [output-data-type])
%s: usage: mailto(address ...)
%s: usage: find(string)
%s: usage: addBookmark(url, title)
%s: usage: htmlHelp(map-file, id, search-text)
Mit Xprt für X11 experimentieren (doc lesen).
-
Ein LightWeight-Modul (CanvasMap) schreiben. Vielleicht irgendwann
alles auf dieses Modul umschreiben.
-
PerlPlusPlugin ausprobieren und BBBike dafür portieren. Sachen,
die mir dafür einfallen: Ich brauche ein open(), das über
LWP funktioniert (vielleicht mit LWPng?). Ich brauche ein hyperuse und
hyperrequire. Z.B.
@HYPERINC = qw("http://user.cs.tu-berlin.de/~eserte",
"file://tmp");
hyperuse BBBikeEdit;
hyperrequire Strassen;
Irgendwo habe ich so etwas schon implementiert gesehen ... suchen!
-
Bei einem Resize muß auch das Progress-Canvas angepasst werden.
-
BBBikeContext.pm schreiben: gibt alles aus, was ich so brauche: $os,
Strassen-Objekte, Crossings, Netze etc. Caching bei Belieben
einstellen, evtl. mit Ties arbeiten, die sich selbst umwandeln oder
durchgängig mit Methoden. AutoLoading verwenden.
-
Folgende Radwege in der Landsberger Chaussee können nicht
dargestellt werden, weil sich die Straße in landstrassen-orig
und nicht in strassen-orig befindet.
14389,5916 14348,5906 radweg radweg
14545,5953 14389,5916 radweg radweg
14844,6029 14545,5953 radweg pflicht
15283,6150 14844,6029 radweg pflicht
-
Speicheroptimierung.
Folgende Symbole kommen im Dump von Devel::Symdump vor und
bedürfen Klärung (warum, woher, benötigt?):
* English::*
* DB::args
* Tk::Pretty::*
* re::*
* DirHandle::*
Ein minimales System kann auf Folgendes verzichten:
* Fahrinfo::*
* BikePower::*
* Devel::Peek::*
* EasySound::*
* Karte::Berlinmap1997::*
* Karte::Berlinmap1999::*
* wettermeldung2::*
* BSD::Resource::*
* Hyper::*
* Plugin::*
Evtl. auch:
* Tk::DragDrop::*
* Tk::CanvasBalloon::*
* Tk::ContextHelp::*
* Tk::Dialog::* (nach STDERR umlenken, wenn nur OK-Button erscheint)
* Tk::ErrorDialog::* (Default: nach STDERR umlenken)
* Tk::FireButton::*
* Tk::SRTProgress::*
* Tk::UnderlineAll::*
-
3D-Darstellung von Berlin (z.B. vier versetzte Flächen, die
oberste in der Hintergrundfarbe und die anderen in der Schattenfarbe).
-
bbbike.cgi: Eine "Neu"-Subroutine, die jeweils die neuen Features der
Version anzeigt. Vielleicht auch eine "Neu"-History, die automatisch
aus den alten Einträgen oder aus dem RCS-Log aufgebaut wird?
-
Cgiinfo in cgi2.t funktioniert leider nicht, weil openURL als zweiten
Parameter nur true oder false zuläßt. Workaround:
Schreiben eines Multiplexers, der per Javascript neue Fenster
öffnet.
-
Soll ich mit Scopes arbeiten? Scopes wären: Berlin, Brandenburg,
jwd und würden sich auf Straßen, Orte und Gewässer
beziehen.
-
Kann ich mapserv irgendwie einsetzen?
-
Bike+Ride integrieren. Das würde in eine unterbrochene Route
resultieren, deren Fahrzeiten addiert würden. Zusätzlich käme noch
eine abgeschätzte Zeit für die Benutzung des Verkehrsmittels (Fahrzeit
+ Zusteigzeit + Umsteigezeiten). Eine Verbindung zu Fahrinfo wäre
genial.
-
Aufteilung des Routen-Menüs. In das zweite Menü kommen
alle Punkte, die die Ausgabe beeinflussen: Ausschnitt anpassen,
Steigungen zeigen, Streckenprofil, Start/Zielflagge, Routenfarbe (+
Einfärbung Wind/Leistung/Qualität/etc.), Kalorienverbrauch
-
Berechnen des Straßennetzes: Ausblenden des Canvas nicht
notwendig
-
GfxConvert evtl. mit Tk-Photo-Funktionen definieren, wenn die externen
Programme nicht verfügbar sind. Am besten wäre
natürlich noch immer ein NetPBM-Modul.
Photo-Zooming: -zoom x -subsample y == -zoom x/y oder umgekehrt
-
Radwegekategorien erweitern: RW(kategorie)(qualitaetskategorie). Also
heißt dann z.B. RW00: Radweg mit sehr guter Qualität und
RW13: benutzungspflichtiger Radweg mit sehr schlechter
Qualität. Bei den restlichen Kategorien kann man sich die
Erweiterung sparen, da dort die Qualitätskategorie der
Straße gilt. Default-Qualitätskategorie für Radwege
sei 1 (gute Qualität).
-
ShAddRecentDoc geht unter Win98 nicht?
-
Drag'n'drop und open's sollten vielleicht etwas mit .lnk-Dateien unter
Win* anfangen können...
-
outline_text bei draw_text_intelligent verwenden
-
Beim intelligenten Zeichen von Ortsnamen bietet sich ein
Scanline-Vorgang von rechts nach links an. Somit vermeidet man Sachen
wie
Slubice *
* Frankfurt
Schwierig, wenn gleichzeitig das Ergebnis aus sortbycat beachtet
werden soll (Multipass? Langsam!)
-
Bei der Ausgabe der Straßennamen an der Route sollte ein aehnlich
intelligentes Verfahren angewendet werden. Vielleicht kann bei Routen,
die von W nach O verlaufen, die Strassennamen erstmal links vom Punkt
eingezeichnet werden und umgekehrt.
-
Bei -usbahnnetz sollte folgendes gehen: Routenbeschreibung mit Bahnhöfen
statt Strecken (davon kann auch die Routenbeschreibung auf dem flachen
Land profitieren!) ... Und noch schöner: eine Kombination von U/S-Bahn
und Straßennetz (für Fußwege bzw. Bike+Ride).
-
Optional eine kürzere Beschreibung. Diese würde nur
folgendes enthalten: Straßen und Abbiegevorgänge. Wenn
man auf einer Straße nicht abbiegen muss, dann werden
verschiedene Straßennamen in einer Liste zusammengefasst.
Zusätzlich noch eine Druckausgabe. Auch beim CGI. Wann wird die
Ausgabe endlich vereinheitlicht?
-
bei Windows (oder allgemein: bei ClickToFocus) ist es
unangenehm, dass neue Fenster den Focus klauen. Allerdings ist es ohne
Maus eher angenehm, dass neue Fenster den Focus bekommen. Wie soll man
also verfahren?
-
Pilot.pm installieren, BBBikePalm dafür erweitern
-
user editing: negative/positive präferenzen mit b2/b3 lange druecken
setzen
-
bugfix: optmenu in optimierungseinstellungen korrigieren (Fehler beim
Tk Widget)
-
lange hänger bei vielen Canvas-Elementen ueberpruefen
-
MDI-Interface entwickeln mit:
* map-widget
* start/zieleingabe
* einfaches opt-einstellungs-fenster
* routenbeschreibung
Siehe Tk::WindowManager => entwickle ich nicht mehr weiter,
dafür gibt es aber ein neues Tk::MDI-Widget
-
Andreas' Labeling-Algorithmus verwenden
- CDROM-Probleme:
- tk:underlineall.pm warnings in 111,114,157,178
- win, print: fehlermeldung nicht auf stdout zeigen. start_cmd wird ohne progexe gestartet, wenn der ps-viewer gestartet weden soll. dito beim browser
- tk::getopt: pane verwenden. ab 800.015 eh standard
- optionen besser gruppieren. z.b. audio irgendwo unterbringen
zwei Reihen mit Notebook?
- "outline" -> umrandungen
sonstige anglizismen herausnehmen
- Bei Win98 geht anscheinend perlglob nicht-> Probleme mit Ncopy
- unix/kde-installation: statt symlink von /usr/local/bin besser shell-skript mit richtigem perl-path erstellen. wenn /usr/local/bin nicht im PATH, dann evtl. /usr/bin nehmen. wie macht es autoconf bei KDE? kann ich was von autoconf verwenden?
Env-loesung ist auch OK
- menuepunkt fuer taste x
- layereditor hat bei win95 einen absturz verursacht, und zwar beim local drag (NT mit 800.015 selbst compiliert auch? nur bei followmouse?)
- winddaten eingeben als menuepunkt
- eigenes popup mit popover nicht fuer win32 verwenden - da ist eh clicktofocus aktiv. Bei KDE auch? Gibt's ne property, die die wm -einstellung anzeigt?
- set ziel vom str-dialog setzt anscheinend das via-array nicht
- shift-click vom start aus geht nicht
- besseres cdrom.pl schreiben. Sowas wie cons, nur fuer das kopieren. Oder mkisofs beibringen, das er die richtigen sachen ohne kopieren erzeugt
- BBBike - Externalization, towards to v3.0
Allgemein: Aenderungen nur durchfuehren, wenn sie entweder trivial und unaufwendig sind oder zwingend fuer die anstehenden Portierungen sind.
- data: neue Verzeichnishierarchie
Vorschlag: city "_" iso-country-abbrev. Beispiel: berlin_de, muenchen_de, san_francisco_us
- oder: derzeitige datadir-praxis beibehalten: z.b. data_berlin_de
- in den Geography-Modulen: Iconleiste (welche Buttons sind ueberhaupt definiert? Welche zugehoerigen Menues?)
- Iconleiste wird stadtspezifisch erzeugt (e.g. Gibt es U-/S-Bahnen?)
- Iconbilder werden stadt/landtpezifisch benannt. Beispiel: ubahn.gif => ubahn_de.gif
- Umland ja/nein. 3-stufig (mit jwd?), "Haltestelle" oder "Haltestelle/Ort"?
- Aufgeben des manuellen LandstraE<szlig>enzeichnens (und jwd etc.)
- generell: vielleicht ein gesondertes sub symbolframe fE<uuml>r jeden Ort?
- oder: XML-Beschreibungsdatei fE<uuml>r die Properties?
- automatisches Erstellen der Properties in Geography.pm anhand der existierenden data-Dateien
- Ampeln sind vielleicht nicht E<uuml>berall erfasst
- winddaten kE<ouml>nnen vielleicht nicht E<uuml>berall E<uuml>ber das web geholt werden
- StraE<szlig>en: nicht alle Daten sind E<uuml>berall erfasst (Kategorien, Radwege, QualitE<auml>t, ...)
- StraE<szlig>enauswahl: PLZ-Liste, CDROM?
- etc. So gut wie alle daten kE<ouml>nnen vorhanden sein oder nicht
- transpose-Funktion ist ortabhE<auml>ngig, BBBikeTranspose als Verteiler
- map-button sollte berlin-spezialitE<auml>t bleiben
- check-skript: sind alle benE<ouml>tigten Variablen definiert (in den Geography-Modulen)
- einige devel-skripte sind auch ortabhE<auml>ngig
- vielleicht Erstellung eines devel-Verzeichnisses mit nE<ouml>tigen skripten aus miscsrc und vielleicht misc. Insbesondere kritische Sachen wie den eplus-Roboter herausnehmen
- verkleinerung fE<uuml>r overview-mode sollte einstellbar sein
- anhand von $0 erkennen, welcher Ort verwendet eerden soll. Gut fE<uuml>r CDROM-Installationen
- edit vs. normal mode: bei anderen stE<auml>dten keinen unterschied machen (transpose entsprechend setzen) oder gps-koordinaten im edit-mode verwenden
- CGI: imagedir ortsunabhE<auml>ngig machen
- caches ortsunabhE<auml>ngig machen
* evtl. Programm zum Suchen von Überschneidungen schreiben (mit
Ausnahmedatei für Brücken)
-
Bookmarks in choose_ort und möglichkeit, per dnd neue bookmarks zu definieren, um als straßenauswahl dienen zu können
- weiter:
- bei Http.pm vielleicht IO::Select::can_read/write verwenden
- bbbike.cgi: Installation auf rapidsite testen => automatisierten Test a la wap_test schreiben, gleiche Features erkennen und verallgemeinern
- BBBike: feinere Aufteilung der Gegenwind- etc. Strecken (fließend von rot bis grün)
- BBBike: "Window intelligent positionieren" implementieren
- bbbike auf rezic.de: GD.pm auf Linux kompilieren & installieren
bzw. ein vorkompiliertes erstellen
- BrowserInfo.pm: von Roxen's SUPPORT lernen:
SUPPORTS: font tables cookies javascript backgrounds backgrounds autogunzip netscape_javascript tablecolor ssl frames mailto forms images pull push java imagealign gifinline pjpeginline fontcolor some_html3 jpeginline
- bbbike/c: neues pmake funktioniert unter Suse nicht =>
gmake benutzen? grrr...
- Verwendung von Tk::App::Reloader. Scheint allgemein zu funktionieren.
-
Aus der Radzeit 3/2001, Seite 8-9:
Radwege: Verbundsteine kontra Asphalt
[...]
Der Energieverbrauch beim Rad fahren (durchschnittliche
Geschwindigkeit 15 km/h) auf Asphalt in StraE<szlig>enqualitE<auml>t
betrE<auml>gt ca. 1000 Joule und auf Kopfsteinpflaster ca. 2200
Joule jeweils pro 100 Meter. Bei asphaltierten Radwegen mit
schlechter LE<auml>ngsebenheit liegt dieser Wert zwischen 1200 bis
1400 Joule, bei neu gebauten Radwegen mit gefasten Verbundsteinen
bei ca. 1400 Joule und bei wassergebundenen Decken zwischen 1600 und
2000 Joule pro 100 Meter. Da der Einsatzbereich des Fahhrades als
Verkehrsmittel umgekehrt proportional zum Quadrat des
Energieverbrauchs ist, ist dieser bei Radverkehrsanlagen in guter
StraE<szlig>enqualitE<auml>t rund doppelt so groE<szlig> wie bei
Radwegen mit Betonverbundsteinen und etwa viermal so groE<szlig> wie
bei wassergebundenen Radwegen. Quelle: UPI-bericht Nr. 41, 3. erw.
Auflage August 1999 E<quot>Entwicklung und potentiale des
Fahrrad-VerkehrsE<quot> Seiten 18 bis 20
-
Verkehrs-/Umweltverwaltung wegen Emissionen:
ReulenbE<auml>cker
IX D2
Tel: 9025 2391
Raum 8.020
BrE<uuml>ckenstr. Mitte
BBBike wird zur Zeit unter FreeBSD 4.3 mit perl 5.00503/5.6.1/5.7.2
und der neuesten Perl/Tk-Version (z.Zt. 800.023) entwickelt.
Testläufe wurden und werden von Zeit zu Zeit auf Windows 95/98,
Windows NT 4.0, Solaris/Sparc 7 und Linux gefahren. Dabei werden
meistens auch die aktuellen Stable-Versionen von Perl und Tk
verwendet.
Es wird versucht, auch zu den älteren Versionen perl 5.00404 und Tk
402.004 kompatibel zu bleiben. Dabei bleiben aber einige Features
(z.B. der Splash-Screen, vernünftiges Zeichensatzhandling und einige
Keybindings) auf der Strecke. Die Grundfunktionalität ist aber
vorhanden.
Freiwillige zur Portierung von Perl/Tk auf die Macintosh-Plattform
werden gesucht :-)
TBD
Slaven Rezic - slaven.rezic@berlin.de
Tk.
Tk::FireButton, Tk::Pod,
LWP::UserAgent, Mail::Send and others.
BikePower(3), Tk(3), perl(1).
[Top]