从纬度/经度表中在地图上为python中的热图绘制自定义多边形?

时间:2018-07-18 13:26:27

标签: python plotly geopandas cartopy

我有一个熊猫,其中有一列分别表示邮政编码,sub_region,索引,纬度,经度,center_lat,center_long。其中子区域是邮政编码的连续子区域,索引是创建多边形的经/纬度点的顺序,纬度和经度列用于每个点,中心纬度和中心经度是每个子项的中心区域。我正在尝试为每个分区创建一个热图。我一直在研究地块,Cartopy和Geopandas,但到目前为止还无法完成这项工作。是否有人对此有任何想法或想法?

1 个答案:

答案 0 :(得分:0)

geometry = [Point(xy) for xy in zip(zip_shape.latitude, zip_shape.longitude)]
df1 = zip_shape.drop(['latitude', 'longitude'], axis=1)
gdf1 = GeoDataFrame(df1, geometry=geometry).sort_values(['zip_code','subregion','indx'])

gdf1['geometry']=gdf1['geometry'].apply(lambda x: x.coords[0])
df2 = gdf1.groupby(['zip_code','subregion'])['geometry'].apply(lambda x: Polygon(x.tolist())).reset_index()

gdf2 = gpd.GeoDataFrame(df2, geometry = 'geometry')
gdf.to_file('Geo1.shp', driver='ESRI Shapefile')

gdf2.plot()