powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проверка принадлежности точки многоугольнику (полигону)
7 сообщений из 7, страница 1 из 1
Проверка принадлежности точки многоугольнику (полигону)
    #38862498
L0gica
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

Есть таблица (её приложил) в которой каждая запись описывает полигон на карте Yandex
Я предполагал, что всё работало корректно, пока не столкнулся с тем, что точка http://joxi.ru/V2VnDVlcdBkp2v по каким то причинам попадает в 3 полигона при выборке http://joxi.ru/YmEVK7OtwGM526

выполняю следующие запросы, результат один http://joxi.ru/YmEVK7OtwGM526 :
SELECT ID, UF_AREA FROM price_zone WHERE MBRIntersects(GeomFromText(UF_POLYGON_TXT), GeomFromText('Point(59.93113259726 30.288472785949)'))
SELECT ID, UF_AREA FROM price_zone WHERE MBRContains(GeomFromText(UF_POLYGON_TXT), GeomFromText('Point(59.93113259726 30.288472785949)'))
...
Рейтинг: 0 / 0
Проверка принадлежности точки многоугольнику (полигону)
    #38862502
L0gica
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возможно кто-то сталкивался с подобным и может подсказать
...
Рейтинг: 0 / 0
Проверка принадлежности точки многоугольнику (полигону)
    #38862507
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по картинкам - так и должно быть.
Вот только фраза "точка попадает в 3 полигона" не применима к используемым функциям. Они не это проверяют.
http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mysql-specific.html#function_mbrintersects
...
Рейтинг: 0 / 0
Проверка принадлежности точки многоугольнику (полигону)
    #38862600
L0gica
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries g1 and g2 intersect. - если я правильно понимаю, то если точка и полигон пересекаются, в моём случае это только одна запись из трёх

Returns 1 or 0 to indicate whether the minimum bounding rectangle of g1 contains the minimum bounding rectangle of g2. This tests the opposite relationship as MBRWithin(). - как я понимаю проверяет содержит ли полигон данную точку
...
Рейтинг: 0 / 0
Проверка принадлежности точки многоугольнику (полигону)
    #38862635
L0gica
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

полигонов в таблице на самом деле несколько десятков, а результат запроса возвращает только 3, 2 что рядом с точкой и один в которой входит точка
...
Рейтинг: 0 / 0
Проверка принадлежности точки многоугольнику (полигону)
    #38862667
L0gica
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил каждую из функций http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mysql-specific.html , ни одна не даёт желаемый результат
...
Рейтинг: 0 / 0
Проверка принадлежности точки многоугольнику (полигону)
    #38862709
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L0gicamiksoft,

Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries g1 and g2 intersect. - если я правильно понимаю, то если точка и полигон пересекаются, в моём случае это только одна запись из трёх

Returns 1 or 0 to indicate whether the minimum bounding rectangle of g1 contains the minimum bounding rectangle of g2. This tests the opposite relationship as MBRWithin(). - как я понимаю проверяет содержит ли полигон данную точкуНет, неправильно понимаете.
L0gicaПроверил каждую из функций http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-mysql-specific.html , ни одна не даёт желаемый результатИ не должна.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проверка принадлежности точки многоугольнику (полигону)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]