Me gustaría obtener un perfil de elevación razonablemente preciso para una pista grabada con un GPS (que a menudo tiene datos de altitud muy poco fiables y a veces ninguno, dependiendo del modelo).
¿Alguien tiene alguna pista sobre la forma más fácil de hacerlo? Las dos técnicas que estoy considerando hasta ahora son:
-
Utilizando el API de elevación de Google
Esta API es relativamente fácil de usar, pero todavía requiere algunos pasos que no son triviales debido a sus restricciones de uso: un máximo de 512 muestras devueltas por solicitud, y el número de puntos a lo largo de la ruta está limitado (por la longitud de la URL) también.
Espero un gpsbabel simplificar filtro para reducir la pista a un número adecuado de puntos (no tiene sentido que estén a menos de 100 metros de distancia entre sí debido a la resolución de los datos de altitud), pero entonces queda el problema de cómo mapear esta pista simplificada de nuevo en la ruta original, ya que las longitudes serán diferentes.
O, si esto no es adecuado para la automatización, el mejor enfoque puede ser dejar que el usuario seleccione los puntos de transecto en un mapa manualmente.
-
Descargar el Datos de la Shuttle Radar Topography Mission (SRTM) y hacer la consulta localmente.
Esto es algo en lo que no tengo experiencia, así que cualquier sugerencia sobre la viabilidad de esto es bienvenida. ¿Qué tamaño tiene el conjunto de datos? ¿Qué software de SIG se necesita, y se puede programar de forma adecuada? Preferiría no tener que escribir un algoritmo de muestreo e interpolación, que suena como un dolor . ¿Cuál es el rendimiento probable de este enfoque? (Necesito que sea bastante rápido y que se ejecute en un servidor web VPS de memoria limitada...)
Algunos detalles más para completar la respuesta de @MerseyViking sobre la descarga de datos de http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp :
Hay 72 x 24 baldosas, cada una de las cuales es un archivo zip de 20mb que se descomprime en un archivo TIF de 16 bits de 72,1mb (6001x6001 píxeles).
Son unos 120 gb, que es más de lo que puedo almacenar. Dejarlo comprimido e ignorar los océanos lo reducirá a tal vez 10 gb, que sigue siendo un poco demasiado grande. Cargar los datos a la carta reduciría drásticamente el espacio de almacenamiento necesario, pero el sitio de origen es lento (sólo estaba recibiendo 10kb/s) lo que hace que sea bastante poco práctico.