この記事では、mysql を使用して点が指定されたポリゴン領域内にあるかどうかを判断する方法を紹介し、完全なプロセスを提供します。
CREATE TABLE `zone` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `polygongeo` polygon NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MYISAM DEFAULT CHARSET=utf8;
注: 空間インデックスはストレージエンジン MYISAM を使用したテーブルでのみ作成できます
insert into zone(polygongeo) values(POLYGONFROMTEXT('POLYGON((1 1,1 5,5 5,5 1,1 1))'));
Test POINT(3, 4)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(3 4)'),polygongeo);
出力: POLYGON((1 1,1 5,5 5,5 1,1 1))
点 POINT(3, 4) を表しますポリゴン領域内
テスト POINT(6, 1)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(6 1)'),polygongeo);
出力: 空の
は、ポリゴン領域外の点 POINT(6, 1) を意味します
要約: mysql 空間クエリは、次の用途にはあまり適していません。マップ座標なので、クエリ「マップ座標」は mongodb を使用して実装できます。「座標が指定されたポリゴン領域内にあるかどうかを判断する Mongodb メソッド」を参照してください。
この記事では、mysql を使用して点が指定されたポリゴン領域内にあるかどうかを判断する方法について説明します。ポリゴン領域の詳細については、PHP 中国語 Web サイトを参照してください。
関連する推奨事項:
古い写真の効果を実現するには、php で imagemagick を使用します
php で複数のセットのデカルト積を計算する方法に関する関連知識
WeChat によって開発された共有インターフェイスの関連コンテンツ
以上がmysql を使用して、ポイントが指定されたポリゴン領域内にあるかどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。