很抱歉之前没有处理过GPS数据,可能是一个新手问题。
因此,我创建了一个表格来存储GPS数据,就像这样:
table name : request
id
lat decimal(10,8)
lng decimal(11,8)
最近,我想获取给定GPS点周围10公里范围内的数据。
e.g. Given GPS lat: 22, lng: 114 , found all data within 10km
我发现有一种名为“point”的数据类型,以及与之相关的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个结果,例如:我有一些纪录,纬度是22.1,经度是114.1。如何解决?谢谢。