Folium 和 Geopandas 对象

如何解决Folium 和 Geopandas 对象

我在使用 geopandas 数据框绘制 folium Choropleth 地图时遇到问题。

我的数据框的结构如下:

Attribute          int64
geometry        geometry
Hex_ID            object
dtype: object
| Attribute | geometry             | Hex_ID        |
|:----------|:---------------------|--------------:|
|500        |MULTIpolyGON(((...    |892681a02affff |
|1000       |MULTIpolyGON(((...    |892681b0187ffff|
|...        |...                   |...            |
|5000       |MULTIpolyGON(((...    |892681a9c03ffff|

现在我可以用大叶草来绘制这个图。下面我张贴了这张图片

m = folium.Map(location=location,zoom_start=13)
folium.GeoJson(data=gdf.geometry).add_to(m)

但是,尝试绘制等值线会导致错误

m = folium.Map(location=location,zoom_start=13)
folium.Choropleth(
    geo_data=gdf,name='Choropleth',data = gdf,columns=['Attribute','Hex_ID'],key_on='feature.properties.Attribute',fill_color='YlGnBu',fill_opacity=1,line_opacity=0.2,legend_name='Attribute').add_to(m)
>>>> TypeError                                 
Traceback (most recent call last)
<ipython-input-290-6c7f7f467ef4> in <module>
     11     fill_opacity=1,12     line_opacity=0.2,---> 13     legend_name='Attribute').add_to(m)
     14 

~\anaconda3\lib\site-packages\folium\features.py in __init__(self,geo_data,data,columns,key_on,bins,fill_color,nan_fill_color,fill_opacity,nan_fill_opacity,line_color,line_weight,line_opacity,name,legend_name,overlay,control,show,topojson,smooth_factor,highlight,**kwargs)
   1211         if color_data is not None and key_on is not None:
   1212             real_values = np.array(list(color_data.values()))
-> 1213             real_values = real_values[~np.isnan(real_values)]
   1214             _,bin_edges = np.histogram(real_values,bins=bins)
   1215 

TypeError: ufunc 'isnan' not supported for the input types,and the inputs Could not be safely coerced to any supported types according to the casting rule ''safe''

我认为这可能是由于有多个多边形或可能是因为 Hex_ID 作为对象被传递。

我也尝试将其转换为 geoJson,但似乎无法正确执行。

这样会报错。

gpd.GeoSeries([gdf]).__geo_interface__
>>>> ValueError: UnkNown geometry type: featurecollection

但是这样做会让我遍历每一行并以某种方式将它们串在一起,我不知道如何。

gpd.GeoSeries([gdf.geometry[0]).__geo_interface__

Here is an image of my folium map

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?