首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生成像SpatialKey这样的密度/热图

生成像SpatialKey这样的密度/热图
EN

Stack Overflow用户
提问于 2010-02-05 17:22:08
回答 2查看 4.5K关注 0票数 8

SpatialKey生成了一些非常好看的热图,我们正在研究如何为一个内部项目可视化大量的点。我正在寻找关于从哪里开始的一些想法的反馈(这只是一个非常有趣的问题)。

http://img697.imageshack.us/img697/7964/resolutiondays508x17550.jpg SpatialKey热图

我们知道他们在使用Flash,从我们所知道的情况来看,热图是交互式的,而不是从一个平铺服务器上呈现的。我们首先猜测这是如何实现的,即服务器为他们的Flash客户端提供一个网格--每个单元都有一个由服务器计算的计数。然后,Flash客户端根据网格中的单元格值进行一些插值,以实现上面看到的漂亮输出。

在这个阶段,我只对他们如何能够高效地生成网格服务器端感兴趣(如果我们对它们的实现的假设是正确的)。它似乎将涉及:

  1. 对当前在地图边界中的内容执行查询
  2. 对这些界限内的每个单元执行聚合子查询(执行计数、和或平均值,如上面的示例所示)。

以合理的网格分辨率在多个缩放级别上执行此操作,您似乎需要一个自定义的空间索引来提高效率。

有谁愿意解释另一条路线吗?如果重要的话,我们在这里习惯于用PostgreSQL存储数据,并使用PostGIS作为空间索引,但我愿意尝试任何事情。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-06 02:34:54

我猜想,他们在客户端用Flash实现了一个GIS库,并使用这个库将纬度和经度坐标投影到像素空间中。然后,他们按像素聚合,以确定每个像素的“高度”,就像呈现一个圆圈一样,但使用渐变填充的透明度,渐变填充的起始和结束颜色由像素的高度决定。重叠在一起的多个圆圈将产生更亮的像素。

另一种方法可能是在灰度中这样做,然后将亮度值映射到色阶。这可能是最有效的。

我们销售更传统的树状图热图,用于可视化分析应用程序(例如:热图SDK),现在有了使区域着色的地理热图。我们阅读了标准的ESRI Shapefile映射,并在客户端执行所有的投影和渲染(用Java,不是Flash,而是相同的概念)。我认为SpatialKey也在做同样的事情,因为它们支持填充区域的渲染,如果您使用的是像Google这样的平铺服务器,就不可能真正做到这一点。

我们还没有做像这样的密度热图,但是已经用静态图像作为背景进行了一些测试。如果你想要更多的信息,让我知道,我可以问我的开发人员如何做到这一点。我知道我们目前正在开发更多的基于点的功能,虽然我不知道密度热图在时间表上的位置。

SpatialKey实际上写了一篇很好的文章,讨论了填充面积的热图(即主题图)和密度热图的不同之处。您可以在http://blog.spatialkey.com/2010/02/comparing-thematic-maps-with-density-heatmaps/查看它。

如果你想出一种很好的方法来做密度热图,我会有兴趣了解你是如何做到的,因为它将是我们的可视化分析SDK的一个有价值的补充。祝你好运。

票数 5
EN

Stack Overflow用户

发布于 2010-12-21 07:15:17

MapReduce用于实际的汇总地图总数,以及为数据库提供地理空间索引的内容--以满足这些MapReduce作业的需求。我正在研究实现这种完全相同的方法,但是对于接口,而不是映射:) MongoDB现在似乎是一个很好的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2209021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档