我有一个带有POI的数据库表,我想连接我的Geo表(包含城市,国家)中的记录。
我正在使用Laravel 5 / Eloquent和Mysql。坐标存储为十进制(11,8)。如果需要,我可以添加多个列。
如何检查POI是否位于这4个坐标内?
答案 0 :(得分:0)
Mysql支持spatial data types和functions,旨在简化此类计算。
将POI定义为POINT,将矩形定义为GEOMETRY。使用ST_Contains()函数测试该点是否在矩形内:
select * from yourtable
where st_contains(rectangle_field, point_field)
据我所知,Laravel并不直接支持这些日期类型和函数,所以你必须使用原始的sql。