Mysql получить данные полигона - PullRequest
3 голосов
/ 24 февраля 2011

Я разрабатывал сайт, который хранит пространственные данные в базе данных MySQL, например, здания, сады и т. Д. В форме многоугольников (широт и долгот).

Я хочу знать, как получить данные многоугольника в MySQL.

Я видел этот пример запроса для вставки данных многоугольника: http://amper.110mb.com/SPAT/mysql_initgeometry2.htm

Но теперь я хочу знать, как извлечь данные из таблицы, основываясь на определенных ограничениях, таких как:

"where latitude < 9.33 and longitude > 22.4" Также, как мне найти, находится ли точка внутри или снаружи многоугольника

1 Ответ

6 голосов
/ 24 февраля 2011

Вот страница с множеством примеров: http://howto -use-mysql-spatial-ext.blogspot.com /

Это один из примеров для получения строк, которыеточки пересекаются с указанным ограничивающим прямоугольником:

SET @bbox = 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'; 
SELECT name, AsText(location) FROM Points
    WHERE Intersects( location, GeomFromText(@bbox) );

В документации MySQL говорится, что эти пространственные функции также работают с геометриями (похоже, точка также является геометрией).Таким образом, вы можете проверить, пересекается ли геометрия в базе данных с геометрией, указанной вами в операторе select.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...