Поиск строки с координатами внутри определенного многоугольника в MySQL

Я пытаюсь понять, как вернуть набор записей с координатами внутри многоугольника.

Я просмотрел пространственные расширения MySQL, но в настоящее время они не поддерживают поиск в пределах указанного многоугольника, а только в пределах минимального ограничивающего прямоугольника многоугольника.

Мне было интересно, сталкивался ли кто-нибудь с этой проблемой раньше и знал ли какие-либо решения?

Спасибо


person Mark Williams    schedule 10.05.2011    source источник
comment
Вам удалось это решить? Если да, не могли бы вы поделиться своим ответом?   -  person Grish    schedule 16.09.2014
comment
Я никогда не делал, я боюсь. Вместо этого я использовал PostgreSQL, который имеет надлежащую поддержку географических запросов.   -  person Mark Williams    schedule 22.09.2014
comment
одно решение, которое я придумал, состоит в том, чтобы найти 4 длины многоугольника, то есть сверху, справа, слева и снизу. Это поможет нам минимизировать результаты. Результат будет основан на форме прямоугольника. после чего я использовал точку PHP в классе Polygon, который позаботится о том, находится ли точка в многоугольнике или за его пределами. Надеюсь это поможет.   -  person Grish    schedule 22.09.2014


Ответы (2)


Вероятно, нет (и не будет) встроенной поддержки для этого, потому что определение того, находится ли точка внутри общего многоугольника, является довольно сложная проблема.

Возможно, вам следует получить «кандидатные» точки, которые вписываются в ограничивающий прямоугольник, а затем найти их в реальном многоугольнике, пропустив их через один из этих алгоритмов PIP.

person SVD    schedule 10.05.2011

с помощью этого я решил аналогичную проблему... надеюсь, это поможет.

person Vassilis    schedule 18.05.2011