如何可视化地图? (图片)

时间:2010-11-03 06:40:09

标签: database opengl processing

我希望可视化这样的地图:http://www.time.com/time/covers/20061030/where_we_live/

我可以用opengl或处理吗?怎么样?

2 个答案:

答案 0 :(得分:0)

我认为最简单的方法不是3D,而只是使用基本的等距技术和过度绘画。

拍摄地图,将其缩放到半高以建议透视,然后在画布上绘制。

现在,创建一个与原始地图一样大的空透明位图,并将带有数据的淡粉色圆圈放置在地图上。将此位图缩放到半高,并将其绘制在原始地图上。

在此之后,创建另一个,但使圆圈的半径小1像素,并将颜色再变为暗红色。再次将其缩放到半高,并将其绘制在现有合成上,但在y方向上高一个像素。继续重复此步骤,直到地图上的最大圆圈达到0半径,以便绘制最高峰值。

我认为应该创建与示例中的地图非常相似的东西,而不需要复杂的3D几何体。

在以下情况下,它会更像是TIME地图:

- 您使用反指数公式来减少每一步的圆的大小。在所提出的算法中,尖峰将是相当无线的线性(锥形)并且不会变得非常高。

- 您可以使用原始地图的轮廓作为透明蒙版来限制每个数据图层。在缩放到半高之前执行此操作。这会将您的数据峰值限制为地图的形状,并防止它们溢出边界进入大海。

当然,可以通过使用椭圆在半高处绘制数据层来优化此算法,并将它们直接绘制在地图上。圆/层方式更好地说明了基本技术,并且更容易进行轮廓限制步骤。

答案 1 :(得分:0)

就我个人而言,我建议使用面部网格,剔除美国地图,然后根据链接中的比例对每个点进行提升和着色。

我认为它实际上比NielsK概述的方法更简单,困难的部分只是以易于解析的格式获取所需的数据。