我已经使用geopandas和地理视图的组合创建了geo-dataframe。我正在使用的库如下:
import pandas as pd
import numpy as np
import geopandas as gpd
import holoviews as hv
import geoviews as gv
import matplotlib.pyplot as plt
import matplotlib
import panel as pn
from cartopy import crs
gv.extension('bokeh')我已经连接了3个shapefile来构建英国医疗保健边界的多边形图片(如果需要,可以提供文件的链接)。不幸的是,从我所发现的英国没有产生一个文件来结合所有这些,所以我不得不合并来自我感兴趣的3个单独国家的形状文件。这3个形状文件的大小为:
形状文件1= 5mb (https://www.opendatani.gov.uk/dataset/department-of-health-trust-boundaries)
形状文件2= 204kb (https://geoportal.statistics.gov.uk/datasets/5252644ec26e4bffadf9d3661eef4826_4)
我已经成功地将它们合并在一起,以构建我正在寻找的图片:
Test = gv.Polygons(Merged_Shapes, vdims=[('Data'), ('CCG_Name')], crs=crs.OSGB()).options(tools=['hover'], width=550, height=700)
Test_2 = gv.Polygons(Merged_Shapes, vdims=[('Data'), ('CCG_Name')], crs=crs.OSGB()).options(tools=['hover'], width=550, height=700)但是,我想将这些图表包含在一个可共享的html文件中。我遇到的问题是,当我使用以下命令保存HTML时:
from bokeh.resources import INLINE
layout = hv.Layout(Test + Test_2)
Final_report = pn.Tabs(('Test',layout)).save('Map_test.html', resources=INLINE)我生成了一个显示图表的html文件,但它的大小是80mb,这太大了,特别是如果我想在同一个html中包含更多的多边形图表和其他图表。
有没有人知道一种更有效的方法,从内存的角度来看,我可以将我的多边形图存储在HTML文件中以供共享?
发布于 2020-05-01 12:07:37
您可以通过光栅化或抽取形状来使文件更小。对于光栅化,你可以调用hv.operation.datashader.rasterize(obj),我认为Shapely或GeoPandas中有一些东西可以简化形状。
https://stackoverflow.com/questions/61505284
复制相似问题