SUMO: изменение временного шага симуляции и параметра вывода

Я использую SUMO для большой сети до 4 дней. Я понимаю, что большинство моделей отслеживания трафика были разработаны за секунды, но мне нужно увеличить временной шаг до минут или 5/10 минут.

Я наткнулся на эту функцию. https://sourceforge.net/p/sumo/mailman/message/32876223/

<time>
    <step-length value="3600" />
</time>

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

Может ли кто-нибудь сказать мне, как установить другой временной шаг, и есть ли другие настройки, которые мне нужно изменить, чтобы все было правильно?

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


person Yu Deng    schedule 05.04.2016    source источник


Ответы (1)


Длина шага — это значение в секундах, описывающее длину одного шага моделирования. Вы, вероятно, не хотите, чтобы это было больше секунды или, может быть, двух. В противном случае транспортные средства просто не смогут реагировать, потому что позиции всех остальных обновляются только раз в час (если установить значение 3600, как в вашем примере). Если вам нужны агрегированные данные, взгляните на вывод средних данных Sumo. Делается это путем записи дополнительного файла с содержимым

<additional>
    <laneData id="dump" freq="3600" file="aggregated.xml"/>
</additional>

Если вы хотите фильтровать данные на лету, вы можете записать их в сокет, используя специальное имя файла localhost:12345, где вам понадобится какой-то сервер, прослушивающий порт 12345 на вашей локальной машине и фильтрующий файл. Если вы работаете в Unix-подобной среде, вы, конечно, можете использовать именованные каналы. Вы также можете писать в stdout или stderr, используя специальные имена файлов stdout или stderr, и фильтровать их.

person Michael    schedule 05.04.2016