Реклама


Модуль:NYCS DB

Документация

Модуль содержит около 60 функций для вычисления информации, связанной с маршрутами Нью-Йоркского метрополитена. Область использования:

  • более 400 статей о станциях и пересадочных узлах;
  • около 70 статей о линиях и маршрутах;
  • список станций, список маршрутов и т. п.;
  • другие статьи со ссылками на статьи о станциях, линиях и маршрутах.

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

Охват информации[ код]

Что учитывается[ код]

Что учитывается в модуле (если надо, см. подробности ниже):

  • движение поездов по маршрутам;
  • деление маршрутов на экспрессы и локальные;
  • изменение маршрутов в зависимости от времени суток;
  • наличие вилочного движения;
  • возможность различий между направлениями;
  • доступность станций для инвалидов;
  • закрытые станции;
  • неиспользуемые пути;
  • проектируемые/строящиеся станции и проектируемые маршруты;
  • отображение временных изменений (вся та же информация, но параллельно для обычной схемы и для введённой на несколько месяцев в связи с каким-нибудь большим ремонтом; пока только для изменений в маршрутах и в виртуальных пересадках и только в карточке станции).

Что пока не учитывается[ код]

В дальнейшем можно добавить новые возможности:

  • учёт того факта, что некоторые поезда оборачиваются не доезжая до конечной станции (при этом F на станции Кингс-Хайвей и 4 на станции Бернсайд-авеню и трёх предыдущих идут по экспресс-пути, что в модуле пока не отражено);
  • различия в остановках между поездами, движущимися на юг и на север (на момент составления модуля это имеет значение для станции Акуидакт-Рейстрак и для некоторых поездов 4 в северной части маршрута в часы пик, а также для выбора между локальным и экспресс-путём у некоторых маршрутов на станциях Канал-стрит и Куинс-Плаза, хотя совсем недавно это было и у ночного челнока R и ещё где-то); сегодня учитываются только различия между поездами, движущимися в пиковом направлении и в обратном ему; информация о различиях между севером и югом пока находится прямо в статьях и поддерживается вручную;
  • различия между утренним и вечерним часом пик;
  • суперэкспрессы (маршруты, проходящие без остановки даже некоторые из станций, помеченных как «для всех поездов»; в последние годы не используются, но могут быть введены в любой момент);
  • места возможного перехода поезда с экспресс-путей на локальные или наоборот для пополнения вычисляемого списка соседних станций для каждой станции;
  • количество путей по участкам на схемах линий.

Функции[ код]

Во всех примерах взяты:

Кроме того, во избежание повторения примеров в таблице функций использованы для построения:

Для карточек статей о станциях[ код]

Название Ввод[1] Вывод Форматирование вывода Применение Пример
station_full Станция. Останавливающиеся на станции маршруты. Для каждого маршрута его буллет со ссылкой на статью о маршруте и в уголке значок, обозначающий, когда этот маршрут останавливается на этой станции. Карточка станции. J — круглосуточноJ — круглосуточноM — круглосуточно, кроме ночиM — круглосуточно, кроме ночиZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
station_lines Станция. Линии, проходящие через станцию. Просто список ссылок на статьи о линиях. Второй (опциональный) параметр — цвет букв (для вывода на цветном фоне в карточке). Карточка станции. линия Нассо-стрит, Би-эм-ти
station_next Станция. Те станции, которые могут оказаться следующими при поездке от данной станции на поездах разных маршрутов. Как в station_full, но вместо буллетов маршрутов — текст со ссылкой на статью о маршруте. Список состоит из двух разделённых горизонтальной чертой частей (как правило север и юг, но в общем случае просто по одну и другую сторону от станции). Если во втором параметре написать acc, будут выданы те станции, которые доступны для инвалидов. Карточка станции. Бауэри
    (Jкруглосуточно Zв часы пик в пиковом направлении)
Бродвей — Лафайетт-стрит
    (Mв будни днём и вечером)
Марси-авеню
    (Jкруглосуточно Mкруглосуточно, кроме ночи Zв часы пик в пиковом направлении)
station_netto_T Станция. Название станции (или пересадочного узла) без уточнения. Чистый текст. Карточка станции. Эссекс-стрит
station_acc Станция. Обозначение доступности станции для инвалидов. Значок инвалидного кресла и (опционально) текст примечания. Карточка станции.
station_opened Станция. Дата открытия. Текст. Карточка станции. 16 сентября 1908
station_eng Станция. Во втором параметре поддерживаются значения former и future для бывших и будущих станций соответственно. Английское название. Текст. Карточка станции. Essex Street
station_ridership Станция. Пассажиропоток. Текст. Для станций, входящих в пересадочный узел, не выводится ничего, потому что в источнике данные приводятся по пересадочным узлам суммарно. Для таких станций пассажиропоток выводится только в карточке всего пересадочного узла при помощи функции complex_ridership. Карточка станции. 1 347 765
(317 из 424)[2]
[3]
station_connections Станция. Во втором параметре поддерживаются значения former и future для бывших и будущих станций соответственно. Пересадки на другие виды транспорта, а также виртуальные пересадки между станциями метро. В статьях о пересадочных узлах срабатывает в карточке узла, а не в карточках отдельных станций. Текст. Карточка станции. Фар-Рокавей (LIRR)[en][3]
station_csv Станция и имя поля. Боро (если второй параметр boro), структурный тип станции (если второй параметр struc), географические координаты (если второй параметр coord), код станции (если второй параметр id). Текст. Карточка станции.
station_cats Станция. Во втором параметре поддерживаются значения former и future для бывших и будущих станций соответственно. Категории для статьи (три вида категорий: по линии, по году открытия и по кросс-платформенной пересадке). При вызове не в пространстве статей категории показываются как обычные ссылки списком. Карточка станции.
former_data Станция и имя поля. Только для бывших станций: боро (если второй параметр boro), дата открытия (если второй параметр opened), дата закрытия (если второй параметр closed), структурный тип станции (если второй параметр struc). Текст. Карточка станции.

Карточки для примера[ код]

«Эссекс-стрит»
Essex Street
J — круглосуточноJ — круглосуточноM — круглосуточно, кроме ночиM — круглосуточно, кроме ночиZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
Нью-Йоркский метрополитен
Essex Street BMT 9198.JPG
Расположение платформ 40°43′06″ с. ш. 73°59′15″ з. д.HGЯO
Дата открытия 16 сентября 1908
Боро Манхэттен
Тип
(по данным MTA)
подземная
Количество платформ 2
Тип платформ 1 островная, 1 боковая
Код станции 102
Соседние станции Бауэри
    (Jкруглосуточно Zв часы пик в пиковом направлении)
Бродвей — Лафайетт-стрит
    (Mв будни днём и вечером)
Марси-авеню
    (Jкруглосуточно Mкруглосуточно, кроме ночи Zв часы пик в пиковом направлении)
«Фар-Рокавей — Мотт-авеню»
Far Rockaway–Mott Avenue
A — круглосуточноA — круглосуточно
Нью-Йоркский метрополитен
FarRockawayRehab.jpg
Расположение платформ 40°36′14″ с. ш. 73°45′19″ з. д.HGЯO
Дата открытия 1869
(в составе метро с 16 января 1958)
Боро Куинс
Округ Фар-Рокавей
Тип
(по данным MTA)
эстакадная
Количество платформ 1
Тип платформы островная
Доступность Доступность для маломобильных групп населения
Выход к улицам Бич 22-я улица и Мотт-авеню
Пассажиропоток (2019) 1 347 765
(317 из 424)[2]
Пересадки Фар-Рокавей (LIRR)[en]
Код станции 209
Соседние станции Бич 25-я улица
    (Aкруглосуточно)
нет
«Корт-стрит»
Court Street
З А К Р Ы Т А
и превращена в музей
Нью-Йоркский метрополитен
New York Transit Museum Court Street platform.jpg
Платформа с музейными экспонатами
Дата открытия 9 апреля 1936
Дата закрытия 1946
Боро Бруклин
Округ Нижний Бруклин
Тип подземная
Количество платформ 1
Тип платформы островная
Выход к улицам Скермерхорн-стрит, Борум-Плейс
Соседние станции нет
Хойт-стрит — Скермерхорн-стрит

Для других частей статей о станциях[ код]

Название Ввод[1] Вывод Форматирование вывода Применение Пример
station_prose0 Станция. Самое начало преамбулы: название станции на русском и английском и линия (либо список линий). Связный текст. Преамбула статьи о станции. «Эссекс-стрит» (англ. Essex Street) — станция Нью-Йоркского метрополитена, расположенная на линии Нассо-стрит, Би-эм-ти.
station_prose Станция. Один необязательный параметр описан правее. Останавливающиеся на станции маршруты, и далее (в зависимости от типа станции) маршруты: для которых станция является конечной; проходящие станцию без остановки; проходящие по тем и иным путям. Если станция на одном из 10 первых мест по пассажиропотоку, то добавляется текст ещё и об этом. Связный текст. Через второй параметр можно передать дополнительный текст, который будет вставлен после слов «На станции». Преамбула статьи о станции. На станции останавливаются маршруты: J (круглосуточно), M (круглосуточно, кроме ночи) и Z (в часы пик в пиковом направлении).
SL Станция, ориентация схемы (V или H), тип пути, список маршрутов (через запятую и пробел) для добавки к вычисляемым и список маршрутов (через запятую и пробел) для отмены.

Допустимые типы пути:

  • (пусто) — все маршруты, останавливающиеся на станции;
  • skip — все маршруты, проходящие станцию без остановки;
  • lcl — локальный путь на экспресс-станции;
  • exp — экспресс-путь на экспресс-станции;
  • manual — по умолчанию никаких маршрутов нет (показываются только те, которые добавлены через следующий параметр).
Маршруты, проходящие через станцию по данному пути.[5] Для каждого маршрута только мелкий буллет без значка. Схема платформ и путей станции, составленная при помощи шаблонов серии SL.
 
 
 JZ
 
 
 M
station_expressinuse Станция и два варианта возвращаемого значения. Если не задана валидная станция, статья заносится в Категория:Статьи с ошибочными параметрами при обращении к модулю NYCS DB.

Для демонстрационных целей поддерживаются фиктивные станции «+» и «-», соответствующие двум случаям, описанным правее.

Если на станции экспресс-пути используются хотя бы одним маршрутом (без разницы, с остановкой или без), то второй из переданных параметров, иначе третий. Строка. На схеме путей и платформ позволяет создать if, чтобы показывать экспресс-пути сплошной линией или пунктиром.
Станция, где
экспресс-пути
используются
Станция, где
экспресс-пути
не используются



л


э


э


л






 


 



station_terminalinuse Как выше. В четвёртый параметр можно передать направление (n или s). Если станция является конечной хотя бы для одного маршрута (северной или южной соответственно, если в четвёртом параметре задано n или s, и хотя бы северной или южной в противном случае), то второй из переданных параметров, иначе третий. Функция используется для путей, которые служат только для разворота поездов. Строка. Аналогично предыдущей функции.
Станция, где
оборотный путь
используется
Станция, где
оборотный путь
не используется






о














connection_use_st Две или три станции. Если не задано две валидных станции, статья заносится в Категория:Статьи с ошибочными параметрами при обращении к модулю NYCS DB. Один необязательный параметр (и альтернативный способ заполнения обязательных) описан правее. Маршруты, использующие соединение между двумя станциями (если задано три, то от первой до двух остальных суммарно). Маршруты учитываются также и те, которые проходят заданные станции без остановки. Текст. Если в третьем параметре (для случая трёх станций в четвёртом) задано слово when, то маршруты выдаются с описанием времён, иначе без. Если там же задано слово letters, то выдаётся только список букв и цифр текстом без ссылок, а если слово bullets или bullets all, то список буллетов.[5] Если в третьем параметре (вместо третьей станции) задано x или o, это обозначает, что для второй станции нужны только маршруты, проходящие по экспресс- или локальным путям соответственно. Статья о станции (описание развилок на пути от станции). А пути уходят вон туда (маршруты B в будни днём и вечером до 23:00 и Q круглосуточно). Они делятся на экспресс-пути (маршрут B в будни днём и вечером до 23:00) и локальные (маршрут Q круглосуточно).

Тоннель входит в состав линии Восьмой авеню, Ай-эн-ди (маршруты A и C метрополитена).

station_terminal Станция и направление (n или s). Два необязательных параметра описаны правее. Маршруты, для которых данная станция является конечной. Текст. Если в третьем параметре задано слово when, то маршруты выдаются с описанием времён, иначе без. Если в четвёртом параметре (при незаданном when в третьем) задано слово plain, то буквы маршрутов выдаются без ссылок на статьи о них. Если там же задано слово letters, выдаётся только список букв и цифр текстом без ссылок.[5] Статья о станции. А этот путь служит конечным (маршрут S (челнок Франклин-авеню)).
station_terminalonly Станция. Проверка, является ли станция конечной для всех маршрутов, останавливающихся на ней. Если станция является северной конечной для всех её поездов, то n, если южной, то s, иначе пустая строка. Статья о станции. s[3]
route_table_nav Станция или пересадочный узел. Списки станций по маршрутам, проходящим через станцию или пересадочный узел, которым посвящена статья (по порядку с севера на юг). Горизонтальный навшаблон. Навшаблон в статье о станции или о пересадочном узле.

Фрагмент преамбулы для примера[ код]

«Эссекс-стрит» (англ. Essex Street) — станция Нью-Йоркского метрополитена, расположенная на линии Нассо-стрит, Би-эм-ти. … На станции останавливаются маршруты: J (круглосуточно), M (круглосуточно, кроме ночи) и Z (в часы пик в пиковом направлении).

Для поездов, следующих на восток, используется островная платформа и два пути с двух сторон от неё: северный из них относится к линии Нассо-стрит (маршруты J и Z), а южный входит в состав соединения Кристи-стрит, ведущего к линии Шестой авеню (маршрут M).

Для списка станций[ код]

Название Ввод[1] Вывод Форматирование вывода Применение
all_stations Неограниченное количество параметров парами: название станции и викитекст, выводящий иллюстрацию. В качестве станций задаются физические станции, то есть для перечисленных в таблице multiline_stations целые станции, а в таблице station_complexes — части статьи. Викитекст имеет вид:
  • для горизонтальных иллюстраций — [[Файл:...|100px]]
  • для вертикальных иллюстраций — [[Файл:...|80px]]

Параметры должны быть заданы для всех действующих станций.

Весь список станций. Список станций.

Для статей о пересадочных узлах[ код]

Название Ввод[1] Вывод Форматирование вывода Применение Пример
complex_lines Пересадочный узел. Линии, проходящие через все станции пересадочного узла. Просто список ссылок на статьи о линиях, как в station_lines. Карточка пересадочного узла. линия Нассо-стрит, Би-эм-ти
линия Шестой авеню, Ай-эн-ди
complex_ridership Пересадочный узел. Пассажиропоток. Текст, аналогично station_ridership. Карточка пересадочного узла. 8 861 296
(34 из 424)[2]
complex_boro Пересадочный узел. Боро (или список боро для разных станций, если узел находит на границе). Текст. Карточка пересадочного узла. Манхэттен
complex_prose Пересадочный узел. Маршруты, останавливающиеся на всех станциях узла, единым списком, а также линии, проходящие через станции пересадочного узла. Если узел на одном из 10 первых мест по пассажиропотоку, то добавляется текст ещё и об этом. Всё связным текстом, каждая линия и каждый маршрут оформлены как пункт списка. Если несколько маршрутов останавливаются на станциях узла в одни и те же периоды времени, они перечисляются через запятую в одном пункте списка. Преамбула статьи о пересадочном узле. В пересадочный узел входят станции следующих линий:

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

  • F, J (круглосуточно),
  • <F>, Z (в часы пик в пиковом направлении),
  • M (круглосуточно, кроме ночи).
complex_next Пересадочный узел. Один необязательный параметр описан правее. Следующие станции для всех станций пересадочного узла. Отдельная таблица, а в ней списки как в station_next (но части не разделены горизонтальной чертой, а расположены слева и справа). Значение acc во втором параметре тоже поддерживается. Статья о пересадочном узле.
Предыдущая станция Линия
Название станции
Следующая станция
Бауэри
(Jкруглосуточно Zв часы пик в пиковом направлении)
Бродвей — Лафайетт-стрит
(Mв будни днём и вечером)

линия Нассо-стрит, Би-эм-ти
Эссекс-стрит

Марси-авеню
(Jкруглосуточно Mкруглосуточно, кроме ночи Zв часы пик в пиковом направлении)
Вторая авеню
(Fкруглосуточно <F>в часы пик в пиковом направлении)

линия Шестой авеню, Ай-эн-ди
Деланси-стрит

Ист-Бродвей
(Fкруглосуточно <F>в часы пик в пиковом направлении)

Фрагмент преамбулы и карточка для примера[ код]

(использованы также некоторые функции, перечисленные выше в разделе для станций, но поддерживающие также пересадочные узлы)
«Деланси-стрит / Эссекс-стрит»
пересадочный узел
F<F>JMZ
Нью-Йоркский метрополитен
Essex-Delancey Streets Stairs SE.JPG
Боро Манхэттен
Округ Нижний Ист-Сайд
Выход к улицам Деланси-стрит, Эссекс-стрит
Пассажиропоток (2019) 8 861 296
(34 из 424)[2]

... В пересадочный узел входят станции следующих линий:

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

  • F, J (круглосуточно),
  • <F>, Z (в часы пик в пиковом направлении),
  • M (круглосуточно, кроме ночи).

Предыдущая станция Линия
Название станции
Следующая станция
Бауэри
(Jкруглосуточно Zв часы пик в пиковом направлении)
Бродвей — Лафайетт-стрит
(Mв будни днём и вечером)

линия Нассо-стрит, Би-эм-ти
Эссекс-стрит

Марси-авеню
(Jкруглосуточно Mкруглосуточно, кроме ночи Zв часы пик в пиковом направлении)
Вторая авеню
(Fкруглосуточно <F>в часы пик в пиковом направлении)

линия Шестой авеню, Ай-эн-ди
Деланси-стрит

Ист-Бродвей
(Fкруглосуточно <F>в часы пик в пиковом направлении)

Для статей о маршрутах и списка маршрутов[ код]

Название Ввод[1] Вывод Форматирование вывода Применение Пример
route_descr Маршрут. Полное название. Текст; название линии в этом тексте оформляется как ссылка на статью о линии. Карточка маршрута, список маршрутов. Локальный маршрут линии Шестой авеню
route_terminals Маршрут. Для планируемого маршрута надо задать во втором параметре слово future. Конечные станции. Список из двух разделённых горизонтальной чертой частей (север и юг); у каждого элемента списка выводятся периоды времени; периоды не выводятся, если они совпадают с общими для маршрута. Карточка маршрута, список маршрутов. Форест-Хилс — 71-я авеню (в будни днём и вечером)
Мидл-Виллидж — Метрополитан-авеню (ночью)
Мидл-Виллидж — Метрополитан-авеню (круглосуточно, кроме ночи)
Мертл-авеню (ночью)
route_count_stations Маршрут. Для планируемого маршрута надо задать во втором параметре слово future. Количество станций на маршруте. У каждого элемента списка выводятся периоды времени; периоды не выводятся, если они совпадают с общими для маршрута. Карточка маршрута. 8 (ночью)
13 (в выходные)
36 (в будни днём и вечером)
route_periods Маршрут. Для планируемого маршрута надо задать во втором параметре слово future. Когда работает маршрут. Текст. Карточка маршрута. круглосуточно
route_color Маршрут. Код цвета маршрута. Код без предшествующего #. Карточка маршрута. ff6319
route_prose Маршрут. Фраза, сообщающая про цвет маршрута. Текст. Преамбула статьи о маршруте. На картах, станциях, вагонах и т. д. он обозначается оранжевым цветом, поскольку проходит по линии Шестой авеню.
route_lines Маршрут и контекст: list (список маршрутов, этот вариант работает по умолчанию) или lead (преамбула статьи о маршруте). Список линий, по которым проходит маршрут. Текст со ссылками на статьи о линиях; в варианте для списка маршрутов перед линией, дающей маршруту цвет, ставится квадратик этого цвета. Список маршрутов либо преамбула статьи о маршруте. линия Куинс-бульвара, Ай-эн-ди;      линия Шестой авеню, Ай-эн-ди; линия Нассо-стрит, Би-эм-ти; линия Джамейка, Би-эм-ти; линия Мертл-авеню, Би-эм-ти
линиям Куинс-бульвара, Ай-эн-ди, Шестой авеню, Ай-эн-ди, Нассо-стрит, Би-эм-ти, Джамейка, Би-эм-ти, и Мертл-авеню, Би-эм-ти.
route_regimes Маршрут либо два маршрута (если второй является разновидностью первого). Для планируемого маршрута надо задать во втором параметре слово future (в этом случае два маршрута не поддерживаются). Таблица способов обслуживания станций маршрутом по участкам пути и периодам времени. Строки таблицы соответствуют участкам (от станции до станции), а столбцы периодам времени. Один вызов функции строит таблицу для всего маршрута. Статья о маршруте.
От станции
включительно
До станции
включительно
Круглосуточно
Франклин-авеню Проспект-парк локальные пути
route_table Маршрут либо два маршрута (если второй является разновидностью первого). Один необязательный параметр (и альтернативный способ заполнения обязательных) описан правее. Несколько строк таблицы с информацией по станциям (способ обслуживания маршрутом/ами, название, пересадки). Один вызов функции строит таблицу для всего маршрута (или двух). Во втором параметре поддерживается слово future, в этом случае строится схема для планируемого маршрута (на момент создания модуля T), включая планируемые станции. В третьем параметре поддерживается обозначение периода времени (как в таблице routes_periods), тогда схема строится только для него. Статья о маршруте.
S (челнок Франклин-авеню) Станция Доступность для маломобильных групп населения Пересадки
SMicon O.svg
круглосуточно Франклин-авеню Доступность для маломобильных групп населения
A — ночьюA — ночьюC — круглосуточно, кроме ночиC — круглосуточно, кроме ночи  Франклин-авеню
SMicon O.svg
круглосуточно Парк-Плейс Доступность для маломобильных групп населения
SMicon O.svg
круглосуточно Ботанический сад
2 — круглосуточно2 — круглосуточно3 — круглосуточно, кроме ночи3 — круглосуточно, кроме ночи4 — круглосуточно4 — круглосуточно5 — в будни днём5 — в будни днём  Франклин-авеню — Медгар-Эверс-колледж
SMicon O.svg
круглосуточно Проспект-парк Доступность для маломобильных групп населения
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00Q — круглосуточноQ — круглосуточно
route_schedule Маршрут. Ссылка на расписание маршрута на сайте MTA. Текст. Статья о маршруте. https://new.mta.info/document/9541
seg_route Сегмент, маршрут. Непустое значение, если маршрут проходит по сегменту, и пустое в противном случае.[5] Текст. Схема маршрута на карте. x

Фрагмент списка маршрутов для примера[ код]

M Локальный маршрут линии Шестой авеню линия Куинс-бульвара, Ай-эн-ди;      линия Шестой авеню, Ай-эн-ди; линия Нассо-стрит, Би-эм-ти; линия Джамейка, Би-эм-ти; линия Мертл-авеню, Би-эм-ти локальный Форест-Хилс — 71-я авеню (в будни днём и вечером)
Мидл-Виллидж — Метрополитан-авеню (ночью)
Мидл-Виллидж — Метрополитан-авеню (круглосуточно, кроме ночи)
Мертл-авеню (ночью)

Фрагмент преамбулы, карточка, табличка и схема маршрута для примера[ код]

Локальный маршрут линии Шестой авеню
M
Нью-Йоркский метрополитен
NYCS map M.svgДействует круглосуточно
Количество станций 8 (ночью)
13 (в выходные)
36 (в будни днём и вечером)
Конечные станции Форест-Хилс — 71-я авеню (в будни днём и вечером)
Мидл-Виллидж — Метрополитан-авеню (ночью)
Мидл-Виллидж — Метрополитан-авеню (круглосуточно, кроме ночи)
Мертл-авеню (ночью)

M — маршрут Нью-Йоркского метрополитена, следующий по линиям Куинс-бульвара, Ай-эн-ди, Шестой авеню, Ай-эн-ди, Нассо-стрит, Би-эм-ти, Джамейка, Би-эм-ти, и Мертл-авеню, Би-эм-ти.

От станции
включительно
До станции
включительно
День + вечер Выходные Ночь
Форест-Хилс — 71-я авеню Бродвей — Лафайетт-стрит локальные пути
Эссекс-стрит Флашинг-авеню локальные пути локальные пути
Мертл-авеню локальные пути локальные пути экспресс-пути
Сентрал-авеню Мидл-Виллидж — Метрополитан-авеню локальные пути локальные пути локальные пути

M Станция Доступность для маломобильных групп населения Пересадки
SMicon O.svg
в будни днём и вечером Форест-Хилс — 71-я авеню Доступность для маломобильных групп населения
E — в будни днём и вечеромE — в будни днём и вечеромF — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направленииR — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером 67-я авеню
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером 63-я драйв — Риго-парк
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером Вудхейвен-бульвар
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером Гранд-авеню — Ньютаун
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером Элмхерст-авеню
R — в будни днём и вечеромR — в будни днём и вечером
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
в будни днём и вечером Джексон-Хайтс — Рузвельт-авеню Доступность для маломобильных групп населения
E — в будни днём и вечеромE — в будни днём и вечеромF — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направленииR — в будни днём и вечеромR — в будни днём и вечером на той же станции
7 — в будни днём и вечером7 — в будни днём и вечером  74-я улица — Бродвей
SMicon O.svg
в будни днём и вечером 65-я улица
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером Нортерн-бульвар
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером 46-я улица
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером Стайнуэй-стрит
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером 36-я улица
R — в будни днём и вечеромR — в будни днём и вечером
SMicon O.svg
в будни днём и вечером Куинс-Плаза Доступность для маломобильных групп населения
E — в будни днём и вечеромE — в будни днём и вечеромR — в будни днём и вечеромR — в будни днём и вечером
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
в будни днём и вечером Корт-сквер — 23-я улица Доступность для маломобильных групп населения
E — в будни днём и вечеромE — в будни днём и вечером на той же станции
7 — в будни днём и вечером7 — в будни днём и вечером<7> — в часы пик в пиковом направлении<7> — в часы пик в пиковом направлении  Корт-сквер
G — в будни днём и вечеромG — в будни днём и вечером  Корт-сквер
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
в будни днём и вечером Лексингтон-авеню — 53-я улица Доступность для маломобильных групп населения
E — в будни днём и вечеромE — в будни днём и вечером на той же станции
6 — в будни днём и вечером6 — в будни днём и вечером<6> — в будни днём в пиковом направлении<6> — в будни днём в пиковом направлении  51-я улица
SMicon O.svg
в будни днём и вечером Пятая авеню — 53-я улица
E — в будни днём и вечеромE — в будни днём и вечером
SMicon O.svg
в будни днём и вечером 47-я — 50-я улицы — Рокфеллеровский центр Доступность для маломобильных групп населения
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00D — в будни днём и вечеромD — в будни днём и вечеромF — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении
SMicon NS.svg
SMicon NS.svg
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
SMicon NS.svg
SMicon NS.svg
в будни днём и вечером 42-я улица — Брайант-парк
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00D — в будни днём и вечеромD — в будни днём и вечеромF — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении на той же станции
7 — в будни днём и вечером7 — в будни днём и вечером<7> — в часы пик в пиковом направлении<7> — в часы пик в пиковом направлении  Пятая авеню
1 — в будни днём и вечером1 — в будни днём и вечером2 — в будни днём и вечером2 — в будни днём и вечером3 — в будни днём и вечером3 — в будни днём и вечером  Таймс-сквер — 42-я улицакруглосуточно, кроме ночи
7 — в будни днём и вечером7 — в будни днём и вечером<7> — в часы пик в пиковом направлении<7> — в часы пик в пиковом направлении  Таймс-скверкруглосуточно, кроме ночи
A — в будни днём и вечеромA — в будни днём и вечеромC — в будни днём и вечеромC — в будни днём и вечеромE — в будни днём и вечеромE — в будни днём и вечером  42-я улица — Автовокзал Портового управлениякруглосуточно, кроме ночи
N — в будни днём и вечеромN — в будни днём и вечеромQ — в будни днём и вечеромQ — в будни днём и вечеромR — в будни днём и вечеромR — в будни днём и вечеромW — в будни днём и вечером до 23:00W — в будни днём и вечером до 23:00  Таймс-сквер — 42-я улицакруглосуточно, кроме ночи
S (челнок 42-й улицы) — в будни днём и вечеромS (челнок 42-й улицы) — в будни днём и вечером  Таймс-скверкруглосуточно, кроме ночи
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
в будни днём и вечером 34-я улица — Геральд-сквер Доступность для маломобильных групп населения
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00D — в будни днём и вечеромD — в будни днём и вечеромF — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении на той же станции
N — в будни днём и вечеромN — в будни днём и вечеромQ — в будни днём и вечеромQ — в будни днём и вечеромR — в будни днём и вечеромR — в будни днём и вечеромW — в будни днём и вечером до 23:00W — в будни днём и вечером до 23:00  34-я улица — Геральд-сквер
33-я улица (PATH)[en]
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
в будни днём и вечером 23-я улица
F — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении
23-я улица (PATH)[en]
SMicon NS.svg
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
SMicon NS.svg
в будни днём и вечером 14-я улица
F — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении на той же станции
1 — в будни днём и вечером1 — в будни днём и вечером2 — в будни днём и вечером2 — в будни днём и вечером3 — в будни днём и вечером3 — в будни днём и вечером  14-я улица
L — в будни днём и вечеромL — в будни днём и вечером  Шестая авеню
14-я улица (PATH)[en]
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
в будни днём и вечером Уэст Четвёртая улица — Вашингтон-сквер Доступность для маломобильных групп населения
A — в будни днём и вечеромA — в будни днём и вечеромB — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00C — в будни днём и вечеромC — в будни днём и вечеромD — в будни днём и вечеромD — в будни днём и вечеромE — в будни днём и вечеромE — в будни днём и вечеромF — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении
Девятая улица (PATH)[en]
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
в будни днём и вечером Бродвей — Лафайетт-стрит Доступность для маломобильных групп населения
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00D — в будни днём и вечеромD — в будни днём и вечеромF — в будни днём и вечеромF — в будни днём и вечером<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении на той же станции
6 — в будни днём и вечером6 — в будни днём и вечером<6> — в будни днём в пиковом направлении<6> — в будни днём в пиковом направлении  Бликер-стрит
SMicon NS.svg
SMicon O.svg
SMicon NS.svg
круглосуточно, кроме ночи Эссекс-стрит
J — круглосуточно, кроме ночиJ — круглосуточно, кроме ночиZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении на той же станции
F — круглосуточно, кроме ночиF — круглосуточно, кроме ночи<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении  Деланси-стрит
SMicon O.svg
круглосуточно, кроме ночи Марси-авеню Доступность для маломобильных групп населения
J — круглосуточно, кроме ночиJ — круглосуточно, кроме ночиZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
SMicon O.svg
круглосуточно, кроме ночи Хьюс-стрит
J — круглосуточно, кроме будней днём в пиковом направлении и ночиJ — круглосуточно, кроме будней днём в пиковом направлении и ночи
SMicon O.svg
круглосуточно, кроме ночи Лоример-стрит
J — круглосуточно, кроме будней днём в пиковом направлении и ночиJ — круглосуточно, кроме будней днём в пиковом направлении и ночи
SMicon O.svg
круглосуточно, кроме ночи Флашинг-авеню Доступность для маломобильных групп населения
J — круглосуточно, кроме будней днём в пиковом направлении и ночиJ — круглосуточно, кроме будней днём в пиковом направлении и ночи
SMicon O.svg
круглосуточно Мертл-авеню
J — круглосуточноJ — круглосуточноZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
SMicon O.svg
круглосуточно Сентрал-авеню
SMicon O.svg
круглосуточно Никкербоккер-авеню
SMicon O.svg
круглосуточно Мертл-авеню — Уайкофф-авеню Доступность для маломобильных групп населения
L — круглосуточноL — круглосуточно  Мертл-авеню — Уайкофф-авеню
SMicon O.svg
круглосуточно Сенека-авеню
SMicon O.svg
круглосуточно Форест-авеню
SMicon O.svg
круглосуточно Фреш-Понд-роуд
SMicon O.svg
круглосуточно Мидл-Виллидж — Метрополитан-авеню Доступность для маломобильных групп населения

Для статей о линиях[ код]

Название Ввод[1] Вывод Форматирование вывода Применение Пример
line_prose Линия. Маршруты, использующие линию, и их время работы на этой линии. Если линия считается «стволовой» и даёт цвет маршрутам, то добавляется текст ещё и об этом. Текст. Преамбула статьи о линии. маршрутами: J (круглосуточно), M (круглосуточно, кроме ночи) и Z (в часы пик в пиковом направлении). Линия считается «стволовой»: маршруты J и Z, проходящие по ней, обозначаются коричневым цветом.
line_bullets Линия. Маршруты, использующие линию. Крупные буллеты. Карточка линии. JMZ
line_count_stations Линия. Количество станций на линии. Просто число. Карточка линии. 6
line_nowrap Линия. Название линии с предотвращением переноса по дефисам в части после запятой. Карточка линии. Линия Нассо-стрит, Би-эм-ти
line_color Линия. Код цвета, который получают от линии маршруты, проходящие по ней. Если его нет (линия не «стволовая»), то чёрный. Код без предшествующего #. Карточка линии. 996633
line_opened Линия. Год открытия самой старой станции. Если во втором параметре передать непустое значение, то для линий, которые были построены раньше, чем перешли в состав метрополитена, будут выданы оба года и поясняющий текст. Текст. Карточка линии. 1908
line_aboveground Линия. Есть ли наземные участки (ответ для карточки). Текст: «есть», «нет» или «вся линия». Карточка линии. нет
segment_table Сегмент линии. Три необязательных параметра описаны ниже[⇨]. Несколько строк таблицы с информацией по станциям (название, пути у платформ, маршруты с временами, пересадки). Один вызов функции строит таблицу для одного сегмента. Для построения таблицы по всей линии надо комбинировать эту функцию с функцией connection_use и прочим текстом и разметкой. Статья о линии.

Станции на линии


BSicon numN000.svg Станция Доступ для людей с ограниченными возможностями Тип
(по данным MTA)
Пути у
платформ
Дата
открытия
Маршруты
либо дата
закрытия
Пересадки
Линия начинается
Франклин-авеню[6] Доступность для маломобильных групп населения эстакадная все 15 августа 1896 S (челнок Франклин-авеню) — круглосуточноS (челнок Франклин-авеню) — круглосуточно
A — ночьюA — ночьюC — круглосуточно, кроме ночиC — круглосуточно, кроме ночи  Франклин-авеню
Ответвлялась линия Фултон-стрит, Би-эм-ти
U+21E9.svg  
SMicon N-SE lightgrey.svg U+2192.svg
U+21E9.svg  
Станция снесена Дин-стрит эстакадная все 15 августа 1896 1995
Парк-Плейс Доступность для маломобильных групп населения в выемке все 19 июня 1899 S (челнок Франклин-авеню) — круглосуточноS (челнок Франклин-авеню) — круглосуточно
Ботанический сад[7] в выемке все 19 июня 1899 S (челнок Франклин-авеню) — круглосуточноS (челнок Франклин-авеню) — круглосуточно
2 — круглосуточно2 — круглосуточно3 — круглосуточно, кроме ночи3 — круглосуточно, кроме ночи4 — круглосуточно4 — круглосуточно5 — в будни днём5 — в будни днём  Франклин-авеню — Медгар-Эверс-колледж
Проспект-парк Доступность для маломобильных групп населения в выемке все 2 июля 1878 S (челнок Франклин-авеню) — круглосуточноS (челнок Франклин-авеню) — круглосуточно
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00Q — круглосуточноQ — круглосуточно
Линия примыкает к линии Брайтон
U+21E9.svg
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00Q — круглосуточноQ — круглосуточно U+2192.svg SMicon S-NW.svg
U+2193.svg
B — в будни днём и вечером до 23:00B — в будни днём и вечером до 23:00Q — круглосуточноQ — круглосуточно
connection_use Два сегмента линий. Если не задано два валидных сегмента, статья заносится в Категория:Статьи с ошибочными параметрами при обращении к модулю NYCS DB. Один необязательный параметр описан правее. Маршруты, использующие соединение между двумя сегментами. Если маршрутов не найдено, то возвращается текст, заданный через третий параметр, а в его отсутствие — «соединение не используется». Пустая строка в третьем параметре рассматривается как заданный в параметре пустой текст, в отличие от по-настоящему незаданного параметра. Буллеты и значки как в station_transfers_small. Статья о линии.
connection_use_2 Четыре сегмента линий. Если не задано четыре валидных сегмента, статья заносится в Категория:Статьи с ошибочными параметрами при обращении к модулю NYCS DB. Два необязательных параметра описаны правее. Список маршрутов для первой пары сегментов в скобках, затем слова «и обратно» и список для второй пары в скобках. Если маршрутов для какой-либо пары не найдено, то в соответствующих скобках возвращается текст, заданный через пятый параметр, а в его отсутствие — «соединение не используется». Если не найдено для обеих пар, то скобки возвращаются одни, а в них текст, заданный через шестой параметр, а в его отсутствие — «оба соединения не используются»; слова «и обратно» в этом случае возвращаются до скобок. Буллеты и значки как в station_transfers_small. Статья о линии.
  • (E — круглосуточноE — круглосуточноM — в будни днём и вечеромM — в будни днём и вечеромR — круглосуточно, кроме ночиR — круглосуточно, кроме ночи) и обратно (соединение не используется)
  • и обратно (оба соединения не используются)
segment_regimes Сегмент линии. Два необязательных параметра описаны правее. Маршруты, работающие на этом сегменте как экспрессы и локальные, в зависимости от периода времени. Таблица. В левой верхней клетке можно вывести текст, сообщающий о том, о каком участке линии идёт речь, и передаваемый через второй параметр. Если во втором параметре передать слово auto, в левой верхней клетке будут выведены названия первой и последней станций сегмента, разделённые при помощи тире и перевода строки (если на участке всего одна станция, то просто её название). Если в третьем параметре передать непустое значение, вместо «экспресс-пути» будет написано «экспресс-путь». Статья о линии.
Парксайд-авеню —
Брайтон-Бич
День + вечер Выходные + ночь
Экспресс-пути B(до 23:00)
Локальные пути Q Q
segment_color Сегмент линии. Код цвета, соответствующего маршрутам, проходящим по сегменту. Если маршрутов нет или их цвета различны, то чёрный. Код без предшествующего #. Статья о линии. 000000
connection_use_color Два сегмента линий. Код цвета, соответствующего маршрутам, использующим соединение между двумя сегментами. Если маршрутов нет или их цвета различны, то чёрный. Код без предшествующего #. Статья о линии. 996633
seg_line Сегмент, линия. Непустое значение, если линия проходит по сегменту, и пустое в противном случае. Текст. Схема линии на карте. x

Дополнительные параметры функции segment_table[ код]

В функции segment_table второй параметр может принимать значения:

Значение параметра Смысл Для каких станций
Для более компактного показа информации о пересадках:
2 Добавить столбец с маршрутами для второй части каждой станции (для станций, обслуживающих по две линии) и показать в столбце с пересадками только данные по другим станциям пересадочного узла. Для пар линий 63-й улицы и Арчер-авеню, где по две линии идут параллельно через одни и те же станции.
1 Все маршруты из обеих частей станции показать вместе, соединив столбцы с маршрутами и с пересадками. Для станции Декалб-авеню, где распределение путей между линиями сделано в какой-то мере условно.
0 В столбце с пересадками вместо информации о пересадках поместить текст: «Все станции в этой рамке связаны пересадкой». Это будет сделано для всех станций сегмента, поэтому сегмент должен состоять из одной станции. Для двух случаев на линиях Восьмой авеню и Бродвея, где две станции находятся на разных ветках одной линии и связаны пересадкой (те, которые перечислены в таблице twins). В этих случаях две таблицы строятся параллельно слева и справа и в каждой из них есть строка, соответствующая части одного и того же пересадочного узла. Два значения параметра соответствуют строкам левой и правой таблиц.

Для этих же случаев имеются третий и четвёртый параметры, обеспечивающие визуальное объединение этих двух строк. В третий параметр можно передать значение left или right, чтобы вокруг строки таблицы нарисовать жирную рамочку с трёх сторон: сверху, снизу и слева/справа. Если третий параметр задан, то в четвёртый параметр можно передать высоту строки таблицы, измеренную в строках текста.

название станции из таблицы twins В столбце с пересадками убрать данные по указанной станции.
Для обозначения того факта, что это схема строящейся или исторической линии:
future Проектируемый/строящийся сегмент, информацию о станциях надо брать из таблицы stations_future.
former Закрытый/исторический сегмент, информацию о станциях надо брать из таблицы stations_former.
reincarn Сегмент из обычной таблицы stations, но в составе закрытой/исторической линии, поэтому строится с некоторыми особенностями.
reincarn back То же, но станции перечисляются в обратном порядке.

Фрагмент преамбулы, карточка, табличка и схема линии для примера[ код]

Линия Нассо-стрит, Би-эм-ти
BMT Nassau Street Line
Нью-Йоркский метрополитен
JMZ
Открытие первого участка 1908 год
Количество станций 6
Наземные участки нет

Линия Нассо-стрит, Би-эм-ти — линия Нью-Йоркского метрополитена, расположенная на Манхэттене и обслуживаемая маршрутами: J (круглосуточно), M (круглосуточно, кроме ночи) и Z (в часы пик в пиковом направлении). Линия считается «стволовой»: маршруты J и Z, проходящие по ней, обозначаются коричневым цветом.

Часы пик Остальное время
Локальные пути J ZPfeil rechts.svg J
Pfeil rechts.svg — в пиковом направлении; Pfeil links.svg — в обратном пиковому

Станции на линии


BSicon numN000.svg Станция Доступ для людей с ограниченными возможностями Тип
(по данным MTA)
Пути у
платформ
Дата
открытия
Маршруты Пересадки
Линия является продолжением линии Джамейка
J — круглосуточноJ — круглосуточноM — круглосуточно, кроме ночиM — круглосуточно, кроме ночиZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
U+2193.svg
SMicon NS.svg
U+21E9.svg
Бруклин
Вильямсбургский мост
Манхэттен
Эссекс-стрит подземная все 16 сентября 1908 J — круглосуточноJ — круглосуточноM — круглосуточно, кроме ночиM — круглосуточно, кроме ночиZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
F — круглосуточноF — круглосуточно<F> — в часы пик в пиковом направлении<F> — в часы пик в пиковом направлении  Деланси-стрит
Ответвление к линии Шестой авеню
U+21E9.svg
M — в будни днём и вечеромM — в будни днём и вечером U+2190.svg SMicon N-SW.svg
U+21E9.svg
Бауэри подземная все 4 августа 1913 J — круглосуточноJ — круглосуточноZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
Канал-стрит подземная все 4 августа 1913 J — круглосуточноJ — круглосуточноZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
4 — ночью4 — ночью6 — круглосуточно6 — круглосуточно<6> — в будни днём в пиковом направлении<6> — в будни днём в пиковом направлении  Канал-стрит
N — ночьюN — ночьюR — круглосуточно, кроме ночиR — круглосуточно, кроме ночиW — в будни днём и вечером до 23:00W — в будни днём и вечером до 23:00  Канал-стрит
N — круглосуточно, кроме ночиN — круглосуточно, кроме ночиQ — круглосуточноQ — круглосуточно  Канал-стрит
Присоединялись пути от Манхэттенского моста
U+21E9.svg  
SMicon S-NE lightgrey.svg U+2190.svg
U+21E9.svg  
Чеймберс-стрит Доступность для маломобильных групп населения подземная все 4 августа 1913 J — круглосуточноJ — круглосуточноZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
4 — круглосуточно4 — круглосуточно5 — круглосуточно, кроме ночи5 — круглосуточно, кроме ночи6 — круглосуточно6 — круглосуточно<6> — в будни днём в пиковом направлении<6> — в будни днём в пиковом направлении  Бруклинский мост — Сити-холл
Фултон-стрит Доступность для маломобильных групп населения подземная все 30 мая 1931 J — круглосуточноJ — круглосуточноZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
2 — круглосуточно2 — круглосуточно3 — круглосуточно, кроме ночи3 — круглосуточно, кроме ночи  Фултон-стрит
4 — круглосуточно4 — круглосуточно5 — круглосуточно, кроме ночи5 — круглосуточно, кроме ночи  Фултон-стрит
A — круглосуточноA — круглосуточноC — круглосуточно, кроме ночиC — круглосуточно, кроме ночи  Фултон-стрит
Всемирный торговый центр (PATH)[en]
Брод-стрит подземная все 30 мая 1931 J — круглосуточноJ — круглосуточноZ — в часы пик в пиковом направленииZ — в часы пик в пиковом направлении
Линия сливается с линией Бродвея
и продолжается как линия Четвёртой авеню
U+21E9.svg
N — ночьюN — ночьюR — круглосуточноR — круглосуточноW — в будни днём и вечером до 23:00W — в будни днём и вечером до 23:00 U+2192.svg SMicon S-NW.svg
U+2193.svg
N — ночьюN — ночьюR — круглосуточноR — круглосуточноW — часть рейсов в часы пик в пиковом направленииW — часть рейсов в часы пик в пиковом направлении
Манхэттен
Тоннель Монтегью-стрит
Бруклин

Для других статей и общего назначения[ код]

Название Ввод[1] Вывод Форматирование вывода Пример для станции Пример для пересадочного узла
station_bullets Станция или пересадочный узел. Останавливающиеся на станции маршруты.[5] Буллеты со ссылками на статьи о маршрутах. JMZ F<F>JMZ
station_letters Станция или пересадочный узел. Останавливающиеся на станции маршруты.[5] Всё текстом без ссылок, и для каждого маршрута выводится только его буква или цифра. J, M, Z F, <F>, J, M, Z
station_letters_L Станция или пересадочный узел. Один необязательный параметр описан правее. Название станции без уточнения, но с останавливающимися на ней маршрутами.[5] Всё текстом со ссылкой на статью о станции, и для каждого маршрута выводится только его буква или цифра. Если во второй параметр передать true, выводится текст без ссылки. Эссекс-стрит (J, M, Z) Деланси-стрит / Эссекс-стрит (F, <F>, J, M, Z)
station_netto_L Станция или пересадочный узел. Название станции без уточнения. Текст со ссылкой на статью о станции. Эссекс-стрит Деланси-стрит / Эссекс-стрит
station_descr Станция или пересадочный узел. Описание станции для дизамбига. «Эссекс-стрит» — станция Нью-Йоркского метрополитена на Манхэттене, обслуживаемая маршрутами J, M, Z. «Деланси-стрит / Эссекс-стрит» — пересадочный узел Нью-Йоркского метрополитена на Манхэттене, обслуживаемый маршрутами F, <F>, J, M, Z.
SM Станция и прочие параметры для шаблона {{SM smart}}. Прочие параметры (dir, side, X, Y) должны передаваться во втором параметре единым стрингом, в котором перед именем параметра ставится {{!}}, а перед значением {{=}}, которые при подстановке превратятся в | и = соответственно. Третий параметр может принимать значения former или reincarn, как в функции segment_table. В четвёртом параметре можно передать любое непустое значение, чтобы был использован графический файл не с белым, а с серым фоном. Пятый параметр предназначен для параметра label, передаваемого в шаблон {{SM smart}}. Функция вызывает шаблон {{SM smart}}, который строит кружок, обозначающий станцию на схеме метро, — например, на схеме демонтированных линий.
const Различные константы. Единственным параметром служит имя константы, значение которой нужно получить (подробнее см. комментарии в модуле в тексте локальной функции const). 2019
legend Список условных обозначений для периодов времени.
NYCS-SSI-alltimes.svg   круглосуточно
NYCS-SSI-allexceptnights.svg   круглосуточно, кроме ночи
NYCS-SSI-allexceptrush.svg   круглосуточно, кроме будней днём (либо часов пик) в пиковом направлении
NYCS-SSI-weekdaysonly.svg   в будни днём (и, возможно, вечером)
NYCS-SSI-nightsweekdays.svg   в будни круглосуточно
NYCS-SSI-rushonly.svg   в часы пик
NYCS-SSI-rushpeak.svg   в будни днём (либо в часы пик) в пиковом направлении
NYCS-SSI-rushreversepeak.svg   в будни днём (либо в часы пик) в направлении, обратном пиковому
NYCS-SSI-weekendsonly.svg   в выходные
NYCS-SSI-nightsonly.svg   ночью
NYCS-SSI-nightsweekends.svg   ночью и в выходные (и, возможно, вечером)
NYCS-SSI-closed.svg   нет движения поездов

Фрагмент карточки и текста для статьи об улице[ код]

улица Такая-то
англ. Some Street
Общая информация
Страна США
Город Нью-Йорк
Метро Эссекс-стрит (JMZ)
Деланси-стрит (F<F>)
или
Деланси-стрит / Эссекс-стрит (F<F>JMZ)
Боро Манхэттен

Пример строчек для дизамбига[ код]

(на самом деле в дизамбигах будет дана ссылка на каждую статью один раз, а не три, как здесь)
  • «Эссекс-стрит» — станция Нью-Йоркского метрополитена на Манхэттене, обслуживаемая маршрутами J, M, Z.
  • «Деланси-стрит» — станция Нью-Йоркского метрополитена на Манхэттене, обслуживаемая маршрутами F, <F>.
  • «Деланси-стрит / Эссекс-стрит» — пересадочный узел Нью-Йоркского метрополитена на Манхэттене, обслуживаемый маршрутами F, <F>, J, M, Z.

Примечания к функциям[ код]

  1. 1 2 3 4 5 6 7 В качестве станций, а также сегментов линий следует передавать названия согласно списку в таблице stations (см. ниже), в качестве пересадочных узлов — согласно списку в таблице station_complexes, в качестве маршрутов — согласно списку в таблице routes.
  2. 1 2 3 4 Annual Subway Ridership
  3. 1 2 3 В качестве примера взята станция Фар-Рокавей — Мотт-авеню (линия Рокавей, Ай-эн-ди).
  4. В качестве примера взята станция Корт-стрит (линия Фултон-стрит, Ай-эн-ди).
  5. 1 2 3 4 5 6 7 В тех форматах, где не выводятся времена, из списка маршрутов исключаются те, которые останавливаются на станции только ночью, только иногда в часы пик, только в выходные летом и т. п. Это примечание не касается, однако, форматов, строящих куски связного текста, а также формата bullets all.
  6. Станция имела перпендикулярные платформы для эстакадной линии Фултон-стрит и для линии Брайтон (ныне эта её часть относится к линии Франклин-авеню).
  7. Станция была перемещена севернее в 1928 году.

Таблицы[ код]

Для нужд этого модуля вся схема Нью-Йоркского метрополитена разделена на сегменты, каждый из которых на всём своём протяжении обслуживается одинаковыми маршрутами.

Две главных таблицы[ код]

stations[ код]

Большая таблица, около 500 записей. Все станции по сегментам, в пределах каждого сегмента с севера на юг (согласно принятому в Нью-Йорке railroad north и railroad south для всех участков метрополитена). Поля:

Имя поля Смысл Пояснения
segment Название сегмента, на котором находится станция.
station Название станции (ключ таблицы). Названием в большинстве случаев служит название статьи, кроме исключений, перечисленных в таблицах multiline_stations и station_complexes, когда названием служит название перенаправления.
info Примечание к названию станции. Показывается в виде сноски. Сообщает как правило о том, что станция в прошлом имела пересадку на другую станцию, ныне снесённую.
type Тип станции, отвечающий на вопрос, все ли поезда останавливаются на станции.

Возможные типы:

  • x — экспресс-станция (на ней останавливаются все поезда);
  • o — локальная станция (экспресс-поезда её проходят без остановки);
  • J и Z — во время работы маршрутов J и Z в режиме скип-стоп останавливается J или Z соответственно (если режим скип-стоп будет введён и для других маршрутов, можно будет здесь добавить и другие обозначения);
  • - — станция закрыта (на момент создания модуля таких нет);
  • пустой тип — для станций на сегментах, где нет различения станций по типам и все поезда останавливаются на всех станциях.
subtype Подтип, конкретизация к предыдущему полю.

Для станций типа x задаётся подтип, используемый только для вычисления маршрутов, идущих по экспресс-путям. Возможные подтипы:

  • suppress — экспресс-путей нет (либо распределение маршрутов между путями нестандартно и подлежит описанию вручную);
  • bidi — один экспресс-путь;
  • tt — средний путь является не экспресс-путём, а оборотным;
  • пустой подтип — два экспресс-пути.

Для станций типа o есть другие значения подтипа:

  • split — это значит, что экспресс-пути обходят станцию по спрямлённой трассе;
  • under — это значит, что экспресс-пути проходят под станцией и не видны с платформ(ы).

Ещё один подтип, используемый независимо от типа:

  • bumper — если на станции есть ровно два пути и оба заканчиваются тупиками.
other_type Только для станций, обслуживающих несколько линий, если на текущей линии в пределах станции нет путей без остановки, а на другой линии есть. В этом поле ставится o (как в поле type в записи, соответствующей другой части этой станции), и это приводит к правильному показу «лок.» на схеме линии в графе «Пути у платформ»; использовано только у двух станций.
note Примечание. У станции Акуидакт-Рейстрак стрелка вверх, обозначающая платформу только в северном направлении.
north_back Логическое поле[1], обозначающее, что в списке соседних станций надо для данной станции северную соседнюю показывать как южную, а южную как северную. Применяется тогда, когда railroad north и railroad south для данной станции противоположны им же для расположенных параллельно других частей физической станции или других станций внутри пересадочного узла, для которых список соседних станций показывается вместе.
acc Приспособленность для инвалидов. Источник здесь или здесь. Варианты:
  • yes — станция приспособлена;
  • n — только в северном направлении;
  • s — только в южном направлении.

Чтобы поддерживать это поле в актуальном состоянии, можно следить за статьёй английской Википедии en:Accessibility of the Metropolitan Transportation Authority (по методу «наблюдение за наблюдающим»): англоязычные коллеги следят за источниками по теме и регулярно обновляют эту статью.

sep Отсутствие бесплатного перехода между направлениями. Источник здесь, вот сам сайт и страница со ссылкой на карту, ссылка подписана «2010 Route Map in the style of the 1959 Schematic». Единственный вариант:
  • yes — значит платформы разделены и перехода между ними нет (в противном случае поле не заполнено).
eng Английское название станции.
old Старое название станции, используемое при указанном параметре reincarn (существующая станция как часть исторической линии). Знак минус в этом параметре обозначает, что при построении схемы исторической линии эту станцию надо пропустить.
oldlink Ссылка на статью, используемая при указанном параметре reincarn (существующая станция как часть исторической линии). Эта ссылка содержит в качестве уточнения название исторической линии и является перенаправлением на статью о существующей станции, где сказано о её конфигурации в прошлом.
oldtype Тип станции, используемый при указанном параметре reincarn (существующая станция как часть исторической линии). Фактически нужно только для случаев, когда на исторической схеме надо показать станцию как локальную (oldtype='o'), а на современной не надо.
oldeng Старое английское название станции (пока не используется, потому что в схемах линий английские названия не участвуют).
opened Дата открытия. Внимание: последние 4 цифры обязаны быть номером года. Если дата неизвестна, поле остаётся пустым (пустой стринг, между кавычками ничего).
orig Дата первоначального открытия. Если станция была открыта в составе железной дороги, а позже включена в состав метрополитена, то в поле opened ставится дата включения в состав метрополитена, а в поле orig — дата первоначального открытия.
above Если на схеме линии надо изобразить перед станцией мост или тоннель, то здесь указывается его имя. Здесь же, вокруг имени моста/тоннеля или вместо него, указывается граница боро, например: Манхэттен<hr>Такой-то тоннель<hr>Бруклин Если для этого моста/тоннеля существует статья, то имя ставится как ссылка на неё; если нет статьи, а есть только перенаправление на статью о линии метро, то без ссылки. Манхэттенский мост и некоторые другие мосты и тоннели указывать не надо, они указываются вручную прямо на схеме.
below То же, но не перед станцией, а после неё. Если станции до и после моста/тоннеля относятся к разным линиям, то мост/тоннель надо указывать для обеих станций, а если к одной и той же, то только для одной из них.
below_key Если на схеме линии после станции надо изобразить строчку или несколько из таблицы stations_former, то здесь указывается имя сегмента из той таблицы.
below_key_reincarn Аналогично предыдущему, но игнорируется в режиме reincarn.
below_stub Если на схеме линии после станции надо изобразить подключение бывшей линии, то здесь указывается его конфигурация. Значение параметра состоит из двух символов: плюс или минус обозначает подключение или ответвление, а затем w или e обозначает запад или восток.
below_stub_text Текст к предыдущему параметру.
above_stub То же, но до станции.
above_stub_text Текст к предыдущему параметру.
r_key Ключ для извлечения пассажиропотока из таблицы ridership.
r_ast Логическое поле[1], обозначающее, что цифра пассажиропотока дана для всего пересадочного узла.
c_key Ключ для извлечения географических данных из таблицы csv.
conn Ссылка на русскую статью (и, если надо, на английскую) для пересадки на другой вид транспорта.
br Для длинных названий станций — название, разбитое на две строчки тегом <br>. Используется только в схеме линии. В схеме маршрута использовать нельзя, потому что там важна высота текста в клетке в строках.

Если через станцию проходят несколько линий (см. ниже таблицу multiline_stations), то здесь каждая из частей станции имеет свою запись. При этом поля начиная с acc в каждой из записей заполняются одинаково, дублируя информацию.

routes_periods[ код]

Большая таблица, около 1000 записей. Собственно расписание движения поездов. Поля:

Имя поля Смысл Пояснения
route Маршрут. Как в таблице routes.
period Период времени.

Варианты:

  • rh (rush hours) — часы пик;
  • md (middays) — дневное время в рабочие дни, за исключением часов пик;
  • ev (evenings) — вечернее время в рабочие дни;
  • we (weekends) — выходные и праздники;
  • ln (late nights) — ночное время.

Кроме того, в некоторых записях обозначен период времени:

  • also.

Это нужно для построения схемы маршрута — схема составляется на основе тех сегментов, которые маршрут проходит в часы пик (поскольку в часы пик он проходит почти все свои сегменты), и если какой-то из своих сегментов маршрут не проходит в часы пик, то этот сегмент добавляется в таблицу с пометкой also. Аналогично, если схема маршрута строится для двух маршрутов-вариантов параллельно (на момент составления модуля такими случаями являются: 6 и <6>, 7 и <7>, F и <F>, J и Z, A и NYCS-bull-trans-S blue.svg; можно так же изобразить N и W, но это уже будет орисс), то надо иметь в виду, что сегменты для неё берутся от первого маршрута, поэтому если у второго есть сегменты, отсутствующие в часах пик у первого, то их тоже надо добавить к первому с периодом also. Последовательность записей с also должна укладываться в общую последовательность обхода сегментов маршрутом, задаваемую записями с rh, а записи с rh и also вместе должны предшествовать остальным записям для того же маршрута и для его варианта. (Если маршрут в часы пик не проходит какой-то свой сегмент, зато проходит другой сегмент, на котором находятся те же станции, как это происходит с маршрутом D на станции Декалб-авеню, то применяется другой подход, без записи с also, и он описан ниже.)

segment Сегмент. Сегменты в пределах каждого сочетания маршрута и периода времени перечислены с севера на юг, аналогично станциям в таблице stations; исключения из этого порядка обрабатываются таблицей nodes и полями fork и joint.
Три поля выше этого места — ключ.
how Ответ на вопрос, как этот маршрут в это время обслуживает этот сегмент.

Варианты:

  • x — поезд останавливается только на станциях, имеющих тип x;
  • J, Z (можно добавлять и другие символы) — поезд останавливается только на станциях, у которых тип обозначен тем же символом либо x;
  • пустой способ — поезд следует со всеми остановками.
dir Ограничение движения поездов по направлению движения (пиковое или противоположное ему) или по части периода времени.

Варианты:

  • peak — указанный способ обслуживания относится к пиковому направлению, а обратно поезд идёт со всеми остановками;
  • peakonly — как peak, но обратно поезд не идёт (в обратном направлении те же составы следуют под другим маршрутом либо не следуют вообще, потому что уходят в / выходят из депо);
  • peak+ — как peakonly, но только иногда (меньшая часть рейсов);
  • notpeakonly — как peakonly, но в обратную сторону.

Кроме того, есть вариант, обозначаемый цифрой 1, смысл которого — ограничение периода времени:

  • в часы пик — только некоторые рейсы (но в обоих направлениях, а не в одном, в отличие от peak+);
  • вечером — только до 23:00;
  • в выходные дни — только в летний сезон;
  • ночью — только в рабочие дни.

Аналогично, есть вариант, обозначаемый цифрой 2:

  • вечером — только после 23:00;
  • в выходные дни — кроме летнего сезона;
  • ночью — только в выходные дни.
fork Пометка сегментов, расположение которых в таблице отличается от порядка обхода поездом. Значение south соответствует началу (северному сегменту) ответвления на юг (например, маршрут A), а north наоборот (например, маршрут 5); значение uturn у последнего сегмента по списку обозначает, что он не последний по маршруту (маршрут M).
alt Отношение записи к временным изменениям в маршрутах.

Варианты:

  • пусто — запись одинаково верна для обычной схемы и для временной;
  • +1, +2 и т. д. — только для временной схемы;
  • -1, -2 и т. д. — только для обычной схемы (внимание, здесь должен быть символ дефиса, который есть на клавиатуре).

Для включения механизма показа временных изменений надо занести в таблицу alts запись с соответствующим номером.

future Логическое поле[1], обозначающее, что маршрут проектируется.
Все поля ниже этого места — только для построения схем маршрутов.
joint Точка пристыковки перевёрнутого сегмента к обычному. Для маршрута, у которого на трассе имеется точка разворота и поэтому часть сегментов надо изобразить задом наперёд (на момент создания модуля только маршрут M). Оно ставится со значением true в записи с периодом времени rh у последнего обычного сегмента перед первым сегментом, который надо перевернуть. Сегменты после точки разворота у такого маршрута перечисляются в обратном порядке: от второй конечной станции к точке разворота, навстречу той части маршрута, которая до точки разворота. При этом поддерживаются маршруты с разворотом с двумя северными концами, но не с двумя южными. Если появится маршрут с двумя южными, программу придётся дописывать. Тем более не поддерживаются маршруты с двумя разворотами (а они возможны, например если тот же M будет перенаправлен на Бродвей-Джанкшен и затем на Канарси).
pattern В записях с периодом времени rh либо also схематическое изображение символов, которые должны быть нарисованы в схеме маршрута слева от названия станции у всех станций данного сегмента и всех последующих, пока не попадётся сегмент, у которого задан другой pattern.
shape Аналогично, но которые должны быть нарисованы в отдельной строке после данного сегмента (и заодно признак, что нужно нарисовать такую отдельную строку).
novert_n Логическое поле[1], сообщающее о том, что если строка таблицы увеличена в высоту из-за нескольких строк пересадок в её правом столбце, то в символах, расположенных слева от названия станции, не нужно рисовать соединяющую кружки вертикальную линию сверху от первой станции сегмента (если сегмент первый в маршруте, то заполнять поле не нужно, отмена вертикальной линии работает автоматически).
novert_s То же снизу от последней станции сегмента (и если сегмент последний в маршруте, то заполнять не нужно).
Следующая группа полей тоже предназначена для построения схем маршрутов, но используется только для маршрута D на станции Декалб-авеню, где распределение путей между линиями сделано в какой-то мере условно. Маршрут D проходит эту станцию ночью по путям, отнесённым к одной линии, а в остальное время — по путям, отнесённым к другой (как экспресс). Первым путям соответствует сегмент Brigh DK, а вторым сегмент Fourth DK, оба сегмента включают только эту станцию. Соответственно, сегмент Brigh DK для маршрута D присутствует в таблице с периодом времени ln, а сегмент Fourth DK — со всеми остальными. Если бы для этой станции была задана запись с периодом времени also, то станция была бы показана на схеме маршрута дважды.
fullsta Логическое поле[1] в записи с периодом rh, сообщающее о том, что в схеме маршрута для станций этого сегмента (то есть для станции Декалб-авеню) надо рассматривать проход поездов по всем путям, а не только по путям определённой линии (аналогично параметру 1 в функции segment_table).
segment_subst В записи, сегмент которой отсутствует среди записей с периодом rh, альтернативный сегмент, присутствующий там.

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

Дополнительная информация о станциях[ код]

stations_future[ код]

Аналогично таблице stations, но только проектируемые/строящиеся станции. В поле opened ограничение про номер года не действует. Дополнительные поля:

  • struc — тип станции, который для действующих станций вычисляется на основании таблицы csv; задаётся текстом, и если поле отсутствует, то по умолчанию имеется в виду «подземная»;
  • boro — боро.

stations_former[ код]

Аналогично таблицам stations и stations_future, но только закрытые/исторические станции. Большая таблица, более 200 записей. Дополнительные поля:

  • struc и boro — как в предыдущей таблице; поле struc по умолчанию имеется в виду «эстакадная»;
  • saved — логическое поле[1], обозначающее, что станция закрыта, но не снесена;
  • closed — дата закрытия;
  • station2 — как station, поле для второго названия станции на случай, если платформы разных направлений представляли собой две отдельных станции;
  • en — название английской статьи на случай, если русская отсутствует (а она как правило отсутствует);
  • transfer — комментарий про бывшие пересадки на другие станции. Поле может быть указано и в таблице stations — у станций, вставляемых при помощи параметра reincarn в схемы исторических линий. В отличие от поля info, используется не в сноске, а в графе «Примечания» и заполняется без точки в конце и с маленькой буквы;
  • spur — обозначение бывшей конечной, находившейся на ответвлении (значение поля состоит из двух букв: s или n обозначает южную или северную, а затем w или e обозначает, что станция располагалась к западу или к востоку от основной линии);
  • spur_noreincarn — аналогично предыдущему, но игнорируется в режиме reincarn.

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

twins[ код]

Те станции, которые описаны в статьях по две в одном разделе статьи. Поля:

  • ключ таблицы — название станции, как она бы называлась, если бы она была одна, а не две;
  • eng — то же, на английском языке;
  • comment1 и comment2 — краткое название на русском, позволяющее отличить одну станцию от другой;
  • station1 и station2 — название станции, как она действительно названа в модуле.

multiline_stations[ код]

Те станции, через которые проходят две линии и больше. Поля:

  • full — название статьи про станцию;
  • part — название перенаправления на статью, которое соответствует путям определённой линии на станции и используется в таблице stations в качестве «квазистанции»;
  • text — начало текстового описания распределения маршрутов по путям для данной части станции (программа берёт эти описания в том же порядке, в котором они перечислены в таблице, поэтому для первой части каждой станции этот текст начинается с большой буквы, а для остальных укорочен, чтобы не повторять те же слова в статье);
  • after — пояснение после этого описания, которое программа заключает в скобки;
  • level — текст, который добавляется к описанию части станции, и он же признак, что для данной части станции надо построить также описание распределения маршрутов по локальным и экспресс-путям;
  • detailed — логическое поле[1], обозначающее, что перечисление маршрутов для частей станции должно быть с указанием времён для каждого (по умолчанию оно делается без времён);
  • no_lcl и no_exp — логические поля[1], отменяющие перечисление локальных и экспресс-маршрутов соответственно для данной части станции;
  • cross — логическое поле[1], обозначающее, что на станции имеется кросс-платформенная пересадка (но за таковую засчитываются только пересадки между маршрутами разных линий).

station_complexes[ код]

Пересадочные узлы. Поля:

  • article — название статьи про пересадочный узел; если статьи про узел нет, то в этом поле ставится условное значение (одинаковое для обеих записей), имеющее длину 1 (цифра либо латинская буква);
  • station — название перенаправления на статью, которое соответствует станции;
  • section — название раздела, на который ведёт это перенаправление; пустая строка обозначает (кроме станций с заполненным полем future, см. ниже), что станция связана с остальным пересадочным узлом виртуальной пересадкой (с выходом из метро и повторным входом, но без повторной оплаты) и имеет отдельную статью;
  • periods — для пересадок, действующих только в некоторые периоды времени, обозначение периодов, совпадающее с одним из значений ключа в таблице icons; наличие этого поля рассматривается как признак, что пересадка не виртуальная (между Таймс-сквер и Брайант-парком пересадка не виртуальная и работает только в часы работы челнока, все виртуальные пересадки работают круглосуточно);
  • alt — аналогично одноимённому полю в таблице routes_periods;
  • future — логическое поле[1], обозначающее, что либо это проектируемая/строящаяся станция, либо это пересадочный узел, в котором все станции кроме этой проектируемые/строящиеся.

Дополнительная информация о путях[ код]

nodes[ код]

Необходимая информация по точкам соединения сегментов, где переход поезда с сегмента на сегмент отличается от порядка перечисления сегментов в расписании. Поля:

  • segment — название сегмента, подходящего к точке с одной из сторон;
  • node_n — название точки, если она является северной для сегмента;
  • node_s — то же, если она является южной;
  • nodetype — тип точки.

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

  • fork — развилка (в одной точке сходятся три сегмента, один с севера и два с юга либо наоборот, поезд проходит без изменения направления);
  • uturn — разворот (два сегмента, но оба примыкают к точке с севера или оба с юга, поезд проходит либо с изменением направления через эти два сегмента, либо обычным образом в порядке перечисления сегментов).

Информация о точке заносится в таблицу только в том случае, если развилка либо разворот используется каким-либо маршрутом (один и тот же маршрут в одно и то же время суток проходит по обеим веткам развилки, либо существует маршрут, проходящий через точку по сегментам, образующим разворот).

Эта таблица частично дублирует информацию из таблицы routes_periods, потому что так было удобнее для алгоритма.

unused_connections[ код]

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

  • station — станция;
  • north — логическое поле, является ли станция северной для перегона (возможны две южных или две северных, если проезд по перегону является разворотом);
  • connection — условное обозначение перегона (чтобы было ясно, какие станции относятся к одному перегону).

unused_tracks[ код]

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

  • station — станция;
  • segment — условное обозначение участка (не связано с сегментами, используемыми в остальных таблицах);
  • closed — текст комментария к станции, если она сегодня не существует, например «закрыта» или «снесена»;
  • index — номер станции по участку, считая с севера на юг (станции будут связаны перегоном, если они расположены на одном участке и имеют соседние номера).

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

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

Таблицы, копируемые с сайта mta.info[ код]

ridership[ код]

Большая таблица, около 400 записей. Содержит ключ (сокращённое название станции на английском языке и обозначения останавливающихся на ней маршрутов) и данные по годовому пассажиропотоку для каждой станции или пересадочного узла. Ключ должен совпадать с полем r_key в таблице stations. Поля:

Имя поля Смысл
r Пассажиропоток.
prev Пассажиропоток за предыдущий год.
rank Номер станции по пассажиропотоку.
comment Сноска.

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

Если источник представляет собой html Если источник представляет собой файл xlsx
  1. Сохранить html источника в текстовом файле.
  2. Оставить в нём только часть от <table id="subway"> до закрывающего </table> включительно, остальное стереть.
  3. Заменить <img и _subway (где знаком подчёркивания обозначен пробел) на <!--, а alt=" и /> на -->.
  4. Открыть полученный файл в браузере и скопировать таблицу из браузера в Эксель.
  5. В столбце с названием станции заменить апострофы на сочетание обратной косой черты и апострофа.
  1. Найти в Экселе лист с данными за год (а не за день).
  2. В столбце с названием станции:
    • удалить все скобки,
    • запятые заменить на пробелы,
    • а апострофы — на сочетание обратной косой черты и апострофа.

И далее:

  1. В предположении, что название станции с маршрутами (ключ) оказалось в столбце A, пассажиропоток за нужный год в столбце G, пассажиропоток за предыдущий год в столбце F, номер станции по пассажиропотоку в столбце J, а столбец K пуст, занести в столбец L такую формулу:
="['" & A2 & "']={r=" & G2 & ",prev=" & F2 & ",rank=" & J2 & "},"
(пример приведён для второй строки) и размножить её на всю высоту.
  1. Удалить строки, в которых нет станций.
  2. Скопировать столбцы K и L в модуль на место строк таблицы ridership (в Экселе выделяем столбцы, проведя мышкой по их заголовкам, жмём Ctrl+C, в редакторе модуля стираем все строки таблицы, ставим курсор в начале строки после них, жмём Ctrl+V).
  3. Если где-то возникают ошибки компиляции из-за станций, по которым нет данных, дополнить данные нулями.
  4. Убедиться в предпросмотре, что в статье Список станций Нью-Йоркского метрополитена пассажиропоток показывается корректно во всех строках (и нигде нет слова ERROR).
    1. У тех станций, где есть проблема, проверить, не изменился ли ключ. Изменения могут касаться как названия станции и проходящих через неё маршрутов, так и пропавшего пробела или затесавшегося невидимого символа.
    2. Если ключ изменился оправданно (в связи с изменением названия станции или маршрутов), оставить здесь новое значение и привести в соответствие поле r_key в таблице stations (помня, что один ключ может использоваться для нескольких станций, поскольку этот источник приводит данные не по станциям, а по пересадочным узлам, а кроме того таблица stations разбивает на несколько строк станции, обслуживающие несколько линий).
    3. Расхождения в пробелах и невидимых символах подогнать под то, что сделано в таблице stations.
  5. Не забыть обновить в функции const все значения, связанные с пассажиропотоком.
  6. Если с момента предыдущего обновления изменилось вхождение станций в пересадочные узлы:
    1. Добавить вручную поле comment к тем станциям, которых коснулось это изменение (например:
comment='Без учёта станции «Кортландт-стрит», которая не входила в пересадочный узел.'
у тех, где это уже не актуально, оно удалится само в момент нажатия на Ctrl+V, см. выше).
  1. Убедиться, что в таблице stations проставлено поле r_ast у тех станций, пассажиропоток для которых дан по пересадочным узлам (и не проставлено у остальных; фактически проверить надо только те станции, у которых вхождение в пересадочные узлы изменилось).

csv[ код]

Большая таблица, более 400 записей. Содержит ключ (номер станции) и некоторые географические данные для станции. Ключ должен совпадать с полем c_key в таблице stations. Поля:

Имя поля Смысл
boro Боро (Манхэттен, Бруклин…).
struc Структурный тип станции (подземная, эстакадная…).
lat Географическая широта.
lon Географическая долгота.
id Код станции.

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

  1. Сохранить источник в текстовом файле. Убедиться, что у него осталось расширение csv. Открыть его в Экселе.
  2. В предположении, что код станции оказался в столбце A, номер станции (ключ) в столбце C, боро в столбце G, структурный тип в столбце I, географические координаты в столбцах J и K, направления на север и юг в столбцах L и M, а столбец N пуст, занести в столбец O такую формулу:
="['" & C2 & "']={boro='" & G2 & "',struc='" & I2 & "',lat='" & J2 & "',lon='" & K2 & "',id='" & A2 & "',n='" & L2 & "',s='" & M2 & "'}, --" & F2 & " / " & H2
(пример приведён для второй строки) и размножить её на всю высоту.
  1. Удалить строки, в которых нет станций либо (в самом низу) которые относятся к Статен-Айленду.
  2. Скопировать столбцы N и O в модуль на место строк таблицы csv (в Экселе выделяем столбцы, проведя мышкой по их заголовкам, жмём Ctrl+C, в редакторе модуля стираем все строки таблицы, ставим курсор в начале строки после них, жмём Ctrl+V).

Словари[ код]

routes[ код]

Указатель на Пенсильванском вокзале. Стрелки показывают выход к двум станциям метро, не соединённым между собой пересадкой: 34-я улица — Пенсильванский вокзал (слева) и 34-я улица — Пенсильванский вокзал (справа). Названия станций одинаковые, на указателе они не написаны, а обозначены только маршруты поездов: ACE и 123

Просто список всех маршрутов. Поля:

  • id (оно же индекс элемента таблицы) — обозначение маршрута, используемое в других таблицах;
  • bkg — код цвета фона для строки в списке станций (только для станций, обслуживаемых маршрутами одного цвета; похож на код цвета маршрута, но бледнее);
  • color — код цвета маршрута;
  • label — обозначение маршрута, используемое в имени файла, изображающего буллет маршрута (по умолчанию берётся из id);
  • link — название статьи про маршрут (по умолчанию строится на основе id);
  • name — название маршрута, используемое в текстовой ссылке на статью (по умолчанию берётся из id);
  • tooltip — всплывающая подсказка для буллета (по умолчанию берётся из id);
  • descr — полное название маршрута (экспресс/локальный такой-то линии);
  • onedir — логическое поле[1], обозначающее, что маршрут идёт только в одну сторону;
  • future — логическое поле[1], обозначающее, что маршрут проектируется;
  • schedule — ссылка на расписание маршрута на сайте MTA (часть ссылки, одинаковая для всех маршрутов, не приводится).

icons[ код]

Названия графических файлов и текст для отображения комбинации периодов времени для каждого маршрута. Поля:

  • индекс элемента таблицы — комбинация периодов времени (см. выше про таблицу routes_periods и ниже про функцию howstops), для которой подбирается графический файл;
  • icon — часть имени файла (остальная часть у всех файлов достраивается одинаково);
  • tooltip — всплывающая подсказка (объединяется программой с подсказкой для маршрута из предыдущей таблицы);
  • ignore — логическое поле[1], надо ли игнорировать данную комбинацию периодов времени, когда задан формат без периодов времени (и тогда маршруты, обслуживающие станцию в наименее значительные периоды времени, просто не показываются);
  • comma — логическое поле[1], надо ли ставить запятую после этого текста перед «и» (например, если в нём есть слово «кроме» и запятая перед ним);
  • alltimes — логическое поле[1], засчитывается ли данная комбинация как круглосуточная;
  • num — номер по порядку для использования в списке условных обозначений (только в записях, используемых в этом списке);
  • legend — текст для списка условных обозначений (отсутствие поля обозначает, что текст надо брать из поля tooltip).

Если для какой-то комбинации периодов времени в этой таблице отсутствует запись, то все статьи, в которых эта недостающая запись потребовалась, заносятся в Категория:Статьи с незаданным описанием комбинации времён в модуле NYCS DB, а в самих статьях информация, которая должна браться из этой таблицы, заменяется на само обозначение комбинации периодов времени, которое не нашлось в таблице. Если в этой категории окажутся статьи, надо в найти в них это обозначение и дополнить таблицу.

subperiods[ код]

Поперечное сечение 4-путного тоннеля. Чертёж 1904 года

Возможные сочетания периодов времени и способов обслуживания станции поездом. Поля:

  • period — период, как в таблице routes_periods;
  • subperiod — аналог поля dir из той же таблицы, но не для сегмента, а для станции.

Возможные значения для поля subperiod:

  • peak — в пиковом направлении;
  • not peak — в направлении, обратном пиковому;
  • some peak — в пиковом направлении, только иногда;
  • пустая строка — в обоих направлениях;
  • 1 и 2 — ограничения по времени, как в таблице.

lines[ код]

Информация по тем линиям, по которым она нужна. Поля:

  • индекс элемента таблицы — название статьи, но с маленькой буквы (потому что именно так они написаны в названиях статей о станциях);
  • color — код цвета для квадратика в списке линий для маршрута (квадратик рисуется только для тех линий, у которых цвет совпадает с цветом у маршрута);
  • link — ссылка на статью о соответствующей стволовой линии;
  • shuttle — логическое поле[1], обозначающее, что этот цвет соответствует челнокам.

colors[ код]

Информация по цветам, используемым для обозначения маршрутов. Поля:

  • индекс элемента таблицы — код цвета;
  • text — название цвета на русском языке в творительном падеже.

alts[ код]

Вре́менные изменения в маршрутах. Каждая запись соответствует вре́менной схеме, вызванной каким-нибудь ремонтом и т. п. Поля:

  • number — номер от 1 и дальше (не обязательно подряд) в текстовом формате, используемый в поле alt (с добавлением спереди минуса или плюса) в таблицах routes_periods и station_complexes;
  • text — текст, поясняющий смысл временной схемы (с маленькой буквы и без знака препинания в конце, например: «на время ремонта такой-то линии»);
  • refname — имя ссылки для подстановки в <ref name="..."> вместо многоточия;
  • link — ссылка на источник;
  • title — заголовок для ссылки на источник.

Для добавления временной схемы надо:

  • добавить запись здесь, дав ей какой-нибудь номер, которого пока нет;
  • в таблицах routes_periods и station_complexes добавить записи, действующие только по временной схеме, с плюсом (в поле alt значение должно состоять из плюса и здешнего номера);
  • там же снабдить полем alt с минусом записи, действующие только по постоянной схеме, но не действующие по временной (в поле alt значение должно состоять из минуса и здешнего номера);
  • если изменение не сводится только к добавлению или отмене, то скопировать постоянную запись, пере копию на временный вариант и снабдить постоянную запись полем alt с минусом, а копию полем alt с плюсом.

Для удаления временной схемы надо:

  • удалить её запись здесь (перенумеровывать остальные не нужно);
  • в таблицах routes_periods и station_complexes удалить записи с этим номером и плюсом;
  • там же удалить у оставшихся записей поле alt с этим номером и минусом.

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

Если наступит момент, когда никаких временных схем нет, надо будет оставить одну запись, у которой поле number не задано (то есть nil).

Примечания к таблицам[ код]

  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Заполнено только если true.

Принцип действия вкратце[ код]

Организация движения и прочее IRL[ код]

Понятие маршрута[ код]

Станция с 3 путями, средний на этой станции платформы не имеет. По боковым путям идут поезда маршрута 7, а по среднему — <7>

В обычном метрополитене (например, в Москве) поезд идёт по своей линии из конца в конец; рельсовые соединения между линиями если где-то и существуют, то не используются поездами с пассажирами (кроме редких случаев, когда надо перегнать поезд с линии на линию). В Нью-Йорке метрополитен больше похож на трамвайную сеть: маршрут поворачивает с улицы на улицу, где-то идёт вместе с другим маршрутом, а где-то нет. Поэтому есть отдельно понятие маршрута (route, service, train, см. Список маршрутов Нью-Йоркского метрополитена) и отдельно понятие линии (line, см. Список линий Нью-Йоркского метрополитена). Линия играет роль улицы, причём в большинстве случаев она и проходит по улице (над ней по эстакаде или под ней на малой глубине).

На практике в АИ, предназначенных для пассажиров, имеется путаница, состоящая в том, что слово линия (line) применяется по отношению к маршрутам (пример можно видеть на фотографии с Томасом Прендергастом ниже). Однако английская Википедия, а русская вслед за ней, старается эту путаницу не копировать, потому что хотя пассажирам, возможно, не нужна информация про историю строительства линий (тех линий, которые на самом деле линии), — читателям Википедии она нужна, соответственно для читателей нужно сохранить два разных термина, не смешивающихся между собой.

Экспресс-маршруты[ код]

На многих линиях есть 4 пути, причём два из них имеют платформы на всех станциях, а два только на некоторых, и маршруты идут или по одним путям, или по другим. Первые маршруты и пути называются локальными (local), а вторые экспрессами (express). Станции называются экспресс-станциями, если на них есть остановка экспресс-маршрутов (платформа при экспресс-пути), и локальными — если нет.

Станция
Путь
Экспресс-станция Локальная станция
Экспресс-путь есть остановка нет остановки
Локальный путь есть остановка есть остановка

Как правило все пути идут в одном уровне и экспресс-путями являются два средних, хотя возможны и варианты (они оговорены в статьях о станциях, где это не так). На некоторых линиях есть 3 пути, тогда экспресс-путь один средний и он используется только в пиковом направлении (peak direction, в сторону Манхэттена утром и обратно вечером).

Другие особенности маршрутов[ код]

Помимо локальных и экспресс-маршрутов, имеются маршруты, работающие в паре по принципу скип-стоп (skip-stop), — это своего рода экспресс для бедных, поезд проходит без остановки часть станций (а другой поезд другую часть), но двигается по обычным локальным путям, потому что экспресс-путей на линии нет. На момент составления модуля этот принцип актуален для маршрутов J и Z, у которых в режиме скип-стоп при 6 или 7 пропускаемых станциях время на проход всего маршрута сокращается с 52 минут до 47[1].

На некоторых маршрутах организовано вилочное движение, когда часть поездов направляется по другой линии (например, из-за ограниченной пропускной способности конечных станций в часы пик).

Некоторые маршруты называются челночными (shuttle), однако они не обязательно ходят по одному пути в обе стороны (только у двух из них есть это свойство), но они просто короче обычных маршрутов (эмпирически замечено, что на маршрутах, называемых челночными, не более 8 станций).

Деление маршрутов на номерные и литерные соответствует двум типоразмерам вагонов (а также станций, тоннелей и т. д.) и с логикой данного модуля не связано (хотя и можно заметить, что по каждому сегменту идут маршруты или только номерные, или только литерные).

Расписание как функция времени[ код]

Председатель MTA Томас Прендергаст анонсирует ремонт на линии Канарси в 2016 году

И наконец, всё расписание движения маршрутов, со всеми поворотами и делением на локальные и экспрессы, зависит от времени суток и дня недели (time period). Есть 5 периодов времени с разным расписанием:

Часы
Дни
00:00—06:30 06:30—09:30 09:30—15:30 15:30—20:00 20:00—24:00
пн — пт ночь часы пик день (кроме
часов пик)
часы пик вечер
сб — вс выходные
(и в праздники тоже действует расписание выходного дня)

В общем случае каждый маршрут на каждом участке своей трассы в каждый период времени в каждом направлении ходит либо локальным, либо экспрессом (либо по схеме скип-стоп с указанием, на каких станциях он останавливается), что и отражено в таблице routes_periods. Линия, по которой ходит всё время один и тот же маршрут, да ещё всегда со всеми остановками, и ещё не переходит на другие линии (линия Канарси и маршрут L), — это редкость.

Живучесть системы[ код]

Общая конфигурация сети метрополитена с большим числом рельсовых соединений между линиями придаёт ей живучесть. При закрытии какого-либо участка на ремонт маршруты изменяются таким образом, чтобы обслуживать всю остальную сеть (в отличие от традиционных метрополитенов, где закрытие одного участка приводит к разрыву сети на две части). Это даёт метрополитену возможность работать круглосуточно и производить ремонт без остановки работы на ночь, закрывая движение только там, где надо, и направляя поезда в объезд. Для показа в статьях самых долгосрочных временных изменений в маршрутах есть поддержка в модуле. Одним из них на момент создания модуля был ремонт тоннеля 14-й улицы, входящего в вышеупомянутую линию Канарси, имеющую мало возможностей по перенаправлению поездов. Ремонт на линии Канарси[en] вызвал в 2016—2019 годах много дискуссий, завершившихся вмешательством губернатора штата Нью-Йорк и изменением плана таким образом, чтобы движение по линии было максимально сохранено.

Названия станций[ код]

36th Street IND Queens Blvd Entrance(Straight Down).jpg36th Street BMT Entrance.jpg
53rd St Bway 7th Av 03.jpg7 Avenue Brighton vc.jpg
67 Avenue 2009 vc.jpg67 Avenue 2015 vc.jpg
Верхние два ряда:
Две станции с названием «36-я улица»,
через которые проходит маршрут R,
и две станции с названием «7-я авеню»,
через которые проходит маршрут B.
Расстояние между станциями в каждой паре
около 10 км
Нижний ряд:
А это одна и та же станция, но в разные годы

Названия станций повторяются многократно, потому что станции названы в честь улиц (поперечных к линии — точно как трамвайные остановки), а одна улица может пересекать несколько разных линий, на каждой из которых в этом месте есть станция (и плюс в каждом боро могут быть улицы с одинаковыми названиями). Чтобы указать на станцию однозначно, в реальной жизни принято добавлять к её названию либо боро (Манхэттен, Бруклин, Куинс, Бронкс), либо бывшую компанию, к которой станция относилась до объединения 3 частей метрополитена в 1940 году (IRT, BMT, IND), либо маршруты, останавливающиеся на ней, либо кроме поперечной ещё и продольную улицу. При этом первые два способа дают однозначность только иногда, а третий — почти всегда, но маршруты со временем меняются, поэтому, например, не сразу можно понять, что имелось в виду под Avenue U, D Train в 1996—1997 году (станций под названием «Авеню Ю» всего три, но маршрут D сегодня не проходит ни через одну из них).

После терактов 11 сентября были разрушены две станции, расположенные на разных линиях и называвшиеся «Кортландт-стрит»: одна была восстановлена относительно быстро, но затем закрывалась на реконструкцию; другая была признана не подлежащей восстановлению, тоннель был построен заново без станции, а новая станция на этом месте была открыта через 17 лет. Но на протяжении всех этих лет в разных источниках, от новостных сайтов до форумов метрофанов, появлялись формулировки типа «станция „Кортландт-стрит“ разрушена» и «когда она будет восстановлена», без всяких признаков того, что пишущий знает, что этих станций две, и даже в новостях про одну из них нередко размещались фотографии другой.

Отражение реальности в Википедии[ код]

Организация статей[ код]

Вслед за английской Википедией, статьи про станции как правило названы следующим образом: <название станции> (<название линии>), где <название линии> совпадает с названием статьи про линию (только в русской Википедии с маленькой буквы). Исключения перечислены ниже, причём если статья названа иначе, то имеется перенаправление, которое названо по тому же принципу и ведёт на соответствующий раздел статьи. Итак, исключения:

  1. Через станцию проходят пути нескольких линий — тогда статья имеет уточнение «Нью-Йоркское метро». Такие случаи перечислены в таблице multiline_stations. В таблице stations в таком случае каждая из частей станции (пути, платформы и маршруты, относящиеся к каждой линии) представлена по отдельности. Одна из этих станций (Декалб-авеню) не имеет однозначного распределения путей между линиями, поэтому для неё придумано несколько ухищрений, прокомментированных в этой документации.
  2. Станция входит в пересадочный узел (включающий несколько станций) — тогда статья описывает все станции, входящие в узел, и тоже имеет уточнение «Нью-Йоркское метро». Каждая станция имеет раздел в статье, озаглавленный «Платформа (-мы) такой-то линии». Такие случаи перечислены в таблице station_complexes. Отличие от предыдущего случая в том, что в предыдущем случае станция считается одной, несмотря на то что через неё проходят несколько линий.
  3. Линия разветвляется, на каждой из двух веток имеется станция, обе станции формально относятся к одной линии и при этом соединены пересадкой, то есть входят в пересадочный узел. В таком случае обе станции описываются в одном разделе статьи. Две пары таких станций отмечены в таблице station_complexes комментариями «две станции — один раздел статьи», и они же перечислены в таблице twins. В одной из пар названия станций разные (Чеймберс-стрит и Всемирный торговый центр) и перенаправления названы так, как указано выше, в другой паре названия станций одинаковые (Канал-стрит) и в уточнениях перенаправлений после названия линии есть дополнительные слова.
  4. Ещё один случай отмечен комментарием в таблице station_complexes: «станция с двумя линиями входит в пересадочный узел» (то есть станция одновременно обладает особенностями, названными в двух первых исключениях).

Рекомендуется по возможности пользоваться этими перенаправлениями, а не прямыми ссылками на статьи, чтобы по тексту ссылки всегда было видно, о чём идёт речь.

Условные обозначения[ код]


Для обозначения маршрутов и в источниках, и в Википедии используются цветные кружки (для некоторых поставленные на угол квадратики, diamond) с буквами или цифрами маршрутов («буллеты», bullet). Для обозначения периодов времени, в которые маршрут останавливается на определённой станции, в Википедии используются специальные значки, найденные в старых расписаниях. Коллеги из английской Википедии смогли найти такие значки не для всех сочетаний периодов времени, поэтому иногда приходится использовать один значок для разных сочетаний (можно надеяться, близких друг другу: см. в таблице icons комментарий «файлы для сочетаний времён есть только досюда»). В выпадающем списке условных обозначений описание к каждому значку сформулировано приблизительно — так, чтобы оно покрыло разные случаи использования каждого значка.

Значок маршрута и значок времён вместе выглядят вот так: 3 — круглосуточно, кроме ночи3 — круглосуточно, кроме ночи (в данном примере обозначение следует понимать так, что маршрут 3 останавливается на станции круглосуточно, кроме ночи). До создания этого модуля такие обозначения строились при помощи шаблонов (в частности, {{NYCS when}}).

Модуль[ код]

Таблица stations содержит все станции (причём для станций, указанных выше в исключении 1, даны «псевдостанции», составляющие их). Для каждой станции указано, к какому сегменту она относится с точки зрения этого модуля. Таблица routes_periods имеет ключ, состоящий из маршрута, периода времени и сегмента, и отвечает на вопрос, каким образом данный маршрут ходит по данному сегменту в данный период времени. Порядок станций внутри сегмента в первой таблице и порядок сегментов внутри сочетания маршрута и периода времени во второй таблице соответствуют реальному порядку станций на линиях и реальному порядку их обхода поездом с севера на юг.

Функция howstops возвращает комбинацию периодов времени, в которые заданный маршрут останавливается на заданной станции. Она их возвращает примерно в таком формате: rh(peak)+md+ev, где плюсами разделены собственно периоды времени (как в таблице routes_periods), а в скобках при некоторых из них даны способы обслуживания станции поездом (как в таблице subperiods). Внимание: в переменных, обозначающих способы обслуживания станции поездом, различаются пустая строка (в обоих направлениях) и nil (ни в каком направлении): для пустой строки период времени присутствует в возвращаемом значении, но без добавки в скобках (как md и ev в приведённом примере), а для nil — отсутствует.

Функция howskips (используемая реже) — аналог функции howstops, но для прохода маршрута через станцию без остановки. Функция normalize приводит результат двух предыдущих функций к стандартному виду, чтобы его можно было найти в таблице icons.

Массив arr состоит из элементов, каждый из которых имеет два поля: обозначение маршрута (как в таблице routes_periods) и комбинация периодов времени в вышеуказанном формате. Функция arr_add пополняет этот массив одним сочетанием маршрута и периода времени. Функция arr_text строит на основании этого массива викикод в том или ином формате (см. столбец «Форматирование вывода» в списке функций выше). Большинство доступных снаружи функций модуля построены как цикл, заполняющий массив функцией arr_add, и в конце форматирование массива функцией arr_text.

Массив arrarr (используемый для списка конечных станций маршрута и для списка соседних станций заданной станции) состоит из элементов, каждый из которых имеет два поля: название станции и массив arr. При построении списка соседних станций в некоторых элементах массива заполняется также логическое поле, говорящее о том, что станцию надо показать уменьшенным шрифтом (для закрытых станций и для неиспользуемых соединений).

Функция build_route — большая функция, которая строит список станций для маршрута или двух в различных форматах для разных целей.

Поддержка модуля[ код]

Основной случай, когда необходимо вносить изменения в модуль, — это изменения в маршрутах, что требует под таблицу routes_periods. Но кроме того:

  • Возможен случай, что на разных частях какого-либо сегмента движение поездов становится разным. Тогда надо разбить этот сегмент на два, придумать новое название для одной из частей и проапдейтить все места в модуле, где упоминается изменённый сегмент, а также все статьи о линиях, где он упоминается (а он может упоминаться не только в статье о самой линии, к которой он относится).
  • Возможен случай, что отменяется движение поездов по какому-либо участку путей (например, там, где M поворачивает с линии Шестой авеню на линию Нассо-стрит). Тогда, чтобы не потерять что-то в «соседних станциях», надо добавить этот участок в таблицу unused_connections.
  • Возможен случай, что затрагивается та часть маршрута, которая связана с развилками. Тогда надо убедиться, что в статье о маршруте правильно показывается схема, и при необходимости ис поля shape и pattern.
  • Возможен случай, что переименовывается или добавляется станция. Тогда надо привести в соответствие статью либо перенаправление, название станции в модуле (во всех таблицах, включая поле eng в таблице stations), а также обращения к модулю в тех статьях, где данная станция упоминается как параметр при обращении к функциям модуля через шаблоны (для их нахождения можно использовать поиск, раз и два, только надо не напутать с расстановкой трёх типов палок). При переименовании статьи всегда полезно проверить «ссылки сюда» для старого названия.
  • Если будет решено изменить систему уточнений в этих статьях, то названия, использованные в этом модуле, должны сохраниться хотя бы в виде перенаправлений. В тех шаблонах, где в модуль передаётся имя статьи, берущееся по умолчанию, надо будет передавать явным образом имя перенаправления.
  • Есть некоторые места в статьях, которые не поддерживаются модулем, например столбец «Режим работы» в списке маршрутов.

Для помощи в обнаружении статей с ошибками при обращении к этому модулю созданы две категории, которые надо проверять после любого изменения:

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

Примечания к принципу действия[ код]

Конец документации, начало модуля[ код]

local p = {}
local getArgs=require('Module:Arguments').getArgs
local markyes='[[Файл:Check Mark (89605) - The Noun Project.svg|10px|link=]]'
local markpeak='[[Файл:Pfeil rechts.svg|10px|link=]]'
local markback='[[Файл:Pfeil links.svg|10px|link=]]'
local asterisk='<sup>[[Файл:Asterisk.svg|6px|link=]]</sup>'
local onearrow='|align=center|[[Файл:U+21E9.svg|x20px|link=]]\r\n'
local indent='<br>&nbsp;&nbsp;&nbsp;&nbsp;'
local accicon='[[Файл:Wheelchair symbol.svg|12px|Доступность для маломобильных групп населения|link=]]'
local constricon='[[Файл:UnderCon icon black.svg|20px|Станция строится или проектируется|link=]]'
local closedicon='[[Файл:Closed icon black.svg|20px|Станция закрыта|link=]]'
local demolicon='[[Файл:Closed icon black.svg|20px|Станция снесена|link=]]'
local noperiods='[[Категория:Статьи с незаданным описанием комбинации времён в модуле NYCS DB]]'
local badparams='[[Категория:Статьи с ошибочными параметрами при обращении к модулю NYCS DB]]'
local nostation='<b><span style="color:red;">Станция не определена в модуле NYCS DB</span></b>'..badparams
local icon_nostop='<span title="поезд не останавливается">—</span>'
local grayback='background-color:lightgrey;'
local whiteback='background-color:white;'
local tab='{| cellspacing=0 cellpadding=0'
local r_link='<ref name="mta.info">[https://new.mta.info/document/16136 Annual Subway Ridership]</ref>'
local metrocard='<ref name="virt">Переход требует выхода из метро и повторного входа через турникет, но бесплатный для пассажиров, оплачивающих проезд при помощи {{iw|MetroCard}} или {{iw|OMNY}}.</ref>'
local lastcomma,excludefound
local alt_on=false -- переменная (значение меняется программно, руками не трогать)
local future_on=false -- переменная (значение меняется программно, руками не трогать)
local dbg='' -- переменная для отладки, ее описание пусть тут будет, но версии модуля, где она используется, должны оставаться только в предпросмотре
-- tables
local stations = {
	{segment='Eighth North',station='Инвуд — 207-я улица (линия Восьмой авеню, Ай-эн-ди)',acc='yes',subtype='bumper',eng='Inwood–207th Street',opened='10 сентября 1932',r_key='Inwood-207 St A',c_key='A02'},
	{segment='Eighth North',station='Дайкман-стрит (линия Восьмой авеню, Ай-эн-ди)',eng='Dyckman Street',opened='10 сентября 1932',r_key='Dyckman St A',c_key='A03'},
	{segment='Eighth North',station='190-я улица (линия Восьмой авеню, Ай-эн-ди)',eng='190th Street',opened='10 сентября 1932',r_key='190 St A',c_key='A05'},
	{segment='Eighth North',station='181-я улица (линия Восьмой авеню, Ай-эн-ди)',eng='181st Street',opened='10 сентября 1932',r_key='181 St A',c_key='A06'},
	{segment='Eighth North',station='175-я улица (линия Восьмой авеню, Ай-эн-ди)',acc='yes',eng='175th Street',opened='10 сентября 1932',r_key='175 St A',conn='[[автовокзал Моста Джорджа Вашингтона]]<sup>&#91;[[:en:George Washington Bridge Bus Station|en]]&#93;</sup>',c_key='A07'},
	{segment='Eighth North Middle',station='168-я улица (линия Восьмой авеню, Ай-эн-ди)',type='x',acc='yes',eng='168th Street',opened='10 сентября 1932',r_key='168 St A C 1',r_ast=true,c_key='A09'},
	{segment='Eighth North Middle',station='163-я улица — Амстердам-авеню (линия Восьмой авеню, Ай-эн-ди)',type='o',subtype='under',sep='yes',eng='163rd Street–Amsterdam Avenue',opened='10 сентября 1932',r_key='163 St-Amsterdam Av C',c_key='A10'},
	{segment='Eighth North Middle',station='155-я улица (линия Восьмой авеню, Ай-эн-ди)',type='o',subtype='under',eng='155th Street',opened='10 сентября 1932',r_key='155 St C',c_key='A11'},
	{segment='Eighth 145',station='145-я