我需要在多边形MySQL 查询中指出一点。
我已经找到了这两个很好的解决方案:
http://forums.mysql.com/read.php?23,286574,286574
但是这些函数只能检查一个点是否在多边形内。我有一个查询,其中画中画部分应该只是查询的一部分,并检查多边形内的 x 点。
像这样的东西:
$points = list/array/whatever of points in language of favour
SELECT d.name
FROM data AS d
WHERE d.name LIKE %red%
// just bla bla
// how to do this ?
AND $points INSIDE d.polygon
AND myWithin( $points, d.polygo ) // or
更新
我用这样的MBR函数进行了尝试:
SET @g1 = GeomFromText('Polygon((13.43971 52.55757,13.41293 52.49825,13.53378 52.49574, 13.43971 52.55757))');
SET @g2 = GeomFromText('Point(13.497834 52.540489)');
SELECT MBRContains(@g1,@g2);
G2 不应该在 G1 内,但MBR说它是。