Есть маршрут А и маршрут Б, пытаюсь определить процент, насколько процентов один маршрут дублирует другой, маршруты хранятся в бд в поле типа geography, в виде линии, было принято дублированность как отношения площади пересечения буферов линий двух маршрутов к длине одного из них.
Полученный результат не устраивает, т.к сравнивал длины двух похожих маршрутов, по длинам у них совпадение на 85%, а по моей формуле получается 98, да и даже визуально видно, что похожи они менее чем на 98%
st_buffer(route_line, 25) as route_line_buffer
(st_area(ST_Intersection((select route_line_buffer
from unprepared_lines where id = 565
order by route_group_length desc
limit 1), route_line_buffer)) / st_area((select route_line_buffer
from unprepared_lines where id = 565
order by route_group_length desc
limit 1)) * 100)::integer as duplication_percent,