Доступно с лицензией Network Analyst.
В этом руководстве вы создадите пользовательский набор сетевых данных на основании данных улиц и мест развлечений города Сан-Диего, Калифорния. Вы начнете с создания базового набора сетевых данных при помощи инструмента геообработки Создать набор сетевых данных. Затем вы пройдете через все страницы свойств, чтобы установить такие дополнительные атрибуты пути, как источники сети, цены, ограничения, дескрипторы, режимы передвижения и путевые листы.
Готовый набор сетевых данных, созданный с помощью этого учебного руководства, можно использовать для создания маршрутов и путевых листов для туристов, желающих посетить общественные достопримечательности в окрестностях Сан-Диего.
Готовый набор сетевых данных включен в учебные данные в качестве примера.
Получение данных
Данные для этого учебного руководства доступны для скачивания.
- Перейдите на страницу скачивания данных.
- Щелкните Загрузить и сохраните файл на свой компьютер.
- Разархивируйте загруженный файл.
Создание карты
- Запустите ArcGIS Pro.
- Создайте новый проект, щелкнув на шаблоне Карта. Вы можете изменить название своего проекта и местоположение или оставить значения по умолчанию.
Появится новый проект с картой.
Исследование классов пространственных объектов источников
Далее добавьте на карту классы объектов Streets (улицы) и Walking_Pathways (пешеходные дорожки).
- На панели Каталог, находящейся по умолчанию на правой стороне приложения, щелкните правой кнопкой Папки и выберите Добавить подключение к папке .
Появится диалоговое окно Добавить подключение к папке.
- Перейдите к папке, в которую вы разместили учебные данные, дважды щелкните Network Analyst и укажите Tutorial для выбора папки.
- Нажмите OK.
Будет создано подключение к папке Tutorial
- На панели Каталог раскройте Папки > Tutorial > CreateNetworkDataset > SanDiego.gdb > Transportation.
- Перетащите Streets и Walking_Pathways на карту.
Оба класса объектов будут добавлены на панель Содержание и на карту.
- В панели Содержание щёлкните правой кнопкой слой Streets и выберите Таблица атрибутов.
- Изучите поля и значения в них. Многие поля будут в том или ином объеме использоваться этим набором сетевых данных.
Такие поля, как FT_Minutes, TF_Minutes, KPH и Meters могут использоваться для настройки атрибутов стоимости, которые сообщают сетевому набору данных стоимость пересечения каждого ребра. Эти поля обычно являются полями типа double или float.
Поля F_ZLEV и T_ZLEV используются для определения различных уровней улиц. Это поможет правильно установить такие сооружения, как надземные путепроводы и подземные переходы, где вы не можете повернуть прямо с одной улицы на другую из-за разницы в высоте. Эти поля мы рассмотрим позже, когда вы создадите набор сетевых данных и выберемте модель высот.
Поле FUNC_CLASS является целочисленным полем, которое назначает категорию для каждой дороги. Это поле будет использоваться для настройки атрибута иерархии в наборе сетевых данных. Снова, это поле и иерархия будут рассмотрены в будущих частях настоящего пособия.
Также есть поля PAVED, AR_PEDEST, AR_BUS, AR_AUTO, DIR_TRAVEL, TF_HeightLimit_Meters и FT_HeightLimit_Meters. Эти поля будут использоваться для настройки ограничений, которые не дадут перемещаться по определенным дорогам в определенных ситуациях. В большинстве из этих полей содержатся значения Y или N. В поле DIR_TRAVEL содержатся значения FT и TF, которые будут использоваться для настройки одностороннего ограничения. Поля FT_HeightLimit_Meters и TF_HeightLimit_Meters содержат в основном нулевые значения с небольшим количеством объектов, которым присвоены числовые значения. Эти два поля будут использоваться для настройки особого типа ограничения, которое называется параметризованное ограничение. Если будет задано ограничение по высоте, можно будет указать высоту транспортного средства (туристического автобуса) в настройках анализа, и набор сетевых данных может ограничить некоторые дороги, если этот автобус не может ехать по ним из-за его высоты.
- Изучите поля и значения в них. Многие поля будут в том или ином объеме использоваться этим набором сетевых данных.
- Закройте таблицу атрибутов, когда закончите изучать ее.
Создание набора сетевых данных
Создайте базовый набор сетевых данных, используя инструмент геообработки Создать набор сетевых данных.
- На вкладке Анализ в группе Геообработка щелкните Инструменты, чтобы открыть панель Геообработка.
- Щелкните на строке поиска в панели Геообработка и введите Создать набор сетевых данных.
- Выберите щелчком первый результат, чтобы открыть инструмент геообработки Создать набор сетевых данных.
- Для параметра Целевой набор классов объектов щелкните кнопку Обзор .
- Найдите SanDiego.gdb > Transportation, а затем нажмите OK.
Набор классов объектов Transportation будет указан как Целевой набор классов объектов.
- Введите NewSanDiego_ND в поле Имя набора сетевых данных.
- Для параметра Классы исходных объектов отметьте только Streets.
В набор сетевых данных будет включен только класс объектов Streets, но не Walking_Pathways или Signposts. Позже вы добавите в набор сетевых данных больше объектов и функциональных возможностей.
- Оставьте значение по умолчанию Elevation_Fields для параметра Модель высот.
- Щелкните Запустить внизу панели.
На карту будет добавлен новый набор сетевых данных под именем NewSanDiego_ND.
- Правой кнопкой мыши щёлкните на слое NewSanDiego_ND и выберите Удалить , чтобы удалить слой набора сетевых данных из карты.
Свойства набора сетевых данных нельзя редактировать, пока слой набора сетевых данных находится на карте. Вы должны удалить этот слой с карты для продолжения выполнения упражнения.
Добавление источников сети и установка правил связности
Первоначально этот набор сетевых данных был создан с использованием только класса объектов Streets в качестве сетевого источника. Теперь вы добавите в набор сетевых данных класс объектов Walking_Pathways и настроите соответствующую группу и правила связности по вертикали для обоих сетевых источников.
После создания набора сетевых данных, любое редактирование выполняется через страницы свойств набора сетевых данных.
- В панели Каталог щелкните правой кнопкой набор сетевых данных NewSanDiego_ND и выберите Свойства, чтобы открыть диалоговое окно Свойства набора сетевых данных.
- Щелкните Настройки источника > Источники.
На странице отображаются все классы пространственных объектов источников, которые в настоящее время участвуют в наборе сетевых данных.
- Нажмите кнопку Добавить/удалить источники в верхнем углу диалогового окна.
Там уже есть один источник ребер и один источник соединений. Источником соединений является класс объектов соединений по умолчанию, который создается и управляется набором сетевых данных.
Откроется диалоговое окно Добавить/удалить источники.
- В диалоговом окне Добавить/удалить источники поставьте отметку рядом с Walking_Pathways и щелкните OK.
Другие классы объектов, точечных и полилинейных, которые присутствуют в данном наборе классов объектов, также попадут в список в диалоговом окне Добавить/удалить источники. В наборе сетевых данных может быть много источников ребер и соединений, которые могут играть разные роли. На этот раз в отметите только Walking_Pathways.
Walking_Pathways появится в качестве источника сетевых данных.
- Перейдите на вкладку Вертикальная связность.
Примечание:
У разных источников не могут быть разные модели высот. Вы не можете использовать z-координаты для Walking_Pathways и поля высот для Streets. Все источники наборов сетевых данных должны использовать одинаковые модели высот. Для получения дополнительных сведений об использовании с набором сетевых данных z-координат или полей высот см. Связность.
. - Для Streets (узел От) и Walking_Pathways (узел От) измените это свойство в ниспадающем списке с Нет на F_ZLEV.
- Для Streets (узел До) и Walking_Pathways (узел До) измените это свойство в ниспадающем списке с Нет на F_ZLEV.
Понятия узел От и узел До получены из оцифрованного направления линейного объекта. Узел От находится в начале линии, а узел До находится в конце линии. Подобным же образом, направление вперед относится к передвижению в направлении оцифрованного направления линии, тогда как направление Против относится к передвижению в направлении, противоположном оцифрованному направлению линии.
- Щелкните OK в диалоговом окне Свойства набора сетевых данных, чтобы закрепить внесенные изменения и закрыть диалоговое окно.
Добавление стоимости
Анализ сети часто включает минимизацию стоимости (также известную как импеданс) во время расчета пути (известного как поиск оптимального маршрута). В этом разделе вы добавите атрибуты стоимости в набор сетевых данных. Атрибут стоимости используется для моделирования импеданса на наборе сетевых данных. Эти атрибуты распределены вдоль ребра, то есть пропорционально разделены вдоль длины ребра.
Более подробно о редактировании атрибутов стоимости
- В панели Каталог щелкните правой кнопкой набор сетевых данных NewSanDiego_ND и выберите Свойства, чтобы открыть диалоговое окно Свойства набора сетевых данных.
- Щелкните страницу Атрибуты передвижения, а затем вкладку Стоимость.
Инструмент Создать набор сетевых данных автоматически создаст один атрибут стоимости, Длина, который зависит от поля геометрии из источников сети.
- Щелкните атрибут Длина в разделе Расстояние этой стоимости.
- Нажмите кнопку Меню и выберите Переименовать.
- Введите Мили в поле для текста Имя в разделе Свойства и нажмите Enter, чтобы принять изменение имени.
- Измените значение Единиц на Мили.
Обратите внимание, что этим значением для строки Streets (вперед) является поле Shape. При передаче поля Shape анализатору передаются пространственная привязка, единицы измерения и геометрия для ребра. Использование поля Shape позволяет анализатору использовать пространственную привязку при расчете длины ребра. Напротив, поле Shape_Length передает только число и единицы измерения, что может привести к менее точной длине ребра, в зависимости от системы координат данных.
Когда оценка использует поле регулярных чисел для стоимости, если вы хотите изменить единицы измерения для оценки, вам нужно написать выражение в диалоговом окне Настройки оценки, чтобы преобразовать число, поступающее из поля, в новые единицы измерения. Например, чтобы преобразовать мили в футы, используйте следующее выражение:
!Miles_Field!*5280
При использовании полей Shape и Shape_Length в оценке, вам потребуется только изменить единицы стоимости, а оценка выполнит преобразование в фоновом режиме.
- В секции Оценки в группе Ребра в строке Walking_Pathways (вперед) измените Тип с Такой же, как по умолчанию на Скрипт поля.
- Дважды щелкните столбец Значение в Walking_Pathways (вперед), чтобы стала доступна кнопка Настройки скрипта поля, затем щелкните кнопку Настройки скрипта поля .
Появится диалоговое окно Настройки оценки.
- Введите !Shape! в поле Результат и нажмите OK.
Оценка сообщает сети, как рассчитать импеданс или стоимость для каждого ребра. Она может быть постоянной, основанной на поле, основанной на другом атрибуте, или рассчитана по скрипту. Каждая из них представляет собой отдельный тип оценки, отличающийся от других.
- Нажмите кнопку Меню и выберите Новый.
- Введите Минуты в качестве имени новой стоимости.
- В секции Оценки в группе Ребра в строке Streets (вперед) измените Тип с Такой же, как по умолчанию на Скрипт поля.
Появится знак X рядом со строками Streets (вперед) и Streets (назад), но после того, как вы выберете поле, которое будет служить основой для оценки, этот знак исчезнет.
- Дважды щелкните столбец Значение в Streets (вперед), чтобы стала доступна кнопка Настройки скрипта поля , затем щелкните кнопку Настройки скрипта поля.
У вас может быть одно поле, представляющее стоимость передвижения в любом направлении по ребру. Например, поле Minutes, которое было рассчитано путем деления длины линии на ограничение скорости, будет работать в обоих направлениях – и вперед, и назад. Если одно и то же поле можно использовать для обоих направлений движения, то вы можете использовать оценку скрипта поля для строки Streets (вперед). Затем, вместо того, чтобы задать оценке скрипта поля направление Streets (Против), измените Тип оценки на Так же, как вперед.
Для этих данных есть разные поля, которые представляют направления и вперед, и против, поэтому вы будете настраивать оба направления.
- Введите !FT_Minutes! в поле Результат и нажмите OK.
- Повторите шаги 12 и 13 в отношении строки Streets (Против).
- Введите !TF_Minutes! в поле Результат и нажмите OK.
- Повторите шаги с 12 по 16 в отношении строки Walking_Pathways (вперед) и строки Walking_Pathways (Против).
Примечание:
Существует много типов оценок, которые могут использоваться в стоимости, ограничениях и дескрипторах. Оценки типа Скрипт поля используются чаще других, потому что они используют для определения стоимости прохождения ребра отдельное поле или простое выражение на основе поля.
- В секции Оценки в группе Повороты измените значение Тип для строки <По умолчанию> на Категория поворотов.
- Дважды щелкните столбец Значение в <По умолчанию>, чтобы стала доступна кнопка Настройки категории поворотов , затем щелкните кнопку Настройки категории поворотов.
Появится диалоговое окно Оценка категорий поворотов.
- Измените секунды для Левого поворота и Разворота на обратный курс на 5.
Любой анализ, в котором в качестве атрибута стоимости используются минуты, добавит 5-секундную задержку для левого поворота или разворота на обратный курс.
- Щелкните OK, чтобы принять эти изменения и закрыть диалоговое окно Оценка категорий поворотов.
Примечание:
Появится предупреждение о стоимости минут, что оценка категорий поворотов не может использовать класс дороги для различения поворотов, поскольку отсутствует атрибут иерархии. Это предупреждение можно игнорировать. Вы займетесь им позже, при добавлении атрибута иерархии.
- Щелкните OK в диалоговом окне Свойства набора сетевых данных, чтобы закрепить внесенные изменения и закрыть диалоговое окно.
Теперь у набора сетевых данных есть стоимость длины и стоимость времени. Следующее, что вы сделаете, это добавите ограничения, такие как ограничение вождения и автомобиля, ходьбы и высоты транспортного средства.
Добавление ограничений и дескрипторов
В этом разделе вы добавите ограничения, моделирующие ходьбу, вождение автомобиля, вождение автобуса и наличие ограничения высоты транспортного средства. Вы также добавите дескриптор для высоты транспортного средства, который будет использоваться с ограничением высоты этого транспортного средства.
Во время анализа ограничения могут определять, запрещается ли полностью использовать дороги с определенными характеристиками, избегать их использование или же их использование даже предпочтительно. Например, ограничения могут использоваться для того, чтобы не давать пешеходам перемещаться по скоростным магистралям, или не разрешать большим грузовикам выезжать на дороги с ограничениями по высоте.
Дескрипторы – это атрибуты, которые описывают характеристики сети или ее элементов. В отличие от стоимости, дескрипторы распределены не пропорционально. Это значит, что значение не зависит от длины элемента ребра. Используйте дескрипторы, чтобы привести атрибуты для использования в иерархии и ограничения, которые не предназначены для распределения и использования в стоимости в наборе сетевых данных. В этом упражнении дескриптор будет использоваться для переноса высоты транспортного средства из полей TF_HeightLimit_Meters и FT_HeightLimit_Meters на класс объектов Streets для использования в ограничении высоты.
Более подробно об атрибутах ограничений
Более подробно об атрибутах дескриптора
Во первых, вы создадите базовые ограничения для моделирования вождения автомобиля, вождения автобуса и ходьбы.
- В панели Каталог щелкните правой кнопкой набор сетевых данных NewSanDiego_ND и выберите Свойства, чтобы открыть диалоговое окно Свойства набора сетевых данных.
- Щелкните страницу Атрибуты передвижения, а затем вкладку Ограничения.
- Щелкните кнопку Меню в правом верхнем углу вкладки Ограничения и выберите Новое.
- Введите Driving an Automobile (Вождение автомобиля) в качестве имени нового ограничения.
- Оставьте Тип использования как Запрещенный.
- В секции Оценки в группе Ребра в строке Streets (вперед) измените значение Тип с Такой же, как по умолчанию на Скрипт поля.
Появится знак X рядом со строками Streets (вперед) и Streets (назад), но после того, как вы выберете поле, которое будет служить основой для оценки, этот знак исчезнет.
- Дважды щелкните в столбце Запрещено в строке Streets (вперед), чтобы стала доступна кнопка Настройки скрипта поля , затем щелкните кнопку Настройки скрипта поля.
Появится диалоговое окно Настройки оценки.
- Введите !AR_AUTO!=="N" в поле Результат и нажмите OK.
Это поле указывает, может ли легковой автомобиль легально перемещаться по этой дороге. Значение Y указывает, что автомобили могут ездить по этой дороге, а значение N говорит о том, что автомобили не могут ездить по этой дороге.
Ограничения всегда будут типа Булевы. Когда вы определяете скрипт поля, скрипт элемента или функцию для ограничения, вы указываете этому ограничению, какие значения, возвращаемые выражением, скриптом или функцией будут считаться истинными (True), оказывающими влияние на это ребро. Любое другое значение будет считаться как False, никак не влияя на это ребро. В нашем случае, когда ограничение влияет на ребро, оно будет препятствовать передвижению по нему.
- Оставьте для Streets (Against) значение Так же, как вперед.
- Для Walking_Pathways (вперед) измените Тип на Constant, а Запрещено на True.
- Оставьте для Walking_Pathways (назад) значение Так же, как вперед.
Walking_Pathways никогда не должен позволять движение транспортных средств по пешеходным дорожкам, поэтому вы можете установить постоянное значение, которое всегда будет ограничивать движение по ним, если данное ограничение будет активировано.
- Добавьте новое ограничение, запрещающее движение автобусов по определенным дорогам, для чего повторите шаги с 4 по 11, назовите это ограничение Вождение автобуса и используйте поле AR_BUS.
- Добавьте новое ограничение с именем Ходьба.
- В Streets (вперед) измените Тип оценки на Скрипт поля.
- Дважды щелкните в столбце Запрещено в строке Streets (вперед), чтобы стала доступна кнопка Настройки скрипта поля, затем щелкните кнопку Настройки скрипта поля .
- В диалоговом окне настроек оценки в поле Результаты введите !AR_PEDEST! == "N".
Так на дороги между штатами или другие дороги с интенсивным движением, которые запрещены для пешеходов, будет наложено ограничение, если активировано ограничение Пешком.
- Оставьте настройки оценки по умолчанию для ребра Walking_Pathways.
- Создайте ограничение с именем Избегать дорог без покрытия.
- Измените значение Тип использования с Запрещено на Избегать.
- В Streets (вперед) измените Тип оценки на Скрипт поля.
- В настройках оценки в поле Результат введите !PAVED! == "N".
Таким образом, любое ребро, имеющее значение N в поле PAVED, будет по возможности избегаться.
- Добавьте новое ограничение с именем Одностороннее движение.
- В Streets (вперед) измените Тип оценки на Скрипт поля.
- Дважды щелкните в столбце Запрещено в Streets (вперед), чтобы стала доступна кнопка Настройки скрипта поля, затем щелкните кнопку Настройки скрипта поля .
Движение по улицам с односторонним движением обычно ограничено в одном направлении. В этом случае вам нужны разные значения для разных направлений движения вдоль ребра. Вы создадите похожие, но немного отличающиеся выражения полей для каждого направления движения по Streets (улицам).
- Введите SetOneway(!DIR_TRAVEL!) в поле Результат и следующее выражение в поле Блок кода:
def SetOneway(value): if value and value.upper() in ('N', 'TF', 'T'): return True return False
Это выражение Python будет искать значения N, TF или T, и ограничит это ребро, если у него есть одно из этих значений. Оно записывается как выражение, которое не чувствительно к регистру.
Значения TF и T, как правило, обозначают, соответственно, Куда-Откуда и Куда. Эти значения указывают, какое направление движения на ребре ограничено. В соответствии с этим выражением движение в направлении Куда - Откуда, или против (в обратном направлении) запрещено, а движение Откуда - Куда, или вперед, разрешено. N будет использоваться в выражениях как для направлений вдоль, так и против. Любая строка, имеющая значение N, будет запрещена к использованию в маршруте.
- Щелкните OK в диалоговом окне Настройки оценки, чтобы подтвердить эти изменения.
- В Streets (Против) измените Тип оценки на Скрипт поля.
- Откройте диалоговое окно Настройки оценки на строке Streets (Против).
- Введите SetOneway(!DIR_TRAVEL!) в поле Результат и следующее выражение в поле Блок кода:
def SetOneway(value): restricted = False if value and value.upper() in ("N', 'FT', 'F'): restricted = True return restricted
Это выражение совпадает с последним, за исключением того, что вместо TF и T в нем есть FT и F. Это выражение будет ограничивать противоположный набор улиц на другое выражение, а это то, что необходимо для другой половины одностороннего ограничения.
- Щелкните OK в диалоговом окне Настройки оценки, чтобы подтвердить эти изменения.
- Щелкните вкладку Дескрипторы.
- Нажмите кнопку Меню и выберите Новый.
- Введите название – Ограничение высоты (футы) (Height Limit (Feet).
- В Streets (Вперед) измените Тип оценки на Скрипт поля.
- Откройте диалоговое окно Настройки оценки на строке Streets (Вперед).
- Введите MetersToFeet(!FT_HeightLimit_Meters!) в поле Результат и следующее выражение в поле Блок кода:
def MetersToFeet(value): if value is None: return value return value / 0.3048
Это выражение принимает значение из поля FT_HeightLimit_Meters и преобразует его из метров в футы.
- В Streets (Против) измените Тип оценки на Скрипт поля.
- Откройте диалоговое окно Настройки оценки на строке Streets (Против).
- Введите MetersToFeet(!TF_HeightLimit_Meters!) в поле Результат и следующее выражение в поле Блок кода:
def MetersToFeet(value): if value is None: return value return value / 0.3048
- Щелкните OK, чтобы подтвердить это выражение.
- Щелкните вкладку Ограничения вверху.
- Добавьте новый атрибут ограничения с именем Ограничение высоты.
- При необходимости разверните раздел Параметры.
- В разделе Параметры щелкните на сетке, чтобы добавить новую строку.
- Измените имя нового параметра на Высота транспортного средства (футы).
Иногда сетевой анализ находится в зависимости от условий переменной. В таких случаях можно использовать параметр. Параметр работает как переменная-заполнитель. Он использует значение по умолчанию, кроме случаев, когда оно будет заменено на какое-либо другое значение. Этот параметр будет отображаться в настройках Режима передвижения в слое анализа, где вы можете изменить высоту автомобиля для этого анализа.
Добавление параметров в ограничение, стоимость или дескриптор делает соответствующие ограничение, стоимость или дескриптор параметризованным атрибутом. Параметризованные атрибуты могут моделировать много разных вещей, включая ограничения по высоте, весу, числу осей транспортного средства или транспортные затраты.
- Оставьте для столбца Тип значение double и Значение по умолчанию, равное 0.
Примечание:
Double является подходящим типом для этого параметра, потому что высота транспортного средства может быть как 4, так и 4.5 метра. Параметр Значение по умолчанию будет использоваться в качестве заполнителя для высоты транспортного средства, пока вы не измените его в свойствах слоя анализа.
- Измените значение Тип для строки Streets (вперед) на Функция, затем откройте диалоговое окно настроек оценки.
Для оценки Функция вы создадите простую математическую функцию. Для атрибутов числового типа, таких как стоимость или дескриптор, допустимыми операциями являются умножение, деление, вычитание и сложение. Булевы атрибуты, такие как ограничение, используют операнды сравнения, например, больше чем или меньше чем.
- Установите для Имя атрибута значение Ограничение по высоте (футы), что представляет собой ранее созданный дескриптор.
- Установите Имя параметра на Высота автомобиля (футы), что является параметром, который вы только что добавили в это ограничение.
- Для оператора выберите меньше чем или равно (<=).
Выражение примет вид Height Limit (Feet) <= Vehicle Height (Feet).
Если Height Limit (Feet) на ребре меньше или равно входному Vehicle Height (Feet) в слое анализа, то такое ребро будет иметь ограничения.
- Щелкните OK, чтобы подтвердить эту функцию.
- Оставьте для строки Walking_Pathways значение по умолчанию.
На пешеходных дорожках ограничений по высоте нет, и транспортные средства на них не допускаются в любом случае, так что вам не нужно устанавливать это ограничение для пешеходных дорожек.
- Щелкните OK в диалоговом окне Свойства набора сетевых данных, чтобы закрепить внесенные изменения и закрыть диалоговое окно.
Добавить атрибут иерархии
Иерархия – это порядок или ранг, который назначается элементам сети. Как правило, имеется 3-5 классов дорог, хотя можно использовать и больше. Трехуровневая иерархия представлена следующими классами: главные, второстепенные и местные дороги. Примерами местных дорог являются небольшие жилые улицы. К второстепенным дорогам можно отнести основные дороги через город или государственный маршрут, а к главным - автомагистрали между штатами.
Более подробно об атрибутах иерархии
- В панели Каталог щелкните правой кнопкой набор сетевых данных NewSanDiego_ND и выберите Свойства, чтобы открыть диалоговое окно Свойства набора сетевых данных.
- Щелкните страницу Атрибуты передвижения, а затем вкладку Иерархия.
- Отметьте поле Добавить атрибут иерархии.
Появятся настройки иерархии для Диапазоны и Оценки.
- Установите верхнюю границу диапазона для Главные дороги 2.
- Установите верхнюю границу диапазона для Второстепенные дороги 4.
Примечание:
Это диапазоны для этих данных, но классификация ваших данных может быть другой.
- Для строки Streets (вперед) измените тип оценки на Скрипт поля, затем откройте диалоговое окно Настройки оценки.
- В окне Результат введите следующее выражение:
int(!FUNC_CLASS!)
Для атрибута иерархии надо ввести целочисленное значение больше 0. Поскольку поле FUNC_CLASS является текстовым, необходимо использовать метод конвертации этого значения поля в целое число.
- Щелкните OK, чтобы подтвердить это выражение.
- Повторите шаги с 6 по 8 в отношении строки Walking_Pathways (Вперед).
- Щелкните OK в диалоговом окне Свойства набора сетевых данных, чтобы закрепить внесенные изменения и закрыть диалоговое окно.
Добавление режимов передвижения
Режим передвижения по сути является шаблоном, состоящим из длинного списка настроек перемещения, которые задают физические характеристики транспортного средства или пешехода. Эти характеристики учитываются при выполнении сетевого анализа, чтобы определить, как человек или автомобиль перемещаются и где они могут это делать. Готовые режимы передвижения позволяют быстро применить к сетевому анализу предварительно заданные, готовые настройки, не прибегая к ручному выбору каждой.
Режимы движения могут моделировать общие режимы, такие как вождение автомобиля или ходьба, или моделировать специальные режимы, такие как вождение трактора с прицепом, который не может превышать ограничение скорости, или вождение машины скорой помощи, которая может пренебрегать определенными правилами дорожного движения.
Режимы передвижения хранятся в наборе сетевых данных и при необходимости могут быть изменены в слое анализа.
Вы создадите пять режимов передвижения для трех способов перемещения: вождение легкового автомобиля, вождение туристического автобуса и ходьба. Для вождения автомобиля и вождения автобуса вы создадите режимы передвижения, в основе которых расстояние (дистанционный) и время (временной). Для ходьбы вы создадите только дистанционный режим передвижения.
- В панели Каталог щелкните правой кнопкой набор сетевых данных NewSanDiego_ND и выберите Свойства, чтобы открыть диалоговое окно Свойства набора сетевых данных.
- Щелкните страницу Атрибуты передвижения, а затем вкладку Режим передвижения.
- Щелкните кнопку Меню в правом верхнем углу диалогового окна и выберите Новое.
- Назовите этот режим передвижения Automobile Time.
- Для Описания введите что-либо, чтобы показать, что этот режим передвижения представляет временной способ передвижения за рулем автомобиля.
- Оставьте значение Тип как На машине.
- В разделе Стоимость убедитесь, что Импеданс установлен на Минуты.
- Стоимость расстояния должна быть Мили.
- В разделе Ограничения отметьте опции Избегать грунтовых дорог, Вождение автомобиля и Одностороннее движение, как показано на следующем изображении:
При установке режимов передвижения отметьте только один метод передвижения (Вождение автомобиля, Вождение автобуса или Ходьба). Эти ограничения указывают, где использование каждого режима передвижения разрешено правилами. Если отметить больше одного, ограничения могут быть установлены неправильно.
Атрибут Ограничение по высоте не отмечается, потому что легковые автомобили, как правило, не испытывают проблем с ограничением по высоте на дорогах.
- В секции Развороты измените этот параметр на Тупики и пересечения.
- Разверните раздел Дополнительно, если он свернут.
- В разделе Дополнительно установите отметку напротив опции Использовать иерархию.
Использование иерархии в целом уменьшает время, необходимое для выполнения анализа в большой сети. Он также моделирует водительские предпочтения людей, потому что он, как и люди, предпочитает более широкие дороги, такие как автомагистрали между штатами и автомагистрали, которые более предсказуемы и проще, чем местные дороги.
- Щелкните кнопку Меню и выберете Копировать.
- Измените имя нового режима передвижения на Automobile Distance.
- Измените значение Импеданс на Мили.
- В разделе Дополнительно снимите отметку напротив опции Использовать иерархию.
Использовать иерархию имеет смысл только с временными атрибутами стоимости. Если импеданс не имеет временного фактора, использование иерархии может отображать не реалистичные результаты.
- Создайте режим передвижения с именем Tour Bus Time.
- Измените значение Импеданс на Минуты.
- В разделе Ограничения щелкните Избегать дорог без покрытия.
- Измените значение для параметра Использование ограничения на Избегать (по высоте).
Туристические автобусы не очень хорошо справляются с грунтовыми дорогами. Задание параметра Использование ограничения для этого режима передвижения на Избегать (по высоте) гарантирует, что дороги без покрытия будут использоваться только в случае необходимости.
- Убедитесь в наличии отметки в поле Избегать дорог без покрытия.
- Щелкните Вождение автобуса
- Проверьте, что опция Вождение автобуса включена.
- Щелкните Ограничение по высоте.
- Измените значение параметра Высота транспортного средства (футы) на 11.
Какое бы значение здесь ни указывалось, оно будет значением по умолчанию, используемым для оценки высоты автомобиля по отношению к пределу высоты на дороге. Одиннадцать футов - хорошее значение по умолчанию для высоты транспортного средства, потому что большинство одноуровневых туристических автобусов в среднем имеют высоту от 10 до 11 футов.
- Убедитесь, что отметка Ограничение высоты установлена, а для Использование ограничений задано Запрещено.
- Убедитесь, что стоит отметка Одностороннее движение, а для Использование ограничений задано Запрещено.
- В секции Развороты измените этот параметр на Нет.
- В разделе Дополнительно установите отметку напротив опции Использовать иерархию.
- Скопируйте этот режим передвижения и переименуйте новый Tour Bus Distance.
- Оставьте все свойства без изменений, измените только Импеданс на Мили и снимите отметку у поля Использовать иерархию.
- Добавьте новый режим передвижения, который называется Расстояние пешком.
- Измените Тип этого режима передвижения на Пешком.
- Измените значение Импеданс на Мили.
- Отметьте только ограничение Ходьба.
Пешеходам не нужно беспокоиться о дорогах с односторонним движением, ограничениях по высоте и о грунтовых дорогах, поэтому эти ограничения не нужно включать.
- Оставьте правила Разворота как Все.
- Оставьте опцию Использовать иерархию не отмеченной.
Ограничение Ходьба предотвращает пешеходное движение по многим главным дорогам, таким как автомагистрали между штатами и автомагистрали, которые будут определены иерархией.
- Щелкните OK в диалоговом окне Свойства набора сетевых данных, чтобы закрепить внесенные изменения и закрыть диалоговое окно.
Обновление атрибута стоимости
Теперь, когда в наборе сетевых данных есть атрибут иерархии, оценка категории поворотов будет иметь больше доступных категорий для определения задержек поворотов. Для обновления оценки категорий поворотов новыми временными интервалами задержек вы вернетесь к стоимости Минуты.
Более подробно об оценке категорий поворотов
- В панели Каталог щелкните правой кнопкой набор сетевых данных NewSanDiego_ND и выберите Свойства, чтобы открыть диалоговое окно Свойства набора сетевых данных.
- Щелкните страницу Атрибуты передвижения, а затем вкладку Стоимость.
- Выберите стоимость Минуты.
- Прокрутите вниз стоимость Минуты до секции Повороты.
- Дважды щелкните столбец Значение в <По умолчанию>, чтобы стала доступна кнопка Настройки категории поворотов .
Обратите внимание, что в значении теперь указывается, что существует 20 категорий поворотов, а не 5, как было показано, когда вы настраивали оценка категорий поворотов.
- Нажмите кнопку Настройки категорий поворотов, чтобы открыть диалоговое окно Оценка категорий поворотов.
Раздел Диапазон азимутов поворота остается без изменений, но теперь есть раздел, который называется Классы дорог. Этот раздел позволяет вам задать, при каких значениях иерархии оценка категорий поворотов будет считать дороги главными, второстепенными или местными.
По умолчанию, он будет использовать диапазоны, которые заданы в атрибуте иерархии. Оставьте диапазоны по умолчанию, если у вас нет веских причин для изменения этих диапазонов.
В разделе Время перемещения категории поворотов теперь, когда дороги могут быть классифицированы в соответствии с иерархией, отображается больше категорий поворотов.
- В группе Левый поворот измените значение Секунды для Местные (Local): Местные :Любые (Any) от 5 до 7.
Столбцы указывают класс дороги, на которой поворот начинается, класс дороги, на которой он заканчивается, и, если какая-либо дорога пересекается (например, на обычном перекрестке), каков класс этой (пересекаемой) дороги. Например, если вам нужно пересечь главную улицу, чтобы продолжить движение по локальному переулку, вам придется подождать несколько секунд, пока не очистится трафик. По умолчанию, для такого маневра отводится задержка в 15 секунд. Но если вам нужно только пересечь другую небольшую дорогу, чтобы продолжить движение по этому переулку, вам не нужно будет ждать так долго. У этого маневра задержка 2 секунды.
- Щелкните OK, чтобы принять эти изменения и закрыть диалоговое окно Оценка категорий поворотов.
- Щелкните OK в диалоговом окне Свойства набора сетевых данных, чтобы закрепить внесенные изменения и закрыть диалоговое окно.
Настройка путевого листа
Путевой лист – это пошаговые инструкции для движения по маршруту. Минимальные требования набора сетевых данных для поддержки путевых листов:
- Атрибут длины с единицами измерения длины.
- Минимум один источник ребра
- Минимум одно текстовое поле у источника ребра
Базовый путевой лист можно настроить, с минимальными требованиями, но некоторые функции необходимо настраивать специально.
Подробнее о настройке путевого листа
- В панели Каталог щелкните правой кнопкой набор сетевых данных NewSanDiego_ND и выберите Свойства, чтобы открыть диалоговое окно Свойства набора сетевых данных.
- Щёлкните Путевой лист.
- Установите отметку напротив Поддерживать путевой лист.
Страница Путевой лист и вкладка Сопоставление полей будут помечены как имеющие недопустимое состояние (подчеркивание красной пунктирной линией). Пока можно игнорировать это сообщение. Вы устраните эти проблемы, когда перейдете на вкладку Сопоставление полей.
- Перейдите на вкладку Общие.
- Оставьте настройки по умолчанию для раздела Сопоставление атрибутов.
Параметры в разделе Сопоставление атрибутов будут атрибутами в наборе сетевых данных.
Для детализации путевого листа используются параметры Категория объекта, Класс маневра и Сторона движения. Подробнее об этих свойствах.
- В разделе Вспомогательные источники данных установите следующие параметры:
- Задайте для Объекты дорожных знаков значение Signposts.
- Задайте для Таблица соединения дорожных знаков значение Signposts_Streets:
- Задайте для Таблицы сокращений значение Abbreviations
Свойствами в разделе Вспомогательные источники данных будут другие классы пространственных объектов в том же наборе классов объектов, что и в наборе сетевых данных или таблицах базы геоданных.
Атрибуты Объекты дорожных указателей и Таблица соединения указателей обеспечивают информацию о направлениях движения, которая содержится на дорожных указателях, такую как номера съездов, номера соединяющихся дорог и основные пункты назначения, до которых можно доехать по этим дорогам. Эти свойства являются парными, и если вы хотите, чтобы в путевом листе использовалась информация дорожных указателей, они должны быть заданы для обоих.
Как и атрибуты Категория объекта, Класс маневра и Сторона движения, таблица Развилки дорог используется для уточнения путевого листа на поворотах определенного типа.
Описание маршрута часто содержит аббревиатуры общеупотребительных слов. Однако при конвертации описания в голосовые подсказки аббревиатуры должны расшифровываться. В Таблице сокращений хранятся правила расшифровки аббревиатур.
- Оставьте настройки по умолчанию для Локализованные имена.
Источники наборов сетевых данных могут предоставлять названия улиц и текст указателей на нескольких языках. Например, в некоторых европейских странах используется несколько официальных языков, и в некоторых районах названия улиц могут быть на двух или более языках. Этот параметр определяет, должен ли путевой лист сообщать названия улиц на всех доступных языках или только на языке путевого листа.
Некоторые требования к данным необходимо выполнить перед выбором Предпочтительного языка вывода путевого листа.
- Щелкните вкладку Сопоставление полей.
Для каждого источника ребра в сети можно настроить поля названий улиц. Эти названия используются в путевых листах.
- Для Альтернативных названий увеличьте число для источника Streets (Edge).
У одного источника может быть несколько названий. Например, две автомагистрали могут проходить через один и тот же участок дороги протяженностью несколько миль. Ребра, представляющие этот участок дороги, будут иметь два названия. Чтобы эта ситуация нашла свое отражение в путевом листе, вы можете использовать альтернативные имена в источниках ребер.
- Для Альтернативных названий уменьшите число для источника Streets (Edge).
В данных настоящего упражнения альтернативные имена не используются, поэтому настраивать их не нужно.
- Заполните свойства Основного имени для источников Streets (ребро) и Walking_Pathways (ребро), как показано ниже:
Сопоставление полей для источника ребер в Путевом листе
Имя Поле источника Префикс направления
ST_NM_PREF
Тип префикса
ST_TYP_BEF
Базовое имя
ST_NM_BASE
Тип суффикса
ST_TYP_AFT
Суффикс направления
ST_NM_SUFF
Направление автострады
DIRONSIGN
Полное имя
ST_NAME
Язык
Язык
Имя класса
NameClass
Примечание:
Обязательным является только параметр Базовое имя. Все другие поля являются дополнительными.
Названия улиц в путевом листе поддерживаются на нескольких языках. В поле Язык показано, на каком языке будут названия. Основное имя может быть на одном языке, а альтернативное имя – на другом.
- В разделе Дополнительные свойства для Streets (Edge) и Walking_Pathways (Edge) задайте Код страны/региона на CountryRegionCode, а для остальных свойств оставьте значение по умолчанию.
В поле Административная область указано, в какой административной области находится ребро. О любом изменении административного района сообщается в путевом листе, например, “Вы въезжаете в Калифорнию” при пересечении границы штата.
Функции Уровень (От), Уровень (До), Название этажа (От) и Название этажа (До) аналогичны функции Административная область, но используются при создании маршрутов в помещении. Они сообщают об изменении номера уровня и названия этажа соответственно.
Параметр Код страны/региона используется вместе с Таблицей сокращений. Он содержит код ISO 3166-2, используемый для определения способа расшифровки аббревиатуры в голосовых указаниях. В отличие от значений поля Административная область, значения из параметра Код страны/региона не отображаются в маршруте.
- Перейдите на вкладку Ориентиры.
Есть две группы: Пространственные ориентиры и Базовые ориентиры. Пространственные ориентиры – это классы пространственных объектов, а базовые ориентиры – это таблицы. В основе пространственных ориентиров лежит пространственный поиск в момент самого поиска, чтобы определить, когда следует использовать этот ориентир. Расположение базовых ориентиров в сети встроено в строку, поэтому для использования ориентира в путевом листе требуется только поиск по таблице. Пространственный поиск медленнее, чем обычный поиск в таблице, поэтому базовые ориентиры работают быстрее, чем пространственные.
Поскольку пространственные ориентиры используют простой пространственный поиск для определения их местоположения, их можно быстро настроить. Вам понадобится класс точечных объектов хотя бы с одним текстовым полем, которое будет служить меткой для ориентиров. Другие поля могут использоваться для определения других характеристик, таких как уровень, часто используемый при создании маршрутов внутри помещений, или настраиваемый допуск поиска для каждого точечного объекта.
Для настройки базовых ориентиров требуется больше времени и усилий. Им требуется определенная схема, и они должны вручную настраиваться с местоположением в сети и другими обязательными полями.
Вы настроите оба типа ориентиров – и пространственный, и базовый.
- Щелкните кнопку Добавить/Удалить пространственные ориентиры.
Появится диалоговое окно Добавить/Удалить пространственные ориентиры, в котором будет две группы. Подтверждающие ориентиры позволяют уведомлять водителя о том, что он находится на правильном маршруте; например, “Проезжайте мимо Истлейк-парка слева”. Указатели поворота помогают водителю маневрировать на перекрестке; например, “Поверните налево перед высоким белым цилиндрическим зданием на 1-й авеню”.
Классы объектов ориентиров должны быть в том же наборе классов объектов, что и набор сетевых данных. Один класс объектов ориентиров может быть зарегистрирован и как ориентир подтверждения, и ориентир указания поворота.
- Раскройте вид дерева для MajorAttractions в группе Указание подтверждения.
Классы объектов ориентиров зарегистрирован либо как ориентиры указания подтверждения, либо как ориентиры указания поворотов для каждого источника ребер. В большинстве случаев вы будете регистрировать класс объектов ориентиров для источников ребер либо как ориентиры указания подтверждения, либо как ориентиры указания поворотов, либо как оба этих типа.
- Установите отметку напротив класса объектов MajorAttractions в обоих разделах Подтверждение и Указание поворота.
В классе объектов MajorAttractions представлены основные достопримечательности города Сан-Диего. Эти достопримечательности могут быть рядом с объектами Streets или Walking_Pathways. Они также могут использоваться для указания подтверждения или поворота. Вы зарегистрируете класс объектов MajorAttractions для всех источников ребер для обеих групп ориентиров.
Обратите внимание, что когда вы ставите отметку в поле самого верхнего уровня, во всех полях нижних уровней также устанавливаются отметки.
- Нажмите ОК, чтобы принять регистрацию пространственных ориентиров.
Сетка под заголовком Пространственные ориентиры будет заполнена регистрационными данными этого ориентира.
- Щелкните кнопку Сопоставление полей.
Появится диалоговое окно Сопоставление полей пространственных ориентиров.
По умолчанию, поле Name было выбрано для Поля надписей для этих ориентиров, а Поле уровня оставлено со значением <Нет>.
- Раскройте ниспадающие списки Поле надписей и Поле уровня и обратите внимание на выбранные значения.
Ниспадающий список Поле надписей содержит все текстовые поля в классе объектов MajorAttractions; в ниспадающем списке Поле уровней отображены все целочисленные поля.
Внесение изменений в это диалоговое окно установит сопоставление полей для всех типов указания и источников ребер.
- На этот раз, не изменяйте никаких полей и щелкните Отмена, чтобы закрыть диалоговое окно Сопоставление полей пространственных ориентиров.
- Щелкните кнопку Добавить/Удалить базовые ориентиры
Откроется диалоговое окно Добавить/удалить базовые ориентиры.
- Поставьте отметку рядом с Reference_Landmarks.
В этом диалоговом окне в качестве кандидатов будут отображаться только таблицы с необходимой схемой для базовых ориентиров.
- Нажмите ОК, чтобы подтвердить регистрацию базовых ориентиров.
Заполненная вкладка Ориентиры должна выглядеть примерно так:
- Щелкните OK в диалоговом окне Свойства набора сетевых данных, чтобы закрепить внесенные изменения и закрыть диалоговое окно.
Построение набора сетевых данных
Теперь, когда вы внесли все изменения в настройки набора сетевых данных, вам нужно построить сеть. Построение сети создает и обновляет ребра сети, а также обеспечивает получение самой актуальной информации от исходных объектов.
Более подробно о том, когда выполняется создание набора сетевых данных
- На ленте Анализ в группе Геообработка щелкните Инструменты, чтобы открыть панель Геообработка.
- Щелкните на строке поиска в панели Геообработка и введите Построить сеть.
- Выберите щелчком первый результат, чтобы открыть инструмент Построить сеть.
- Для указания параметра Входной набор сетевых данных щелкните кнопку Обзор , выберите набор сетевых данных NewSandiego_ND и нажмите OK.
- Щелкните кнопку Запустить , расположенную внизу.
- В качестве альтернативы, добавьте набор сетевых данных на карту и на панели Содержание щелкните правой кнопкой мыши набор сетевых данных и выберите Построить в появившемся контекстном меню.
Инструмент геообработки Построить сеть запустится для построения сети.
Исследование набора сетевых данных
После задания свойств набора сетевых данных и его построения вы можете проверить элементы и атрибуты с помощью инструмента Исследовать сеть.
- Перетащите вновь созданный набора сетевых данных NewSanDiego_ND на карту и убедитесь в том, что слой набора сетевых данных выбран на панели Содержание.
- Щелкните на ленте Данные в группе Слой набора сетевых данных. Должен быть доступен инструмент Изучить сеть.
- Щелкните инструмент, чтобы его активировать, и нарисуйте на карте прямоугольник, чтобы выбрать элементы набора сетевых данных.
Появится окно Исследовать сеть. В этом окне отобразятся элементы сети, идентифицированные на карте, и связанные с ними атрибуты.
Подробнее об инструменте Исследовать сеть.