2017-02-08 18 views
3

Я пытаюсь отобразить следующий файл geojson в фолиевой карте в Python, но он просто показывает пустую карту без данных.Данные GeoJSON, не отображающиеся в Python folium map

Вот шаги, я попытался:

  1. Я попытался с помощью кода питона ниже, но ничего не отображается.

  2. Я попробовал другие файлы GeoJSON в репозитории GitHub ниже, используя один и тот же код и данные отображаются без какого-либо вопроса, так это выглядит, как мои питон коды прекрасно

  3. Я открыл «census_tracts_2010.geojson» файл в GitHub и Mapshaper данные обнаружился совершенно без какого-либо вопроса, так что он не похож на файл GeoJSON поврежден

может кто-нибудь пожалуйста, дайте мне знать, как я могу это исправить?

GeoJSON файл: https://github.com/dwillis/nyc-maps/blob/master/census_tracts_2010.geojson

Python код:

import folium 
m = folium.Map(location=[40.66393072,-73.93827499], zoom_start=13) 
m.choropleth(geo_path="census_tracts_2010.geojson") 
m.save(outfile='datamap.html') 

Большое спасибо!

+0

Вы не получили файл html? Я просто сделал, и он создается. Я использую Anaconda Python 3.5.2. Но если вы имеете в виду красные точки, которые появляются в Mapshaper - нет, я тоже не получаю их. – Amorpheuses

+0

Нет, я использовал код выше, и я получил только пустую карту Нью-Йорка, ни один из полигонов переписи не появился. Если это имеет значение, я использую folium 0.2.1, Jupyter Notebook, Anaconda Python 3.5.2 в Windows 10. – vkc

ответ

2

Этот файл не является GeoJSON это TopoJson. Вместо этого вам нужно использовать folium.TopoJson.

import folium 

m = folium.Map(location=[40.66393072,-73.93827499], zoom_start=13) 

folium.TopoJson(
    open('census_tracts_2010.geojson'), 
    object_path='objects.nyct2010', 
).add_to(m) 

m 
+0

Спасибо большое! Я не понимал, что это Топоджон, теперь он отлично работает. Я использовал это в конце, поскольку я собираюсь построить choropleth: 'm.choropleth (geo_path ="/share/PythonProjects/nyc-maps/census_tracts_2010.geojson ", topojson =" objects.nyct2010 ")' – vkc

1

Вам необходимо открыть файл geojson.

m.choropleth(open("census_tracts_2010.geojson")) 

Посмотрите на примеры https://folium.readthedocs.io/en/latest/quickstart.html

+1

Я просмотрел примеры, и я попробовал, что вы предложили, но я получил эту ошибку: «TypeError: expected str, bytes или os.PathLike, а не _io.TextIOWrapper ". Я также пробовал m.choropleth (geo_str = open ("census_tracts_2010.geojson"). Read()), и я получил ту же пустую карту NYC. Вы пытались это сделать, и это работает для вас (показывая полигоны переписных участков)? – vkc

1

Попробуйте это: m.add_child(folium.GeoJson(data = open("census_tracts_2010.geojson"))), а затем вызвать m.save() весело

+0

Я просто попробовал, но у меня все еще была пустая карта Нью-Йорка, смогли ли вы увидеть многоугольники трактата переписи на карте? Благодарю. – vkc

 Смежные вопросы

  • Нет связанных вопросов^_^