Сохранение встроенного HTML файла GeoViews очень велико - PullRequest
0 голосов
/ 29 апреля 2020

Я создал geo-dataframe, используя комбинацию geo pandas и geoviews. Ниже приведены библиотеки, которые я использую:

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 шейп-файла, чтобы построить многоугольную картину границ здравоохранения Великобритании (ссылки на файлы предоставляются при необходимости). К сожалению, из того, что я обнаружил, Великобритания не производит один файл, который объединяет все эти файлы, поэтому пришлось объединить файлы форм из 3 отдельных стран, которые меня интересуют. Эти 3 файла форм имеют размер:

файл формы 1 = 5 МБ (https://www.opendatani.gov.uk/dataset/department-of-health-trust-boundaries)

файл формы 2 = 204 КБ (https://geoportal.statistics.gov.uk/datasets/5252644ec26e4bffadf9d3661eef4826_4)

форма файл 3 = 22 КБ (https://data.gov.uk/dataset/31ab16a2-22da-40d5-b5f0-625bafd76389/local-health-boards-december-2016-ultra-generalised-clipped-boundaries-in-wales)

Я успешно слил их все для создания нужной картины:

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, который отображает диаграммы, но размер составляет 80 МБ, что далеко от большой, особенно если я хочу включить больше полигональных диаграмм и других диаграмм в одну html.

Кто-нибудь знает более эффективный способ, с точки зрения памяти, я могу хранить свои полигональные диаграммы в файле HTML для совместного использования?

1 Ответ

0 голосов
/ 01 мая 2020

Вы можете уменьшить размер файла путем растеринга или децимации фигур. Для растеринга вы можете вызвать hv.operation.datashader.rasterize (obj), и я думаю, что в Shapely или Geo Pandas есть что-то для упрощения форм.

...