【发布时间】:2021-08-27 01:34:28
【问题描述】:
要使用 geovoronoi 库创建 Voronoi 多边形,我使用:
polyShapes, puntos = voronoi_regions_from_coords(coords, milagroShape)
coords 是一个包含地图位置的 geoDataFrame 对象,milagroShape 是一个 polygon.shp。现在,要绘制 Voronoi,请使用以下代码:
fig, ax = subplot_for_map(figsize=[14, 8])
plot_voronoi_polys_with_points_in_area(ax, milagroShape, polyShapes, coords, puntos)
ax.set_title('Diagrama de Voronoi')
plt.tight_layout()
plt.show()
现在它可以工作了,图形显示在屏幕上,但它只是一个 mathplotlib 图。
我想我必须将其转换为地理数据框对象(为此,我使用 geopandas 库)。 这是我需要放置 Voronoi 图的地图:
只设置了城市区域的多边形,但我也想设置 Voronoi。 要添加城市区域,我使用了以下代码:
for _, r in milagro.iterrows(): #milagro is a geodataframe object
#sim_geo = gpd.GeoSeries(r['geometry'])
sim_geo = gpd.GeoSeries(r['geometry']).simplify(tolerance=0.0001)
geo_j = sim_geo.to_json()
geo_j = folium.GeoJson(data=geo_j,
style_function=lambda x: {'fillColor': 'orange'})
#folium.Popup(r['Name']).add_to(geo_j)
geo_j.add_to(mapaMilagro) #mapaMilagro is a folium map object
我用于项目的库是:
import folium #map library
import pandas as pd #Data Frame
import matplotlib.pyplot as plt #to plot graphs
import condacolab #To install some libraries
import geopandas as gpd #Geo Data Frame library
from shapely.ops import cascaded_union #I don´t know what is this xd
from geovoronoi.plotting import subplot_for_map, plot_voronoi_polys_with_points_in_area
from geovoronoi import voronoi_regions_from_coords, points_to_coords
【问题讨论】:
标签: python google-colaboratory folium voronoi