我有以下纬度和经度:
lat - 18.9802767
lng - 72.8142511
我正在尝试对距兴趣点 10 公里以内的地方进行以下查询。
select mbrcontains( geomfromtext(
'LINESTRING(72.8993663648088 19.0702857,72.72913583519122 18.8902677)'
),
geomfromtext(
'point(18.9802767 72.8142511)'
) );
Linestring 几何对象派生自我试图确定的确切点,该点使用 mysql 5.1 及更高版本的方法从本示例中使用以下公式:
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))
据我了解,这一点属于最小边界矩形(MBR)。但是,查询返回 a0
作为答案。以上是遵循本示例中给出的原则。
查询有什么问题?我如何知道该点是否在某个地理空间距离内(在这种情况下,MBR 点是使用距坐标给出的点 10 公里计算的:)lat - 18.9802767, lng - 72.8142511
。
顺便说一句,我使用的是 MySQL 5.5.32。