Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails,Geocoder-获取其他记录附近的记录,并按第二组记录分组_Ruby On Rails_Postgresql_Activerecord_Rails Geocoder - Fatal编程技术网

Ruby on rails Rails,Geocoder-获取其他记录附近的记录,并按第二组记录分组

Ruby on rails Rails,Geocoder-获取其他记录附近的记录,并按第二组记录分组,ruby-on-rails,postgresql,activerecord,rails-geocoder,Ruby On Rails,Postgresql,Activerecord,Rails Geocoder,我有两个模型,用户和位置彼此没有连接,都有纬度和经度列 我需要查询给定半径范围内的所有用户和所有位置,并按位置对其进行分组 实际上,我需要一组结果,将在某个半径内具有相同位置的用户分组 将有足够多的用户,因此简单地对它们进行迭代是不切实际的,所以我正在寻找一种选择它们的SQL或Rails方法 我正在使用rails地理编码器,这个问题被否决了,但我还是会发布我最终得到的答案 我不得不扔掉geocoder gem,因为它不能很好地处理弹拨或选择,只能手动使用公式,最终使用: User.selectA

我有两个模型,用户和位置彼此没有连接,都有纬度和经度列

我需要查询给定半径范围内的所有用户和所有位置,并按位置对其进行分组

实际上,我需要一组结果,将在某个半径内具有相同位置的用户分组

将有足够多的用户,因此简单地对它们进行迭代是不切实际的,所以我正在寻找一种选择它们的SQL或Rails方法


我正在使用rails地理编码器,这个问题被否决了,但我还是会发布我最终得到的答案

我不得不扔掉geocoder gem,因为它不能很好地处理弹拨或选择,只能手动使用公式,最终使用:

User.selectARRAY\u AGGusers.id作为用户列表,从6371.0*2*ASINSQRTPOWERSINusers.latitude-locations.latitude*PI/180/2,2+COSusers.latitude*PI/180*COSlocations.latitude*PI/180*POWERSINusers.longitude-locations.longitude*PI/180/2的位置中选择arraySELECT.id