如何分组给定纬度和长度附近的最近位置?

时间:2011-08-31 06:37:16

标签: php mapping latitude-longitude logarithm

我有一系列地方的成像,每个项目包括名称,纬度和那个地方的长度。现在我想以半径为单位对附近的项目进行分组。

我如何在PHP中实现这一目标?

1 个答案:

答案 0 :(得分:0)

您需要有第二个数组来存储数据。并且是你的一系列地方的副本。

for each $place in $places_array do
   store $place in $store_array
   for each $place2 in $places2_array do
      if $place2 == $place
         continue
      else
         if compare_radius() == true
             store $place2 in $store_array
         end_if
      end_else
   end_for
   erase each new data in store from $places2_array  (Only if you do not want to replicate data)
end_for

瓦尔

  • $ store_array:新阵列,所有地点按邻近分组。它的结构可以像[0] - > [place_1] [place_2],[1] - > [place_1]等一样st st .......
  • $ places_array:您的数据数组。
  • $ places2_array:来自$ places_array的重复。

我知道这不是一种有效的算法,但它可以胜任。如果你有很多数据,也许最好使用另一种算法。