2011-07-06 38 views
7

我在我的數據庫中有一組GPS位置。 因爲我想在地圖上繪製它們,我偶然發現了將刪除不是「necassary」的線上的點的「Douglas-Peucker-Algorithm」...Douglas-Peucker-Algorithm

但是我到處尋找發現像素X/Y座標的算法,而不是經緯度...

因此,我想要將緯/長變換爲二維「X/Y」視圖?這是可能的,還是我認爲「太複雜」? :)

http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm

+0

你曾經能夠找到一個解決方案? –

回答

2

如果你可以安全地假設該GPS還沒有被移動數千公里,而你不是太靠近北/南極,你可以近似X/Y的座標公里通過乘以經度和緯度的常數。緯度始終等於公里每度(大約10000公里是90度,從赤道到其中一個極點)。經度乘以cos(latitude)

然而,從經度/緯度計算3D位置並不困難:請參閱this wikipedia article關於球座標如何做到這一點。方位角/仰角是經度/緯度。

這還是一個近似值,因爲你採用直線距離而不是跟隨地球表面,但對於你的應用我無法想象這是一個問題。

哦,並感謝道格拉斯Peucker算法的鏈接...我將嘗試在不同的問題領域。

1

這取決於你想要的「直線」是什麼。如果要在地圖上繪製直線,則必須使用正確的投影轉換經緯度座標(可能爲Mercator projection,但有full list on Wikipedia)。但是,如果您在表面(即與great circle重合的表面)上尋找最直的線,則不必對經緯度值應用任何轉換。

0

前段時間我問了this question,我得到的答案允許我用java編寫一個實現this project。這是一個在EarthGeometry.java