Controla el uso de tu clave antes de alcanzar un límite
Vigilar las cabeceras de cuota sobre la marcha te indica cuándo te acercas a un límite, mucho antes de que se rechace realmente una solicitud.
El desnivel positivo total es un único número que le dice a un senderista o ciclista más sobre la dificultad de una ruta que la distancia por sí sola. Además es sencillo de calcular una vez que tienes datos de elevación para suficientes puntos a lo largo de la ruta.
Envía las coordenadas de la ruta, en orden, a /v1/elevation, ya sea con el parámetro points o como un array en un POST masivo.
GET /v1/elevation?points=45.8326,6.8652|45.8400,6.8700|45.8475,6.8750|45.8300,6.8800{
"status": "ok",
"results": [
{"lat": 45.8326, "lon": 6.8652, "elevation_m": 1035},
{"lat": 45.8400, "lon": 6.8700, "elevation_m": 1210},
{"lat": 45.8475, "lon": 6.8750, "elevation_m": 1390},
{"lat": 45.8300, "lon": 6.8800, "elevation_m": 1180}
]
}Recorre los resultados en orden y, para cada par consecutivo, suma la diferencia a tu total acumulado solo cuando la elevación haya aumentado. En este ejemplo, de 1035 a 1210 suma 175, de 1210 a 1390 suma 180, y de 1390 a 1180 no suma nada porque ese tramo desciende. El desnivel positivo total de este tramo corto es de 355 metros.
gain = 0
for i in 1..n:
diff = elevation[i] - elevation[i-1]
if diff > 0: gain += diffEl mismo bucle, con la comparación invertida, te da en cambio el descenso total, que importa tanto como el desnivel positivo en una ruta que termina más abajo de donde empieza, como un recorrido de punto a punto bajando una montaña.
loss = 0
for i in 1..n:
diff = elevation[i] - elevation[i-1]
if diff < 0: loss += -diffPara los cuatro puntos anteriores, el desnivel negativo total es de 210 metros, todo del último tramo descendente. Un resumen de ruta que solo indica el desnivel positivo y omite el negativo cuenta solo la mitad de la historia en cualquier recorrido que no sea una simple ida y vuelta.
El desnivel positivo es sensible a cuántos puntos muestreas. Con muy pocos puntos, las subidas y bajadas reales se suavizan y el total queda por debajo de la realidad. Con demasiados puntos en un track GPS con ruido, el número puede inflarse con pequeñas oscilaciones arriba y abajo que nunca fueron una subida real. Una separación de entre diez y treinta metros a lo largo de un track de senderismo, o un remuestreo a intervalos de distancia regulares, es un punto de partida razonable.
Ejecutar el cálculo del desnivel directamente sobre un track GPS sin procesar, sin remuestrearlo antes, es una forma habitual de acabar con un número inflado, ya que los tracks GPS de consumo suelen oscilar unos pocos metros arriba y abajo entre puntos registrados consecutivos incluso en terreno realmente llano. Remuestrea el track a intervalos de distancia regulares antes de solicitar su elevación, en lugar de solicitar la elevación de cada punto sin procesar que registró el dispositivo.
Cada punto es una solicitud, tanto si se envía con el parámetro points como en un array masivo. Una ruta con 300 puntos muestreados cuesta 300 solicitudes, lo que sigue siendo una pequeña parte de las 2.500 solicitudes gratuitas al día incluidas con cada clave.
El desnivel calculado de esta forma solo es tan bueno como el muestreo de puntos que lo respalda, así que vale la pena probar un par de separaciones distintas con una ruta conocida antes de quedarte con una. Todas las opciones de solicitud están en la página de documentación de la consulta de elevación.