Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

121
Vistas
Cómo suavizar la ganancia de elevación de los puntos GPS

Tengo un gran problema aquí:

Tengo una matriz de datos gps y es necesario calcular algunas informaciones, lo hice todo excepto la ganancia total de elevación en la ruta. Hay una matriz como esta [825.23423, 827.39420, 828.19319, ...] que almacena la elevación de cada punto gps pasado y necesito calcular la suma total. El problema es que el gps no es tan preciso y a veces da algunas elevaciones incorrectas, y hace que la suma salga mal. Probé muchas formas de suavizar los datos, aquí hay algunas:

  • Establecer un valor mínimo para sumar la ganancia de elevación
  • Obtenga "sub-arreglos" y haga los medios de ellos para sumar la ganancia de elevación después.
  • Obtenga "sub-matrices" y extraiga y cambie los valores poco comunes para sumar después de eso.
  • Y la forma real en que mezclé todo, mejoró pero ni siquiera se acercó a la perfección:
 const getMediaFixed = (values: number[]) => { values.sort((a, b) => { return a - b; }); values.pop(); values.shift(); const media = values.reduce((a, b) => a + b) / values.length; return media; }; let last: number = elevations[0]; let elevationSum = 0; // let countLimit: number = 1; for (let i = 0; i < elevations.length - 5; i += 5) { let media: number; if (i <= elevations.length - 4) { media = getMediaFixed([ elevations[i], elevations[i + 1], elevations[i + 2], elevations[i + 3], elevations[i + 4], ]); } else { media = elevations[i]; } const temp = 0.75 * last + 0.25 * media; if (temp - last > 0) { elevationSum += temp - last; } last = temp; }

El punto es que no está funcionando de todos modos.

Aquí hay un sitio que funciona perfectamente calculando desde un archivo GPX (no pude encontrar el contacto para pedir ayuda): https://www.trackreport.net

Agradezco cualquier idea para mejorar el código!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¡Lo hice usando el promedio móvil exponencial para suavizar la matriz con elevaciones y luego usé 1 metro para ignorar los errores!

Gracias.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda