2013-04-24 49 views
-2

如果您有一個指定地圖上的點的地理數據庫,如何找到落入四個給定點的點?你將如何實現一個算法,將相鄰的點放在半徑爲1英里的圓上?地理數據庫 - 查找點

+0

你的'Hows'分開。你試過什麼了? – 2013-04-24 16:44:46

+0

a)Polygon.contains(point); b)對你來說很難 – AlexWien 2013-04-24 16:53:55

+0

這是一個相對有挑戰性的事情,要有效地做。 – 2013-04-24 16:59:00

回答

1

有時它真的有幫助,只是繪製出來。

| a 
|  b 
| x  
|d  c 
|--------- 

所以每個點都有兩個座標(x,y)。檢查點是否在4點以內的簡單方法是檢查它們的座標。

爲簡單起見,假定您知道a和d的x座標小於b和c的x座標,並且a和b的y座標大於y座標, d和c的座標。那麼你可以假設如果x在這四個點內,那麼:

The x coordinate of x (using x(x) to make it shorter) can be described by 
x(x)>=a(x) 
and x(x)>=d(x) 
and x(x)<=b(x) 
and x(x)<=c(x) 

類似的邏輯應該適用於y座標。請注意,雖然有更有效的方法來做這件事,但我只是試圖說明這個問題,希望能更清楚地說明問題。

This link也可能有所幫助,並提供一個更有效的方式來看待這個問題。