Gostaria de obter um perfil de elevação razoavelmente preciso para uma pista gravada com um GPS (que geralmente possui dados de altitude pouco confiáveis e, ocasionalmente, nenhum, dependendo do modelo).
Alguém tem alguma dica sobre a maneira mais fácil de fazer isso. As duas técnicas que estou considerando até agora são:
Usando a API do Google Elevation
Essa API é relativamente fácil de usar, mas ainda exige algumas etapas que não são triviais devido às restrições de uso: no máximo 512 amostras retornadas por solicitação e o número de pontos ao longo do caminho também é limitado (pelo tamanho da URL).
Eu espero que um filtro de simplificação de gpsbabel possa ser inventado para reduzir a faixa a um número adequado de pontos (nenhum ponto neles estando mais próximos do que 100m ou mais devido à resolução dos dados de altitude), mas o problema permanece em como mapear essa faixa simplificada volta ao caminho original, pois os comprimentos serão diferentes.
Ou, se isso não for adequado para automação, a melhor abordagem pode ser permitir que o usuário selecione os pontos de transecção em um mapa manualmente.
Fazendo o download dos dados da SRTM (Shuttle Radar Topography Mission) e fazendo a consulta localmente.
Isso é algo com o qual não tenho experiência; portanto, todas as sugestões sobre como isso é viável são bem-vindas. Qual é o tamanho do conjunto de dados? Qual software GIS é necessário e pode ser script de maneira adequada? Eu preferiria não ter que escrever um algoritmo de amostragem e interpolação, que soa como uma dor . Qual é o desempenho provável de tal abordagem? (Eu preciso que ele seja bem rápido e execute em um servidor VPS com memória limitada ...)
Mais alguns detalhes para esclarecer a resposta de @ MerseyViking ao baixar os dados de http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp :
Existem 72 x 24 blocos, cada um com um arquivo zip de 20mb que é descompactado para um arquivo TIF de 72,1mb e 16 bits (6001x6001 pixels).
Isso é ~ 120 GB, o que é mais do que posso armazenar. Deixá-lo compactado e ignorando os oceanos o reduzirá para talvez 10 GB, o que ainda é um pouco grande demais. O carregamento dos dados sob demanda reduziria drasticamente o espaço de armazenamento necessário, mas o site de origem é lento (eu estava obtendo apenas 10kb / s), tornando isso bastante impraticável.