Neste inverno, planejo rastrear meu esqui alpino / snowboard usando um GPS. A maior parte do meu percurso ocorrerá no mesmo resort. Eu gostaria de poder criar uma espécie de "mapa de calor" que mostre a quantidade de execuções que eu fiz em uma determinada área. À medida que adiciono mais e mais traços de GPS ao meu banco de dados, meu objetivo seria ver uma espécie de mapa de calor linear das áreas mais percorridas. Dada a natureza do esqui alpino, seria de esperar que as linhas de teleférico em subidas fossem as "mais quentes", porque serão os únicos lugares visitados repetidamente.
Dado que 1) minha pista não será sempre a mesma e 2) a área coberta após uma "corrida" pode ter algumas centenas de metros de largura, o que pode ser a melhor maneira de analisar esses dados "lineares" para criar uma classificação do mapa de calor? Meu pensamento era amortecer as linhas e, em seguida, cruzar os polis para fazer uma espécie de coisa do diagrama de Venn. Minha preferência é usar tecnologias de código aberto. Eu tenho o QGIS e o PostGIS carregados e disponíveis.
ATUALIZAÇÃO : Em relação à resposta de @ blah238, eu estava pensando em algo que poderia "coletar" o número de passes ("corridas") em uma área e simbolizar a contagem. Conceitualmente, isso seria semelhante ao ArcGIS " Collect Events " (mas para linhas, não pontos) ou Collapse Dual Lines To Centerline (mas para várias linhas aproximadamente na mesma área).
Um exemplo mais visual de um conceito semelhante pode ser um mapa de fluxo de tráfego, onde áreas altamente congestionadas equivaleriam a áreas / pistas de esqui "muito viajadas":
Li as seguintes perguntas que podem dar algumas idéias, mas elas realmente não abordam o que estou tentando realizar:
Trajetórias de cluster (dados GPS de pontos (x, y)) e Mineração dos dados
fonte
Respostas:
Eu trabalhei um pouco nisso no GeoTools / GeoServer estendendo a transformação de renderização de mapa de calor para suportar outras geometrias que não pontos.
Ainda não terminou, mas você pode obter o ramo de recursos do meu repositório no GitHub .
A captura de tela é das trilhas de GPS de quando trabalhei como motorista de entrega de pizza.
fonte
Aqui está um bom tutorial para fazer exatamente isso usando o MapBox e o TileMill :
fonte
aqui está minha abordagem simples:
As três etapas acima levarão 5 minutos e aqui está o resultado:
fonte
Aqui está a minha abordagem no QGIS. Era para um conjunto de rotas de ônibus, e eu queria identificar quais estradas apresentavam maior densidade de rotas de ônibus.
E voilà.
fonte
Percebo que este é um post bastante antigo, no entanto, me deparei com ele fazendo pesquisas semelhantes. Eu desenvolvi um modelo / fluxo de trabalho bastante simples que pode realizar exatamente isso no ArcGIS (possivelmente QGIS, mas ainda não o implementei).
Se você tiver um arquivo GPX ou TCX especificamente (qualquer arquivo de ponto funciona), ele pode ser simplesmente aberto no Excel, depois convertido em um CSV e levado ao ArcGIS. Usando a
Points to Line
ferramenta, você converte os pontos GPS do CSV em trajetórias, classificando os pontos por tempo (você também pode agrupá-los usando um identificador exclusivo, que nesse caso pode ser o resort, a rota ou a data específica do evento - por exemplo, Dia1, 2, etc). Isso criará uma única camada de polilinha (a menos que você as agrupe pelo ID exclusivo). Você então usa aSplit Line at Vertices
ferramenta que cria segmentos de linha entre cada ponto sucessivo. A partir daí, você usa aLine Density
ferramenta que conta o número de linhas que passam por uma célula, dado um tamanho de célula e um raio de pesquisa especificados, e produz uma varredura. Essa varredura pode ser simbolizada como um mapa de calor.Eu tenho e continuo implementando isso com frequência e incluí um exemplo de resultado abaixo:
fonte
Track Intervals to Line
e asLine Density
ferramentasNosso uso disso envolve encaminhar os alunos para a escola usando o PGRouting.
Os resultados de uma rota individual são, em sua essência, um conjunto de nós (que são transformados em linhas ao unir opcionalmente as arestas relacionadas).
Se você encaminhar vários alunos para uma única escola, a coleção de nós de saída pode ser exibida no QGIS usando o processador de mapa de calor, que mostra os 'pontos ativos' das rotas coletadas para a escola (veja abaixo).
Esses mapas foram usados para informar áreas que deveriam ser direcionadas para uma infraestrutura de segurança adicional, como travessias, sinais, sinais etc.
fonte
Crie uma grade de grade, converta gpsdata em shapefiles, poligonize as linhas, extraia dados de pontos x, y de tabelas, faça uma densidade de superfície ou faça um mapa de calor usando a prática padrão neste momento. Em seguida, você pode mesclar com dados vetoriais lineares para obter valores de pixel em uma exibição raster ou para processamento numérico adicional.
fonte
A maioria das pessoas (inclusive eu) olha para um arquivo GPX e o considera uma sequência de posições (pontos), enquanto pode ser perfeitamente visto como uma sequência de segmentos de linha .
Sua formulação de problemas envolve um "mapa de calor" para que você possa inspecionar visualmente suas trajetórias, para que haja uma maneira bastante simples de ignorar a parte complexa de processamento de números, delegando-a diretamente a um mecanismo de plotagem.
Quando você diz "amortecer as linhas", isso seria a espessura da linha. Quando você diz "colecione os passes", isso significaria plotar repetidamente com linhas transparentes , "construindo" cada vez mais cores.
Portanto, sugiro que você plote cada trajetória como uma única polilinha com espessura suficiente para que haja sobreposição (depende do zoom, então você deve definir a espessura na distância do mapa em vez de pixels) e com uma opacidade bastante baixa digamos 0,05, em preto.
É importante não plotar cada segmento, porque, se você fizer isso, suas extremidades se sobreporão, dobrando sua opacidade e criando um "ponto" de cor mais forte.
No final, você obterá uma imagem em escala de cinza na qual poderá aplicar o mapa de cores de sua escolha.
Eu provavelmente faria isso usando Python / Cairo, mas Python / Matplotlib faria, e Html / Canvas ou Html / SVG (ou SVG programático) certamente o fariam.
O resultado final dependeria apenas da resolução da mídia de saída.
fonte
Estou ciente de que essa é uma pergunta bastante antiga, mas como esta postagem é um dos principais resultados de pesquisa deste tópico, pensei em publicar um link para um fluxo de trabalho para a produção de mapas de calor de polilinha no ArcGIS que responde a essa pergunta, como atualmente não há solução para o ArcGIS neste post.
https://luke-webber.github.io/polyline-heatmap/
fonte