地理编码-获取边界内的所有记录

时间:2019-01-03 15:51:27

标签: mysql geospatial geocoding

让我们说我有一个位置(国家,地区,城市,城镇)及其纬度/经度坐标的数据库。

例如我有英格兰的坐标52.16045,-0.70312

如果我所拥有的全部经纬度,我是否有办法返回英格兰范围内的所有位置?

我是否需要对位置进行多边形处理...如果是的话,如果我所有的都是纬度/经度,该怎么办?

作为记录,数据库是Mysql。

一些指导将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果您的多边形具有状态边界,则可以使用mysql几何的ST_CONTAINS功能查找多边形内的点

假设您有一个表(点),其中包含点和具有面的多边形,并且每个面都基于一个面。 您可以使用

SELECT points.col1 
FROM polygons
INNER points ON  ST_CONTAINS(polygons.geom, Point(points.longitude, points.latitude)) 
    AND polygons.name = 'Your_name';

ST_CONTAING只是检查一个几何图形是否包含在另一个几何图形中