加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

pandas – Python folium GeoJSON地图不显示

发布时间:2020-12-20 13:45:27 所属栏目:Python 来源:网络整理
导读:下午好, 我正在尝试使用geopandas,pandas和folium的组合来创建一个我可以嵌入到网页中的多边形地图. 出于某种原因,它没有显示并想知道是否有人可以提供帮助. 我采取的步骤: 1)从英国的议会边界操作系统中获取.shp. 2)然后我使用geopandas将投影更改为epsg =
下午好,

我正在尝试使用geopandas,pandas和folium的组合来创建一个我可以嵌入到网页中的多边形地图.

出于某种原因,它没有显示并想知道是否有人可以提供帮助.

我采取的步骤:

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 ],... ] ] ] } },...

那么我想要做的是将其与以下格式的选区的数据框进行网格化,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()函数成功创建了一个地图,但多边形不会渲染.

有谁能建议任何调试步骤?

如果有人需要,我永远不清楚如何添加完整的数据文件,所以请告诉我.

感谢您提前的时间.

解决方法

@ elksie5000,试试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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读