多角形のMySQL クエリでポイントを作成する必要があります。
私はすでに次の 2 つの優れたソリューションを見つけました。
http://forums.mysql.com/read.php?23,286574,286574
ただし、これらの関数は、1 つのポイントがポリゴン内にあるかどうかしか確認できません。PiP 部分がクエリの一部のみである必要があるクエリがあり、ポリゴン内の 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はそうであると言っています。