2012-03-03 78 views
5

從標題中可以看到我給出了經緯度點。它們存儲在csv文件中。有多達4萬行。給出了經緯度點,找到邊緣點和多邊形區域

"45.","9.12345" 
"46.11111","9.12345" 
"47.22222","9.98765" 
... 

我的第一個問題,我怎麼能找到邊緣座標,它的完成之後,滾入,我需要從這些邊緣點多邊形面積來計算我的第二個問題。下圖是這些點如何看起來像和邊緣點與藍線連接。

coordinates

我搜索谷歌和SO,發現這些樣的問題:thisthisthisthis

首先,我會將所有的緯度和經度點從csv文件存儲到arraylist。 我沒有任何好主意如何找到邊緣點。但找到邊緣點後,找到多邊形區域的一種方法是將其分成三角形,然後用Heron公式計算三角形區域。地球是球形的,以便計算我在上面給出的鏈接中使用建議所需的面積。

是否有我的問題的框架解決我的問題?有什麼辦法可以自己做?當然代碼應該是內存和CPU效率。

+1

+1用於研究工作,+1用於圖片,-1用於某些寬泛的問題。淨+1! – Perception 2012-03-03 16:26:08

+0

@Perception感謝相信我:) – Skyzer 2012-03-03 21:09:44

回答

2

您正在尋找您的積分convex hull。這實際上是一個重複的問題:Draw a convex hull using the given points in java/android

+0

謝謝,現在正在讀 – Skyzer 2012-03-03 21:09:12

+1

其實,因爲他正在處理經緯度點,所以我不認爲標準凸包算法會起作用,至少不會像您的鏈接中描述的那樣。問題在於那些算法假設點是笛卡爾座標,但(lat,lon)點決定不是笛卡爾座標,因爲經度在180/-180(反子午線)繞回。因此,如果您有任何跨越反經絡的點,您將會得到巨大的外殼,從而錯誤地覆蓋世界各地。 – 2012-03-13 04:18:45

相關問題