2011-10-03 165 views
3

我想创建一个类似的数据可视化:的Javascript帆布纬度LNG绘制

enter image description here

,而是为了整个地球。画布大小将是任意的,但不需要使用浏览器调整大小(在开始绘制点之前,我将设置宽度和高度)。我需要找出将纬度和经度坐标转换为画布上的点的方法。有谁知道该怎么做?

回答

2

首先你需要选择投影。然后你可以使用适当的公式。或者您可以使用现有的解决方案,例如proj4js。这是众所周知的proj工具的JS端口,用于处理各种投影。

我会推荐使用米勒投影在整个地球上的可视化。你可以找到公式here

+0

你可以呈现在无需借助任何投影画布渲染视口的球体纬度/经度点。 – TreyA

+0

不理解你。 “没有投影需要”是什么意思?无论如何,你需要一些公式来将三维极坐标中的点转换为笛卡尔二维空间中的坐标。 – bjornd

+1

如果渲染球体上的点,然后渲染该3d球体,则不需要投影。如果你在一个平坦的二维表面渲染经纬度,那么你需要一个投影。是的,您需要将lat/lon转换为笛卡尔以进行canvas graphis渲染(请参阅大地测量到ECEF)。 http://www.webglearth.org/ – TreyA