Calcolatore del passo corretto per pendenza
Il passo corretto per pendenza, o GAP, stima il passo in piano che richiederebbe circa la stessa energia di una corsa su salita o discesa costante.
Esegui gratis nel browser
Inserisca il passo osservato in secondi per chilometro e una pendenza percentuale con segno: positiva in salita e negativa in discesa. Il calcolatore applica una curva polinomiale pubblicata e restituisce passo equivalente, fattore di correzione e costo energetico modellato. È deterministico e utile nei confronti, ma non sostituisce frequenza cardiaca, potenza, terreno, meteo o dati individuali.
Inserisca passo e pendenza in modo coerente
Indichi i secondi totali per chilometro: cinque minuti equivalgono a 300 secondi. La pendenza è il dislivello con segno diviso per la distanza orizzontale e moltiplicato per 100; cinque metri guadagnati su 100 corrispondono a circa +5%. Per una discesa usi un valore negativo. Applichi la pendenza media solo a un tratto abbastanza uniforme. Se il percorso alterna salite e discese ripide, lo divida in sezioni e combini i risultati per tempo o distanza. Una media dello 0% può nascondere un costo notevole. Poiché l’altitudine GPS è spesso rumorosa sui tratti brevi, preferisca una pendenza cartografata o smussata. Sono ammessi valori da −45% a +45% e passi da uno a sessanta minuti per chilometro.
Comprenda la correzione polinomiale
Il calcolo usa la curva di Minetti: costo = 155.4g⁵ − 30.4g⁴ − 43.3g³ + 46.3g² + 19.5g + 3.6, dove g è la pendenza decimale. A pendenza zero il costo modellato è 3.6 joule per chilogrammo per metro. Il fattore divide il costo in piano per quello alla pendenza indicata e moltiplica i secondi osservati. Una salita produce quindi un passo equivalente più rapido. La discesa non è speculare a causa di frenata, impatti e danno muscolare. Il costo restituito è il valore del polinomio, non una misura diretta delle calorie. L’arrotondamento finale rende stabili le richieste ripetute. È un’equivalenza energetica secondo il modello, non la garanzia che ogni atleta possa riprodurre quel passo in pista.
Interpreti il GAP come strumento di confronto
Usi il GAP per confrontare tratti che il passo grezzo renderebbe fuorvianti. Una frazione lenta in salita può rappresentare uno sforzo forte, mentre una discesa veloce può essere meno impegnativa di quanto sembri. Il dato è più utile quando superficie, quota, vento, fatica e lunghezza sono comparabili. Fondo tecnico, curve, scale, fango, caldo e discese difficili possono prevalere, perché la formula considera solo passo e pendenza media. Anche l’economia di corsa individuale varia. Tratti le piccole differenze come rumore e conservi i dati originali. Browser e API impiegano lo stesso risolutore JavaScript puro; una richiesta API costa $0.002. Valuti il risultato insieme a sforzo percepito, frequenza cardiaca e obiettivo dell’allenamento.
Casi d'uso
Confrontare ripetute in salita
Converta ogni ripetuta uniforme in un passo equivalente in piano prima di confrontare gli sforzi.
Esaminare i parziali di gara
Spieghi i chilometri lenti in salita e veloci in discesa senza eliminare i dati originali.
Normalizzare un diario di allenamento
Aggiunga valori GAP deterministici per confrontare sessioni simili su una scala comune.
Domande frequenti
Quanto costa il calcolatore?
Ogni richiesta API costa $0.002; il calcolo nel browser usa lo stesso risolutore.
La pendenza in discesa deve essere negativa?
Sì. Inserisca una percentuale negativa in discesa e positiva in salita.
Perché il passo va indicato in secondi per chilometro?
Una sola unità numerica evita ambiguità nell’API. Moltiplichi i minuti per 60 e aggiunga i secondi.
Il GAP prevede il mio vero passo di gara in piano?
No. Stima l’equivalenza energetica; forma, terreno, vento, quota e fatica restano importanti.
Posso usare una pendenza media su un percorso ondulato?
Solo con cautela. È meglio calcolare separatamente salite e discese, perché i costi sono asimmetrici.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"pace_seconds_per_km": 300,
"grade_percent": 5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.grade_adjusted_pace",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
min_pace_seconds_per_km | 60 |
max_pace_seconds_per_km | 3600 |
min_grade_percent | -45 |
max_grade_percent | 45 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |