Rechner für steigungsbereinigtes Lauftempo
Das steigungsbereinigte Lauftempo (GAP) schätzt das Tempo in der Ebene, das ungefähr denselben Energieaufwand wie ein gleichmäßiger Anstieg oder Abstieg erfordert.
Im Browser ausführen – kostenlos
Geben Sie Sekunden pro Kilometer und eine vorzeichenbehaftete Steigung ein: positiv bergauf, negativ bergab. Der Rechner nutzt eine veröffentlichte polynomische Kostenkurve und liefert äquivalentes Tempo, Korrekturfaktor und modellierte Energiekosten. Er arbeitet deterministisch, ersetzt jedoch keine Herzfrequenz-, Leistungs-, Gelände-, Wetter- oder individuellen Leistungsdaten.
Tempo und Steigung einheitlich eingeben
Geben Sie die gesamten Sekunden pro Kilometer an; fünf Minuten entsprechen 300 Sekunden. Die Steigung ist die vorzeichenbehaftete Höhenänderung, geteilt durch die horizontale Strecke und multipliziert mit 100. Fünf Meter Gewinn auf 100 Metern entsprechen ungefähr +5%. Verwenden Sie für Gefälle negative Werte. Ein Mittelwert eignet sich nur für einen gleichmäßigen Abschnitt. Teilen Sie wechselnde Anstiege und Gefälle auf und kombinieren Sie Ergebnisse nach Zeit oder Strecke. Ein Mittelwert von 0% kann hohe Kosten verbergen. GPS-Höhen sind auf kurzen Abschnitten oft ungenau; nutzen Sie möglichst geglättete Kartendaten. Zulässig sind −45% bis +45% sowie eine bis sechzig Minuten pro Kilometer.
Polynomische Korrektur verstehen
Die Minetti-Kurve lautet: Kosten = 155.4g⁵ − 30.4g⁴ − 43.3g³ + 46.3g² + 19.5g + 3.6; g ist die Steigung als Dezimalzahl. Bei 0% betragen die modellierten Kosten 3.6 Joule je Kilogramm und Meter. Der Faktor teilt die Flachkosten durch die Kosten der eingegebenen Steigung und multipliziert damit die beobachteten Sekunden. Gefälle verhalten sich wegen Bremsarbeit, Stoßbelastung und Muskelschäden nicht spiegelbildlich. Der ausgegebene Wert ist keine direkte Kalorienmessung. Erst am Ende wird gerundet. Das Modell beschreibt energetische Gleichwertigkeit, garantiert aber kein tatsächlich erreichbares Bahntempo.
GAP als Vergleichswert deuten
Nutzen Sie GAP zum Vergleich von Abschnitten, bei denen Rohzeiten täuschen. Ein langsamer Anstieg kann große Anstrengung bedeuten; ein schneller Abstieg kann leichter sein, als das Tempo vermuten lässt. Aussagekräftig ist der Wert bei ähnlichem Untergrund, Wind, Höhenprofil, Ermüdungsgrad und gleicher Länge. Technische Wege, Kurven, Treppen, Schlamm, Hitze und schwierige Abstiege erfasst die Formel nicht. Auch die Laufökonomie ist individuell. Behandeln Sie kleine Unterschiede als Rauschen und bewahren Sie Rohdaten auf. Browser und API verwenden denselben reinen JavaScript-Löser; eine API-Anfrage kostet $0.002. Berücksichtigen Sie zusätzlich Belastungsgefühl, Herzfrequenz und Trainingsziel.
Anwendungsfälle
Bergintervalle vergleichen
Rechnen Sie jede gleichmäßige Wiederholung vor dem Vergleich in ein äquivalentes Flachtempo um.
Rennzwischenzeiten prüfen
Erklären Sie langsame Bergauf- und schnelle Bergabkilometer, ohne Originaldaten zu verwerfen.
Trainingstagebuch vereinheitlichen
Ergänzen Sie deterministische GAP-Werte, um ähnliche Einheiten auf einer gemeinsamen Skala zu prüfen.
Häufige Fragen
Was kostet der Rechner?
Jede API-Anfrage kostet $0.002; die Browserberechnung nutzt denselben Löser.
Muss Gefälle negativ sein?
Ja. Geben Sie bergab einen negativen und bergauf einen positiven Prozentsatz ein.
Warum Sekunden pro Kilometer?
Eine numerische Einheit hält die API eindeutig. Multiplizieren Sie Minuten mit 60 und addieren Sie Sekunden.
Sagt GAP mein echtes Flachrenntempo voraus?
Nein. Fitness, Gelände, Wind, Höhe und Ermüdung bleiben trotz Energieschätzung wichtig.
Kann ich eine mittlere Steigung verwenden?
Nur vorsichtig. Berechnen Sie Anstiege und Gefälle getrennt, da ihre Kosten asymmetrisch sind.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/health/grade-adjusted-pace \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pace_seconds_per_km":300,"grade_percent":5}'const res = await fetch("https://api.kit.forhosting.com/health/grade-adjusted-pace", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pace_seconds_per_km": 300,
"grade_percent": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/grade-adjusted-pace",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pace_seconds_per_km": 300,
"grade_percent": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/grade-adjusted-pace", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pace_seconds_per_km":300,"grade_percent":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pace_seconds_per_km":300,"grade_percent":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/grade-adjusted-pace", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"pace_seconds_per_km": 300,
"grade_percent": 5
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.grade_adjusted_pace",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
min_pace_seconds_per_km | 60 |
max_pace_seconds_per_km | 3600 |
min_grade_percent | -45 |
max_grade_percent | 45 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |