Найти километровый участок с наибольшей разницей

Я столкнулась с проблемой в Postres. У меня есть таблица "Information" со столбцами: id, id_Brand, date, time, id_TypeOfAccident, longitude, latitude ,victims, geometry. Мне нужно найти километровый участок с наибольшей разницей между количеством аварий днем и ночью. Я не понимаю, как найти участок дороги. Пыталась сделать такой запрос, но безуспешно.

SELECT info1.latitude, info1.longitude, info2.latitude, info2.longitude
FROM "Information" AS info1, "Information" AS info2 
WHERE info1.ID <><> info2.ID 
  AND (SELECT 111.111 * DEGREES(
        ACOS(LEAST(1,0, COS(RADIANS(info1.latitude)))
        * COS(RADIANS(info2.latitude))
        * COS(RADIANS(info1.longitude - info2.longitude))
        + SIN(RADIANS(info1.latitude))
        * SIN(RADIANS(info2.latitude)))))
       FROM "Information" AS info2) <= 1

Ответы (1 шт):

Автор решения: Akina

Пример реализации финального отбора (после построения маршрута, с расстояниями от исходной точки):

WITH cte AS (
    SELECT *, 
           COUNT(*) OVER (ORDER BY point_coordinate ASC 
                          RANGE BETWEEN 1 PRECEDING AND CURRENT ROW) cnt
    FROM test
)
SELECT * 
FROM cte 
ORDER BY cnt DESC 
FETCH FIRST 1 ROW WITH TIES

DEMO

→ Ссылка