Mais

Trabalhando com geojson e vincent em python?


Quero importar um arquivo geojson para o python para que possa mapeá-lo com um pacote de visualização vincent e mesclar com outros dados em um quadro de dados do pandas.

Para ser mais específico, o referido arquivo geojson é: https://gist.githubusercontent.com/justgrimes/a63e8ec28868d8ce337e/raw/13cd7d8867e579d8b4f6b44f002a99940fba0504/DCNeighborhoodBoundariesWaPo.geojson. É um mapa de DC com bairros, feito por Justin Grimes.

No momento, estou apenas tentando visualizar este mapa no caderno. Este é o meu código:

import vincent map = r'https: //gist.githubusercontent.com/justgrimes/a63e8ec28868d8ce337e/raw/13cd7d8867e579d8b4f6b44f002a99940fba0504/DCNeighborhoodBoundariesWaPo.geojson 'países' {nome_data: 'mapa' url: 'geo_data' "recursos"}] vis = vincent.Map (geo_data = geo_data, scale = 5000) vis

mas não tenho nada na saída. O que eu estou fazendo errado aqui?

Ainda não sei muito sobre GIS e Python.


Você tem que carregar peças Vincent JS comvincent.initialize_notebook ()

Você precisa transformar o GeoJSON em TopoJSON (use o Mapshaper), pois Vincent suporta apenas TopoJSON (ou eu perdi algo também). Veja o documento oficial para entender o TopoJSON

A chaveDCNeighborhoodBoundariesWaPodentro'feature': "DCNeighborhoodBoundariesWaPo"foi deduzido de TopoJSONobjetos

Você não exibe sua visualização comvis.display ()

Veja abaixo o exemplo de trabalho para uma visão geral completa.

import vincent vincent.initialize_notebook () map = r'https: //gist.githubusercontent.com/ThomasG77/9e05f8cd04f0406e4529/raw/1974a51fbe081c83c3c20da7bcdb091a3d6604Poe2/DCNeighbor.jpg 'urdidário' {nome_de_cabo_de_deato_jogo '{nome_de_cabo_de_deato_jogo.js' , 'feature': "DCNeighborhoodBoundariesWaPo"}] vis = vincent.Map (geo_data = geo_data, scale = 150000, translate = [- 40480], projection = "albersUsa") vis.display ()

Um último problema que me resta é o fato de que fui capaz de ampliar para DC, mas sem realmente usar uma receita (mais tentar / testar ...), com traduzir (IMO, Vega / Vincent é uma merda para isso ao ampliar em uma parte específica de um país ou região )

Se você tiver uma maneira melhor de fazer a última parte, ficarei feliz em saber como!


Sem saberVincentmuito bem, eu poderia oferecer que seumapavariável é apenas uma string e não o geojson resultante que você esperava? Ou você pode validar o geojson em http://geojsonlint.com/


Assista o vídeo: Python Geojson, Folium u0026 Leaflet - Create Maps u0026 Routes (Outubro 2021).