Compartilhando um mapa interativo Folium com marcadores incorporados

8

Eu tenho experimentado alguns pacotes Python que têm grande potencial para minha pesquisa de dissertação. Desde que eu uso pandas para praticamente tudo, geopandas foi uma escolha natural para trabalhar com dados espaciais (dentro da faixa de capacidade do pacote), e as propriedades interativas do fólio são ... doces.

De qualquer forma, quero poder compartilhar os mapas que fiz com outras pessoas que não estão usando ou mesmo familiarizadas com o IPython Notebook. Meu caso de teste está plotando a localização das câmeras de trânsito em DC. (O shapefile é fornecido ao público por DCGIS via opendatadc.org , uma nova e crescente fonte de informações District). O Notebook Visualizador pareceu uma escolha óbvia, mas como pode ser visto da minha prestados essência , os mapas são: 1) estática e 2) exibidos apenas em sua forma final. (Os marcadores não foram adicionados até o último mapa, mesmo que apareçam no primeiro.)

Então pensei que poderia aproveitar o incrível visualizador de Mike Bostock para gráficos interativos, bl.ocks.org . Estou faltando alguma coisa, no entanto, porque enquanto meu mapa agora é interativo, os marcadores desapareceram.

Alguém já encontrou esse problema? Qualquer ajuda certamente seria apreciada.

Marvin Ward Jr
fonte

Respostas:

4

Ainda não consegui carregar os arquivos json com o nbviewer, mas aqui estão duas coisas que funcionam em situações semelhantes:

Se você usar apenas map.simple_marker()funções semelhantes, é possível incorporar completamente o HTML do mapa no notebook. Ainda não consegui que isso funcionasse com o json, mas parece que a próxima versão do folium permite modelos, para que possa ser incorporada no futuro. Eu tenho um exemplo disso aqui:

http://nbviewer.ipython.org/gist/bburky/7763555/folium-ipython.ipynb

Além disso, você está executando um SimpleHTTPServer, mas não precisa. Você pode usar o files/URL mágico do IPython para se referir aos arquivos no diretório em que o IPython foi iniciado. Então você pode usar um iframe com uma fonte files/index.html. No entanto, não consegui fazer isso funcionar no Notebook Viewer. Teoricamente, você deve poder incluir vários arquivos na essência e fazê-la funcionar.

bburky
fonte
1
Desculpe o atraso. Era exatamente isso que eu estava procurando quando fiz essa pergunta. O inline certamente funcionará, mas se você também incorporar ao trabalho, eu estaria interessado em um comentário de acompanhamento. Muito apreciado!
Marvin Ward Jr
Ótimo. Houve alguma atividade recente no github do folium, espero que seja possível em breve. O método de incorporação realmente funciona, mas não no visualizador de notebooks.
bburky
Parece que o visualizador de notebook foi atualizado, então o método de incorporação também funciona agora. Carrega com êxito o json.
bburky