Php 在给定的纬度和经度下,如何对附近最近的位置进行分组?
想象一下,我有一个位置数组,每个项目包括该位置的名称、纬度和长度。现在我想使用半径(以英里为单位)对附近的项目进行分组Php 在给定的纬度和经度下,如何对附近最近的位置进行分组?,php,mapping,latitude-longitude,logarithm,Php,Mapping,Latitude Longitude,Logarithm,想象一下,我有一个位置数组,每个项目包括该位置的名称、纬度和长度。现在我想使用半径(以英里为单位)对附近的项目进行分组 如何在PHP中实现这一点?您需要第二个数组来存储数据。和你的位置阵列的副本 for each $place in $places_array do store $place in $store_array for each $place2 in $places2_array do if $place2 == $place continu
如何在PHP中实现这一点?您需要第二个数组来存储数据。和你的位置阵列的副本
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_数组:新数组,所有位置按邻近性分组。它的结构可以是[0]->[place_1][place_2],[1]->[place_1]等李>
- $places\u array:您的数据数组李>
- $places2\u数组:与$places\u数组重复
我知道这不是一个有效的算法,但它确实有效。如果您有很多数据,可能最好使用另一种算法。您需要第二个数组来存储数据。和你的位置阵列的副本
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_数组:新数组,所有位置按邻近性分组。它的结构可以是[0]->[place_1][place_2],[1]->[place_1]等李>
- $places\u array:您的数据数组李>
- $places2\u数组:与$places\u数组重复
我知道这不是一个有效的算法,但它确实有效。如果你有很多数据,也许最好使用另一种算法。你需要更好地定义你的问题。您希望您的团队看起来像什么?“这群人中的所有人都在2英里以内”?每个位置是否只能属于一个组、两个组或多个组?每个位置都必须属于一个组吗?我们如何确定截止距离?你需要更好地定义你的问题。您希望您的团队看起来像什么?“这群人中的所有人都在2英里以内”?每个位置是否只能属于一个组、两个组或多个组?每个位置都必须属于一个组吗?我们如何确定截止距离?