bbbike - Informationssystem fuer Radfahrer in Berlin und Brandenburg bbbike [options] BBBike ist ein Informationssystem fuer Radfahrer in Berlin und Brandenburg. Mit dem Programm koennen Routen, optimiert fuer Radfahrer, automatisch gesucht oder manuell erstellt werden. Bei der automatischen Suche wird die kuerzeste Strecke zwischen zwei angegebenen Punkten gesucht. Bei der manuellen Routenerstellung koennen abschnittsweise Zwischenpunkte eingegeben werden und zum Schluss die Gesamtlaenge abgelesen werden. Eine einfache WWW-Version kann man unter der Adresse the section on /www.bbbike.de in the http: manpage finden. Wenn eine Verbindung zum Internet existiert, kann BBBike die aktuellen Wetterdaten von der FU Berlin (Dahlem) bzw. vom DWD Berlin (Tempelhof) fuer die Windstaerke 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 urspruenglichen bike_power-Programm von Ken Roberts - roberts@cs.columbia.edu ) anhand von Daten wie Gefaelle, 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 Beruecksichtigung des aktuellen Windes und von Steigungen auf der Strecke? Auf welchen Strassen fahre ich, wenn ich von A nach B kommen will? Wo habe ich Gegenwind- und Rueckenwindstrecken? Wo gibt es Steigungen und Gefaelle? Kann ich Hauptstrassen und/oder Kopfsteinpflasterstrecken auf meiner Strecke vermeiden?

AUTOMATISCHE SUCHE
Start- und Zielpunkt einer Route setzt man, indem man mit der linken Maustaste auf eine Strasse klickt. Nach dem Setzen des Zielpunktes berechnet das Programm die kuerzeste Route und zeigt sie an. Danach kann die Route verlaengert 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 zuruecksetzen geloescht werden. Mit der mittleren Maustaste oder mit der Backspace-Taste kann jeweils der letzte Punkt der Route geloescht werden. Mit der Delete-Taste (Entf) kann die Route bis zum letzten Via-Punkt geloescht werden. Wenn Winddaten existieren (automatisch aus dem WWW geholt oder manuell eingegeben), werden die Rueckenwindstrecken gruen und die Gegenwindstrecken rot dargestellt.

MANUELLE ROUTENERSTELLUNG
Die manuelle Routenerstellung wird zum Beispiel bei der Erstellung einer Tourplanung verwendet, bei der nicht das Suchen einer kuerzesten 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 Druecken der Alt- oder Shift-Taste) kann ein beliebiger Punkt gekennzeichnet werden (also ein Punkt, der nicht auf einer Strasse liegt). Im oberen Bereich des Fensters befindet sich die Informationsleiste von BBBike. Anzeige des Ortes bzw. der Haltestelle unter dem Mauscursor. Die Angabe ist nur gueltig, wenn sie in schwarzer Schrift (und nicht in grauer) erscheint. Mit einem Klick wird die Ort-Auswahl angezeigt. Anzeige der Strasse bzw. Bahnlinie unter dem Mauscursor. Auch hier ist die Angabe nur bei schwarzer Schrift gueltig. Mit einem Klick wird die Strassen-Auswahl angezeigt. Laenge der aktuellen Route in Kilometern. Mit der rechten Taste kann zwischen der Angabe in Kilometern und Metern umgeschaltet werden. Angabe, wieviel % ueber der Ideallinie (Luftlinie) die aktuelle Route liegt. Bei offensichtlichen Rundfahrten bleibt die Angabe leer. 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 geoeffnet. Mit der rechten Maustaste kann die jeweilige Geschwindigkeit als "Referenzgeschwindigkeit" ausgewaehlt werden. Mit dem Ampel-Icon kann das Einbeziehen von Ampeln in die Fahrzeit ein-/ausgeschaltet werden. Fahrzeit bei dieser durchschnittlichen Leistung, abhaengig von der Windgeschwindigkeit und von Steigungen. Die Berechnung wird mit dem Modul BikePower durchgefuehrt. Mit Klick auf das W-Feld kann eine andere Leistung (in Watt) eingegeben werden. Mit Klick auf die Fahrzeit wird das Alarm-Fenster geoeffnet. Mit der rechten Maustaste kann die jeweilige Leistung als "Referenzleistung" (intern wird diese auf eine Geschwindigkeit umberechnet) ausgewaehlt werden. Mit dem Ampel-Icon kann das Einbeziehen von Ampeln in die Fahrzeit ein-/ausgeschaltet werden. Falls aktuelle Winddaten vorhanden sind, stehen in diesem Feld das jeweilige Datum und die Uhrzeit. Bei einem Mausklick wird versucht, die aktuellen Daten ueber das WWW oder ueber eine lokale Datenbank zu holen. Mit der rechten Maustaste erscheint ein Menue mit folgenden Punkten: Hier kann ausgewaehlt 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 ueberprueft. Hier kann angegeben werden, ob die Wetterdaten ueber das Internet direkt gezogen werden oder ob ein evtl. vorhandener lokaler Cache bzw eine lokale Datenbank vorgezogen wird. Falls eine lokale Datenbank vorhanden ist, koennen hiermit Wetterdaten zu einem bestimmten Tag ausgewaehlt werden. Normalerweise wird - falls Winddaten vorhanden sind - die Route anhand der Windrichtung gefaerbt: Rueckenwindabschnitte sind gruen, Gegenwindabschnitte rot und Seitenwindabschnitte von hellgruen bis orange. Falls der Menuepunkt "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. Hiermit kann das Zeichnen der Gegenwind- und Rueckenwindstrecken der Route aktualisiert werden. Beim Aendern der Wetterstation bzw. der Quelle werden automatisch die neuen Wetterdaten geholt. Beim Aendern von Wetterdaten werden automatisch die Gegenwind- und Rueckenwindstrecken der Route aktualisiert. 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 geoeffnet. Anmerkung: Zwar kann die maximale Windgeschwindigkeit eingegeben werden, das Programm verwendet aber nur die mittlere Windgeschwindigkeit fuer die Zeitberechnungen. 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 zugehoeriges Popup-Menue aufgeklappt werden kann. Das Menue kann auch mit Klick auf die rechte Maus-Taste, waehrend sich der Maus-Cursor ueber dem Icon befindet, aufgerufen werden. Hier folgt die Beschreibung der Icons von links nach rechts.

KARTENELEMENTE
Die erste Gruppe kontrolliert, welche Elemente auf der Kartenflaeche dargestellt werden sollen. In allen Menues dieser Icons kann mit oben, normal und unten angegeben werden, ob die Elemente ueber oder unter allen anderen Elementen gezeichnet werden sollen oder ob die normale Reihenfolge wiederhergestellt werden soll (die normale Reihenfolge lautet von unten nach oben: Flaechen, Gewaesser, Inseln, Grenzen, U-Bahnen, Regionalbahnen, S-Bahnen, Strassen, Landstrassen, Orte). Daneben besitzt jedes Menue einen Schalter zum Ein- und Ausschalten des Elements und einen Eintrag zum Auswaehlen einer bestimmten Strasse oder eines bestimmten Ortes ueber eine Listbox. Schaltet das Zeichnen von Strassen in Berlin ein oder aus (Tastatur: s). Menue: Neben den Standardeintraegen sind noch folgende Eintraege vorhanden: In diesem Untermenue kann eine Strasse aus alternativen Verzeichnissen ausgewaehlt werden: In der Strassen-Datenbank von BBBike sind nur ca. 2300 Strassen erfasst. Strassen, die hier nicht vorhanden sind, koennen in der umfangreicheren PLZ-Datenbank ausgewaehlt werden. Allerdings wird bei der Auswahl einer nicht vorhandenen Strasse nur der Postleitzahlbereich angezeigt. Wenn eine Telefonbuch-CD-ROM 1998/99 oder 1999/2000 fuer Berlin vorhanden ist, kann diese Datenbank verwendet werden. Hier kann jede Strasse mit Hausnummer angegeben werden; die Position wird recht exakt angzeigt. 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, koennen mit << und >> weitere passende Datensaetze eingesehen werden. Mit Alle werden alle passenden Datensaetze auf der Karte markiert. Wenn ein dial-Programm vorhanden ist, erscheint noch ein Button Waehlen zum Waehlen der Telefonnummer. In diesem Untermenue kann das Zeichnen von Hauptstrassen, Nebenstrassen und fuer Kfz gesperrte Strassen ein- und ausgeschaltet werden. Hoehenpunkte werden in die Karte eingezeichnet. Radwege werden gezeichnet. Benutzungspflichtige Radwege sind dunkelblau, freiwillig zu nutzende Radwege blau, Radstreifen gruen und Busspuren orange. Fuer jede Richtung, in die ein Radweg existiert, wird auf der jeweiligen Strassenseite ein Radweg gezeichnet, auch wenn es sich eigentlich um einen Zwei-Richtungs-Radweg auf der falschen Strassenseite handelt. In diesem Untermenue kann das Zeichnen von einigen Radwegekategorien ein- und ausgeschaltet werden. Kennzeichnung von Einbahnstrassen (blaue Pfeile, die in die Strassenrichtung zeigen), gesperrten Strassen (rote Kreuze) sowie Punkten, an denen das Fahrrad getragen werden muss (drei waagerechte Striche). Temporaere Sperrungen wegen Bauarbeiten werden mit einem Baustellen-Symbol gekennzeichnet. Zeichnen von Faehren. Um die Faehren auch in der Suche mit einzubeziehen, muss im Menue von Route suchen der Eintrag Faehren verwenden aktiviert sein. Ampeln werden in die Karte eingezeichnet. Bei der Auswahl einer Route wird die Anzahl der durchgefahrenen Ampeln mit einer ungefaehren Verzoegerungszeit (15 Sekunden pro Ampel) im Feld rechts von den Icons angezeigt. Reine Fussgaengerampeln sind in der Datenbasis nur erfasst, wenn sie die Fahrt wesentlich verzoegern wuerden (hohe Fussgaengerfrequenz oder stark befahrene Querstrasse direkt vor oder hinter der Ampeln). Beschrankte Bahnuebergaenge sind ebenfalls unter den Ampeln zu finden. Die Strassen werden mit Umrandung gezeichnet. Die Strassen werden mit Strassennamen gezeichnet. Ist wesentlich langsamer, besonders wenn Font rotation eingeschaltet ist. Die Qualitaet des Strassenbelags wird gezeichnet. Die Kategorisierung siegt wie folgt aus: Sehr guter Belag (meist Asphalt). Da die meisten Strassen einen guten Belag haben, wurde auf eine Erfassung dieser Kategorie meist verzichtet. Guter Belag, z.B. gutes Kopfsteinpflaster oder etwas schlechterer Asphalt. Maessiger Belag, z.B. die meisten Kopfsteinpflasterstrassen. Schlechter Belag (schlechtes Kopfsteinpflaster, unbefestigte Wege). Hiermit kann das Zeichnen der Qualitaetskategorien eingeschraenkt werden. Zeichnen von sonstigen Behinderungen (z.B. Fussgaengerverkehr). Schaltet das Zeichnen von Landstrassen in Berlins Umgebung ein oder aus (Tastatur: l). Menue: Neben den Standardeintraegen sind noch folgende Eintraege vorhanden: Gleiche Funktion wie beim Strassen-Symbol. Zeichnet auch Landstrassen ausserhalb Brandenburgs. Gleiche Funktion wie beim Strassen-Symbol. Gleiche Funktion wie beim Strassen-Symbol. Schaltet das Zeichnen von Orten in Brandenburg ein oder aus (Tastatur: o). Menue: Neben den Standardeintraegen sind noch folgende Eintraege vorhanden: Anzeige von Ortsnamen ermoeglichen oder unterbinden. In diesem Untermenue kann das Zeichnen von kleineren Orten unterdrueckt werden. Beispielorte fuer 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 abhaengig von der Zoom-Stufe gezeichnet. Untermenue zum Einstellen einer anderen Schriftgroesse fuer die Anzeige der Ortsnamen. Der Bereich geht von "klein" bis "sehr gross". Hier wird mit einem sehr einfachen Algorithmus versucht, die Ortsbeschriftungen so zu setzen, dass sie sich nicht einander ueberlappen. 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. Schaltet das Zeichnen von U-Bahnlinien ein oder aus (Tastatur: u). Menue: Zusaetzlich zum Ein-/Ausschalten und Auswaehlen der U-Bahnlinien koennen auch U-Bahnhoefe ein-/ausgeschaltet und ausgewaehlt werden. Wenn der Punkt U-Bhf-Namen angeklickt wird, werden die jeweiligen Namen zum U-Bahnhof auf der Karte eingezeichnet. Mit Ueberlappungen vermeiden wird versucht, die Namen so zu setzen, dass sie sich nicht einander ueberlappen. Siehe auch die Bemerkung zu Ueberlappungen vermeiden im Menuepunkt Ort-Symbol. Mit VBB-Zone A, VBB-Zone B und in Bau kann das U-Bahn-Netz zusaetzlich auf die jeweilige Zone eingeschraenkt werden. Schaltet das Zeichnen von S-Bahnlinien ein oder aus (Tastatur: b). Menue: Wie beim U-Bahn-Symbol. Schaltet das Zeichnen von Regionalbahnlinien ein oder aus (Tastatur: r). Menue: Wie beim U-Bahn-Symbol. Schaltet das Zeichnen von Fluessen, Kanaelen und Seen ein oder aus (Tastatur: w). Menue: Neben den Standardeintraegen sind noch folgende Eintraege vorhanden: Wie beim gleichnamigen Eintrag beim Strassen-Symbol. Schaltet das Zeichnen der Gewaessernamen ein oder aus. Schaltet das Zeichnen der Gewaesser im Umland von Berlin ein oder aus. Schaltet das Zeichnen der Gewaesser in Berlin ein oder aus. Schaltet das Zeichnen von sonstigen Flaechen (Parks, Waelder, Flughaefen) ein oder aus (Tastatur: f). Menue: Neben den Standardeintraegen sind noch folgende Eintraege vorhanden: Schaltet das Zeichnen der Berliner Postleitzahlgrenzen ein oder aus. Die PLZ-Datenbank ist noch im Aufbau. Zeigt eine Listbox zum Auswaehlen einer Berliner Postleitzahl an. Schaltet das Zeichnen der Berliner Stadtgrenze ein oder aus. Schaltet das Zeichnen von Kneipen ein oder aus. Im Menue gibt es die weiteren Punkte: Zeichnet genau wie die Schaltflaeche Kneipen in Berlin. Zeigt eine Listbox zum Auswaehlen einer Kneipe an. Zeichnet Restaurants in Berlin. Zeigt eine Listbox zum Auswaehlen eines Restaurants an. Zeichnet Kinos in Berlin. Zeigt eine Listbox zum Auswaehlen eines Kinos an. Zeigt eine Listbox mit persoenlich eingetragenen Orten ein. Die Punkte muessen im bbd-Format in der Datei $HOME/.bbbike/personal.bbd vorhanden sein. Schaltet das Zeichnen von Sehenswuerdigkeiten und anderen markanten Gebaeuden in Berlin und Brandenburg ein oder aus. Zeigt eine Listbox zum Auswaehlen einer Sehenswuerdigkeit an. Zeichnet Stellen mit oeffentlich zugaenglichen Obstbaeumen.

NAVIGATION
In der naechsten Gruppe sind die Navigations-Icons: Es wird ein kleinerer Ausschnitt angezeigt (mehr Details). Tastatur: +. Es wird ein groesserer Ausschnitt angezeigt (weniger Details). Tastatur: -. Dieses Feld zeigt den aktuellen Massstab, 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 veraendert werden). Mit Klick auf das Feld kann ein anderer Massstab angegeben werden und so der Kartenausschnit vergroessert oder verkleinert werden. Mit diesem Symbol kann die Uebersichtskarte von Berlin und Brandenburg ein- und ausgeschaltet werden. In der Uebersichtskarte wird der aktuelle Ausschnitt durch ein schwarzes Rechteck gekennzeichnet. Durch Verschieben dieses Rechtecks wird auch der aktuelle Ausschnitt verschoben. 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 groesser. Wenn man laenger auf die Mitte der Windrose klickt (ca. 2 Sekunden), wird wieder zurueck 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).

ROUTEN
Die folgenden Icons kontrollieren die Suche von Routen: 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 geaendert werden). Menue: Die aktuelle Route wird geloescht. Gleiche Funktion wie ein Klick auf die rechte Maustaste oder Druecken auf Shift-Backspace. Der letzte Punkt der Route wird mit der Backspace-Taste geloescht. Die zuletzt geloeschte Route wird wiederhergestellt. Die Route wird in Bezug auf Wind und Leistung aktualisiert (sollte nicht notwendig sein). Wenn dieser Schalter eingeschaltet ist, werden gesperrte Strassen und Einbahnstrassen nicht in die Suche einbezogen. Stellen, an denen das Rad getragen werden muss, werden nicht in die Suche einbezogen. Faehren werden bei der Suche beruecksichtigt. Hoehenangaben werden eingelesen und bei der Berechnung der Leistung werden die Hoehenangaben fuer Steigungen und Gefaelle verwendet. Bei der Suche einer Route wird fuer jede Ampel 25m, 50m oder 100m auf die entsprechende Strecke aufgeschlagen (nur fuer den Suchalgorithmus). Abhaengig von der Geschwindigkeit bekommt man fuer die Verzoegerungszeit pro Ampel folgende Tabelle: Zu lesen ist die Tabelle wie folgt: wenn man mit 25km/h unterwegs ist und als Aufschlag 100m gewaehlt hat, wuerde dies einer Verzoegerung von durchschnittlich 14s pro Ampel entsprechen. Auf der Route liegende Gefaelle oder Steigungen ueber 1% werden angezeigt. Schaltet das Zeichnen einer Startflagge am Routenanfangspunkt ein oder aus. Schaltet das Zeichnen einer Zielflagge am Routenendpunkt ein oder aus. Es wird eine Routenbeschreibung in der folgenden Form angezeigt: Diese Beschreibung kann in eine Datei geschrieben, ausgedruckt oder als Mail verschickt werden. Routenbeschreibung in den Palm laden Folgendes gilt nur fuer Unix-aehnliche 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 the section on /ftp.forth.org/pub/PalmOS/ in the ftp: manpage the section on /ftp.cs.tu-berlin.de/pub/palmtops/pilot/ in the ftp: manpage the section on /ftp.cso.uiuc.edu/pub/systems/PalmOS/ in the ftp: manpage iSilo ist ein anderes Format, das einen speziellen Palm-Viewer braucht, der allerdings Hypertextfaehig ist. Die Binaries für die Umwandlung findet man unter the section on /ftp.iSilo.com/pub/ in the ftp: manpage. Hinweise zum PalmViewer befinden sich auf der Homepage von iSilo. Die Uebertragung erfolgt automatisch, wenn pilot-xfer installiert ist, welches man auf folgenden FTP-Servern bekommt: the section on /ryeham.ee.ryerson.ca/pub/PalmOS in the ftp: manpage the section on /ftp.forth.org/pub/PalmOS/ryerson/ in the ftp: manpage Mit Klick auf dieses Icon wird die aktuelle Route geloescht. Start- und Zielpunkt der aktuellen Route werden vertauscht. Dieses Menue ist normalerweise nicht aktiviert und wird nur zum Editieren der Koordinatendateien benoetigt. Hiermit kann im Informationsmodus umgeschaltet werden. Beim Klick auf Kartenelemente wird jeweils ein Informationsfenster geoeffnet. Diese Funktion kann nur intern verwendet werden. In diesem Modus kann die kuerzeste Rundreise berechnet werden. Dazu klickt man erst einmal in diesen Modus und waehlt alle gewuenschten Stationen der Rundreise an. Der erste und letzte Punkt werden fest als Start- und Zielpunkt markiert; alle anderen Punkte werden in ihrer Reihenfolge frei gewaehlt. Wenn man alle Stationen ausgewaehlt hat, muss man noch einmal auf das Salesman-Symbol klicken, um die Berechnung zu starten. Es wird darauf hingewiesen, dass bei einer grossen 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 wuerde, kann sie mit der Esc-Taste abgebrochen werden (wenn die Berechnung bereits mehr als zu 50% durchgefuehrt wurde, bekommt man dann noch ein Ergebnis, auch wenn es nicht das optimalste ist).

DATEIOPERATIONEN
Hiermit kann eine bereits gespeicherte Route wiedergeladen werden. Eine Liste der zuletzt geladenen Routen kann man mit Klick auf die rechte Maustaste erhalten. Zusaetzlich zum bbbike-Format kann auch eine Track-Datei von GPS-Navigationsgeraeten 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 Hiermit kann die aktuelle Route gespeichert werden. Menue: Mit den Menuepunkten 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 koennen somit beliebig ohne Qualitaetsverluste vergroessert werden. Das Erzeugen von JPEG- und PPM-Dateien ist normalerweise nicht empfehlenswert. Folgende Programme muessen fuer 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 fuer jede Konvertierung aufgerufen wird, die Schriften sehr klein darstellt, sollte im Orte-Menue der Punkt Sehr grosse Schrift gesetzt sein. Bessere Ergebnisse erhaelt 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. 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 temporaere Datei geschrieben. Menue: Diese Schalter kontrollieren die Farbausgabe des Drucks. Diese Schalter geben an, ob im Landscape- oder im Portrait-Modus gedruckt werden soll. Im Portait-Modus erscheint die Karte verzerrt. Wenn dieser Schalter aktiviert ist, wird die Karte so vergroessert, dass ein A4-Blatt vollkommen ausgefuellt ist. Eine Legende mit Nordpfeil wird mit ausgedruckt. Die Position der Legende wird geaendert.

WEITERE ICONS
Aufruf des Bikepower-Moduls, z.B. zum Eintragen der persoenlichen und Fahrrad-Daten. Siehe BikePower. Falls Tk::Getopt installiert ist, kann hiermit der Options-Editor aufgerufen werden. Menue: Einige Kommandos wie Outline zeichnen oder Strassennamen werden nicht sofort ausgefuehrt, sondern beim nochmaligen Anwaehlen des jeweiligen Icons. Um die sofortige Aktualisierung zu erzwingen, kann dieser Schalter gesetzt werden. Hiermit wird die interne Darstellung des Strassennetzes aktualisiert. Alle ausstehenden Kommandos werden ausgefuehrt. Beim Zeichnen von Strassen- und Gewaessernamen werden gedrehte Zeichensaetze verwendet. Das Zeichnen wird dadurch verlangsamt, ausserdem wird der X-Server zusaetzlich belastet. Gedrehte Zeichensaetze koennen nicht gedruckt werden. Die Karte wird im "Landscape"-Modus angezeigt. Die Karte wird im "Portrait"-Modus angezeigt. Einschalten eines Balloons (Tooltip-Hilfe) fuer den Kartenbereich. Im Untermenue kann zwischen kein (kein Balloon), nur Route (Balloon wird nur ueber einer Route angezeigt) und ueberall (Balloon wird ueber allen Kartenelementen angezeigt) ausgewaehlt werden. Mit diesem Menuepunkt koennen die Farben von bbbike geaendert werden. Die Aenderungen sind nicht permanent. Mit diesem Menuepunkt kann die Schriftart geaendert werden. Die Aenderung ist nicht permanent. Wenn dieser Punkt eingeschaltet ist, bleibt die Markierung nach einer Auswahl stehen, ansonsten blinkt die Markierung einige Male und wird dann geloescht. Falls Staendige Markierung eingeschaltet ist, kann eine Markierung mit diesem Menuepunkt geloescht werden. Statusmeldungen werden nicht in der Statuszeile angezeigt, sondern nach stderr umgelenkt. Es werden zusaetzliche Meldungen nach stderr ausgegeben. Ein-/Ausschalten des zusaetzlichen Mausklicks. Anzeige der Online-Dokumentation (ueber Tk::Pod oder einen WWW-Browser). Menue: Hiermit wird die Legende ein- und ausgeschaltet. In der Legende werden nur die gerade angezeigten Kartenelemente erklärt. Tastatur: F1. Ein Fenster mit den wichtigsten Mausbefehlen wird angezeigt. Schaltet die Kontexthilfe ein. Zeigt die BBBike-Dokumentation in Netscape an. Zeigt die Version von BBBike, perl und Tk an. Es kann vorkommen, dass nach einem Fehler der Busy-Zeiger (Uhr oder Sandglas) nicht zurueckgesetzt wurde. Dies kann hiermit nachgeholt werden. Mit der Kontexthilfe kann die Hilfe fuer einen Button direkt angefordert werden. Hiermit wird BBBike beendet. Temporaere Dateien werden geloescht und die Liste der zuletzt geoeffnet 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 --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:) Beim Starten wird auf die angegebene Strasse zentriert. Beispiel: --center Dudenstr Beim Starten wird auf die angegebenen Koordinaten (Format "x,y") zentriert. Angabe eines Proxies fuer WWW-Verbindungen im Format "http://hostname:port/". Beispiel: http://www.cs.tu-berlin.de:80/ Beim Starten wird die Routendatei geladen und angezeigt. Fuer 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.

Allgemein
Die Installationsbeschreibung befindet sich in der Datei README bzw. README.html.

fvwm2
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: 'pp', Koordinate (x,y), undef, pp-$abk $abk, Name, $abk-$category, $abk-$index $abk-out, $abk-$category-out $abk, Name $abk-out 'p', Hafas-Index $abk-[fb]g, Name $abk-[fb]g, Koordinate (x,y) $abk-fg, Koordinate (x,y), Kategorie 'show', 'showp' 'show', 'shows' 'o', Name 'O' 'route', route-$nr 'map' Zu viele... Entfernungen von manuell erzeugten Strecken werden bei der Wegbeschreibung nicht beruecksichtigt, wenn eine Neuberechnung oder Rueckweg angewaehlt wurde. Bei einer Neuberechnung bleibt die Routenbeschreibung immer leer. Suche: Das Anwaehlen eines Punktes innerhalb einer gesperrten Strasse ist faelschlicherweise erlaubt. Falsche Streckenfuehrung, wenn fuer das gleiche Streckenstueck zweimal der Punkt mit nearest_line_points ausgewaehlt wurde. Problematisch, wenn ich irgendwann bei den Landstrassen auf lange Streckenstuecke (Kilometer werden nur zwischen Kreuzungen und nicht mehr zwischen Kurvenpunkten vorberechnet) umsteigen werde. optionadd...*search hat auch Auswirkungen auf den Menuepunkt 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 Landstrassen enthaelt, wird nichts ausgegeben, wenn Landstrassen nicht gezeichnet sind. => in nearest_points evtl. Landstrassen bei Bedarf nachladen (wie feststellen???). Vias verschieben etc.: wenn eine Via-Flagge sich unterhalb eines anderen Symbol befindet, kann es nicht angeklickt werden Vias verschieben etc.: Start- und Zielflagge koennen (entgegen den Behauptungen im Menue) noch nicht verschoben etc. werden Ab und zu, besonders beim Wechseln zwischen Kartenmodi, reagiert bbbike beim Setzen eines Startpunktes nicht. Aushilfe: einmal "Route löschen" auswählen, danach geht es wieder. Beim Reinzoomen werden die Strecken und Punkte sehr ungenau gezeichnet. Dies koennte behoben werden, wenn alle Punkte beim Zoomen neu gezeichnet werden, aber das wuerde das Zoomen *sehr* verlangsamen. Der Canvas-Postscript-Treiber kann mit rotierten Fonts nichts anfangen. 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 Vergroesserung (wird teilweise schon gemacht, z.B. bei get_symbol oder Orte/Kategorien=Auto). In Routenbeschreibungen Zeilen wie "Strasse A", "...", "Strasse A" zu einer Zeile zusammenfassen. Bessere Routenbeschreibung fuer Landstrassen. In der Datenbank "X - Y" nach "(A) - X - V - Y - (B)" aendern, wobei X und Y Start- und Zielort der Strecke ist, (A) und (B) die globale Richtung (groessere Staedte vor und nachher) und V ein Via-Ort ist. Die geklammerten Orte und V sind optional. Moeglichst Orte in die Routenbeschreibung aufnehmen. Vielleicht mit nearest_... arbeiten. Update ueber das Internet: gzip/zip-Unterstuetzung, oder, noch besser, rsync-Unterstuetzung. Wie richtet man einen rsync-Server ein? Telefonbuch-Datenbank (Name): Die Suche ist suboptimal. Bei der Suche von haeufigen Nachnamen (Mueller, 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 (Strassennamen) einfuehren, mit der eine Imagemap fuer die Route erstellt wird. Wuerde Sinn machen, wenn alle Browser onmouseover ueber Imagemaps handhaben wuerden. Optimierung: bei Landstrassen 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 fuer die Suche: kuerzeste Strecke, schnellste Strecke (in Abhaengigkeit von Wind, Steigung/Gefaelle, Strassenoberflaeche etc.), Weiterer Suchmodus: Start- und Ziel bleiben fest, Via kann beliebig veraendert werden. Und: Ausgabe von alternativen Routen. GUI-build aus package main in eigene Funktionen verlagern einheitliche Schalter fuer 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). Vernuenftige Options-Eingabe in der GUI. Zwischen Startup-Optionen (Zeichnen der Strassen/Punkte) und aktuellen Optionen unterscheiden. Kategorisierung der Landstrassen? Gibt es Untersuchungen zur Verkehrsdichte? Vielleicht zweigleisig fahren: Strassenbelag, Verkehrsdichte, offizielle Einstufung (Bundesstrasse ...) (ups, ist dreigleisig geworden...) choose_ort, S- und U-Bahnen: neben dem Bahnhof die zugehoerige(n) Linien anzeigen Option: alle Ortschaften entlang einer Route zeigen (evtl. auch die Naehe einstellbar, default 100m) Im Umland ist es wahrscheinlich sinnvoller, eine Routenbeschreibung anhand von Punkten (Ortschaften) anstatt Strecken (Strassen) zu machen. Optional eins oder beides zusammen. Ab und zu Pfeile zeichnen, damit die Routenfuehrung eindeutig wird (wenn eine Strecke zweimal durchfahren wird). Option -centerc auch interaktiv zugaenglich machen (ist schon, aber nur mit grauenvollem Interface). Das Erzeugen von GIF-Bildern benoetigt netpbm, von JPEG-Bildern die JPEG-Distribution und alle brauchen ghostscript. Eine bessere Methode waere WinPhoto (wenn es korrekt funktionieren wuerde). Suchen nach Alternativen. Es ist schwierig zu entscheiden, wann eine Alternative wirklich eine Alternative darstellt (z.B. ist es kein grosser Unterschied, ob man nur rechts oder links um einen Block herum faehrt). 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 Uebersichtskarte: Maus ziehen zum Einstellen eines Ausschnitts Rueckkehr aus dem edit-Modus in den Suchmodus: Cursor wieder umstellen, Start/Zielflagge aktivieren. Strassennamen: Labels wie in richtigen Stadtplaenen anordnen, also z.B. "Yorckstr.": am Anfang der Strasse "Yorck-", am Ende der Strasse "str.". Dadurch werden die Namen hoffentlich lesbarer sein. => Ist schon implementiert, aber langsam... Da das Zeichnen von Strassennamen so lange dauert: mit Hints arbeiten (z.B. fuer einige oft verwendete Zoomstufen Koordinaten vorberechnen). Beim Vergroessern koennte man ab einer bestimmten Stufe auch die Groesse der Strassen/Ortslabel auch mitvergroessern. Optional mehr Informationen in der Routenbeschreibung, z.B. Steigungen, Sehenswuerdigkeiten in der Naehe, U/S-Bahnstationen ... Kommentare sind schon drinnen. Alle in "strassen" vorkommende Strassen sollten auch in "Berlin.coords.data" stehen. Ansonsten gibt es derart PUerobleme, dass zwar beim CGI in der Liste "Alle Strassen anzeigen" z.B. "Hallesches Tor" angezeigt wird, diese Strasse als Eingabe aber nicht akzeptiert wird. Sprich: die Datei data/add_str sollte auf Aktualitaet ueberprueft werden und dann moeglichst alle fehlende Strassen nach Berlin.coords.data uebertragen 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 koennte. 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 fuer einige Strassenlabels, die dann bei "Strassennamen" 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 dass install.pl verwendet wird. PLIST von install.pl abhaengig machen. -kdeinstall in Abhaengigkeit von HAVE_KDE angeben. Rotierte Fonts: vielleicht ein Freetype-Modul schreiben, dafuer eine Tk::Canvas-Erweiterung und diese in BBBike verwenden? --- Es gibt bereits libgdtf. Dieses zu einem Perl-Modul machen und wenigstens fuer die statischen CGI-Karten verwenden. Neuimplementation der Streckensuche. Dabei soll zwischen Streckenaufwaenden und Knotenpunktaufwaenden unterschieden werden. Aufwaende werden entweder in Laengen, in Zeit oder in einem Punktesystem (Kombination aus Zeit, Komfort, Sicherheit etc.) angegeben. Streckenaufwaende berechnen sich aus: Laenge der Strecke, Gegenwind, Steigungen, Dynamowiderstand, Strassenqualite<auml>t der Strecke, sonstige Hindernisse auf der Strecke, Verkehrsdichte (Staus, Berufsverkehr), Radwege, Maximalgeschwindigkeiten. Knotenpunktaufwaenden berechnen sich aus: durchschnittliche oder wahre Ampelwartezeit mit Zeit fuer die Beschleunigung, durchschnittlicher Zeitverlust an Rechts-vor-links-Kreuzungen und an vorfahrtsgewaehrenden Kreuzungen (abknickende Vorfahrtsstrassen beachten), Zeitverlust fuer Abbiegevorgaenge (rechts, links), erschwertes Abbiegen (Bordsteinkanten ueberwinden). Qualitaetsbewertungen: Strassenqualitaet, niedrige Leistungsaufwaende (Wind, Steigungen), Nebenstrassen, Parks. Sicherheitsbewertungen: Nebenstrassen vor Hauptstrassen 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 geloescht werden und eine Fehlermeldung ausgegeben werden (?) Vergroesserung der Schrift beim Zoomen Speichern von Grafiken: Extension erzwingen (?), Ueberschreiben 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 zusaetzlich anzeigen. Optimierung: Beim Ausschalten von Outline oder Strassennamen muss 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 waehrend eines WWW-Fetches die Verbindung gekappt wird, haengt BBBike vollkommen. Gesehen bei Win32. Vielleicht mit Timeouts arbeiten (kann das LWP?) und haeppchenweise holen. Oder noch besser: fileevent verwenden! ... LWPng kann Event-Handling. Leider ist das Event-Handling noch inkompatibel mit Tk. Auch fuer wettermeldung2 mit LWPng arbeiten. => Vielleicht das hochgelobte POE verwenden. Fuer das Drucken von Text: evtl. auch Netscape und print-Methode verwenden (?). Fuer Unix koennte man eine start netscape, netscape remote openFile/print-Kombination verwenden. Bei Windows? Netscape koennte man auch zum Mailabschicken verwenden, ueber mailto. Evtl. ein Modul fuer Netscape schreiben, dass 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 fuer X11 experimentieren (doc lesen). Ein LightWeight-Modul (CanvasMap) schreiben. Vielleicht irgendwann alles auf dieses Modul umschreiben. PerlPlusPlugin ausprobieren und BBBike dafuer portieren. Sachen, die mir dafuer einfallen: Ich brauche ein open(), das ueber 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 muss 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 durchgaengig mit Methoden. AutoLoading verwenden. Folgende Radwege in der Landsberger Chaussee koennen nicht dargestellt werden, weil sich die Strasse 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 beduerfen Klaerung (warum, woher, benoetigt?): * 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 Flaechen, 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 Eintraegen oder aus dem RCS-Log aufgebaut wird? Cgiinfo in cgi2.t funktioniert leider nicht, weil openURL als zweiten Parameter nur true oder false zulaesst. Workaround: Schreiben eines Multiplexers, der per Javascript neue Fenster oeffnet. Soll ich mit Scopes arbeiten? Scopes waeren: Berlin, Brandenburg, jwd und wuerden sich auf Strassen, Orte und Gewaesser beziehen. Kann ich mapserv irgendwie einsetzen? Bike+Ride integrieren. Das wuerde in eine unterbrochene Route resultieren, deren Fahrzeiten addiert wuerden. Zusaetzlich kaeme noch eine abgeschaetzte Zeit fuer die Benutzung des Verkehrsmittels (Fahrzeit + Zusteigzeit + Umsteigezeiten). Eine Verbindung zu Fahrinfo waere genial. Aufteilung des Routen-Menues. In das zweite Menue kommen alle Punkte, die die Ausgabe beeinflussen: Ausschnitt anpassen, Steigungen zeigen, Streckenprofil, Start/Zielflagge, Routenfarbe (+ Einfaerbung Wind/Leistung/Qualitaet/etc.), Kalorienverbrauch Berechnen des Strassennetzes: Ausblenden des Canvas nicht notwendig GfxConvert evtl. mit Tk-Photo-Funktionen definieren, wenn die externen Programme nicht verfuegbar sind. Am besten waere natuerlich noch immer ein NetPBM-Modul. Photo-Zooming: -zoom x -subsample y == -zoom x/y oder umgekehrt Radwegekategorien erweitern: RW(kategorie)(qualitaetskategorie). Also heisst dann z.B. RW00: Radweg mit sehr guter Qualitaet und RW13: benutzungspflichtiger Radweg mit sehr schlechter Qualitaet. Bei den restlichen Kategorien kann man sich die Erweiterung sparen, da dort die Qualitaetskategorie der Strasse gilt. Default-Qualitaetskategorie fuer Radwege sei 1 (gute Qualitaet). ShAddRecentDoc geht unter Win98 nicht? Drag'n'drop und open's sollten vielleicht etwas mit .lnk-Dateien unter Win* anfangen koennen... 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 Strassennamen 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 Bahnhoefen statt Strecken (davon kann auch die Routenbeschreibung auf dem flachen Land profitieren!) ... Und noch schoener: eine Kombination von U/S-Bahn und Strassennetz (fuer Fusswege bzw. Bike+Ride). Optional eine kuerzere Beschreibung. Diese wuerde nur folgendes enthalten: Strassen und Abbiegevorgaenge. Wenn man auf einer Strasse nicht abbiegen muss, dann werden verschiedene Strassennamen in einer Liste zusammengefasst. Zusaetzlich 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 dafuer erweitern user editing: negative/positive praeferenzen mit b2/b3 lange druecken setzen bugfix: optmenu in optimierungseinstellungen korrigieren (Fehler beim Tk Widget) lange haenger 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, dafuer gibt es aber ein neues Tk::MDI-Widget Andreas' Labeling-Algorithmus verwenden - 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 * 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 - 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 - 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 - Farbeditor: background setzen sollte vielleicht Canvas-bg ignorieren bzw. eigener Auswahlpunkt für Canvas-bg. Vielleicht *alle* Farben änderbar machen --- aber dann muss man die Änderungen auch abspeichern können (schwer, unwichtig) - Straßennamen: zeichnen on demand? besserer Algorithmus? TIP mit -angle ausprobieren? (schwer) - intelligenterer Markieralgorithmus: nicht Zentrieren, sondern nur verschieben, falls: durch andere Fenster verdeckt (nur eigene Toplevels beachten) oder weniger als 10% (5%) oder .... Pixel vom Rand oder einem anderen Toplevel entfernt. In diesem Fall den Ausschnitt auch nur minimal verschieben, bis sichtbar (schwer) - Idee von effizienten Loop/Callback-Mechanismus: ein callback kann entweder alleine aufgerufen werden (mit nötiger Initialisation + Cleanup) oder in eine beliebige Loop eingebettet werden (Inline, Initialisation + Cleanup außerhalb der Loop). Beliebig viele Callbacks können kombiniert werden (Stacking). Verwendung von B::Deparse? (sehr schwer, API und Ausführung erst einmal ausdenken) - Bug: beim Umschalten von einem anderen Mode in den Suchmode muss zuerst einmal ein Reset ausgeführt werden, bevor Start gesetzt werden kann (mittel) - Start/Ziel verschiebbar machen (mittel) - Start/Ziel löschbar machen (mittel) - Optimierung bei vias löschen/verschieben/einfügen: nur geändertes Stück berechnen (delete=strecke vor-nach; move=beide strecken vor/nach; insert: neue zwei strecken) (mittel-schwer, nur, wenn ich das via-feature häufiger nutze) - bbbike.cgi: kommentar-spalte: bei münchen schiebestrecken ausweisen, evtl. auch radwege. in berlin vielleicht alles mögliche ausgeben --- ausprobieren BBBike wird zur Zeit unter FreeBSD 4.6 mit perl 5.00503/5.6.1/5.8.0 und der neuesten Perl/Tk-Version (z.Zt. 800.024) entwickelt. Testlaeufe 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 aelteren Versionen perl 5.00404 und Tk 402.004 kompatibel zu bleiben. Dabei bleiben aber einige Features (z.B. der Splash-Screen, vernuenftiges Zeichensatzhandling und einige Keybindings) auf der Strecke. Die Grundfunktionalitaet ist aber vorhanden. Freiwillige zur Portierung von Perl/Tk auf die Macintosh-Plattform werden gesucht :-) TBD Slaven Rezic - slaven@rezic.de Tk. Tk::FireButton, Tk::Pod, LWP::UserAgent, Mail::Send and others. BikePower(3), Tk(3), perl(1).