Php 通过mysql中的lat lng获取10km内的记录
对不起,之前没有处理GPS数据。可能是个新手问题 因此,我创建了存储gps数据的表格,如下所示:Php 通过mysql中的lat lng获取10km内的记录,php,mysql,gps,sqldatatypes,Php,Mysql,Gps,Sqldatatypes,对不起,之前没有处理GPS数据。可能是个新手问题 因此,我创建了存储gps数据的表格,如下所示: table name : request id lat decimal(10,8) lng decimal(11,8) 最近,我想获取给定GPS点内10km的数据 e.g. Given GPS lat: 22, lng: 114 , found all data within 10km 我发现有一种叫做“点”的数据类型。和SQL查询相关 SELECT * FR
table name : request
id
lat decimal(10,8)
lng decimal(11,8)
最近,我想获取给定GPS点内10km的数据
e.g. Given GPS lat: 22, lng: 114 , found all data within 10km
我发现有一种叫做“点”的数据类型。和SQL查询相关
SELECT *
FROM request
WHERE MBRContains
(
LineString
(
Point (
@lng + 10 / ( 111.1 / COS(RADIANS(@lat))),
@lat + 10 / 111.1
),
Point (
@lng - 10 / ( 111.1 / COS(RADIANS(@lat))),
@lat - 10 / 111.1
)
),
POINTFROMTEXT('POINT(22 114)')
)
它返回0结果,即使应该有一些结果,例如,我有一些记录,lat是22.1141.1。如何修复它?谢谢。我想引用这个问题,它作为一个重复项关闭,但重复项列表为您提供了问题集和解决方案的非常好的概述
我也有兴趣了解此解决方案谢谢您的支持,期待您能提供任何可能的解决方案副本