Mudança líquida de elevação
Para o perfil 100, 120, 110, 150, 140 m, a mudança líquida é de 40 m, mas a rota sobe 60 m no total e desce 20 m. Você também recebe o ponto mais baixo e o mais alto, a amplitude e o movimento vertical total. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Elevações
- 100, 120, 110, 150, 140 m
- Número de amostras
- 5 m
- Elevação inicial
- 100
- Elevação final
- 140
- Elevação mínima
- 100
A mudança líquida de elevação ao longo de uma trilha ou perfil de estrada é mais do que a diferença entre a última amostra e a primeira. Caminhantes, diretores de prova e motores de roteamento também precisam da subida e da descida acumuladas, porque um caminho cheio de sobe e desce que termina na mesma cota de partida ainda gasta energia. Esta calculadora de mudança líquida de elevação aceita uma lista ordenada de amostras de elevação —metros ou pés—, percorre uma vez as diferenças consecutivas e devolve a mudança líquida, o ganho total, a perda total, as cotas mínima e máxima, a amplitude de elevação e o movimento vertical total. O algoritmo é aritmética pura, sem tiles de mapa, sem suavização GPS e sem rede. Use-o para pontuar séries derivadas de GPX, validar extratos DEM ou rotular cartões de rota com estatísticas honestas de desnível antes de publicá-las a atletas ou clientes.
O que significam mudança líquida, ganho total e perda total em um perfil
Dadas amostras de elevação ordenadas e0, e1, …, e(n−1) ao longo de uma rota, a mudança líquida de elevação é simplesmente o último valor menos o primeiro: fim menos início. Esse único número responde se o caminho terminou mais alto ou mais baixo do que começou e fica negativo quando o destino fica abaixo da origem. Não descreve quão difícil o percurso pareceu.
O ganho total soma cada diferença consecutiva positiva max(0, ei − e(i−1)), de modo que cada trecho de subida contribui para a ascensão acumulada mesmo que depois se perca a mesma altura. A perda total soma cada passo de descida como max(0, e(i−1) − ei). Algebricamente, a mudança líquida é igual ao ganho total menos a perda total (dentro do arredondamento de ponto flutuante), o que é uma verificação útil ao auditar extratos GPX ou DEM.
A amplitude de elevação é o máximo menos o mínimo em toda a série e captura a faixa vertical do terreno mesmo quando início e fim coincidem. O movimento vertical total é ganho mais perda e às vezes serve como proxy aproximado de esforço quando a distância permanece fixa. Esta capacidade não aplica filtros de Kalman, remoção de picos nem limiares de erro GPS: ela relata o que suas amostras dizem.
Limpe séries barométricas ruidosas a montante se precisar de estatísticas de trilha suavizadas para regulamentos de prova ou modelos de carga de treino.
Quem depende de números de subida confiáveis
Aplicativos de planejamento de trilhas transformam séries DEM ou de barômetro em selos de subida e rótulos de dificuldade antes de o usuário se comprometer com um loop de fim de semana. Organizadores de ultramaratona e provas gravel precisam de ganho total reproduzível quando os mapas do percurso mudam e voluntários reexportam a mesma trilha a partir de dispositivos diferentes. Plataformas de fitness comparam perfis planejados e reais após um passeio quando a taxa de amostragem do relógio difere do planejador de rota.
Validação falha não consome saldo.
Casos de uso
Rótulos de dificuldade em trilhas
Alimente amostras DEM ou barométricas ordenadas de uma trilha GPX e publique mudança líquida, ganho total e perda total em cartões de rota para caminhantes que escolhem entre loops.
Mapas de percurso e eventos
Recalcule a subida e a descida acumuladas sempre que a polilinha oficial do percurso for revisada para que os pacotes dos atletas fiquem alinhados ao perfil medido.
Perguntas frequentes
Como a mudança líquida de elevação é calculada?
A mudança líquida é a última amostra de elevação menos a primeira. O ganho total soma os passos consecutivos positivos; a perda total soma os passos negativos em valor absoluto. Identidade: net = gain − loss.
Por que o ganho total é maior que a mudança líquida?
Porque as subidas intermediárias contam mesmo quando se desce depois. Um ida e volta que retorna ao início tem líquido zero, mas ganho total positivo igual à perda total.
Preciso de distância ou coordenadas GPS?
Não. Apenas amostras de elevação ordenadas são necessárias. Distância, rampa e projeção cartográfica ficam fora do escopo; calcule-as separadamente se precisar.
O campo unit converte metros em pés?
Não. unit é um rótulo de exibição (m ou ft).
Ele suaviza leituras ruidosas de GPS ou barômetro?
Não. Nenhum filtro ou remoção de picos é aplicado: o resultado mostra exatamente o que as suas amostras dizem. Se o registro tiver ruído, limpe a série antes, principalmente quando os totais forem usados em regulamentos de prova ou planos de treino.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"elevations": [
100,
120,
110,
150,
140
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.net_elevation_change",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Contrato de entrada, unidades, campos de resposta e validação
Menos de duas amostras falha porque uma única elevação não define uma mudança. Os campos numéricos são arredondados a doze casas decimais para goldens estáveis entre motores JavaScript. Envie um corpo JSON com elevations, um array obrigatório de pelo menos dois números finitos na ordem do percurso. Os aliases samples, profile, values e heights são aceitos e resolvidos da mesma forma. Cada elemento pode ser um número JSON ou uma string numérica; valores não finitos, lacunas vazias e tokens não numéricos falham com invalid_input indicando o índice incorreto. Em caso de sucesso o corpo inclui sample_count; start_elevation e end_elevation; min_elevation, max_elevation e elevation_range; net_change; total_gain e total_loss; total_vertical; a unidade ecoada; e uma string curta de fórmula que reafirma as identidades. Exemplo: elevations [100, 120, 110, 150, 140] produzem início 100, fim 140, net_change 40, total_gain 60 (20+40), total_loss 20 (10+10), min 100, max 150, amplitude 50 e total_vertical 80. Combine os números com seus próprios cálculos de distância e inclinação se precisar do percentual de rampa; este endpoint só mede deltas verticais entre amostras consecutivas.
Onde uma API de mudança líquida de elevação agrega valor
Cadernos GIS que recortam rasters de elevação ao longo de uma polilinha podem chamar este endpoint de parse em vez de reimplementar ganho e perda em cada binding de linguagem. Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Casos de integração
Automação GIS e cadernos
Depois de amostrar elevações ao longo de uma polilinha planejada, chame a API para obter ganho, perda e amplitude sem reimplementar o laço de deltas em cada linguagem.
Perguntas técnicas
Quanto custa a calculadora de mudança líquida de elevação?
A ferramenta do navegador é gratuita. Solicitações API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.