Home > Database > Mysql Tutorial > Use mysql to determine whether a point is within a specified polygon area

Use mysql to determine whether a point is within a specified polygon area

jacklove
Release: 2018-06-20 17:01:45
Original
2680 people have browsed it

This article will introduce the method of using mysql to determine whether a point is within a specified polygon area, and provide a complete process.

1. Create a test table

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

Note: Spatial indexes can only be created in tables whose storage engine is MYISAM

2. Insert polygon data

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

3. Determine whether the point is in the polygon area

Test POINT(3, 4)

select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(3 4)'),polygongeo);
Copy after login

Output: POLYGON((1 1,1 5,5 5,5 1,1 1))
Represents point POINT(3, 4) in the polygon area Inside

Test POINT(6, 1)

select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(6 1)'),polygongeo);
Copy after login

Output: Empty
indicates that point POINT(6, 1) is in the polygon area External

Summary: MySQL spatial query is not very suitable for map coordinates, so querying map coordinates can be implemented using mongodb. Reference: "Mongodb method to determine whether coordinates are within a specified polygon area"

This article explains how to use mysql to determine whether a point is within a specified polygon area. For more related content, please pay attention to the PHP Chinese website.

Related recommendations:

Use imagemagick in php to achieve old photo effects

How to calculate multiple sets through php Relevant knowledge of the Cartesian product

Related content of the sharing interface developed by WeChat

The above is the detailed content of Use mysql to determine whether a point is within a specified polygon area. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template