У меня есть данные о координатах метеостанции, исторических значениях температуры и координатах центра города по всему миру. Метеостанции размещаются на разных расстояниях до городских центров. Задача состоит в том, чтобы определить средние исторические значения городской температуры по данным метеостанций.Какова наилучшая структура данных для хранения данных, чувствительных к расстоянию?
Чтобы решить эту проблему для каждого города, мне нужно найти набор ближайших метеостанций в каком-то радиусе и усреднить их данные. Брутфорс - это вычисление расстояний от каждого города до каждой метеостанции, но для моих данных это слишком медленно. Поэтому я подумал, что здесь может помочь структура данных дерева. Я попытался использовать R-деревья для разделения метеостанций по координатам, но есть проблема - такой подход позволяет мне находить метео-станции в каком-то узле дерева, но он не дает мне информации о соседних узлах, чтобы быстро вычислить условие радиуса (например, если город очень близок к границе узла R-дерева).
Существует ли стандартная структура данных дерева, которая позволяет быстро найти нужный узел, но также предоставляет набор пространственных соседей на одном уровне дерева?
R-tree * делает * разрешает поиск по радиусу, а также ближайших соседей, поэтому он должен хорошо подходить. –