Calculando estatisticamente a estrada real a partir do conjunto de trilhas de GPS?

18

Participo de um clube de ciclismo de longa distância e começamos a coletar dados de GPS rotineiramente de nossos ciclistas.

Meu interesse é calcular "a trajetória real" para eventos futuros com base nos dados GPS acumulados nas mesmas estradas. Basicamente, isso significaria passar algumas faixas pré-selecionadas para um algoritmo, e o algoritmo geraria pontos a uma taxa de amostragem apropriada (a uma distância apropriada entre si, dependendo das curvas da estrada). Descartarei os carimbos de data e hora, levando em consideração apenas as informações espaciais da trilha.

Quais métodos de algoritmo / estatística eu poderia usar? Não uso nenhum pacote GIS e pretendo implementá-lo em Python.

Abaixo, alguns conjuntos de trajetórias de amostra:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

heltonbiker
fonte
Projeto interessante - bastante semelhante a um algoritmo de inspeção que escrevi anos atrás. Como sou preguiçoso, só posso oferecer algumas dicas. Os fatores mais importantes são a direção da viagem, a qualidade do sinal e a sua velocidade (ou seja, se você está parado, não é uma estrada). Melhor primeiro selecionar os pontos que estão muito distantes dessa maneira. Fora isso, eu aplicaria um algoritmo de suavização (tente DP) e, em seguida, calcule a média das linhas.
Nagytech # 4/13
DP = Programação dinâmica, certo? A Wikipedia me deu uma longa lição de casa sobre isso por hoje à noite ... Obrigado por agora!
precisa saber é o seguinte
Um interessante, pergunta relacionada é esta: gis.stackexchange.com/questions/42224/...
heltonbiker
Algo que realmente vale a pena verificar são as suas configurações de GPS - algumas unidades de GPS "encaixam" sua posição na estrada mais próxima no banco de dados de GPS, mesmo que a estrada real esteja a 10 m do lado.
Simbamangu
@ Simbamangu que seria uma coisa muito agradável de se ter. Eu acredito que o software que estou usando hoje em um telefone Android não tem isso. Mas, de qualquer forma, a maioria das minhas faixas foi coletada por outras pessoas nos últimos meses. Obrigado pela dica!
Heltonbiker # 6/13

Respostas:

11

Chris Brunsdon deu um artigo sobre este assunto na conferência GeoComputation de 2008 - veja http://www.geocomputation.org/2007/1B-Algorithms_and_Architecture1/1B2.pdf

No artigo, ele discute como aplicar a Análise de Curva Principal (Hastie e Stuetzle 1989) e faz algumas sugestões sobre como aumentar a robustez do método. Uma pesquisa mais aprofundada leva a uma discussão sobre uma ferramenta OSM chamada osm-makeroads que pode muito bem resolver seu problema (ou, pelo menos, começar).

Ian Turton
fonte
Vamos dar uma olhada e dar um feedback em breve! Obrigado por ora!
precisa saber é o seguinte
4
+1 boa referência. No entanto, ele precisa ser trabalhado, porque ignora um problema fundamental dos rastreamentos GPS: os erros não são independentes de um ponto para o outro. Em vez disso, o erro de GPS cometido em um ponto tende a ser muito semelhante ao erro cometido no próximo ponto no mesmo rastreamento. Você pode ver isso nas ilustrações de Brunsdon: os pontos problemáticos (periféricos) estão claramente em um ou dois traços excepcionais; eles não são esporádicos nem aleatórios. Portanto, há um grande potencial de melhoria, modelando essa autocorrelação e ajustando-a no algoritmo.
whuber
2
@whuber concordou. Algo que a maioria dos algoritmos não considera (as Curvas Principais são uma delas, como eu já descobri), é que os conjuntos de trilhas de GPS não são nuvens de pontos, mas nuvens de "cadeia de linhas". Eles são de fato vetores conectados ou algo assim. Tomando em consideração somente os pontos gera uma tendência para as faixas com taxa de amostragem mais elevado, em vez das regiões em que as linhas de faixas distintas são mais densa ...
heltonbiker
2
Esta conversa continua em um segmento relacionado em stats.stackexchange.com/questions/69329 .
whuber
@whuber Nesta resposta , escrevi uma idéia que me veio à mente para fazer isso com a ajuda de um mapa de calor. Agradeço todas as sugestões.
Stefan