我想托管一个页面,以可视化美国人口普查区级别的分区统计图。我认为,由于所需数据的保真度,最好将其实现为某种闪亮的服务器,该服务器仅向客户端发送必要的分辨率级别,仅限于与其视口相关的内容。我该怎么做?
当地图可以作为静态 HTML 文件提供时,我经常在 GitHub 页面上托管地图。 GitHub 的文件大小限制为 25 MB,无需使用大文件存储,并且对于在移动设备上渲染地图,如果客户端使用移动连接,则最好不要向客户端推送超过 25 MB 的文件。因此,通过 GitHub 页面提供的静态文件 HTML 传单或 mapdeck 不会很好地工作。 (问题是,要使用具有足够高 dTolerance (~250m) 的
sf::st_simplify
来使文件大小小于 25 MB,小型人口普查区域渲染效果不佳,请参见示例)。
我了解如何在传单中进行与比例相关的渲染,就像我的博客文章在这里或在接受的解决方案这里。
所以,我希望能够为网络客户端/浏览器渲染一张地图,一次最多只发送几兆字节,但据我所知:
我怎样才能真正减少发送到网络客户端的数据量,至少这样移动连接上的人可以合理地使用地图?
减少几何尺寸而不在多边形之间创建间隙或条子的一种方法是使用 {rmapshaper} 或 https://mapshaper.org/ 来简化图层但保留拓扑。
如果您的图层很大,则在使用 {rmapshaper} 时可能必须使用本地安装的 Node.js Mapshaper。