2014-10-30 2 views
4

Добрый день,Python лепестка GeoJSON карта не отображается

Я пытаюсь использовать комбинацию geopandas, панд и листка, чтобы создать многоугольник карту, которую можно встраивать включить в веб-страницы.

По какой-то причине он не отображается и не удивляется, может ли кто-нибудь помочь.

шагов я взял:

1) Захваченный в .shp от ОС Великобритании для парламентских границ.

2) Я тогда использовал geopandas изменить проекцию на EPSG = 4326, а затем экспортированный в GeoJSON, который имеет следующий формат:

{ "type": "Feature", "properties": { "PCON13CD": "E14000532", "PCON13CDO": "A03", "PCON13NM": "Altrincham and Sale West" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -2.313999519326579, 53.357408280545918 ], [ -2.313941776174758, 53.358341455420039 ], [ -2.31519699483377, 53.359035664493433 ], [ -2.317953152796459, 53.359102954309151 ], [ -2.319855973429864, 53.358581917200119 ],... ] ] ] } },... 

Тогда то, что я хотел бы сделать, это сетка это с dataframe округов в следующем формате, DTY:

constituency  count 
0 Burton   667 
1 Cannock Chase 595 
2 Cheltenham  22 
3 Cheshire East 2 
4 Congleton  1 
5 Derbyshire Dales 1 
6 East Staffordshire 4 

import folium 
mapf = folium.Map(width=700, height=370, tiles = "Stamen Toner", zoom_start=8, location=  ["53.0219392","-2.1597434"]) 


mapf.geo_json(geo_path="geo_json_shape2.json", 
       data_out="data.json", 
       data=dty, 
       columns=["constituency","count"], 
       key_on="feature.properties.PCON13NM.geometry.type.Polygon", 
       fill_color='PuRd', 
       fill_opacity=0.7, 
       line_opacity=0.2, 
       reset="True") 

выход из mapf выглядит следующим образом:

mapf.json_data

{'../../Crime_data/staffs_data92.json': [{'Burton': 667, 
    'Cannock Chase': 595, 
    'Cheltenham': 22, 
    'Cheshire East': 2, 
    'Congleton': 1, 
    'Derbyshire Dales': 1, 
    'East Staffordshire': 4, 
    'Lichfield': 438, 
    'Newcastle-under-Lyme': 543, 
    'North Warwickshire': 1, 
    'Shropshire': 17, 
    'South Staffordshire': 358, 
    'Stafford': 623, 
    'Staffordshire Moorlands': 359, 
    'Stoke-on-Trent Central': 1053, 
    'Stoke-on-Trent North': 921, 
    'Stoke-on-Trent South': 766, 
    'Stone': 270, 
    'Tamworth': 600, 
    'Walsall': 1}]} 

Хотя функция mapf.create_map() успешно создает карту, полигоны не визуализируются.

Может ли кто-нибудь предложить какие-либо шаги отладки?

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

Благодарим вас за ваше время заранее.

+0

Любой шанс размещения живую демонстрацию этого где-то для отладки? – snkashis

ответ

1

@ elksie5000, Try mplleaflet это очень просто.

pip install mplleaflet 

в Jupyter/IPython ноутбук:

import mplleaflet 
ax = geopandas_df.plot(column='variable_to_plot', scheme='QUANTILES', k=9, colormap='YlOrRd') 
mplleaflet.show(fig=ax.figure) 
Смежные вопросы