【问题标题】:find which circle areas in db contain specific point on map查找 db 中的哪些圆形区域包含地图上的特定点
【发布时间】:2017-01-01 19:09:48
【问题描述】:

我在 db 中存储了一个由中心点 (lat,lon) 和圆半径表示的圆区域。字段:id、lat、lon、point、radius 现在我在地图上还有一个点。

我的目标是找出这个点存在于哪些区域。 已经有搜索指定区域中所有点的功能,但现在我需要一些不同的行为并找到所有区域都包含指定点。

如前所述,查询会怎样?

【问题讨论】:

标签: mysql geolocation location spatial-query


【解决方案1】:

我做了研究,发现在mysql 5.7中有更多的空间函数。升级附带的是 SST_Distance_Sphere,它对我有用!所以决定在我的服务器上进行升级并使用这个 SQL:

SELECT ST_Distance_Sphere(POINT(lng, lat), POINT(19.93875777348876  , 50.061379843744234)) as Radius 
FROM locations 
WHERE ST_Distance_Sphere(POINT(lng, lat), POINT(19.93875777348876   , 50.061379843744234)) <= radius

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2018-11-14
    • 2017-12-04
    • 2011-03-09
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多