python - 压缩大型 GeoJSON/Shapefle 数据集以在 Web 浏览器上查看
问题描述
所以我有一个 3GB 大小的 shapefile,你可以想象我的浏览器不喜欢它。如何压缩我拥有的数据,无论是在 lon/lat 坐标还是 X、Y 网格上的点?
我在 Computerphile 上看到了一个关于离散余弦变换以减少高维度数据的视频,但作为一名程序员而不是数学家,我不知道这是否可能。我试图在文件中每 10 步取一个点,如下所示:map[0:100000:10] 但这产生了不受欢迎且非常有损的效果。
理想情况下,我希望拥有我的数据,这样它就可以像 Google 地球一样工作,其中分辨率会根据您的视口高度进行调整。因此,当您放大地图时,视口中会显示更高的频率数据,从而限制了点的数量,但我不知道他们是如何做到这一点的,而且谷歌没有返回任何有价值的东西。
最后一点是,由于这些只是向量,我可以使用任何类型的向量压缩吗?我不是很擅长数学,所以你可以想象,当我研究这个时,我很快就会感到困惑。我了解 SciPy 内置了一些 DCT,我知道它还有很多我不理解的其他功能,也许我可以使用它?
解决方案
我可以回答“详细程度”部分:您可以尝试使用小册子(一个 javascript 映射库)。然后,您可以定义一个“粗略”图层,该图层显示为低缩放级别和“高细节”图层,仅显示在更高的缩放级别。您可能需要捕获地图zoomend
事件并从那里加载/卸载图层。
推荐阅读
- android - 如何将数据库中的值添加到按钮
- java - 将“hg status”重定向到文件的输出缺少换行符?
- javascript - 在 Asp.Net Core 3 Web 应用程序中只显示一次模态
- c# - 如何检测缺失的序列并显示步骤?
- javascript - 未上传文件时如何绕过文件上传脚本
- git - 清理 GIt 历史记录不会缩小文件夹大小
- python - 导入keras时出现RuntimeError?
- amazon-web-services - AWS Athena - 错误 - 无法读取文件 s3:// 中块 0 中 0 处的值
- build - 在 CMake 中处理自定义文件类型依赖项的理想方法是什么?
- xml - 使用 powershell 从 XML 源中提取数据第二部分 - 从 CSV 中提取数据以用于特定字段或函数