“如何修复”;属性错误:';str';对象没有属性';设置默认值'&引用;在python folium geoJSON代码中?

“如何修复”;属性错误:';str';对象没有属性';设置默认值'&引用;在python folium geoJSON代码中?,python,geojson,folium,Python,Geojson,Folium,如何让folium接受似乎导致此错误的geoJSON输入 尝试做一个choropleth映射,得到了相同的错误,所以尝试在一个基本的folium映射上用JSON文件做一个geoJSON覆盖,我通过获取一个较大的geoJSON文件的子集创建了一个JSON文件。在Juypter笔记本上工作。JSON文件似乎具有正确的结构 msp_map=folium.map(位置=[纬度,经度],缩放开始=10) 黄叶( msp_zipcode_geo, name='geojson' ).添加到(msp\U地图)

如何让folium接受似乎导致此错误的geoJSON输入

尝试做一个choropleth映射,得到了相同的错误,所以尝试在一个基本的folium映射上用JSON文件做一个geoJSON覆盖,我通过获取一个较大的geoJSON文件的子集创建了一个JSON文件。在Juypter笔记本上工作。JSON文件似乎具有正确的结构

msp_map=folium.map(位置=[纬度,经度],缩放开始=10)

黄叶( msp_zipcode_geo, name='geojson' ).添加到(msp\U地图)

msp_地图


AttributeError回溯(最近一次呼叫上次) 调用中的~/conda/lib/python3.6/site-packages/IPython/core/formatters.py(self,obj) 343方法=获取真实方法(obj,self.print方法) 344如果方法不是无: -->345返回方法() 346不返回 347其他:

~/conda/lib/python3.6/site-packages/folium/map.py in(self,**kwargs) 249自我。\u父母=无 250其他: -->251 out=self.\u parent.\u repr\u html.(**kwargs) 252返回 253

~/conda/lib/python3.6/site-packages/branca/element.py in(self,**kwargs) 326 327 """ -->328 html=self.render(**kwargs) 329 html=“数据:文本/html;字符集=utf-8;base64,“+base64.b64encode(html.encode('utf8'))).decode('utf8')#noqa 330

渲染中的~/conda/lib/python3.6/site-packages/branca/element.py(self,**kwargs) 319“呈现元素的HTML表示形式。”“” 320表示名称,子项在self中。\u children.items(): -->321子级渲染(**kwargs) 322返回self.\u template.render(this=self,kwargs=kwargs) 323

渲染中的~/conda/lib/python3.6/site-packages/folium/map.py(self,**kwargs) 336''),name='map_style') 337 -->338 super(LegacyMap,self).render(**kwargs) 339 340

渲染中的~/conda/lib/python3.6/site-packages/branca/element.py(self,**kwargs) 631 632表示名称,self.\u children.items()中的元素: -->633元素。渲染(**kwargs)

渲染中的~/conda/lib/python3.6/site-packages/branca/element.py(self,**kwargs) 627 script=self.\u template.module.dict.get('script',无) 628如果脚本不是无: -->629图.脚本.添加子元素(脚本(self,kwargs)), 630 name=self.get_name()) 631

调用中的~/conda/lib/python3.6/site-packages/jinja2/runtime.py(self,*args,**kwargs) 573(self.name,len(self.arguments))) 574 -->575返回self.\u调用(参数、自动转义) 576 577 def_调用(self、arguments、autoescape):

调用中的~/conda/lib/python3.6/site-packages/jinja2/asyncsupport.py(self、arguments、autoescape) 108 def_调用(self、arguments、autoescape): 109如果不是self.\u environment.is\u async: -->110返回原始_调用(self、arguments、autoescape) 111返回异步调用(self、arguments、autoescape) 112返回更新\u包装(\u调用,原始\u调用)

调用中的~/conda/lib/python3.6/site-packages/jinja2/runtime.py(self、arguments、autoescape) 577 def_调用(self、arguments、autoescape): 578“异步实现正在替换此方法。”“” -->579 rv=self.\u func(*参数) 580如果自动转义: 581 rv=标记(rv)

在宏中(l_1_this,l_1_kwargs)

调用中的~/conda/lib/python3.6/site-packages/jinja2/runtime.py(\u Context\u self,\u Context\u obj,*args,**kwargs) 260参数=(u self.environment,)+args 261试试: -->262返回对象(*args,**kwargs) 263除停止迭代外: 264 return\uu self.environment.undefined('值未定义是因为'

样式数据中的~/conda/lib/python3.6/site-packages/folium/features.py(self) 563 564对于self.data['features']中的特征: -->565 feature.setdefault('properties',{}).setdefault('style',{}).update(self.style_函数(feature))#noqa 566 feature.setdefault('properties',{}).setdefault('highlight',{}).update(self.highlight_函数(feature))35;noqa 567返回json.dumps(self.data,sort_keys=True)

AttributeError:“str”对象没有属性“setdefault”


希望获得geoJSON文件中指定的覆盖县边界的地图。

发现数据的key_on列中存在数据类型不匹配,其中geoJSON文件中的数据类型为字符串类型,而数据集文件中的数据类型为int64。转换数据集文件更容易,并为每个polygo生成具有正确颜色范围的choroplethgeoJSON集合中的n

我还发现我创建的geoJSON文件是更大的geoJSON文件的一个子集,它的不同之处在于,我将一些数据存储为dict,而这些数据本应该是list