Eu tenho várias centenas de pontos de dados georreferenciados e os relacionamentos desse ponto para outros pontos. Estou tentando descobrir a melhor maneira de visualizar isso em um mapa interativo (possivelmente usando o google maps).
Uma ideia que tive foi que, quando um usuário clica em um ponto, ele exibe todos os links desse ponto para os pontos relacionados.
Eu gostaria de receber sugestões ou exemplos de como fazer isso da melhor maneira.
Tenho experiência no uso de ArcGIS, QGIS, Python e uma pequena quantidade de javascript.
Respostas:
Existem métodos diferentes, dependendo do que você deseja realizar, da quantidade de dados que possui e do quanto deseja. Sua ideia é uma boa ideia e provavelmente funcionaria bem. É claro que outra resposta óbvia é mostrar todos os relacionamentos o tempo todo, mas isso adicionaria muita confusão visual. Talvez um bom compromisso seja sempre mostrar todos os relacionamentos, mas em uma cor semitransparente, para que eles sejam pouco visíveis. Então, quando um usuário clica ou passa o mouse sobre um ponto de dados, os links desse ponto se tornam opacos.
Uma coisa que você pode fazer para tornar os mapas um pouco mais agradáveis e intuitivos é usar linhas curvas em vez de linhas retas para conectar-se aos pontos de dados. Isso funciona em duas dimensões ou três dimensões . Você também pode fazer coisas interessantes, brincando com as cores e o nível de transparência das linhas .
Uma solução muito agradável e elegante é o mapa de fluxo . Essa visualização também seria mais interessante se você adicionar a interatividade de poder passar o mouse ou clicar em um ponto de dados e ver os pontos de dados de conexão.
Permitirei que outras pessoas falem com o ArcGIS e o QGIS, mas eu recomendaria tentar o protovis . É uma linguagem específica de domínio para visualização, construída sobre o javascript, por isso deve facilitar algumas dessas visualizações. A página Mapa de Fluxo inclui código em Java, que você pode traduzir para outros idiomas / plataformas. Provavelmente não seria muito difícil traduzir o código do Flow Map para o Protovis, embora eu ainda não tenha tentado.
fonte
Duas ferramentas que eu poderia sugerir para alguma exploração:
Biblioteca python NetworkX ;
Plataforma Gephi , especialmente com o plug-in GeoLayout .
Nas duas soluções, você pode especificar coordenadas geográficas como a posição dos nós e obter boas representações de fluxo por intensidade e / ou direção.
Nenhuma dessas ferramentas oferece fácil exportação para o mapa da web, mas com um pouco de hackers, você provavelmente pode traduzir a saída de uma delas para o KML como um começo.
fonte
Jay cobriu muitas das sugestões que pensei imediatamente do ponto de vista da visualização. No entanto, tem que ser uma rede? Dependendo das necessidades do usuário e do agrupamento dos dados, uma solução melhor pode ser mostrar relacionamentos com o código de cores, e não com as linhas.
Minha sugestão: quando um usuário clica em um ponto, todos os pontos relacionados se intensificam em cores / brilho ligado e desligado (como o indicador de sono em um Mac adormecido) / obtém uma auréola colorida. Clique no ícone ou em outro ponto e o primeiro conjunto de relacionamentos será desativado. Isso acabaria com a confusão visual de linhas.
Eu suspeito que essa solução funcionaria melhor se: - existem muitos relacionamentos (podem acabar parecendo uma luta de espaguete) - os pontos estão agrupados fortemente, as linhas serão menos fáceis de ver se os pontos estão próximos
Você poderia elaborar sobre cluster e número total de relacionamentos?
fonte
Referência: SharpMap (projeto de código aberto para GIS)
fonte
Aqui você pode encontrar algumas informações sobre as linhas de desejo.
Na imagem, você pode ver muitos links para pontos relacionados usando o plugin FlowMapper .
Sei que não responde completamente à sua pergunta, mas espero que possa ajudar em algo
fonte
Eu estava pensando nisso recentemente e me deparei com isso ...
http://hint.fm/wind/
No meu caso, estou olhando para estudantes que mudam de escolas secundárias para universidades, portanto, lembre-se de que há muitos agrupamentos em andamento, e o movimento ocorre apenas em uma direção. Mas acho que a capacidade de ver movimento na rede ajudaria os usuários a ver a estrutura geral.
fonte