Планирование поездок

Часть 2. Учитываемые факторы и ограничения

Главных возмущающих факторов два: рельеф и ветер. Рельеф снимается с электронной карты по проложенному в OziExplorer'е треку, ветер берётся с одного из погодных сайтов, желательно того, по данным которого строились уравнения регрессии.

Ограничений может быть множество, но основные из них скорость и время. Понятно, что оба ограничения связаны и оказывают влияние друг на друга. Ограничение в скорости имеет множество аспектов, но главный из них состоит в том, что при планировании необходимо учитывать скорость самого быстрого и самого медленного из участников поездки, и составлять план поездки именно для них. Все остальные уложатся в промежутки времени, рассчитанные для этих двоих. Ограничение во времени также имеет множество вариантов влияния на план, но главные состоят в том, что домой желательно приехать засветло, а к отходу поезда желательно попасть до, а не после отправления ... Всякого рода остановки на маршруте, например на перекус, на попить воды, на регистрацию параметров поездки (средней скорости на этапе, времени в пути, фактической протяжённости этапа) также выливаются в ограничения по времени. Во время поездок фактические данные об остановках я регулярно учитываю и, отправляясь куда-либо точно знаю, что на остановку с перекусом и регистрацией параметров мне требуется в среднем 10 минут, а на остановку с регистрацией и питьём воды - 2 минуты и т.п.

Наконец последнее замечание: уже только перечисление учитываемых факторов и ограничений говорит о том, что построить программу на все случаи жизни в принципе невозможно, и стремиться к этому мы не будем. Но автоматизация расчёта весьма полезна тогда, когда факторы обладают значительной изменчивостью, например, ветер, а пересчитать весь план оказывается трудоёмким.

Пойдём по порядку и опишем как выглядит в целом вся процедура планирования. Она состоит из двух частей: 1) подготовки исходных данных для планирования, которая выполняется задолго до поездки и 2) расчёта плана поездки по прогнозируемому ветру, выполняемому по самой свежей информации о ветре перед самым выездом.

Опишем первую часть. Прежде всего вся поездка разбивается на последовательность этапов, протяжённостью приблизительно 10 км. Такое разбиение должно быть отражено прежде всего в треке поездки: он набирается состоящим из секций соответствующей длины. Чтобы затратить как можно меньше времени на набор трека, он прокладывается грубо из прямолинейных участков наибольшей возможной длины, которые разбиваются затем в программе построения треков на отрезки заданной длины, как это описано здесь. Я разбиваю трек обычно на участки длиной по 400 метров. Затем рассчитываются скорости движения на каждом этапе, характерные для самого быстрого и самого медленного участника в зависимости от характеристик рельефа. Расчёт выполняется автоматически по программе, являющейся доработкой программы подсчёта набора высоты за поездку. В дополнение к характеристикам рельефа каждой секции программа рассчитывает скорости и время прохождения каждого этапа для обоих участников (самого быстрого и самого медленного). Информация о скоростях и протяжённостях этапов используется в заключительной программе, выполняющей собственно планирование поездки с учётом прогноза ветра и всех временных ограничений.

Описанная выше информация неизменна для будущей поездки и, будучи один раз посчитана и подготовлена, уже больше не меняется в дальнейшем. Такие заготовки я делаю для нескольких маршрутов и сохраняю их до момента отъёзда. Вечером накануне отъезда по прогнозу ветра я выбираю наиболее благоприятный по ветровой обстановке маршрут, и уже для него составляю предварительный план поездки. Окончательные коррективы вносятся в план перед самым выездом по последней информации о фактическом ветре. Такая корректировка отнимает ровно столько времени, сколько требуется на выход в Инет и снятие информации о фактическом ветре и последнем прогнозе, а также на печать скорректированного плана. Корректировка предварительно составленного плана весьма желательна из-за низкой точности доступных прогнозов и большой изменчивости ветровой обстановки с одной стороны, а с другой - из-за стремления выбрать в некотором смысле наиболее подходящий к ожидаемому ветру маршрут. Что имеется ввиду под наиболее подходящим маршрутом? Многолетние наблюдения за фактическим ветром, проведенные, естественно, не мной, а взятые с погодных сайтов (например, из архива для Днепропетровска сайта gismeteo.ru или из наиболее полного архива сайта wunderground.com. Замечу здесь, что такая же информация имеется в открытом и бесплатном доступе для большинства городов СНГ и мира) позволили сделать вывод о достаточно закономерном изменении ветра на протяжении суток. А именно: утром ветер слаб, к обеду усиливается, а к вечеру опять ослабевает.  В принципе ничего особенно нового в таком выводе нет: все, кто рыбачил когда-либо, знают, что на утренней и вечерней зорьке ветра, как правило, нет. График достаточно типичной зависимости скорости ветра для Днепропетровска, взятый с сайта wunderground.com, довольно хорошо иллюстрирует сказанное.

Ветер по г.Днепропетровск за 10 мая 2006 г.

Как видно из графика, скорость ветра к середине дня может возрастать в 2-3 раза, что весьма ощутимо. Даже не очень глубоко анализируя приведенную зависимость можно сделать следующий вывод, которым я реально пользуюсь при выборе подходящего маршрута:

1) выезжая утром, есть смысл избирать такой маршрут, чтобы первую половину пути ехать против ветра, а вторую, завершаемую до 16-17 часов, ехать по ветру. При этом обе половины могут достигает 5 часов по времени в дороге и приблизительно 20х5 = 100 км пути! Думаю, что 200 км для одного дня более чем достаточно;

2) выезжая в середине дня, есть смысл первую половину пути ехать по ветру, когда он наиболее сильный, а вторую половину ехать против ветра, когда он ослабевает.

Подготовка исходных данных и соответственно первый этап планирования завершается информацией о направлениях 10-ти километровых этапов, на которые разбит маршрут. За направления каждого этапа принимается направление (True Bearing в OziExplorer'е) из начальной точки каждой секции трека в конечную.

Вторая чась планирования включает получение информации о скорости и направлении ветра с шагом 3 часа по времени, расчёт плана поездки и выдачу его на печать.

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

ОН

P.S. Заранее прошу прощения за отсутствие последней и по сути главной части - она в работе. Хотя всем приведенным выше я пользуюсь уже несколько лет, описать это со всеми подробностями руки пока не доходят.




Hosted by uCoz