【发布时间】:2019-02-25 08:03:31
【问题描述】:
我正在尝试制作美国邮政编码内的值的等值线图。我有一个 json 文件,其中包含与每个邮政编码对应的 ZCTA5CE 区域的点。我正在使用 Folium 包。
现在映射工作正常,但速度非常慢——基于我机器上运行的其他项目需要 10 分钟,并且几乎不可能通过滑动和缩放与地图交互——因为 json 文件的大小 ( 482.2M),因此产生的字典。
我要绘制的数据没有所有邮政编码的信息,因此我想删除与那些邮政编码相关联的邮政编码字典中的信息 not 在我的数据中。
我的问题是:如何遍历邮政编码信息的字典并删除不在我指定的邮政编码列表中的字典。
为了更清楚地了解我正在使用的 dict 的结构:
zip_code_geo_dict.keys() 给出:
dict_keys(['type', 'features'])
其中zip_code_geo_dict['type'] 是一个字符串,zip_code_geo_dict['features'] 是一个列表。
现在,zip_code_geo_dict['features'][0] 是:
{'type': 'Feature','geometry': {'type': 'MultiPolygon',
'coordinates': [[[[-88.252618, 32.92675],
[-88.249724, 32.93242],
**bajillions of lines of coordinates here**
[-88.34043199999999, 32.991199]]]]},
'properties': {'ZCTA5CE10': '35442',
'AFFGEOID10': '8600000US35442',
'GEOID10': '35442',
'ALAND10': 610213891,
'AWATER10': 10838694}}
我的源数据可能会发生变化,因此我想要映射的实际邮政编码列表是动态的。也就是说,我总是可以创建一个列表:
zips_of_interest = ['15210', '15222']
如何遍历zip_code_geo_dict 以删除基于zip_code_geo_dict['features']['properties']['ZCTA5CE10'] NOT IN zips_of_interest 的坐标信息?有必要保留总体 dict 结构,以便过滤后的版本 zip_code_geo_dict['features'] 与原始版本位于同一“位置”(它需要是一个 dict,作为较大的 zip_code_geo_dict 对象中的第二个键)。
我认为需要注意的是,我想保留 dict 的基本结构,因为我将把它传递给 Folium 中的 choropleth 方法。
【问题讨论】:
-
感谢回答的人。我更新了问题以使 dict 的结构更清晰。
标签: python python-3.x geo folium