SpatialKey生成了一些非常漂亮的热力图,我们正在研究如何在一个内部项目中可视化大量点的情况下实现这个功能。我正在寻求关于从哪里开始的一些想法的反馈(这是一个非常有趣的问题)。
SpatialKey热力图 http://img697.imageshack.us/img697/7964/resolutiondays508x17550.jpg
我们知道他们在使用Flash,并且从我们所知道的来看,这些热力图是交互式的而不是从瓦片服务器渲染出来的。我们对其实现方式的第一个猜测是,服务器向其Flash客户端提供一个网格 - 每个单元格都有一个由服务器计算的计数。然后Flash客户端根据网格中的单元格值进行一些插值,以产生您在上面看到的漂亮输出。
目前,我只对他们如何可能有效地在服务器端生成网格感兴趣(如果我们对其实现的假设是正确的话)。似乎需要涉及以下内容:
- 查询当前地图范围内的内容
- 对这些范围内的每个单元格执行聚合子查询(像上面的例子中一样做计数、求和或平均值)。
在一个合理的网格分辨率下,对多个缩放级别进行操作,看起来需要一个自定义的空间索引才能使其高效。
有人能解释一下其他可行的方法吗?如果有影响的话,我们习惯于将数据存储在PostgreSQL中,并使用PostGIS进行空间索引,但我愿意尝试任何东西。