GeoViews, сохраняющий встроенный HTML-файл, очень большой

Я создал гео-фрейм данных, используя комбинацию геопанд и геовидений. Библиотеки, которые я использую, приведены ниже:

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.cf483b2b4ec/datasec/data/data/data/data/data/data/data/data/data/data/data/data/data/data/data/ / а>)

файл формы 3 = 22 КБ (https://data.gov.uk/dataset/31ab16a2-22da-40d5-b5f0-625bafd76389/local-health-boards-deDecember-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 для совместного использования?


person Amen_90    schedule 29.04.2020    source источник


Ответы (1)


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

person James A. Bednar    schedule 01.05.2020