按经纬度搜索,并按距离排序的简单实现,这样的问题应该很多朋友碰到过,我把自己的方案写出来供大家参考。
这是一种简单的实现,数据量不大的情况下还是能满足需求的,写在这里做一份记录。当然也希望有其他更好的方案。
主要思路就是:先以指定的经纬度为中心,计算一定半径内的方形经纬度边界,然后用此方形经纬度边界过滤,并使用一个计算两点经纬度之间距离的自定义数据库函数计算距离,然后按计算得到的距离倒序。
数据库是这样的:
业务员表-实时位置字段
Sql-更新
update 表名 set real_time_position=GeomFromText('POINT(187.07 36.45)') where id='1000006'
Mybatis-更新or插入
update financial_service_salesman set receipt_flag = #{receiptFlag} ,real_time_position = GeomFromText('POINT(${realTimePosition})') ,position_update_time = #{positionUpdateTime} where user_id = #{userId}
* GeomFromText('POINT(${realTimePosition})')
Mybatis-查询
需求:查询出所有业务员根据业务员位置和用户位置计算距离进而排序
select id, user_name, ( st_distance ( fss.real_time_position, <!-- 业务员位置经纬度 --> point (#{longitude}, #{latitude}) <!-- 用户位置经(longitude)纬(latitude)度 --> ) )*111.195 AS distance <!-- distance 距离、米数 --> from financial_service_salesman as fss where del_flag = '0' order by distance
MyBatis查询经纬度字段值
ASText(fss.real_time_position)
返回业务员列表
前端或后台将取的米数转换。
问题内容: 我有一个具有这样的结构的表: 我想计算给定坐标与数据库中保存的坐标之间的距离。 我当前的查询: 再加上一些的数据。 有什么方法可以优化该查询?进行连接大约需要13毫秒。 我还需要在此处添加一些以及用于分页的商店总数。 问题答案: 这里有一些想法,根据您的实际情况,其中一些想法可能不适用。 您可以将纬度和经度转换为弧度,并将其存储在行中。这将节省这些计算的成本(实际上,在存储数据时,成本
已知字母序列【d, g, e, c, f, b, o, a】,请实现一个函数针对输入的一组字符串 input[] = {“bed”, “dog”, “dear”, “eye”},按照字母顺序排序并打印,结果应为:dear, dog, eye, bed。 说明 本问题在网上比较常见,但这里尝试用另外一个思路,并且用python来写,与众多用c++的有所不同,且似乎短小了不少。自己感觉比网上参考到的更
本文向大家介绍laravel 模型查询按照whereIn排序的示例,包括了laravel 模型查询按照whereIn排序的示例的使用技巧和注意事项,需要的朋友参考一下 实例如下所示: 中午没睡觉一直调试,心塞... 错误写法 原因解析 以上这篇laravel 模型查询按照whereIn排序的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
问题内容: 我有以下模型: 我应如何查询以距离排序(距离为无穷大)? 如果需要,可以在PosgreSQL,GeoDjango上工作。 问题答案: 首先,最好使一个点字段而不是使lat和lnt分开: 然后,你可以像这样过滤它:
本文向大家介绍在sql中不指定Order by排序是按照主键吗,包括了在sql中不指定Order by排序是按照主键吗的使用技巧和注意事项,需要的朋友参考一下 在sql中不指定Order by,排序是按照主键吗?答案是不一定。举个例子: 查询AttendanceEmpRank表,主键是AttendanceEmployeeRankId,而且是聚集索引 执行下面的语句,发现第一句不指定Order by
我正在尝试一个mysql查询来根据距离排序帖子,比如说在半径250英里内,所有的工作都很好,除了我需要以一种方式排序帖子,特色帖子总是在顶部。这是我的mysql查询(我正在wordpress上做)。 问题是ORDER BY,它给我的错误是“Subquery returns多于1行” 如果删除ORDER BY(从wp_postmeta中选择wp_postmeta.meta_value,wp_post