我目前正在从事一个项目,该项目正在计算多个位置之间的距离。我正在使用以下查询来选择给定半径内的object_id。
SELECt id, ( 6371 * ACOS( COS( RADIANS( db_latitude ) ) * COS( RADIANS( $user_latitude ) ) * COS( RADIANS( $user_longitude ) - RADIANS( db_longitude ) ) + SIN( RADIANS( db_latitude ) ) * SIN( RADIANS( $user_latitude) ) ) ) AS distance FROM the_table HAVINg distance <= $the_radius ORDER BY distance ASC"
我无法解释ACOS公式本身,因为我是从研究中得到的。
db_latitude = database latitude fielddb_longitude = database longitude field$user_latitude = browser latitude coördinate$user_longitude = browser longitude coördinate$the_radius = the radius that you want to search in
这是公里。



