Say У меня есть 2D плоскость, покрытую многоугольников (идентифицированных как массив вершин), аналогично:Определение того, какие многоугольники точка находится в пределах от большого набора полигонов
Допустим, I также имеют точку с координатами на этой плоскости, какой самый простой способ вернуть какой из полигонов находится точка?
Хотя в этом примере перечислены 4 многоугольника, было бы просто запустить check on each polygon to see if the point is within it, но я создаю систему, которая в настоящее время имеет около 150 полигонов и может распространяться до тысячи, поэтому это может стать очень медленным.
Итак, есть ли какие-либо решения для этого, которые не требуют повторения всех доступных полигонов и проверки наличия точки?
Ничего себе, это выглядит прекрасно, я ищу информацию об этом сейчас, но знаете ли вы о каких-либо ресурсах, которые могли бы показать, что это реализовано, псевдо-код, если это возможно, но я довольно язык агностик и могу интерпретировать – topherg
I написал решение для четырехъядерных процессоров. Он использует кривую гильберта и похож на квадрант. Вы можете скачать его на phpclasses.org. Но нетрудно закодировать kd-дерево. Вы также можете использовать базу данных с пространственным индексом. – Bytemain