Я пытаюсь наложить диаграмму Вороного на фолиевую веб-карту. Я создаю карту Вороного с помощью SciPy, а затем преобразую ее в Json. Когда я генерирую карту, там находится вся карта, кроме слоя Вороного, но этот слой действительно отображается в Layer Control.
Я предполагаю, что ошибка где-то в том, как создается файл Json. Я искал, но без ошибки, я не смог ничего найти
Генерация карты фолиума
m = folium.Map(location=[43.521, -120.587],
zoom_start = 7.45,
tiles = 'Mapbox Bright')
tooltip = 'Click for detailed information'
for point in range(len(locationList)):
folium.Marker(locationList[point], popup = labels[point], icon = folium.Icon(color = colors[point]), parse_html=True).add_to(m)
m.save('index.html')
Генерация диаграммы Вороного
### Create volonai map
points = np.array(df[["geo_long","geo_lat"]].values.tolist()) # Create points, each point is a hospital
vor = Voronoi(points) #Create voronoi object
voronoi_plot_2d(vor) # Create voronoi plot object
Конвертацияto Json
vorJSON = open('libVor.json', 'w')
point_voronoi_list = []
feature_list = []
for region in range(len(vor.regions)-1):
vertex_list = []
for x in vor.regions[region]:
if x == -1:
break;
else:
vertex = vor.vertices[x]
vertex = (vertex[1], vertex[0])
vertex_list.append(vertex)
polygon = Polygon([vertex_list])
feature = Feature(geometry=polygon, properties={})
feature_list.append(feature)
feature_collection = FeatureCollection(feature_list)
print (feature_collection, file=vorJSON)
vorJSON.close()
Добавление слоя на карту
vorGeoJson = json.load(open('libVor.json'))
folium.GeoJson(vorGeoJson,
name = 'geojson'
).add_to(m)
folium.LayerControl().add_to(m)
print(m)
m.save(outfile='libVor.html')
Моя цель - заставить наложенные полигоны на веб-карту