2011-10-03 69 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