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

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

jacklove
jackloveオリジナル
2018-06-20 17:01:452591ブラウズ

この記事では、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.ポリゴン領域

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 サイトの他の関連記事を参照してください。

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