Это команда v.net.timetablegrass, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
v.net.расписание - Находит кратчайший путь по расписанию.
КЛЮЧЕВЫЕ СЛОВА
вектор, сеть, кратчайший путь
СИНТАКСИС
v.net.расписание
v.net.расписание --Помогите
v.net.расписание вход=имя [слой=string] выходной=имя [дуговой_слой=string]
[node_layer=string] [arc_column=string] [arc_backward_column=string]
[node_column=string] [Walk_layer=string] идентификатор_маршрута=имя остановить время=имя прекратить=имя
длина_прогулки=имя [-затирать] [-помощь] [-подробный] [-тихий] [-ui]
Флаги:
- перезаписать
Разрешить выходным файлам перезаписывать существующие файлы
--Помогите
Распечатать сводку использования
--подробный
Подробный вывод модуля
--тихий
Тихий выход модуля
--уи
Принудительный запуск диалогового окна GUI
Параметры:
вход=имя [требуется]
Имя входной векторной карты
Или источник данных для прямого доступа к OGR
слой=string
Номер или название слоя
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 1
выходной=имя [требуется]
Имя выходной векторной карты
дуговой_слой=string
Слой дуги
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 1
node_layer=string
Узловой слой
Векторные объекты могут иметь значения категорий в разных слоях. Это число определяет
какой слой использовать. При использовании с прямым доступом к OGR это имя слоя.
По умолчанию: 2
arc_column=string
Колонка стоимости дуги вперед / в обоих направлениях (число)
arc_backward_column=string
Столбец стоимости дуги в обратном направлении (число)
node_column=string
Столбец стоимости узла (номер)
Walk_layer=string
Номер слоя или имя с пешеходными связями или -1
Одна векторная карта может быть связана с несколькими таблицами базы данных. этот номер
определяет, какую таблицу использовать. При использовании с прямым доступом к OGR это слой
имя.
По умолчанию: -1
идентификатор_маршрута=имя [требуется]
Имя столбца с идентификаторами маршрута
По умолчанию: идентификатор_маршрута
остановить время=имя [требуется]
Имя столбца с отметками времени остановки
По умолчанию: остановить время
прекратить=имя [требуется]
Имя столбца со стоп-идентификаторами
По умолчанию: прекратить
длина_прогулки=имя [требуется]
Название колонны с длиной шага
По умолчанию:
ОПИСАНИЕ
v.net.расписание находит кратчайший путь между двумя точками, используя расписание.
v.net.расписание читает ввод, по одному запросу на строку, из стандартного ввода и записывает вывод
на стандартный вывод, а также на выходной карту и таблицы, связанные со слоями 1 и
2. Каждая строка ввода должна соответствовать одному из следующих форматов:
PATH_ID FROM_X FROM_Y TO_X TO_Y START_TIME MIN_CHANGE MAX_CHANGE WALK_CHANGE
PATH_ID FROM_STOP TO_STOP START_TIME MIN_CHANGE MAX_CHANGE WALK_CHANGE
где PATH_ID - это идентификатор запроса, который используется в выходной карте для
различать запросы. Поиск начинается в START_TIME. MIN_CHANGE дает минимум
количество раз (включительно) для перехода с одного маршрута на другой. MAX_CHANGES обозначает
максимальное разрешенное количество изменений или -1, если бесконечно. WALK_CHANGE равно 1 или 0 в зависимости от
считается ли переход от одной остановки к другой изменением или нет. Наконец,
путь находится от FROM_STOP к TO_STOP в последнем случае и от ближайшей к
(FROM_X, FROM_Y) координаты остановки, ближайшей к координатам (TO_X, TO_Y) в предыдущем
дело.
Для каждого входного запроса модуль выводит описание кратчайшего пути к стандарту.
выход. Например, используя таблицы, приведенные ниже, для следующего ввода:
47 130 300 0 1 5 0
выводится следующий результат:
Маршрут 15, от 130 отправление в 15 прибытие до 250 в 22
Пешком от 250 до 22 часов до 300 в 24 часа.
Более того, модуль записывает путь к выходной карта и хранит всю информацию
необходимо восстановить путь к таблицам. Таблица, соответствующая остановкам / точкам:
связан со слоем 1 и выглядит после запроса следующим образом:
cat | path_id | stop_id | index | arr_time | dep_time
1|47|130|1|0|15
2|47|250|2|22|22
3|47|300|3|24|24
где CAT - категория точки на карте, PATH_ID - идентификатор пути,
STOP_ID - это идентификатор остановки, используемый во входной карте, INDEX - это индекс
остановка на пути (т.е. index = 1 - это первая остановка, ...) и ARR_TIME и
DEP_TIME обозначают время прибытия и время отправления соответственно. Время прибытия для
первая остановка на пути всегда равна START_TIME и времени отправления для последней остановки
всегда равно времени прибытия.
Таблица, связанная со вторым слоем, соответствует подмаршрутам, взятым между остановками. В
Для вышеуказанного запроса получена следующая таблица:
cat | path_id | from_id | to_id | route_id | index | from_time | to_time
1|47|130|250|15|1|15|22
2|47|250|300|-1|2|22|24
где CAT - категория линий подмаршрута между остановками FROM_ID - TO_ID, ROUTE_ID -
идентификатор пройденного маршрута или -1, если идти пешком, INDEX и PATH_ID такие же, как указано выше и
FROM_TIME и TO_TIME обозначают время, между которым выполняется маршрут.
The выходной карта содержит точки на позициях использованных остановок. Если выбран подмаршрут
между двумя остановками добавляется отрезок прямой между двумя соответствующими точками. Наконец-то,
вместо отрезка прямой, фактические пути маршрутов могут быть указаны в пути слой.
Если используется этот параметр, то каждая строка входной карты должна содержать идентификаторы как
номера категорий всех маршрутов, проходящих через линию. Затем модуль находит путь
между двумя остановками и вместо этого записывает этот путь. В случае ходьбы от одной остановки до
используется другая, прямая линия между остановками.
ПРИМЕЧАНИЯ
Расписания хранятся в таблице, связанной с данным слой вход карта. Расписание уроков
состоит из маршрутов, и каждый маршрут представляет собой последовательность остановок с указанным прибытием
раз. Если две последовательности остановок отличаются только во времени, то они все равно соответствуют двум.
маршруты. Например, если есть автобусная линия, которая отправляется каждые 20 минут и следует
один и тот же путь каждый раз, тогда все равно должен быть отдельный маршрут для каждого
время. Для каждой остановки (заданной номером категории точки) таблица хранит
информация о маршрутах должна содержать список всех маршрутов с остановками в
остановка (указывается в идентификаторах маршрута) вместе с временем прибытия. То есть стол должен
содержат три столбца: стоп - это ключ таблицы, идентификатор_маршрута и остановить время в котором
каждая тройка соответствует маршруту с прибытием на остановку и определенное время. Например,
допустимая таблица может выглядеть следующим образом:
кошка | route_id | stop_time
100 | 5 | 0
130 | 5 | 10
150 | 5 | 20
250 | 5 | 30
300 | 5 | 40
260 | 15 | 5
130 | 15 | 15
250 | 15 | 22
150 | 35 | 17
250 | 35 | 27
300 | 35 | 37
100 | 35 | 50
Обратите внимание, что остановить время является целым числом, поэтому вы можете использовать любые единицы и offest, чтобы указать
время прибытия.
Кроме того, пешеходные маршруты между остановками могут быть указаны в таблице, связанной с ходьба слой
вход карта. Если этот параметр равен -1, переход между остановками запрещен. В
таблица должна содержать три столбца: стоп - это ключ таблицы, прекратить и
. Запись в таблице говорит, что требуется
единиц времени, чтобы пройти от остановки до прекратить. Ниже приведена действительная таблица:
кошка | длина | to_stop
250 | 2 | 300
Помните, что это означает только то, что можно пройти от остановки 250 до остановки 300, но не
наоборот.
ПРИМЕРЫ
Найти путь от остановки с идентификатором 130 до остановки с категорией 300, начиная с
время 0, с одной единицей времени для смены, максимум 5 смен и с ходьбой не
считая изменение маршрута, мы используем следующую команду:
эхо "47 130 300 0 1 5 0" | v.net.расписание
вход = автобусы выход = слой пути = 5 ходьба = 6 путь = 7
Если, с другой стороны, мы знаем координаты мест, то следующая команда
может использоваться:
эхо "47 10.31 54.31 90.21 28.21 0 1 5 0" | v.net.расписание
вход = автобусы выход = слой пути = 5 ходьба = 6 путь = 7
Используйте v.net.timetablegrass в Интернете с помощью сервисов onworks.net