【发布时间】:2015-03-28 04:42:47
【问题描述】:
很抱歉之前没有处理 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 结果,例如。我有一些记录 lat 是 22.1 , 114.1 。如何解决?谢谢。
【问题讨论】:
-
我也有兴趣了解这个解决方案
-
感谢支持,期待任何想法
标签: php mysql gps sqldatatypes