Python 压缩大型GeoJSON/ShapeFile数据集以在web浏览器上查看

Python 压缩大型GeoJSON/ShapeFile数据集以在web浏览器上查看,python,vector,scipy,compression,gis,Python,Vector,Scipy,Compression,Gis,所以我有一个3GB大小的shapefile,你可以想象我的浏览器不喜欢它。我如何压缩我拥有的数据,这些数据是lon/lat坐标或X,Y网格上的点 我在Computerphile上看过一段视频,内容是关于离散余弦变换用于减少高维数据,但作为一名程序员而不是数学家,我不知道这是否可行。我曾尝试在文件中每隔10步取一个点,如:map[0:100000:10],但这会产生不可接受且非常有损的效果 理想情况下,我希望我的数据能够像谷歌地球一样工作,分辨率可以根据您的视口高度进行调整。因此,当你放大地图时,

所以我有一个3GB大小的shapefile,你可以想象我的浏览器不喜欢它。我如何压缩我拥有的数据,这些数据是lon/lat坐标或X,Y网格上的点

我在Computerphile上看过一段视频,内容是关于离散余弦变换用于减少高维数据,但作为一名程序员而不是数学家,我不知道这是否可行。我曾尝试在文件中每隔10步取一个点,如:map[0:100000:10],但这会产生不可接受且非常有损的效果

理想情况下,我希望我的数据能够像谷歌地球一样工作,分辨率可以根据您的视口高度进行调整。因此,当你放大地图时,视口中会显示更高频率的数据,限制点的数量,但我不知道它们是如何做到这一点的,谷歌不会返回任何有价值的信息


最后一点是,既然这些都是向量,有没有任何类型的向量压缩我可以使用?我的数学不是很好,所以你们可以想象,当我研究这个问题时,我很快就会感到困惑。我uderstand SciPy内置了一些DCT,我知道它还有一大堆我不了解的其他功能,也许我可以使用它?

我可以回答“细节级别”部分:你可以尝试(一个javascript映射库)。然后,您可以定义一个“粗略”图层,该图层显示为低缩放级别,而“高细节”图层仅显示为高缩放级别。您可能需要捕获map
zoomend
事件并从中加载/卸载图层。

我可以回答“细节级别”部分:您可以尝试(javascript映射库)。然后,您可以定义一个“粗略”图层,该图层显示为低缩放级别,而“高细节”图层仅显示为高缩放级别。您可能需要捕获map
zoomend
事件,并从中加载/卸载图层。

解决此问题的一个方法是使用like or,将您的形状文件(尽管像PostGIS这样的空间数据库更好)存储在服务器上,并将渲染图像(通常分解为可缓存的分幅)发送到浏览器

解决此问题的一个方法是使用like or,它在服务器上存储您的ShapeFile(尽管像PostGIS这样的空间数据库更好),并将渲染图像(通常分解为可缓存的分幅)发送到浏览器