2017-03-11 37 views
0

我有一个POI数据库表,我想连接我的地理表(包含城市,国家)中的记录。Laravel + Mysql:在边界框内检索POI's

  • 在POI表内,我有一个Lat & Lon字段。
  • 内地理表我有4个坐标,对西/东和北/南

enter image description here

我使用Laravel 5 /口才和MySQL。坐标存储为十进制(11,8)。如果需要,我可以添加多个列。

如何检查POI是否位于这4个坐标内?

+0

什么是POI? –

+0

POI =兴趣点 – Jackowski

+1

不要重蹈覆辙,请使用mysql的内置空间数据类型和函数。 – Shadow

回答

0

MySQL支持spatial data typesfunctions是被设计成使这样的计算很容易。

将POI定义为POINT,将矩形定义为GEOMETRY。使用ST_Contains()功能来测试点是否在矩形内:

select * from yourtable 
where st_contains(rectangle_field, point_field) 

据我所知,Laravel不直接支持这些大亚湾类型和功能,所以你不得不求助于原始的SQL。