【问题标题】:Insert a geovoronoi library polygon to folium map in Python在 Python 中将 geovoronoi 库多边形插入到叶图
【发布时间】: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


    【解决方案1】:

    polyShapes, puntos = voronoi_regions_from_coords(coords, milagroShape)

    polyShapes 是一个字典,其中的键是无意义的 (?) 数字,而值是有形状的多边形。您可以将它们加载到新的 gpd 数据帧中。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 2018-03-31
    • 1970-01-01
    • 2017-01-12
    • 2018-06-13
    • 2014-04-20
    • 2021-01-31
    相关资源
    最近更新 更多