我有一个二维点云数据时间序列。数据的形状是[N,T]。 N是一个很大的数字(百万),T是2D点云图像的数量,一般小于300。我还有这N个点的坐标,形状为[N, 2](经度和纬度)。我想在地图中以交互方式可视化这些数据。
具体来说,我想要: 1.) 交互式放大或缩小以显示特定区域和大图; 2.)我可以点击一个点并绘制该点的时间序列; 3.) 我可以在T图像中切换要显示的图像。
我知道绘制那么多点是不可能也没有必要的。动态聚合和光栅化将是更好的选择。 https://egms.land.copernicus.eu/ 是一个很好的例子。它满足我所有的要求。它仅在放大到一个小区域时显示所有点。否则,仅显示少量点。这可能是其效率的原因。
我在Python生态系统中发现的唯一类似技术是Holoviews+Datashader。但我发现它的效率仍然不是很高。原因可能是 datashader 动态栅格化点云,但该网站之前仅在几个特定的缩放级别上栅格化点云。
我想知道是否有任何Python包可以有效地可视化这么大的数据集,或者是否有更好的方法来利用holoviews和datashader。谢谢!
如果您提供一个您想要实现的目标的实际示例,那就太好了...
我认为EOmaps可能能够满足您的需求! (我是开发者:-)
您所描述的任务是我最初开始开发该软件包的原因之一!
简而言之,EOmaps 提供了多种可视化大型数据集的方法(包括对
datashader
的支持)以及使用地图进行交互式数据分析的 API...
这是一个玩具示例的 gif,可能与您想要做的类似: