Доступно с лицензией Standard или Advanced.
Доступно с лицензией Network Analyst.
Общественный транспорт, такой как автобусы и метро, обслуживает жителей города, обеспечивая доступ к работе, учебе, магазинам, здравоохранению, отдыху и многому другому. Вы можете использовать Дополнительный модуль ArcGIS Network Analyst для ответа на следующие вопросы:
- Насколько легко люди могут добраться до важных мест назначения при помощи общественного транспорта?
- Насколько хорошо система общественного транспорта обслуживает своих клиентов?
- Где мне найти новое место для бизнеса, если я ожидаю, что мои клиенты, пациенты или сотрудники будут ездить на общественном транспорте?
В этом уроке вы создадите набор сетевых данных с поддержкой общественного транспорта из данных общественного транспорта GTFS и центральных линий улиц. Вы будете использовать этот набор сетевых данных для создания зон обслуживания, показывающих зону, достижимую в течение определенного времени от начальной точки на общественном транспорте и пешком.
Вы можете использовать свои собственные данные GTFS и центральные линии улиц, выполняя шаги этого урока, или использовать предоставленные учебные данные по городской агломерации Цинциннати. Если вы используете свои собственные данные, центральные линии улиц должны охватывать ту же географическую область, что и ваши данные GTFS. Различные примечания и советы в этом руководстве содержат советы для использования собственных данных, включая рекомендации по использованию данных из класса пространственных объектов Routing_Streets из продуктаStreetMap Premium Custom Roads.
Готовый набор сетевых данных включен в учебные данные в качестве примера.
Получение данных
Данные для этого учебного руководства доступны для скачивания.
- Перейдите на страницу скачивания данных.
- Щелкните Загрузить и сохраните файл на свой компьютер.
- Разархивируйте загруженный файл.
Проверка входных данных
Сформируйте входные данные и изучите их.
Исследуйте ваши данные общественного транспорта GTFS
GTFS – общепринятый в мире стандартизированный формат описания движения общественного транспорта. Он включает расположение линий общественного транспорта и остановок, а также расписание транспорта. Набор данных GTFS состоит из набора текстовых файлов CSV с определёнными именами и полями. Если вы не знакомы с GTFS, прочитайте о нём немного больше.
Вы можете использовать данные GTFS в наборе сетевых данных, преобразовав их в модель данных общественного транспорта Network Analyst. Позже в этом уроке вы узнаете, как это сделать. Сначала вы изучите данные GTFS, чтобы выявить потенциальные проблемы и затем принять правильные решения по анализу.
Network Analyst позволяет решать задачи сетевого анализа, используя дату и время анализа. В целом, вы можете выбрать обычный будний день, например, среду, или конкретную дату, например, среду, 22 мая 2019 года. Однако в зависимости от конфигурации данных GTFS вы не сможете использовать общий будний недели. В этом разделе вы изучите конфигурацию даты наборов данных GTFS, чтобы определить, можете ли вы выполнять сетевой анализ с обычными днями недели, или вам нужно будет использовать конкретные даты.
Вы также изучите файлы stop_times.txt в своих наборах данных GTFS, чтобы убедиться в том, что все времена прибытия и отправления указаны явным образом.
- Найдите данные GTFS на диске.
В учебных данных предоставлено два набора данных GTFS для городской агломерации Цинциннати. Они получены из Southwest Ohio Regional Transit Authority (SORTA) и Transit Authority of Northern Kentucky (TANK). Эти наборы данных GTFS находятся в распакованной папке с учебными данными в Tutorial > PublicTransit > GTFS. Папки SORTA и TANK содержат набор текстовых файлов.
Примечание:
Если вы используете свои собственные данные GTFS, найдите набор текстовых файлов GTFS на диске.
- Изучите файл stop_times.txt для каждого набора данных GTFS.
Файл stop_times.txt определяет точное время дня, когда служба общественного транспорта посещает каждую остановку общественного транспорта.
- Откройте файл stop_times.txt в текстовом редакторе.
Примечание:
Файл stop_times.txt может оказаться очень большим. Он может превышать максимальный размер файла, разрешенный некоторыми текстовыми редакторами.
- Проверьте поля arrival_time и departure_time и определите, нет ли в них пустых значений.
Примечание:
Хотя GTFS допускает пустые значения для этих полей, модель данных общественного транспорта Network Analyst требует явного задания времени прибытия и отправления для всех остановок. Инструмент геообработки GTFS в модель данных общественного транспорта, который вы будете использовать позже в этом руководстве, может обрабатывать пустые значения времени прибытия и отправления посредством применения простой линейной интерполяции. Если есть пустые значения, вы должны использовать опцию инструмента интерполяции позже, заполнить пустые значения в данных GTFS перед запуском инструмента или использовать в анализе другой набор данных GTFS.
Наборы данных GTFS, представленные в этом руководстве, не содержат пустых значений для этих полей.
- Закройте файл stop_times.txt.
- Откройте файл stop_times.txt в текстовом редакторе.
- Определите, есть ли у вас файл calendar.txt, файл calendar_dates.txt, или оба для каждого набора данных GTFS.
Файл calendar.txt определяет обычные регулярные перевозки, а файл calendar_dates.txt описывает исключения, такие как праздники и специальные мероприятия. Некоторые транспортные агентства предпочитают использовать только один из файлов. В каждом наборе данных GTFS, который вы собираетесь использовать, должен быть хотя бы один из этих файлов.
Если в наборе данных GTFS есть только файл calendar_dates.txt, а не файл calendar.txt, набор данных не определяет регулярные перевозки; все услуги определены явно для конкретных дат. В этом случае вы не можете использовать общие дни недели в своем анализе. Надо будет использовать конкретную дату.
Если в наборе данных GTFS имеется только файл calendar.txt или оба файла, у вас есть возможность использовать как определенную дату, так и общий будний день недели. Вы будете исследовать файлы дальше на следующем шаге.
Если в наборе данных GTFS нет ни файла calendar.txt, ни файла calendar_dates.txt, вы не можете использовать этот набор данных GTFS, поскольку он недействителен.
Наборы данных GTFS, представленные в этом руководстве, содержат оба файла.
- Изучите файл calendar.txt для каждого набора данных GTFS.
- Откройте файл calendar.txt в текстовом редакторе.
- Исследуйте диапазоны дат, отображаемые в полях start_date и end_date.
Эти поля указывают диапазон дат, когда данные GTFS действительны. Если вы используете конкретную дату в своем анализе, она должна попадать в этот диапазон дат.
Примечание:
Если вы используете наши учебные данные, эти диапазоны дат могут не совпадать, но это не повлияет на урок.
- Определите, есть ли какие-либо непересекающиеся диапазоны дат, строки, где диапазон дат вообще не перекрывается с диапазоном дат другой строки.
Это может произойти, если данные из нескольких агентств были объединены в один файл или если агентство объединило сервисы для нескольких сезонов, таких как осень и зима, в один файл.
Если есть какие-то непересекающиеся диапазоны дат, вам следует использовать конкретную дату в своем анализе вместо общего дня недели. Общий день недели включает сервис без учета диапазонов дат, поэтому в этом случае сервис из этих непересекающихся диапазонов дат будет включен в один и тот же анализ. В примере агентства, которое включило отдельные осенние и зимние сервисы в один и тот же набор данных, осенние и зимние данные будут включены в ваш анализ, что приведет к тому, что доступный сервис будет учитываться дважды.
Ни один из наборов данных GTFS, представленных в этом руководстве, не имеет перекрывающихся диапазонов дат.
- Изучите поля дней недели (monday, tuesday, и т.д.)
Поля определяют дни недели и диапазоны дат, когда действует определённый сервис общественного транспорта. Сервис работает в этот день недели, если значение равно 1, и не работает в этот день недели, если значение равно 0.
Если все поля дней недели заполнены 0 для всех строк, вполне вероятно, что агентство использует файл calendar_dates.txt для определения конкретных дат при запуске сервиса, поэтому вам нужно будет использовать конкретную дату в своем анализе вместо общего буднего дня недели. Если в этом наборе данных нет файла calendar_dates.txt, набор данных GTFS, скорее всего, некорректен, поскольку фактически не имеет сервиса.
Наборы данных GTFS, представленные в этом руководстве, содержат смесь 1 и 0 в полях дней недели. Они определяют регулярное обслуживание в будние дни.
- Закройте файл calendar.txt.
Изучите данные улиц
Пешеходы должны иметь возможность для прохода к остановкам общественного транспорта, посадки в транспорт и возможность дойти пешком до места назначения, поэтому вы включите улицы в набор сетевых данных, наряду с остановками и маршрутами общественного транспорта. Данные об улицах, которые вы используете в наборе сетевых данных, должны быть хорошего качества и содержать атрибуты, указывающие, разрешено ли пешеходам передвигаться по улице.
- Откройте ArcGIS Pro и создайте проект с картой.
- Добавьте данные улиц на карту.
Предоставленные данные улиц находятся в разархивированной папке с учебными данными в Tutorial > PublicTransit > StreetData.gdb > Streets.
- Откройте таблицу атрибутов слоя улиц (streets) и ознакомьтесь с полями и значениями в данных.
- Найдите поле RestrictPedestrians.
Это поле указывает, разрешено ли пешеходам передвигаться по сегменту улицы. Значение N означает, что пешеходы не ограничены в передвижении по улице; они могут свободно ходить по улице. Значение Y означает, что пешеходы ограничены; они не могут ходить по улице. Это поле будет использоваться в наборе сетевых данных для создания атрибута ограничения, предотвращающего движение пешеходов по автомагистралям и другим улицам, где пешеходы не допускаются.
Примечание:
Если вы используете свои собственные данные, вы должны добавить текстовое поле с именем RestrictPedestrians. В противном случае шаблон, который вы будете использовать позже для создания набора сетевых данных, не будет работать. После создания поля заполните его соответствующим образом значениями N и Y. Вы также можете оставить значение поля пустым; улицы с нулевым значением будут интерпретироваться набором сетевых данных как не ограниченные (то же самое, что и значение N).
Если вы используете класс объектов Routing_Streets из StreetMap Premium Custom Roads, то поле будет называться RST_PEDESTRIANS. Вам следует оставить это поле как есть. Позднее вы будете использовать отдельный шаблон сетевых данных, разработанный конкретно под эти данные.
- Найдите поле ROAD_CLASS.
Это поле указывает тип дороги и используется в наборе сетевых данных для настройки пеших маршрутов. Возможные значения определены в разделе Настройка путевых листов.
Примечание:
Если вы используете свои собственные данные, вы должны добавить короткое целое поле с именем ROAD_CLASS. В противном случае шаблон, который вы будете использовать позже для создания набора сетевых данных, не будет работать. После создания поля заполните его соответствующим образом значениями классов дорог. Вы также можете оставить значения полей пустыми, и набор сетевых данных будет использоваться по умолчанию при генерации направлений.
Класс объектов Routing_Streets из StreetMap Premium Custom Roads уже содержит подходящее поле ROAD_CLASS.
- Закройте таблицу атрибутов.
- Используйте инструмент Исследовать , чтобы исследовать данные улиц на карте. Нажмите на несколько объектов улиц и обратите внимание, где они начинаются и заканчиваются, и как они пересекаются с другими объектами.
Иногда данные улиц разделяются на отдельные объекты на каждом перекрестке. Другие наборы данных улиц содержат длинные непрерывные объекты улиц, которые не разделяются каждый раз, когда они пересекают другой объект, а вместо этого имеют вершины в этих точках. Обратите внимание, как построены ваши данные улиц, потому что это повлияет на то, как вы позже настроите правила связности набора сетевых данных.
Наши учебные данные улиц разбиты на отдельные объекты на каждом перекрестке.
Примечание:
Класс объектов Routing_Streets из StreetMap Premium Custom Roads не разбивается в пересечениях.
- Удалите данные улиц с карты.
Подготовьте исходные классы объектов и таблицы набора сетевых данных.
Вы создадите и подготовите классы пространственных объектов и таблицы, которые будете использовать в наборе сетевых данных. Вы преобразуете данные GTFS в набор классов пространственных объектов и таблиц, которые образуют модель данных общественного транспорта Network Analyst, и подготовите центральные линии улиц для использования в наборе сетевых данных.
Создание файловой базы геоданных и набора классов объектов
В этом разделе вы создадите файловую базу геоданных и набор классов объектов. Позже вы создадите набор сетевых данных в этом наборе классов объектов.
- Создайте файловую базу геоданных и разместите ее в любом месте своего компьютера.
- Создайте набор классов объектов в новой базе геоданных, используя пространственную привязку на ваше усмотрение.
Создание остановок, линий и расписаний общественного транспорта из GTFS
В этом разделе вы будете использовать инструмент геообработки GTFS в модель данных общественного транспорта для преобразования данных GTFS в набор классов пространственных объектов и таблиц, которые будут использоваться в наборе сетевых данных.
- На панели Геообработка откройте инструмент GTFS в модель данных общественного транспорта.
Вы можете найти этот инструмент в наборе инструментов Инструменты общественного транспорта в группе Конвертация или через поиск инструментов.
- Для параметра Входные папки GTFS выберите одну или несколько папок, содержащих текстовые файлы GTFS. Если вы используете предоставленные нами учебные данные, выберите папки SORTA и TANK.
Данные из всех входных наборов данных GTFS будут объединены в один и тот же набор выходных таблиц и классов пространственных объектов, что полезно, если вы хотите смоделировать городскую зону, в которой несколько транспортных сервисов работают в одной географической области. Набор данных SORTA обслуживает часть агломерации Цинциннати в штате Огайо, а набор данных TANK обслуживает часть агломерации Цинциннати к югу через реку в штате Кентукки.
- В качестве параметра Целевой набор классов объектов выберите набор классов объектов, созданный ранее.
- Оставьте поле Интерполяция пустых времен остановок не отмеченным.
Примечание:
Если при работе со своими данными GTFS вы обнаружили, что в файле stop_times.txt есть пустые значения полей arrival_time и departure_time, поставьте отметку Интерполировать пустые значения времени для остановок. - Запустите инструмент.
Этот инструмент должен сработать успешно, без ошибок и предупреждений, а в карту будет добавлено несколько классов объектов и таблиц.
Примечание:
Если вы используете свои собственные данные GTFS, просмотрите сообщения инструмента на наличие ошибок и предупреждений, чтобы убедиться, что ваши данные GTFS пригодны для использования в наборе сетевых данных. Инструмент выполняет некоторую проверку данных, и иногда в наборах данных GTFS возникают проблемы, которые необходимо исправить, прежде чем данные можно будет использовать в наборе сетевых данных.
- Изучите выходные данные на карте и на панели Содержание.
Показаны два класса объектов Stops и LineVariantElements, а также несколько таблиц. Таблицы представляют расписания общественного транспорта. Класс пространственных объектов Stops представляет местоположения остановок транспорта. Класс объектов LineVariantElements представляет сегменты линии общественного транспорта.
Линии общественного транспорта на карте не следуют вдоль улиц и не выглядят как типичное визуальное представление транспортной системы. Объекты LineVariantElements не предназначены для представления фактических географических линий маршрутов, пройденных автобусами, поездами или другим общественным транспортом – они отображают логические связи в транспортной системе. Анализатор Общественного транспорта набора сетевых данных будет использовать расписания транспорта для определения времени, необходимого для прохождения объектов LineVariantElements, поэтому их форма и длина не имеют значения. Эти классы пространственных объектов и таблицы описаны более подробно в документацииNetwork Analyst по модели общественного транспорта.
Вы можете заметить, что класс пространственных объектов LineVariantElements содержит несколько длинных прямых линий. Они представляют собой скоростные маршруты, которые соединяют центр города с остановками на окраинах, без промежуточных остановок.
Копирование класса объектов улиц в набор классов объектов
Поскольку улицы будут участвовать в наборе сетевых данных, вы должны поместить класс объектов улиц в набор классов объектов, в котором будете создавать набор сетевых данных.
- Найдите класс объектов streets (улицы). Вспомните, что данные улиц находятся в распакованной папке с учебными данными в Tutorial > Public Transit > Street Data.gdb > Streets.
- Если класс объектов улиц и набор классов объектов, которые вы создали ранее, имеют разные пространственные привязки, используйте инструмент Проецировать для перепроецирования улиц в пространственную привязку набора классов объектов. В противном случае просто скопируйте класс объектов улиц в набор классов объектов.
Примечание:
Если вы используете свои собственные данные, вы должны переименовать класс пространственных объектов Streets, чтобы он работал с предоставленным шаблоном набора сетевых данных.
Если вы используете класс объектов Routing_Streets из StreetMap Premium Custom Roads, оставьте имя Routing_Streets. Не нужно переименовывать его в Streets.
Для класса Routing_Streets следует учесть несколько дополнительных моментов. Инструменты Копировать и Проецировать не работают с классами объектов, которые участвуют в сетевом наборе данных. Кроме того, вам, вероятно, захочется вырезать класс объектов Routing_Streets, чтобы в него входили только улицы из изучаемой области. И, наконец, вам нужно дополнительно вырезать и копировать класс объектов Routing_Streets_Override в целевой набор данных, чтобы гарантировать соответствующую связность в дальнейшем.
Самый простой способ копировать и вырезать Routing_Streets и Routing_Streets_Override - это добавить их на карту, выбрать все объекты в пределах области, которую будет покрывать новая общественная сеть транспорта, и запустить инструмент Класс объектов в класс объектов для каждого слоя, чтобы экспортировать выбранные объекты.
Если у исходных классов объектов и у целевого набора классов объектов будут разные пространственные привязки, то вам нужно либо создать промежуточные выходные классы объектов и запустить для них инструмент Проецировать, либо настроить для инструмента Класс объектов в класс объектов параметры среды Выходная система координат и Географические преобразования.
Если вы не выбрали подходящие точки Routing_Streets_Override в то же время, когда выбрали нужные объекты Routing_Streets, вы можете это сделать, выбрав все точки Routing_Streets_Override, которые пересекают ваши извлеченные и скопированные объекты Routing_Streets, применив инструмент Выбрать слой по местоположению.
Соединение остановок транспорта с улицами
В наборе сетевых данных вы можете проверить, что путешественник может ходить по улицам, использовать транспортную систему, входя или выходя из общественного транспорта на остановках (и больше нигде), и идти от конечной остановки к месту назначения. Таким образом, вы должны убедиться, что между улицами, остановками транспорта и линиями общественного транспорта существует хорошо контролируемая связность. В этом разделе вы будете использовать инструмент Соединить модель данных общественного транспорта с улицами, чтобы сформировать такую связность. Инструмент привязывает копию остановок транспорта к улицам и создает прямую линию, соединяющую исходное местоположение каждой остановки с местом, где она была привязана к улице. Эти соединители используются в наборе сетевых данных для моделирования движения между улицами и линиями общественного транспорта.
- На панели Геообработка откройте инструмент Соединить модель данных общественного транспорта с улицами. Вы можете найти этот инструмент в наборе инструментов Инструменты общественного транспорта в группе Конвертация или через поиск инструментов.
- Для параметра Целевой набор классов объектов выберите тот же набор классов объектов, который использовали для оставшейся части этого урока.
- Для параметра Входные объекты улиц выберите класс объектов улиц в наборе классов объектов.
- Для параметра Расстояние поиска примите значение по умолчанию или введите значение по вашему выбору.
Остановки, которые находятся вне расстояния поиска, не будут замкнуты на объекты улиц и не будут соединены с улицами. Небольшие расстояние поиска не позволяет некорректно замыкать остановки на улицы, которые слишком далеко, но увеличивает вероятность, что остановки не будут замкнуты на улицы там, где это надо. Большое расстояние поиска увеличивает число замкнутых остановок, но может привести к ошибкам, которые надо будет исправить путём редактирования данных улиц.
- Для параметра Выражение добавьте выражение, чтобы остановки транспорта не замыкались на улицы, которые имеют ограничения для пешеходов. Используйте конструктор выражений для создания выражения. Задайте для поля RestrictPedestrians условие where не равно, а значение Y. В качестве альтернативы используйте редактор SQL для записи RestrictPedestrians <> 'Y'.
Как обсуждалось ранее, значение Y в поле RestrictPedestrians указывает, что улица имеет ограничения для пешеходов. Выражение, построенное на этом шаге, гарантирует, что остановки общественного транспорта не будут замкнуты на улицы с ограниченным доступом. Это, в свою очередь, гарантирует, что все остановки транспорта доступны для пешеходов.
Примечание:
Если у класса объектов Streets нет поля RestrictPedestrians, вам нужно его добавить, иначе вы не сможете успешно создать сетевой набор данных на основе представленного шаблона позднее.
Если вы используете класс объектов Routing_Streets из продукта StreetMap Premium Custom Roads, используйте поле RST_PEDESTRIANS для параметра Выражение вместо RestrictPedestrians.
- Запустите инструмент.
Этот инструмент должен сработать успешно, без ошибок и предупреждений, а в карту будут добавлены дополнительные классы пространственных объектов.
Примечание:
Если вы используете свои собственные данные, просмотрите сообщения об ошибках и предупреждения, чтобы убедиться, что все работает правильно.
- Изучите выходные данные на карте и на панели Содержание.
Два новых класса объектов StopsOnStreets и StopConnectors, добавлены на карту Класс объектов улиц тоже мог быть добавлен на карту, если его еще на карте не было.
- Увеличьте область около одной из остановок общественного транспорта и изучите ее.
Вы должны увидеть объект Stops, короткий отрезок прямой линии (объект StopConnectors), соединяющий этот объект Stops с улицей, и объект StopsOnStreets на пересечении улицы и объекта линии StopConnectors. Эта комбинация объектов позволяет определять хорошую, качественно контролируемую связность между улицами и линиями общественного транспорта в наборе сетевых данных. Эти классы объектов более подробно описаны в документации к модели данных общественного транспорта Network Analyst.
Примечание:
Если класс объектов Stops включает родительские станции или входы на станции, вы можете увидеть немного более сложную структуру соединения. Правила соединения для этих ситуаций более подробно описаны в документации инструмента Соединить модель данных общественного транспорта с улицами.
Создание набора сетевых данных
В этом разделе вы создадите набор сетевых данных, используя предоставленный шаблон набора сетевых данных. Предоставленный шаблон обеспечивает хорошо структурированный набор сетевых данных с наиболее важными настройками, уже выполненными для вас. На последующих этапах вы рассмотрите некоторые из этих параметров и сможете изменить их в соответствии с вашими потребностями и данными.
Создать набор сетевых данных из шаблона
Используйте предоставленный шаблон XML для автоматического создания набора сетевых данных с определенной схемой.
- Откройте инструмент Создать набор сетевых данных из шаблона.
Вы можете найти этот инструмент в наборе инструментов Network Analyst в группе Набор сетевых данных или через панель поиска инструментов.
- В качестве параметра Шаблона набора сетевых данных выберите предоставленный файл шаблона XML в разархивированной папке данных Tutorial > PublicTransit > TransitNetworkTemplate.xml.
Примечание:
Даже если вы используете свои собственные данные вместо предоставленных учебных данных, этот шаблон набора сетевых данных должен работать, если вы следовали инструкциям учебного руководства для переименования улиц с данными Streets и добавили поля RestrictPedestrians и ROAD_CLASS.
Если вы используете данные из продукта StreetMap Premium Custom Roads, используйте шаблон набора сетевых данных TransitNetworkTemplate_SMP_Custom_Roads.xml вместо TransitNetworkTemplate.xml. Этот альтернативный шаблон учитывает особые соображения, необходимые для этих данных.
- Для параметра Выходной набор классов объектов выберите тот же набор классов объектов, который использовали для предыдущей части этого урока.
Набор сетевых данных будет создан в этом наборе классов объектов.
- Запустите инструмент.
В наборе классов объектов создан набор сетевых данных.
Примечание:
Вам может потребоваться обновить набор классов объектов на панели Каталог, чтобы увидеть новый набор сетевых данных.
Изучите свойства набора сетевых данных
Набор сетевых данных создан, но вы должны проверить его свойства, чтобы убедиться, что вы понимаете, как он работает и подходит ли для ваших нужд. В этом разделе вы изучите политику связности набора сетевых данных и атрибутов перемещений.
- Удалите набор сетевых данных с карты, если он там есть.
Вы не сможете редактировать определенные свойства набора сетевых данных, если они есть на карте.
- Откройте диалоговое окно Свойства набора сетевых данных.
- Изучите правила связности набора сетевых данных.
Правила связности набора сетевых данных настроены на предотвращение непреднамеренных перемещений между линиями общественного транспорта и улицами. Для перехода между улицей и линией общественного транспорта, пешеход должен воспользоваться специальной остановкой общественного транспорта. Следовательно, улицы и линии общественного транспорта находятся в отдельных группах связности.
Более подробно о группах и правилах связности набора сетевых данных
- В диалоговом окне свойств набора сетевых данных выберите Настройки источника > Связность группы.
Появится вкладка Связность группы.
- Изучите список классов объектов.
Линии общественного транспорта (LineVariantElements), улицы и соединительные объекты (StopConnectors) включены в сеть как источники рёбер. Остановки городского транспорта (Stops) и копия этих остановок с замыканием на улицы (StopsOnStreets) включены в сеть как источники соединений.
Примечание:
Если вы используете данные из продукта StreetMap Premium Custom Roads, то вы увидите, что в качестве дополнительного источника соединений включен Routing_Streets вместо Streets и Routing_Streets_Override.
- Изучите связности групп.
Набор сетевых данных имеет три группы связности. Улицы находятся в первой группе, соединительные линии – во второй группе, а линии общественного транспорта – в третьей группе. Класс пространственных объектов StopsOnStreets участвует как в первой, так и во второй группах, предоставляя пешеходу возможность перехода между улицами и соединительными линиями. Класс пространственных объектов Stops участвует во второй и третьей группах, обеспечивая способ перехода от соединительных линий к линиям общественного транспорта.
Примечание:
Если вы используете данные из продукта StreetMap Premium Custom Roads, то Routing_Streets_Override участвует в той же группе связности, что и Routing_Streets.
- Изучите правила подключения для источников рёбер.
Все три источника рёбер имеют подключение к Конечной точке, что означает, что линейные объекты считаются подключенными в сети только в том случае, если их конечные точки совпадают. Если они касаются или перекрываются в других точках, они не считаются подключенными.
LineVariantElements и StopConnectors должны всегда использовать связность в Конечной точке.
Ранее на этом уроке вы изучали данные об улицах на карте, чтобы определить, были ли они разделены на отдельные объекты на каждом перекрестке или они имели длинные непрерывные объекты улиц, которые проходили через несколько перекрестков с другими улицами. Для данных улиц, которые разбиваются на каждом пересечении, правильным выбором будет связность Конечной точки. Предоставленные нами данные улиц разделены на отдельные объекты на каждом перекрестке, поэтому оставьте правило подключения для Streets как Конечную точку.
Примечание:
Если вы используете свои собственные данные улиц, и эти улицы включают длинные смежные уличные объекты, которые не разбиваются на каждом пересечении, тогда переключите политику связности Streets на Любая вершина.
Если вы используете данные из продуктаStreetMap Premium Custom Roads, оставьте правило связности для Routing_Streets настроенным на Endpoint, даже если эти данные по улицам не разбиваются в каждом пересечении. Источник соединений Routing_Streets_Override с его правилом связности Перезаписать гарантирует обеспечение корректной связности в этих пересечениях.
- Изучите правила подключения для источников соединений.
Источник соединения Stops имеет правило связности Наследовать, а это означает, что остановки транспорта подчиняются правилу связности источника рёбер, с которыми они соединены.
Источник соединения StopsOnStreets имеет правило соединения Перезаписать, что означает, что эти соединения будут переопределять политику соединения источника рёбер, к которому они подключены. В этом случае объекты StopsOnStreets будут подключаться к объектам Streets в местах соединения , даже если правилом подключения Streets является Конечная точка. Это важно, потому что означает, что вам не нужно разбивать объекты улиц в местах остановок транспорта, чтобы обеспечить связность в сети.
Оставьте правила связности источника соединения такими, как они есть.
- В диалоговом окне свойств набора сетевых данных выберите Настройки источника > Связность группы.
- Изучите атрибуты стоимости набора сетевых данных.
Атрибуты стоимости используются, чтобы измерить стоимость или импеданс, чтобы путешествовать вдоль рёбер в сети. Например, атрибут стоимости может определять время в пути, необходимое для прохода по сегменту улицы или перемещения по линии общественного транспорта.
- В диалоговом окне свойств набора сетевых данных выберите Атрибуты путешествия > Стоимость.
- Изучите список атрибутов стоимости, показанный в верхней части диалогового окна.
Набор сетевых данных имеет три атрибута стоимости: PublicTransitTime, WalkTime и Length.
- Выберите атрибут стоимости PublicTransitTime.
Свойства атрибута стоимости PublicTransitTime отображаются в нижней части диалогового окна.
- Изучите раздел Анализаторы.
Анализатор проводит расчет, который определяет стоимость прохождения определенного ребра, соединения или поворота в сети. Для каждого ребра, соединения или поворота может быть использован разный тип анализатора. Например, вы можете использовать разные анализаторы для расчета времени прохождения пешехода по улицам и по линиям общественного транспорта.
В источнике рёбер LineVariantElements используется анализатор Общественного транспорта. Этот анализатор вычисляет время в пути по сегменту линии маршрута общественного транспорта на основе расписания общественного транспорта. Потраченное время в пути включает время ожидания до начала следующего запланированного рейса общественного транспорта, а также время в пути по сегменту линии транспорта от одного конца до другого.
Более подробно об анализаторе Общественного транспорта
Источник ребер StopConnectors использует анализатор Констант со значением 0. Это означает, что время в пути не возникает, когда пешеход использует объект StopConnectors для перемещения между улицей и линией общественного транспорта. Поскольку объекты StopConnectors, созданные с помощью инструмента Соединить модель данных общественного транспорта с улицами, представляют собой логические соединения для управления сетевым соединением, а не фактические географические маршруты, имеет смысл не учитывать время в пути. Однако если вы хотите смоделировать пути через большие станции или располагать информацией об обычных задержках посадки или выхода для остановок городского транспорта, то вы можете изменить тип или значение анализатора.
Источник ребер Streets использует анализатор Функция, чтобы установить время в пути, равное времени ходьбы по улицам, рассчитанному для атрибута стоимости WalkTime. Атрибут WalkTime, в свою очередь, рассчитывает время ходьбы на основе длины улицы и настраиваемого параметра скорости ходьбы.
Примечание:
Вы можете проверить анализаторы для атрибута стоимости WalkTime, выбрав его в верхней части диалогового окна. Это переключит нижнюю часть диалогового окна, чтобы показать свойства WalkTime.
- Изучите раздел Параметры диалогового окна. Щелкните его, чтобы развернуть содержание.
Атрибут стоимости PublicTransitTime настроен с несколькими параметрами атрибута, которые можно использовать для дальнейшего управления анализатором Общественного транспорта.
Более подробно о поддерживаемых параметрах анализатора Общественного транспорта
- Изучите атрибуты ограничения набора сетевых данных.
Атрибуты ограничения используются для предотвращения перемещения по определенным частям сети при определенных обстоятельствах. Например, атрибут ограничения может определять улицы, по которым пешеходам запрещено ходить, такие как шоссе.
- В диалоговом окне свойств набора сетевых данных выберите Атрибуты путешествия > Ограничения.
- Изучите список атрибутов ограничения, показанный в верхней части диалогового окна.
Набор сетевых данных имеет два ограничения, PedestrianRestriction и WheelchairRestriction.
- Выберите PedestrianRestriction.
Это ограничение не позволяет пешеходам ходить по улицам, где пешеходное движение запрещено.
Свойства PedestrianRestriction отображаются в нижней части диалогового окна.
- Изучите раздел Анализаторы.
Для источника ребер Streets ограничение определенного ребра определяется на основе значения поля RestrictPedestrians. Если значение поля Y, улица считается ограниченной. В противном случае пешеходное путешествие разрешено.
Примечание:
Если вы используете класс объектов Routing_Streets из продукта StreetMap Premium Custom Roads, то этим ограничением будет использоваться поле RST_PEDESTRIANS вместо RestrictPedestrians.
Другие источники ребер и соединений не определяют поведение для этого ограничения. Пешеходное путешествие по этим другим объектам всегда разрешено.
- Выберите WheelchairRestriction из списка атрибутов ограничения в верхней части диалогового окна
Это ограничение не позволяет людям с инвалидными колясками путешествовать в местах, где нельзя разместить инвалидную коляску.
Свойства WheelchairRestriction отображаются в нижней части диалогового окна.
- Изучите раздел Анализаторы.
Для источника ребер StopConnectors ограничение определенного ребра определяется на основе значения поля GWheelchairBoarding в соответствии с правилами, определенными моделью данных общественного транспорта. Это не позволяет пассажирам с инвалидными колясками садиться в общественный транспорт на остановках, не оборудованных для инвалидных колясок.
Другие источники ребер и соединений не определяют поведение для этого ограничения. Передвижение на инвалидной коляске на других объектах всегда разрешено. Если улицы содержат информацию о доступности для инвалидных колясок, вы можете включить эту информацию в соответствующее ограничение, настроив анализаторы для источника ребер Streets.
Примечание:
Доступность линий общественного транспорта для инвалидных колясок обрабатывается отдельно с использованием параметра Передвижение с инвалидной коляской в атрибуте стоимости PublicTransitTime. Если для этого параметра установлено значение Истина, анализатор общественного транспорта будет гарантировать, что сервис общественного транспорта, который не доступен для инвалидных колясок, не используется в расчетах, определяющих время в пути. Параметр в атрибуте стоимости используется вместо ограничения, поскольку доступность линий общественного транспорта для инвалидных колясок часто связана с конкретным используемым транспортным средством, а не с самой линией.
- Изучите режимы передвижения набора сетевых данных.
Режимы передвижения представляют собой набор настроек набора сетевых данных, таких как атрибуты стоимости и ограничения, которые можно применять для анализа. Режимы передвижения обычно представляют собой особый способ передвижения, например, пешеходы, идущие и едущие на общественном транспорте.
- В диалоговом окне свойств набора сетевых данных выберите Атрибуты передвижения > Режимы передвижения.
- Изучите список режимов передвижения в ниспадающем списке в верхней части диалогового окна.
Набор сетевых данных имеет два режима передвижения:Время в общественном транспорте и Время в общественном транспорте с инвалидной коляской.
- Выберите из списка Время в общественном транспорте.
Этот режим передвижения отображает время в пути пешеходов, идущих по улицам и пользующихся общественным транспортом.
Свойства Времени в общественном транспорте отображаются в нижней части диалогового окна.
- В разделе Стоимость проверьте свойство Импеданс.
Атрибут стоимости PublicTransitTime выбран в качестве атрибута импеданса в режиме передвижения, что означает, что этот атрибут будет использоваться для выполнения расчета времени в пути, когда режим движения используется для анализа.
- В разделе Стоимость изучите раздел Параметры стоимости.
Отображаются параметры атрибута, связанные с атрибутами стоимости. Вы можете выбрать любой из атрибутов, показанных в списке, чтобы развернуть соответствующие параметры и проверить их значения. Скорость ходьбы установлена здесь.
- В разделе Ограничения изучите список ограничений, которые применяются при использовании этого режима передвижения в анализе.
PedestrianRestriction включен, а WheelchairRestriction – нет, поскольку этот режим передвижения не предназначен для моделирования путешественников с инвалидными колясками.
- Выберите Время в общественном транспорте с инвалидной коляской в списке режимов передвижения в верхней части диалога.
Этот режим передвижения отображает время в пути людей с инвалидными колясками вдоль улиц и линий общественного транспорта.
Время в общественном транспорте с инвалидной коляской отображается в нижней части диалогового окна.
- В разделе Стоимость изучите раздел Параметры стоимости.
- Выберите PublicTransitTime, чтобы развернуть параметры атрибута, связанные с этим атрибутом стоимости.
Для этого режима передвижения значение параметра Передвижение с инвалидной коляской установлено в значение Истина, что переопределяет значение по умолчанию.
- В разделе Ограничения изучите список ограничений, которые применяются при использовании этого режима передвижения в анализе.
В этом режиме передвижения включены и PedestrianRestriction и WheelchairRestriction.
- В диалоговом окне свойств набора сетевых данных выберите Путевой лист > Общие, чтобы изучить настройки путевых листов набора сетевых данных.
Дополнительный модуль ArcGIS Network Analyst в настоящий момент не поддерживает путевые листы типа "От-поворота-к-повороту" для передвижений на общественном транспорте, которые удобно было бы использовать для приложений, ориентированных на пассажиров.
Опция Поддерживать путевые листы не отмечена. Этот набор сетевых данных в настоящий момент не настроен на поддержку путевых листов. При необходимости вы можете отметить эту опцию и настроить путевые листы для пешеходов.
- Закройте свойства набора сетевых данных.
Построение набора сетевых данных
Набор сетевых данных не может быть использован для анализа, пока он не будет построен.
- Откройте инструмент Построить сеть.
Вы можете найти этот инструмент в наборе инструментов Network Analyst в группе Набор сетевых данных или через панель поиска инструментов.
- Выберите новый набор сетевых данных и запустите инструмент.
Вы можете получить предупреждение о том, что были обнаружены ошибки построения.
- Если были обнаружены ошибки построения, откройте файл сообщения об ошибке построения, показанный в тексте сообщения, и проверьте ошибки.
Ошибки построения указывают на проблемы или потенциальные проблемы с набором сетевых данных. Некоторые из них серьезны и должны быть исправлены, чтобы набор сетевых данных работал. Другие незначительны и могут быть проигнорированы.
Наиболее вероятные ошибки построения, с которыми вы можете столкнуться – это то, что объекты StopConnectors имеют пустую геометрию. Например, обычным сообщением является SourceName: StopConnectors, ObjectID: 232, Geometry is empty. Обычно это происходит, когда один из объектов Stops и связанный с ним объект StopsOnStreets пространственно совпадают, поскольку объект StopsOnStreets не был успешно привязан к соседней улице. Следовательно, соединительная линия, создаваемая между ними, не имеет длины.
Если у вас есть ошибки построения этого типа, изучите объекты StopConnectors, на которые это повлияло. Вы можете найти связанные объекты Stops и StopsOnStreets, используя поле StopID в StopConnectors, которое ссылается на поле ID в Stops и StopsOnStreets. Наиболее вероятной причиной ошибки является то, что остановка была дальше от ближайшей улицы, чем Расстояние поиска, которое вы использовали в инструменте Соединить модель данных общественного транспорта с улицами. Остановка может быть не в том месте, что указывает на ошибку в исходных данных GTFS, или в данных улицы могут отсутствовать некоторые дороги или проезды, обслуживающие остановку.
Если есть только несколько ошибок, и они не относятся к области, которая важна для вашего анализа, вы можете спокойно их игнорировать.
Если вы хотите исправить проблему, вам нужно вручную переместить объект StopsOnStreets и привязать его к правильной точке вдоль улицы и отредактировать объект StopConnectors, чтобы его присоединить. Самый простой способ исправить нулевую геометрию – это использовать инструмент редактирования Заменить геометрию. Вы не должны перемещать объект Stops в случае, если он отключается от линий общественного транспорта. Вы также можете редактировать данные улиц, чтобы добавить недостающие дороги или проезды до редактирования StopsOnStreets.
Вместо редактирования можно повторно запустить инструмент Соединить модель данных общественного транспорта с улицами с большим значением Расстояния поиска.
Примечание:
Если ваши проблемы широко распространены или у вас есть другие ошибки построения, вам, возможно, придется потратить некоторое время на редактирование класса объектов улиц или использовать другой.
Запустите анализ области обслуживания.
В этом разделе вы создадите зону обслуживания, в которой будет отображаться зона, до которой можно добраться на общественном транспорте и в течение 30 минут ходьбы от начальной точки в определенное время суток, используя набор сетевых данных, созданный в предыдущих разделах.
Более подробно об анализе областей обслуживания
Создание и настройка слоя зоны обслуживания
Слой области обслуживания обеспечивает структуру и свойства, необходимые для постановки и решения задач области обслуживания. Он также содержит результаты расчета.
- На вкладке Анализ группы Рабочие процессы щелкните Сетевой анализ > Область обслуживания..
Слой Области обслуживания добавлен на панель Содержание. Он содержит подслои со входными и выходными данными анализа.
- На панели Содержание укажите Область обслуживания, чтобы выбрать составной слой.
Появится вкладка Область обслуживания.
- Щелкните Слой области обслуживания, чтобы увидеть доступные на ленте настройки.
Вы будете использовать эти элементы управления для настройки создаваемой области обслуживания.
Подсказка:
Вкладка Слой области обслуживания появится только при выборе вами слоя области обслуживания на панели Содержание. Кроме того, если у вас несколько слоев областей обслуживания, вы можете изменить настройки этих слоев по отдельности или выбрать несколько слоев, чтобы изменить настройки для всех выбранных слоев, если они используют один и тот же источник сетевых данных. Для каждой имеется своя вкладка.
- На вкладке Слой Области обслуживания в группе Настройки передвижения обратите внимание, что для параметра Режим установлено Время в общественном транспорте.
Этот режим передвижения является режимом передвижения по умолчанию для набора сетевых данных. Этот режим передвижения представляет собой передвижение на общественном транспорте и пешком.
- На вкладке Слой области обслуживания в группе Настройки передвижения измените Предельные значения на 4.
Это изменение заставляет полигон выходной зоны обслуживания представлять область, достижимую в течение 30-минутного времени в пути.
Более подробно об опции области обслуживания Предельные значения
- В группе Дата и время измените ниспадающее значение Тип даты и времени прибытия на День недели.
Вы должны указать время суток для анализа зоны обслуживания, чтобы использовать расписания общественного транспорта в наборе сетевых данных. Без времени суток все линии общественного транспорта рассматриваются как ограниченные, поскольку анализатор общественного транспорта не может рассчитать время в пути без определенного времени суток.
Более подробно об опциях Типа даты и времени прибытия
Примечание:
Если вы используете свои собственные данные GTFS и ранее определили, что вам нужно использовать конкретные даты для анализа вместо обычных будних дней, выберите Дата и время вместо Дня недели.
Элементы управления Время дня и Дата теперь доступны.
- Измените значение Дата на день недели по вашему выбору.
Примечание:
Если вы указали Дата и время вместо День недели, измените элемент управления Дата на выбранную вами дату, которая попадает в диапазон данных calendar.txt GTFS и файлов calendar_dates.txt.
- Измените значение Время дня на выбранное вами время суток, когда, вероятно, будет работать служба общественного транспорта, например 5:15 вечера.
- В группе Выходная геометрия нажмите кнопку Исключить источники ребер , чтобы открыть ниспадающее меню.
Источник ребер LineVariantElements по умолчанию исключен из создания полигонов. Это означает, что полигоны области обслуживания не будут генерироваться вокруг объектов LineVariantElements, даже если эти объекты могут быть проанализированы в ходе анализа. Это поведение как раз и требуется. Пешеходы, пользующиеся общественным транспортом, могут выходить из транспортного средства только на остановках, поэтому область, окружающая линии общественного транспорта, не должна быть обозначена как достижимая полигонами зоны обслуживания, если только пешеход не может выйти на остановке и пройтись по улицам, чтобы достичь этой области.
- Закройте выпадающее меню Исключить источники рёбер, не внося никаких изменений.
Рисование пункта обслуживания
Область обслуживания является отправной точкой вашего анализа. Полигон зоны обслуживания покажет область, достижимую этим средством в течение срока, который вы указали в элементе управления Предельные значения на вкладке Слой области обслуживания. В этом разделе вы нарисуете объект зоны обслуживания на карте.
Примечание:
Вы также можете импортировать существующие точки как пункты обслуживания, щелкнув кнопку Импорт пунктов обслуживания на вкладке Область обслуживания.
- В разделе Входные данные щелкните кнопку Создать объекты .
Появится панель Создать объекты со списком редактируемых слоев.
- Под Область обслуживания: пункты обслуживания, нажмите Пункты обслуживания, чтобы активировать шаблон редактирования по умолчанию.
- Используйте инструмент Точка , чтобы создать объект на карте рядом с остановками общественного транспорта, например, в центре города.
- На вкладке Редактирование нажмите Сохранить , чтобы сохранить изменения.
Расчет зоны обслуживания и изучение результатов
Теперь, когда вы создали и настроили слой зоны обслуживания и добавили пункт обслуживания, область обслуживания готова к работе. В этом разделе вы решите область обслуживания и изучите результаты.
- На вкладке Слой области обслуживания щелкните Запустить .
Полигон зоны обслуживания генерируется на карте. Этот полигон представляет зону, до которой можно добраться из объекта на общественном транспорте и дойти пешком в течение 30 минут времени, если пешеход начинает движение в указанное вами время дня. Он должен простираться от объекта вдоль некоторых линий общественного транспорта в вашей системе.
Выходные полигоны вашей зоны обслуживания могут содержать составные объекты, показывающие в виде одного объекта несколько разъединенных зон вокруг остановок и станций общественного транспорта. Это вполне допустимо. Если вы создаете тридцатиминутную зону обслуживания, ваш пешеход может выйти из поезда на станции после 25-минутного проезда в нем и пройти пешком 5 минут, либо он может продолжить движение и выйти из поезда на следующей станции через 28 минут, и тогда у него останется на прогулку только 2 минуты. Однако поскольку поезда, как правило, ходят быстрее, чем люди, пешеходы не могут добраться до всех расположенных между двумя станциями районов, не превысив 30-минутный лимит времени в пути. Следовательно, достижима за 30 минут лишь небольшая область вокруг каждой станции, а большая часть области между станциями недоступна за это время, поэтому 30-минутный полигон зоны обслуживания будет содержать каждую из этих разъединенных областей, окружающих достижимые станции.
- На вкладке Слой области обслуживания в группе Время прибытия/отправления измените значение Время на другое время по вашему выбору. Например, выберите время суток в непиковые часы, когда меньше общественного транспорта, например, 2:00 вечера.
Примечание:
Если вкладка Слой области обслуживания не отображается, на панели Содержание щелкните Область обслуживания, чтобы выбрать групповой слой.
- На вкладке Слой области обслуживания щелкните Запустить .
Полигон зоны обслуживания изменен. Область обслуживания теперь представляет достижимую зону, если пешеход начинает свой путь в указанное вами время суток. Поскольку доступная служба общественного транспорта различается в разное время дня, область, доступная пешеходу, использующему эту службу общественного транспорта, будет другой.