Двигаться по оси времени, считать взаимные расстояния во всех комбинациях. Для пар, где расстояние оказалось меньше 250 м записать пару и timestamp
{
timestamp1: [ [id1, id2], [id35,id42], ... ],
timestamp2: [ [id1, id2], [id23,id24], ... ],
}
Потом по этим данным можно снова вытащить нужные координаты и отобразить участки сближений.
Оптимизировать можно с учётом доп. условий – напр. известно, что это воздушные шары и их скорость не может превышать некое значение. И тогда если какой-то шар удалён на значительное расстояние, его можно не проверять следующие X секунд, например.