Variazione netta di quota
Per il profilo 100, 120, 110, 150, 140 m la variazione netta è di 40 m, ma il percorso sale di 60 m in totale e scende di 20 m. Ottiene anche il punto più basso e quello più alto, l'escursione e il movimento verticale totale. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Quote
- 100, 120, 110, 150, 140 m
- Numero di campioni
- 5 m
- Quota iniziale
- 100
- Quota finale
- 140
- Quota minima
- 100
La variazione netta di quota lungo un sentiero o un profilo stradale è più della differenza tra l'ultimo campione e il primo. Escursionisti, direttori di gara e motori di routing prestano attenzione anche all'ascesa e alla discesa cumulate, perché un percorso a montagne russe che termina alla quota di partenza consuma comunque energia. Questo calcolatore di variazione netta di quota accetta un elenco ordinato di campioni di elevazione —metri o piedi—, scorre una sola volta le differenze consecutive e restituisce la variazione netta, il guadagno totale, la perdita totale, le quote min e max, l'intervallo di elevazione e il movimento verticale totale. L'algoritmo è aritmetica pura, senza tessere mappa, senza smoothing GPS e senza rete. La usi per valutare serie derivate da GPX, validare estratti DEM o etichettare schede percorso con statistiche di dislivello oneste prima di pubblicarle ad atleti o clienti.
Cosa significano variazione netta, guadagno totale e perdita totale su un profilo
Dati campioni di elevazione ordinati e0, e1, …, e(n−1) lungo un percorso, la variazione netta di quota è semplicemente l'ultimo valore meno il primo: fine meno inizio. Quel solo numero risponde se il cammino è finito più alto o più basso di come è iniziato ed è negativo quando la destinazione sta sotto l'origine. Non descrive quanto il percorso sia sembrato duro.
Il guadagno totale somma ogni differenza consecutiva positiva max(0, ei − e(i−1)), così ogni tratto in salita contribuisce all'ascesa cumulata anche se poi si perde la stessa altezza. La perdita totale somma ogni passo in discesa come max(0, e(i−1) − ei). Algebricamente, la variazione netta è uguale al guadagno totale meno la perdita totale (entro l'arrotondamento in virgola mobile), utile come controllo quando si auditano estratti GPX o DEM.
L'intervallo di elevazione è il massimo meno il minimo su tutta la serie e cattura l'ampiezza verticale del terreno anche quando inizio e fine coincidono. Il movimento verticale totale è guadagno più perdita e a volte funge da proxy approssimativo di sforzo a distanza fissa. Questa capacità non applica filtri di Kalman, rimozione di picchi né soglie di errore GPS: riferisce ciò che dicono i Suoi campioni.
Pulisca a monte le serie barometriche rumorose se le servono statistiche di sentiero smussate per regolamenti di gara o modelli di carico di allenamento.
Chi ha bisogno di dislivelli affidabili
Le app di pianificazione sentieri trasformano serie DEM o barometriche in badge di salita e etichette di difficoltà prima che un utente si impegni su un anello del fine settimana. Gli organizzatori di ultramaratone e gare gravel necessitano di un guadagno totale riproducibile quando le mappe del percorso cambiano e i volontari riesportano la stessa traccia da dispositivi diversi. Le piattaforme fitness confrontano profili pianificati e reali dopo una uscita quando la frequenza di campionamento dell'orologio differisce dal pianificatore di percorso.
La validazione fallita non consuma saldo.
Casi d'uso
Etichette di difficoltà per sentieri
Fornisca campioni DEM o barometrici ordinati da una traccia GPX e pubblichi variazione netta, guadagno totale e perdita totale sulle schede percorso per escursionisti che scelgono tra anelli.
Mappe di percorso ed eventi
Ricalcoli ascesa e discesa cumulate ogni volta che la polilinea ufficiale del percorso viene rivista affinché i pacchetti atleti restino coerenti con il profilo misurato.
Domande frequenti
Come si calcola la variazione netta di quota?
La variazione netta è l'ultimo campione di elevazione meno il primo. Il guadagno totale somma i passi consecutivi positivi; la perdita totale somma i passi negativi in valore assoluto. Identità: net = gain − loss.
Perché il guadagno totale è maggiore della variazione netta?
Perché le salite intermedie contano anche se poi si scende. Un andata e ritorno che torna all'inizio ha netto zero ma guadagno totale positivo uguale alla perdita totale.
Servono distanza o coordinate GPS?
No. Sono richiesti solo campioni di elevazione ordinati. Distanza, pendenza e proiezione cartografica sono fuori ambito; le calcoli separatamente se servono.
Il campo unit converte metri in piedi?
No. unit è un'etichetta di visualizzazione (m o ft).
Le letture rumorose del GPS o del barometro vengono livellate?
No. Non applica filtri né rimozione dei picchi: riporta esattamente ciò che dicono i suoi campioni. Se la traccia è rumorosa, pulisca prima la serie, soprattutto quando i totali servono per un regolamento di gara o un piano di allenamento.
Strumenti correlati
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/geo/net-elevation-change \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"elevations":[100,120,110,150,140]}'const res = await fetch("https://api.kit.forhosting.com/geo/net-elevation-change", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"elevations": [
100,
120,
110,
150,
140
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/net-elevation-change",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"elevations": [
100,
120,
110,
150,
140
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/net-elevation-change", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"elevations":[100,120,110,150,140]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"elevations":[100,120,110,150,140]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/net-elevation-change", 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
{
"elevations": [
100,
120,
110,
150,
140
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.net_elevation_change",
"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.
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. |
Note tecniche
Contratto di ingresso, unità, campi di risposta e validazione
Meno di due campioni fallisce perché una sola elevazione non definisce un cambiamento. I campi numerici sono arrotondati a dodici decimali per goldens stabili tra motori JavaScript. Invii un corpo JSON con elevations, un array obbligatorio di almeno due numeri finiti nell'ordine del percorso. Sono accettati gli alias samples, profile, values e heights, risolti allo stesso modo. Ogni elemento può essere un numero JSON o una stringa numerica; valori non finiti, slot vuoti e token non numerici falliscono con invalid_input indicando l'indice errato. In caso di successo il corpo include sample_count; start_elevation e end_elevation; min_elevation, max_elevation e elevation_range; net_change; total_gain e total_loss; total_vertical; l'unità eco; e una breve stringa di formula che riafferma le identità. Esempio: elevations [100, 120, 110, 150, 140] producono inizio 100, fine 140, net_change 40, total_gain 60 (20+40), total_loss 20 (10+10), min 100, max 150, intervallo 50 e total_vertical 80. Abbini i numeri ai Suoi calcoli di distanza e pendenza se le serve la percentuale di grade; questo endpoint misura solo i delta verticali tra campioni consecutivi.
Dove un'API di variazione netta di quota crea valore
I notebook GIS che ritagliano raster di elevazione lungo una polilinea possono chiamare questo endpoint parse invece di reimplementare guadagno e perdita in ogni binding di linguaggio. Poiché l'implementazione è parse pura di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita.
Casi di integrazione
Automazione GIS e notebook
Dopo aver campionato le elevazioni lungo una polilinea pianificata, chiami l'API per ottenere guadagno, perdita e intervallo senza reimplementare il ciclo dei delta in ogni linguaggio.
Domande tecniche
Quanto costa il calcolatore di variazione netta di quota?
Lo strumento del browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene addebitato.