Как хранить маршруты в базе MySQL?

461
10 февраля 2017, 06:28

Никогда не сталкивался с логистикой, только в теории в институте. Представьте себе множество точек соединенных линиями. Точки БЕЗ координат(x,y,z). У точек есть названия - это пункты выгрузки, загрузки, а линии их соединяющие - это машруты. Чтобы проложить маршрут необходимо задать начальный пункт и конечный. А программа уже выдает количество промежуточных пунктов и их названия. Вот пример : Карта с точками

А вопрос как правильно мне хранить эти отношения в базе данных, чтобы я мог эффективно прокладывать маршрут и иметь представление о колчиестве пересекаемых пунктов?

Я склоняюсь к методу что необходимо в первую очередь создать таблицу уникальных названий точек с id PRYMARY AUTO_INCREMENT

Затем сделать что то вроде

SELECT t1.`name`,t2.`name` AS `second_name` FROM `table` t1 FULL JOIN `table` t2 ON t1.`name`!=t2.`name`

и проверить есть ли между ними связь, если есть, то записать в таблицу многие ко многим (пару, как их id в пару столбцов)

Либо пойти по другому пути и проверить сколько между ними точек и определить их id

Первый способ гибкий, поскольку можно будет выбирать маршруты. А второй более быстрый - дает однозначный вариант и считать ничего не нужно будет, только вот если понадобятся не линейные маршруты а с заездами в соседние - то тут я не знаю тоже какая то формула понадобится.

В первом же случае мне придется выстраивать два дерева сцепленными ветвями, где их основания начальная и конечная точка, все сцепленные ветки это пути, а самый короткий путь - это искомый.

Если кто сталкивался с такого рода задачами - подскажите где искать информацию.

Спасибо.

READ ALSO
Ошибка в коде php в массиве

Ошибка в коде php в массиве

пишет, что в 10 строке ошибка

367
Реализация методов класса PHP

Реализация методов класса PHP

Я имею следующие классы:

406
Сборка geoip.so для hhvm 3.17

Сборка geoip.so для hhvm 3.17

В процессе сборки расширения geoipso для hhvm 3

281
Проблема в подключении стилей в теме wordpress

Проблема в подключении стилей в теме wordpress

Не получается подключить стилиВ файле index

387