給定一個表的用戶,由於緯度和經度,找到感興趣的是位置
+-----+---------+---------+---------+---------+---------+
| user| min_lat | max_lat | min_lng | max_lng |
+-----+---------+---------+---------+---------+---------+
| a | 46 | 407 | 6 | 367 |
| b | 226 | 227 | 186 | 188 |
與點(X,Y)查找用戶,其中一點是最小和最大的經度和緯度範圍內用戶(其中min和max long和lat =當前位置減去或加上半徑)。
最小值可以小於0,最大值可以大於360,查詢需要考慮這些因素。
E.g.使用Point(7,5)進行過濾也應該返回用戶A,因爲367-360 = 7。
不知道我是否得到這個權利,但希望有人能給我一些見解。
點(4,5)是一個更好的實例中,如圖7是在範圍6..367(不考慮a == b mod 360)。 4在範圍之外,但在a區域之內。此外,每個點都在該地區(6..367,46..407);也許(50..367,46..407)是一個更好的測試區域,因爲經度範圍排除了一些值,但是緯度沒有。此外,這些地區是否包含終點?術語「最小」和「最大」暗示它們是,但最好是明確的。 – outis 2009-11-11 07:30:15