В моей базе данных PostgreSQL есть две таблицы, каждая из которых содержит один маршрут, и у них есть несколько перекрывающихся секций.Я хочу объединить их и разделить на отдельные разделы на основе перекрывающейся информации и информации о качестве маршрута (отдельно хранится в таблице).
Я пытался объединить таблицы, но у меня все еще нет информациио сегментах.
Мои таблицы выглядят так:
Table1:
id latitude longitude route_quality
1 47.948208 8.499215 1
2 47.948208 8.499313 1
3 47.948044 8.499697 2
4 47.948006 8.499986 2
5 47.94809 8.500163 1
6 47.948402 8.500023 1
7 47.949173 8.500094 1
8 47.949554 8.5001335 1
9 47.949623 8.500321 1
10 47.949207 8.502197 1
11 47.949104 8.5028515 1
Table2:
latitude longitude route_quality
1 47.948208 8.499215 1
2 47.948208 8.499313 1
3 47.948044 8.499697 2
4 47.948006 8.499986 2
5 47.94809 8.500163 1
6 47.948402 8.500023 1
7 47.949173 8.500094 1
8 47.949555 8.5001336 3
9 47.949624 8.500322 3
10 47.949207 8.502197 1
11 47.949104 8.5028515 1
Как видите, у меня есть некоторыеперекрытия и различия в качестве маршрута, и я хочу получить что-то вроде этого:
Результат:
latitude longitude route_quality section
47.948208 8.499215 1 1 //overlapping
47.948208 8.499313 1 1 //overlapping
47.948044 8.499697 2 2 //overlapping but different route quality starts
47.948006 8.499986 2 2 //overlapping
47.94809 8.500163 1 3 //overlapping but different route quality starts
47.948402 8.500023 1 3 //overlapping
47.949173 8.500094 1 3 //overlapping
47.949554 8.5001335 1 4 //this is from Table1
47.949623 8.500321 1 4 //this is from Table1
47.949555 8.5001336 3 5 //this is from Table2
47.949624 8.500322 3 5 //this is from Table2
47.949207 8.502197 1 6 //overlapping starts
47.949104 8.5028515 1 6 //overlapping
Я пробовал с курсорами, слиянием, объединением, но все было безуспешно.Любое предложение высоко ценится.
Вот пример визуально представленных разделов.Каждый цвет - это отдельный раздел, основанный на разветвлениях маршрута и поле route_quality.
Участки маршрута
Спасибо.