ホームページ >データベース >mysql チュートリアル >mysql を使用して、ポイントが指定されたポリゴン領域内にあるかどうかを判断する方法

mysql を使用して、ポイントが指定されたポリゴン領域内にあるかどうかを判断する方法

jacklove
jackloveオリジナル
2018-06-08 18:22:463980ブラウズ

この記事では、mysql を使用して点が指定されたポリゴン領域内にあるかどうかを判断する方法を紹介し、完全なプロセスを提供します。

推奨される関連する mysql ビデオ チュートリアル: "mysql チュートリアル"

1. テスト テーブルを作成します

CREATE TABLE `zone` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `polygongeo` polygon NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8;

注: 空間インデックスは、ストレージ エンジン MYISAM

2 を使用してテーブルにのみ作成できます。ポリゴン データを挿入します

insert into zone(polygongeo) values(POLYGONFROMTEXT('POLYGON((1 1,1 5,5 5,5 1,1 1))'));

3. ポイントがポリゴン領域内にあるかどうかを判断します

テスト 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の説明

ディレクトリ構成を含むPHPファイルでのopen_basedirの使用とパフォーマンス分析について

以上がmysql を使用して、ポイントが指定されたポリゴン領域内にあるかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。