Взять готовый исходник карт, напримере OSM( области Херсон).
Прикрепить к нему готовый алгоритм( например Дейкстры). (когдав вы вводите несколько адресов, скрипт анализирует все предлагаемые маршруты и выбирает такую последовательность обхода пунктов, при которой общая дистанция маршрута минимальна) или написать свой
Оптимизировать поиск между городами
Наложить на верх исходной карты карту например Яндекс.Мэп
Назначить маршрутки для области, какая ближайшая маршрутка и т.д
Выполнить "смс отправку "
желающим получить данные в виде смс
Например: построил маршрут, получил данные на сайте в виде готовой таблице
Эту таблицу отправить по смс.
По пункту 4: Зачем другие карты? Кстати, при наложении разных карт будут “чудеса” в виде несовпадающих дорог (“автобус едет рядом с дорогой”), отсутствующих дорог ("ой, гляди-ка автобус в поле уехал!!! ")
По пункту 5: Это “задача коммивояжера”. Должна решаться в п. 2.
По пункту 6: Для построения сети пригородных автобусных маршрутов данных из карты недостаточно. Нужна информация о транспортном спросе (кол-ве желающих ехать из пункта А в пункт Б для всех деревенек и городов в области).
Или вы хотите просто визуализировать существующие маршруты?
По пункту 7: Зачем СМС? Хотите сделать платный сервис “Заплати 1 гривню и получи схему проезда от г. Жопоград в пгт Мухосранск на маршрутке”? Нереально без актуальной и постоянно обновляемой схемы всех маршрутов и расписаний движения автобусов.
Кроме того, пассажир может пользоваться кроме маршруток ещё и пригородными электричками. А может плюнуть на всё, отлистать бабло и взять такси.
Кстати, тут надо как-то учесть “стыковку” разных маршрутов. Чтобы пассажиру не пришлось ждать автобуса с ночи до утра, чтобы приехав в 22:45 в промежуточный пункт, отправиться дальше в 06:15 на следующий день, переночевав на остановке.