У меня есть список списков в виде
[[x1, ....., x8], [x1, ......., x8], ..............., [x1 ,. .... х [8]]]. Количество списков в этом списке может доходить до миллиона. Каждый список имеет координаты 4 gps, которые показывают четыре точки прямоугольника (предполагается, что каждый сегмент имеет форму прямоугольника).
Проблема: Учитывая новую точку, мне нужно определить, на какой сегмент падает точка, и создать новый, если он не попадает ни в один из них. На данный момент я не загружаю данные в MySQL, это простой текстовый файл. Я узнаю координаты из текстового файла для любой машины.
Что я пробовал: я думаю об использовании R-деревьев, чтобы найти все точки, которые находятся близко к данной точке. (Около == 200 метров максимум). Но даже в R-деревьях кажется, что вариантов слишком много. R, R *, Гильберт.
Q1. Какой из них следует выбрать?
Q2. Есть ли лучший вариант, чем R-деревья? Можно ли что-то сделать, выполнив более быстрый поиск в списке?
Большое спасибо.
[{a1: [........]}, {a2: [.......]}, {a3: [.........]} ,. ..., {a20: [.....]}].