Трассировать геометрическую сеть (Управление данными)
Краткая информация
Рассчитывает указанную задачу слоя сетевого анализа на основе флагов, барьеров и заданных свойств веса.
Использование
-
Этот инструмент нельзя использовать для наборов сетевых данных (сети, используемые в дополнительном модуле ArcGIS Network Analyst).
-
Данный инструмент выполняет пространственный поиск с помощью входных флагов и барьеров в целях определения местоположения совпадающих объектов. Эта функция (при использовании флагов) служит для определения объектов, из которых должна инициироваться трассировка. При использовании барьеров функция определяет объекты, которые должны блокировать трассировку. Таким образом, необходимо точно определить местоположение входных флагов и барьеров. В ModelBuilder, если вы не уверены в правильности расположения флагов и барьеров, можно использовать инструмент Замкнуть (Snap), чтобы определить, с какими объектами должны совпадать флаги и барьеры.
-
В результате применения этого инструмента создается составной слой, который содержит один слой для каждого класса пространственных объектов, включенных во входную геометрическую сеть. Все объекты, возвращаемые в результате трассировки, выделяются в соответствующем слое. Если на карте присутствуют входные слои, выходной составной слой может содержать слои без выделения, то есть пустые слои, в которых трассировка не выявила каких-либо объектов. В ModelBuilder вы можете использовать инструмент Выбрать данные (Select Data) для извлечения конкретных слоев из составного слоя, также вы можете использовать инструмент Создать векторный слой (Make_Feature_Layer) для создания векторного слоя на основе результатов, полученных при использовании инструмента Выбрать данные (Select Data). Используйте инструмент Посчитать строки (Get_Count), чтобы определить, имеются ли в составном слое пустые слои. Эту функцию рекомендуется использовать при публикации модели на ArcGIS for Server, поскольку составные слои не могут быть заданы в качестве типа выходного параметра задачи геообработки. Т. к. они не могут быть представлены непосредственно в качестве результата, необходимо использовать инструмент Выбрать данные (Select Data), чтобы создать отдельный (не составной) слой для вывода в качестве результата.
-
Этот инструмент недоступен для запуска во время редактирования геометрической сети в персональной базе геоданных.
-
В отличие от других наборов данных (например, топология или наборы сетевых данных), геометрические сети не содержат связанного слоя. Таким образом, при использовании этого инструмента в ArcMap геометрическую сеть необходимо выбрать на диске. Выбор геометрической сети в качестве входных данных в раскрывающемся списке слоя невозможен.
Синтаксис
Параметр | Объяснение | Тип данных |
in_geometric_network |
Геометрическая сеть, для которой выполняется трассировка. | Geometric Network |
out_network_layer |
Имя составного слоя, в котором будут храниться результаты трассировки в виде выделенного набора. | Group Layer |
in_flags |
Класс точечных объектов, представляющий набор флагов, которые выступают в качестве начальных точек для операции трассировки. Например, если вы хотите провести трассировку вверх по течению, вы используете флаг, чтобы указать точку, с которой нужно начать трассировку. Флаги можно поместить в любой точке вдоль ребер или соединений, однако, при наличии в какой-либо точке одновременно соединений и ребер, соединения будут обрабатываться в первую очередь. | Feature Layer |
in_trace_task_type |
Задача трассировки, которая будет выполнена по определенной геометрической сети.
| String |
in_barriers (дополнительно) |
Класс точечных объектов, представляющий набор барьеров, определяющих места в сети, после которых трассировка произвести невозможно. Если вы хотите трассировать только часть вашей сети, вы можете изолировать ее с помощью барьеров. Барьеры можно поместить в любой точке вдоль ребер или соединений, однако, при наличии в какой-либо точке одновременно соединений и ребер, соединения будут обрабатываться в первую очередь. Функция будет обрабатываться как неактивная и не будет учитываться при трассировке, если только для параметра результатов ограничения объектов, блокирующих трассировку, не присвоено значение TRACE_ENDS для целенаправленного поиска объектов, блокирующих трассировку. | Feature Layer |
in_junction_weight (дополнительно) |
Вес соединения, используемый как стоимость перемещения через любое соединение. Вес должен быть заранее определен для данной геометрической сети. Этот параметр отключен или игнорируется в том случае, когда задан один или несколько не зависящих от стоимости типов задач трассировки:
| String |
in_edge_along_digitized_weight (дополнительно) |
Вес ребра, используемый как стоимость перемещения через ребро по направлению оцифровки такого ребра. Вес должен быть заранее определен для данной геометрической сети. Этот параметр отключен или игнорируется в том случае, когда задан один или несколько не зависящих от стоимости типов задач трассировки:
| String |
in_edge_against_digitized_weight (дополнительно) |
Вес ребра, используемый как стоимость перемещения через ребро против направления оцифровки такого ребра. Вес должен быть заранее определен для данной геометрической сети. Этот параметр отключен или игнорируется в том случае, когда задан один или несколько не зависящих от стоимости типов задач трассировки:
| String |
in_disable_from_trace [in_disable_from_trace,...] (дополнительно) |
Список классов пространственных объектов, участие которых в трассировке заблокировано. После настройки отключения класса пространственных объектов операция трассировки обрабатывает все объекты в таком классе пространственных объектов как отключенные или содержащие барьер. Этот параметр рекомендуется использовать для исключения всего класса пространственных объектов из рассмотрения в процессе трассировки. Например, если отключить слой переключателей в электросети, установить для параметра «Ограничить результаты объектами, останавливающими трассировку» значение TRACE_ENDS и выполнить трассировку от заданной точки, вы можете найти переключатели, которые необходимо исключить, чтобы изолировать эту точку от сети, это будут объекты, в которых операция трассировки была остановлена. | String |
in_trace_ends (дополнительно) | Указывает, содержит ли трассировка все объекты или только объекты, блокирующие трассировку. Этот параметр рекомендуется использовать в том случае, когда требуется определить объекты, блокирующие трассировку. Чтобы объекты возвращались из операции трассировки при помощи этого параметра, они должны быть включены в одну из следующих категорий:
| Boolean |
in_trace_indeterminate_flow (дополнительно) | Указывает, содержит ли трассировка все объекты или только объекты, блокирующие трассировку.
Учитывается только при задании хотя бы одного типа задачи трассировки, зависимой от потока:
| Boolean |
in_junction_weight_filter (дополнительно) |
Вес, который будет использоваться для создания весовой фильтр соединения, который применяется для фильтрации объектов соединения при трассировке. | String |
in_junction_weight_range (дополнительно) |
Задает допустимые или недопустимые диапазоны значений веса для сетевых объектов, подлежащих трассировке. Отключен, если задан не зависящий от стоимости тип задач трассировки. для создания весового фильтра необходимо указать допустимые диапазоны веса для объектов. Весовой фильтр может состоять из нескольких диапазонов. При настройке нескольких диапазонов веса необходимо разделять диапазоны запятыми. Большие и меньшие значения в диапазоне разделяются тире. Диапазоны, состоящие из одного значения, не содержат дефиса и разделяются запятыми; например: 0-2, 3, 6, 7-10. | String |
in_junction_weight_range_not (дополнительно) | Применяет логический оператор NOT к заданным диапазонам веса соединения. По умолчанию заданные диапазоны веса соединения определяют объекты соединения, которые могут быть трассированы. Отметив эту опцию, вы тем самым указываете, что объекты соединения, содержащие значения веса в заданных диапазонах, не подлежат трассировке.
| Boolean |
in_edge_along_digitized_weight_filter (дополнительно) |
Вес, который будет использоваться для создания весового фильтра по направлению ребра, который применяется для фильтрации объектов ребер при трассировке. | String |
in_edge_against_digitized_weight_filter (дополнительно) |
Вес, который будет использоваться для создания весового фильтра против направления ребра, который применяется для фильтрации объектов ребер при трассировке. | String |
in_edge_weight_range (дополнительно) |
Задает допустимые или недопустимые диапазоны значений веса для сетевых объектов, подлежащих трассировке. Отключен, если задан не зависящий от стоимости тип задач трассировки. для создания весового фильтра необходимо указать допустимые диапазоны веса для объектов. Весовой фильтр может состоять из нескольких диапазонов. При настройке нескольких диапазонов веса необходимо разделять диапазоны запятыми. Большие и меньшие значения в диапазоне разделяются тире. Диапазоны, состоящие из одного значения, не содержат дефиса и разделяются запятыми; например: 0-2, 3, 6, 7-10. | String |
in_edge_weight_range_not (дополнительно) | Применяет логический оператор NOT к заданным диапазонам весов ребер. По умолчанию заданные диапазоны весов ребер определяют объекты-ребра, которые могут быть трассированы. Отметив эту опцию, вы тем самым указываете, что объекты-ребра, содержащие значения веса в заданных диапазонах, не подлежат трассировке.
| Boolean |
Пример кода
Представленный автономный скрипт Python демонстрирует порядок использования функции TraceGeometricNetwork в скрипте Python для выполнения задачи трассировки "Найти соединенные объекты" в геометрической сети, содержащей флаги и не содержащей барьеры.
# Import arcpy module
import arcpy
# Local variables:
gnVersionFDS_Net = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/gnVersionFDS_1_Net"
Flags = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/Flags"
gnVersionFDS_1 = "gnVersionFDS_1_Net"
# Process: Trace Geometric Network
arcpy.gp.TraceGeometricNetwork(gnVersionFDS_Net, gnVersionFDS_1, Flags, "FIND_CONNECTED", "", "", "", "", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "", "", "", "AS_IS")
Представленный автономный скрипт Python демонстрирует порядок использования функции TraceGeometricNetwork в скрипте Python для выполнения задачи трассировки "Найти путь" в геометрической сети, содержащей флаги, не содержащей барьеры, содержащей вес с именем Fiction_Factor и весовой фильтр с диапазоном от 1 до 10.
# Import arcpy module
import arcpy
# Local variables:
Water_Net = "C:/GeometricNetworks/Montgomery.gdb/Water/Water_Net"
Flags = "C:/GeometricNetworks/Montgomery.gdb/Water/Flags"
Water_Net_2 = "Water_Net"
# Process: Trace Geometric Network
arcpy.gp.TraceGeometricNetwork(Water_Net, Water_Net_2, Flags, "FIND_PATH", "", "", "Friction_Factor", "Friction_Factor", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "Friction_Factor", "Friction_Factor", "1-10", "AS_IS")