E_WARNING: Parameter 1 to wp_default_styles() expected to be a reference, value given
  Trace: plugin.php:580 class.wp-styles.php:39 functions.wp-styles.php:109 simpletb.php:112 plugin.php:505 functions.wp-styles.php:34 plugin.php:505 general-template.php:2065 header.php:15 template.php:501 template.php:477 general-template.php:47 archive.php:1 template-loader.php:74 wp-blog-header.php:16 index.php:17

Archive for Mai 2010

Üetliberg’s Bobbahn – flowige Trails und ein Downhill

Eckdaten der Tour

Benutzung der Daten auf eigene Gefahr! Haftung ausgeschlossen.

Distanz 27.7 km
Trails 5.8 km
Steigung 798 Hm
Maximale Höhe-
Landschaft 3 / 5
Schwierigkeit 3 mit Passagen 4 / 5
Laufpassage-
Dauer 02:13:35 h
Geschwindigkeit Ø 12.5 km/h
Detailstrainingstagebuch
gpsies

Meine Eindrücke der Tour (von Trainingstagebuch)

Nach dem vielen Regen sind die Trails ausgewaschen, schlammig und sehr rutschig.

Entsprechend waren etliche Passagen auf den Trails für mich schlicht nicht fahrbar :(. Ich habe fast 30min auf meine schnellste Zeit eingebüsst.

Auch der Downhill war mehr rutschen, absteigen, fallen und ausrutschen ohne Kontrolle. In trockneren Zuständen eindeutig spassiger.

Lustig und lernreich wars trotzdem und entsprechend dreckig bin ich am Ende zu Hause angekommen :)

Ich hab im Schlamm noch einiges an Potential...

Bikekarte dank Google Fusion

Ich war diese Woche gesundheitlich nicht so fit, umso mehr Zeit hatte ich Codezeilen zu tippen. Ich habe die letzten Tage mit Google Fusion verbracht und bereits darauf aufmerksam gemacht.

Ich bin wieder einen Schritt weiter. Meine persönliche Bikekarte mit Google Maps API V3 und einer Google Fusion Tabelle ist live. Die Karte ist auch über diverse Parameter filterbar.

Meine Bikekarte zeigt mir alle meine Mountainbike Touren auf einmal auf der Karte, welche ich auf GPSies führe. Ich kann bequem nach Länge, Anstieg und höchsten Punkt filtern.
Coole Sache, Google. Das Ganze soll natürlich auch recht skalierbar sein.

Die Bikekarte wird von mir sicherlich noch erweitert werden. Als nächstes in der Reihe Google Fusion plane ich folgende Sachen:

  • eine ähnliche Karte mit den hier detailiert beschriebenen Touren (inkl. weiteren Filtern)
  • Highlighting der ausgewählten Strecke in der Karte
  • eine Karte und Umgebungsliste der Mountainbike Laden in der Schweiz*

* ride hat diese Liste auf ihrer Website, aber die Suche ist meiner Meinung nach suboptimal. Ist man unterwegs, möchte man in der Regel einfach die 5 nächstgelegenen Shops vom aktuellen Standort sehen. Ich werde dies mal versuchen und dann Ride informieren.

Detaillierter PHP Code

Für die Entwickler unter Euch, hier wie das Ganze detaillierter aussieht:

1. Daten von gpsies in eine google fusion tabelle einfügen

GPSies wie auch Google Fusion stellen beide eine API zur Verfügung.
Ich gehe davon aus, dass die Tabelle auf Fusion bereits besteht (diese kann sonst auch per API generiert werden).

$page = 0;
while (true) {
    $page++;

    // Strecken von GPSies auslesen
    $file = file_get_contents('http://www.gpsies.com/api.do?searchUsername=deineID&country=CH&trackTypes=mountainbiking&limit=100&resultPage=' . $page);
    $xml = simplexml_load_string($file);
    if (chop($xml->meta->resultSize) == 0)
        break;

    // kml der Strecke holen und Geoinformation speichern
    $gpsiesId = chop($track->fileId);
    $file = (file_get_contents('http://www.gpsies.com/download.do?filetype=kml&fileId=' . $gpsiesId);
    $kml = simplexml_load_string($file);
    $geo = '';

    foreach ($kml->Document->Folder->Placemark as $placemark) {
        if ($placemark->MultiGeometry->LineString) {
            foreach ($placemark->MultiGeometry->LineString as $line) {
                $geo .= chop($line->coordinates);
            }
        }
    }

    $values = array(
        'gpsiesid'  => $gpsiesId,
        'name'      => chop($track->title),
        'distance'  => round(chop($track->trackLengthM) / 1000, 1),
        'ascent'    => chop($track->totalAscentM),
        'elevation' => chop($track->altitudeMaxHeightM),
        'geometry'  => '' . $geo . '',
    );

    // Daten in Fusion Tabelle laden
    $keys = implode(", ", array_keys($values));
    $vals = implode("', '", $values);
    $command = "INSERT INTO " . $this->opts['tableId'] . " (" . $keys . ") VALUES ('" . $vals . "')";

    execFusion($command);

   // gpsies Server nicht überlasten
   sleep(2);
}

Für ein INSERT in Google Fusion braucht es eine Authentifizierung. Der Service heisst “fusiontables”.

Je nach Befehl (INSERT, UPDATE, …) muss die Query mit HTTP-POST oder GET ausgeführt werden.

function execFusion($command) {
    $auth = "das-ist-dein-schlüssel";

    $headers = array(
        "Authorization: GoogleLogin auth=" . $auth,
    );

    $curl = curl_init($this->baseurl);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    // make post or get depending on command
    if (preg_match('!^(insert|update|delete)!i', $command))
        curl_setopt($curl, CURLOPT_POSTFIELDS, array('sql' => $command));
    else
        curl_setopt($curl, CURLOPT_URL, $this->baseurl . '?sql=' . urlencode($command));

    $return = curl_exec($curl);
    curl_close($curl);

    return $return;
}

2. Google Maps API V3 und Fusion Table

Das Einfügen der Fusion Table als Layer geht ziemlich einfach im Javascript:

    // Google Maps instanzieren
    var latlng = new google.maps.LatLng(46.798448583333, 8.2318785277778);
    var myOptions = {
            zoom: 8,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.TERRAIN
    };
    var map = new google.maps.Map(document.getElementById("map"), myOptions);

    // Google Fusion anzeigen
    var fusionTableLayer = new google.maps.FusionTablesLayer(tableID);
    fusionTableLayer.setMap(map);

    // Filter (man muss die Spalte mit der Geoinformation selektieren, sonst gehts nicht)
    var query = "select geometry from " + tableID + " where distance < 30";
    fusionTableLayer.setOptions({ query: query });

3. Nachtrag Authentisierungs Key für Google Fusion erhalten

Den Key erhält man mit Hilfe von ClientLogin von Google. Beachte die auch die Service Namen.

function getAuth() {
    $clientlogin_url = "https://www.google.com/accounts/ClientLogin";
    $clientlogin_post = array(
        "accountType" => "GOOGLE", // HOSTED, GOOGLE, HOSTED_OR_GOOGLE
        "Email" => "your login",
        "Passwd" => "your password",
        "service" => "fusiontables",
        "source" => "some reference name of your app"
    );

    // Initialize the curl object
    $curl = curl_init($clientlogin_url);

    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $clientlogin_post);
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $response = curl_exec($curl);

    preg_match("/Auth=([a-z0-9_\-]+)/i", $response, $matches);
    $auth = $matches[1];

    return $auth;
}

Neue Bremsbeläge von Veloplus?

Welcher Biker kennt das nicht? Kaum hat man neue Bremsbeläge montiert, muss man schon wieder neue haben. Kauft man mal billigere, dann quietschen sie oder bringen nicht die gewünschte Bremsleistung.
Ich musste bei meiner letzten Tour feststellen, dass meine Beläge mehr als weg waren. Zum Glück konnte ich die Beläge von Röbi borgen.

Im letzten VeloPlus aktuell habe ich über einen Bremstest von Veloplus gelesen. Sie verglichen bekannte Bremsbeläge mit ihren demnächst neu verfügbaren Eigenentwicklungen. Das ist natürlich nicht ganz objektiv, gespannt bin ich trotzdem, zumal die Preise sehr kompetitiv sind.

Hier ein kleiner Ausschnitt davon:


Ausschnitt aus dem Original Pdf

Da ich sowieso neue Beläge brauche, werde ich die neuen Veloplus Bremsbeläge im Juni testen und meine Erfahrungen hier teilen.

Übrigens sind die roten getesteten Beläge von der Migros. Und diese kann ich überhaupt nicht empfehlen. Diese quietschen bei Nässe so stark, dass man sich kaum noch getraut zu bremsen!

Darstellung der Tracks auf einer Karte, dank Google Fusion

Vor ein paar Wochen bin ich über Google Fusion gestolpert (dank GPSies).

Ich hatte nun endlich Zeit etwas damit zu spielen und habe meine Mountainbike Strecken von gpsies in eine Fusion Tabelle importiert.

Damit lässt sich sehr einfach eine Karte generieren oder auch nach bestimmten Kriterien filtern.
Hier eine Karte aller importierten Tracks:

Ich werde dann als nächsten Schritt versuchen, meine Tourenbeschreibungen von federwegCH automatisch in eine Karte zu importieren.

Das Tool ist auf jeden Fall bewundernswert! Well Done Google!

Montage der Helmkamera ContourHD

Vor ein paar Wochen habe ich mir eine Helmkamera ContourHD zugelegt.

Natürlich musste ich gleich eine Helmhalterung nachbestellen, da diese nicht im Basispackage inbegriffen ist! Mit CHF 45.- ist diese Halterung alles andere als günstig. Dennoch ist sie äusserst billig produziert und nach ein paar Fahrten musste ich feststellen, dass sie auch einen Konstruktionsfehler hat.

Beheben des Konstruktionsfehlers

Es gibt auf den Seiten 2 metallische Stifte, um die Innenhalterung verstellen zu können. Nur leider fallen diese Stifte immer wieder aus ihrer Halterung und bringen damit die ganze Kamera zum Wackeln.

Ich habe nun ein wenig Tape auf beiden Seiten der Stifte geklebt, welche diese zurückhalten sollen. Ich denke, das sollte nun klappen. Für ein Zubehör zu diesem Preis dennoch mühsam.

Montage auf dem Helm

Die Montage auf dem Helm sieht nun wie folgt aus. Ich habe zusätzlich eine Halterung für meine Frontlampe von Lupine neben der Kamerahalterung.

Was bedeutet die Zahl beim Maltodextrin

In meinen Getränken verwende ich Maltodextrin.

Malto ist ein wasserlösliches Kohlenhydratgemisch, welches aus Stärke hergestellt wird. Es gibt verschiedene Arten von Maltodextrin, welche sich hauptsächlich durch eine Zahl unterscheiden.

Die Zahl beschreibt die Dextrose-Äquivalent, eine Zahl zwischen 3-20. 1 bedeutet einen Süssegrad von Stärke, 100 einen von reinem Zucker.

Je höher die Zahl ist, desto kurzkettiger sind die Kohlenhydrate. Dies bedeutet auch schnellere Aufnahme des Zuckers im Blut, die Energie steht schneller zur Verfügung, ist aber auch schneller aufgebraucht.
19er Malto stellt die Energie nach ca. 15-30min zur Verfügung. Beim 6er dauert es ca. 2h.

Ich habe mit 19er Malto sehr gute Erfahrungen gemacht. Wer sich noch mehr in die Theorie einlesen möchte, kann sich mit Natalies Maltodextrin Ernährungskonzept detailliert informieren.

Powergetränk selbst gemixt

Die Tage werden wärmer und damit steigt auch der Bedarf an Flüssigkeit während den Ausflügen markant.

Um bei den Touren ohne Hungerast über die Runde zu kommen, genügt es oft nicht, einfach Sirup mitzunehmen. Stärke durch das Getränk aufzunehmen ist meist einfacher und belastet den Magen weniger als Gels oder ähnlich zu sich zu nehmen.

Ich habe einige Zeit gebraucht, bis ich das optimale Getränk gefunden habe. Den entscheidenden Tipp hab ich schlussendlich von einer Ärztin erhalten.

Hier das Mixgetränk für jeweils ein Bidon (ca. 800ml):

  • 30g Maltodextrin (Maisstärke)
  • 30g Iceteapulver (das vom Coop ist gröber als von der Migros und staubt daher weniger)
  • eine Prise Salz (Meersalz eignet sich besser, da es weniger salzig ist)
  • etwas Zitronensaft (kann auch natürliche Zitrone sein)

Ich versuche ein Bidon pro Stunde zu trinken, je nach Wetter und Möglichkeit.
Alle Zutaten sind in der Migros oder Coop erhältlich. Das Maltodextrin ist zB bei der Sun Store Apotheke (Migros City, Zürich) erhältlich.

Dieser Mix hat fast alles was es braucht, ist günstiger als Präparate und ist erst noch lecker: Flüssigkeit, Stärke, Zucker, Mineralien und Vitamine.

Natürlich genügt dies für eine längere (Tages)Tour nicht ganz. Ich habe in der Regel Biberli dabei. Die haben viele Kalorien, sind wetterfest (vor allem gegen Hitze) und einfach zu essen.

Von Steffisburg nach Oberthal – strenge Panoramarunde

Eckdaten der Tour

Benutzung der Daten auf eigene Gefahr! Haftung ausgeschlossen.

Distanz 40.0 km
Trails 2.2 km
Steigung 1963 Hm
Maximale Höhe-
Landschaft 4 / 5
Schwierigkeit 2 / 5
Laufpassage 10min
Dauer 03:30:01 h
Geschwindigkeit Ø 11.4 km/h
Detailstrainingstagebuch
gpsies
youtube

Meine Eindrücke der Tour (von Trainingstagebuch)

Diese Tour wurde nur durch die Bremsbeläge von Röbi ermöglicht. Meine Beläge waren so durch, dass ich zu einer technischen Pause gezwungen worden wäre.

Bereits in der ersten Steigung bemerkte ich, dass ich heute nicht in Topform sein würde...

Die Strecke hab ich selber gewählt und entsprechend gab es verschiedene Passagen, welche nicht fahrbar waren oder nicht existierten. Entsprechend musste ich flexibel Auswege finden.

Am Ende war ich nahe einem Hungerrast und die letzten 350Hm (5km) waren etwas eine Tortur.

Angekommen bin ich trotzdem, dank dem schönen Panorama!

Kurzfilm der Tour

Blueme – Steile Hänge rauf und runter

Eckdaten der Tour

Benutzung der Daten auf eigene Gefahr! Haftung ausgeschlossen.

Distanz 29.4 km
Trails 5.1 km
Steigung 1338 Hm
Maximale Höhe-
Landschaft 5 / 5
Schwierigkeit 4 / 5
Laufpassage-
Dauer 03:03:13 h
Geschwindigkeit Ø 9.6 km/h
Detailstrainingstagebuch
gpsies
youtube

Meine Eindrücke der Tour (von Trainingstagebuch)

Heute gings wieder mal mit Röbi los. Bei strahlendblauem Himmel waren die Verhältnisse ideal.

Wir sind erst nachmittags gestartet, dadurch wars etwas wärmer. Die kalte Bise hat daher nicht besonders gestört.

Kurzfilm der Tour

Tipp “Riss im Reifen mit Geldnote reparieren”


(mit bestem Dank an Röbi für das Foto)

Ein Riss seitlich im Reifen kann vorkommen. Der defekte Schlauch ist schnell ersetzt. Doch was tun, wenn dieser rausschaut? Der nächste Plattfuss ist in kürzester Zeit vorprogrammiert.

Hier hilft ein Tipp, den ich kürzlich von Stefan bekommen habe: Eine Geldnote zwischen Schlauch und Reifen platzieren. Die Geldnote ist relativ reissfest und steif. Der Schlauch bleibt an seinem Platz und die Tour kann ohne Bedenken zu Ende gefahren werden. Eine Geldnote ist zudem auf Touren immer mit dabei und wiegt nix!