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 confiables y ocasionalmente ninguno, según el modelo).
¿Alguien tiene alguna pista sobre la forma más fácil de hacer esto? Las dos técnicas que estoy considerando hasta ahora son:
Usando la API de Google Elevation
Esta API es relativamente fácil de usar, pero aún requiere algunos pasos que no son triviales debido a sus restricciones de uso: máximo 512 muestras devueltas por solicitud, y el número de puntos a lo largo de la ruta también está limitado (por la longitud de la URL).
Espero que se pueda inventar un filtro de simplificación gpsbabel para reducir la pista a un número adecuado de puntos (no hay punto en que estén más cerca de 100 metros aproximadamente debido a la resolución de los datos de altitud), pero el problema sigue siendo cómo mapear Esta pista simplificada vuelve a 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 permitir que el usuario seleccione los puntos de transección en un mapa manualmente.
Descargando los datos de Shuttle Radar Topography Mission (SRTM) y haciendo la consulta localmente.
Esto es algo con lo que no tengo experiencia, por lo que cualquier sugerencia sobre la factibilidad de esto es bienvenida. ¿Qué tan grande es el conjunto de datos? ¿Qué software SIG se requiere? ¿Se puede crear una secuencia de comandos adecuada? Prefiero no tener que escribir un algoritmo de muestreo e interpolación, que suena como un dolor . ¿Cuál es el rendimiento probable de tal enfoque? (Necesito que sea bastante rápido y se ejecute en un servidor web VPS con memoria limitada ...)
Algunos detalles adicionales para completar la respuesta de @ MerseyViking al volver a descargar los datos de http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp :
Hay 72 x 24 mosaicos, cada uno sobre un archivo zip de 20mb que se descomprime en un archivo TIF de 72.1mb 16bit (6001x6001 píxeles).
Eso es ~ 120 gb, que es más de lo que puedo almacenar. Dejarlo comprimido e ignorar los océanos lo reducirá a unos 10 gb, que todavía es un poco demasiado grande. Cargar los datos a pedido reduciría drásticamente el espacio de almacenamiento necesario, pero el sitio de origen es lento (solo obtenía 10 kb / s), lo que hace que sea poco práctico.