Слияние сети (Network Analyst)

Сводка

Создает новый набор сетевых данных, уменьшая количество линейных объектов до минимального необходимого для корректного моделирования входного набора данных. Получаемый на выходе более эффективный набор сетевых данных требует меньше времени для анализа, отрисовки результатов и создания направлений движения. Инструмент создает набор сетевых данных и исходные классы объектов; при этом входной набор сетевых данных с его исходными объектами остается неизменным.

Более подробно о том, как работает инструмент Слияние сети

Иллюстрация

Пример инструмента Слияние сети

Использование

  • Этот инструмент не создает готовую сеть. Для создания нового набора сетевых данных перед выполнение анализа используйте инструмент Построить сеть.

  • Набор сетевых данных и классы объектов, созданные в выходной рабочей области базы геоданных имеют одни и те же имена набора данных, набора сетевых данных и класс объектов. Инструмент не работает, если в рабочей области базы геоданных уже существует хоть один набор данных с таким именем.

  • В выходной класс линейных объектов переносятся только те поля из входных классов объектов, которые используются в наборе сетевых данных. Примеры полей:

    • Поля высоты
    • Поля, используемые в функциях вычисления атрибутов сетей (длина, время, односторонние ограничения, иерархия и пр.)
    • Поля, используемые при создании направлений движения (названия улиц, символы и пр.)
  • Если набор сетевых данных, к которому применяется слияние, не содержит какой-либо функциональности 10.1, будет создан набор данных версии 10.0.

Синтаксис

arcpy.na.DissolveNetwork(in_network_dataset, out_workspace_location)
ParameterОбъяснениеТип данных
in_network_dataset

Объединяемые наборы сетевых данных.

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

  • Правила для соединения конечных точек
  • Правила для высот – Нет или Поля высоты

Входной набор сетевых данных должен быть построен до использования этим средством.

Network Dataset Layer
out_workspace_location

Рабочая область базы геоданных, в которой создается объединенный набор сетевых данных. Рабочая область должна представлять базу геоданных ArcGIS 10 или более поздней версии и она должна отличаться от базы геоданных, в которой хранится входной набор сетевых данных.

Workspace

Производные выходные данные

NameОбъяснениеТип данных
out_network_dataset

В наборах сетевых данных с меньшим числом линейных объектов больше действующих проходимых элементов, что в результате приводит к более быстрому выполнению сетевого анализа.

Набор сетевых данных

Пример кода

DissolveNetwork, пример 1 (окно Python)

Выполните инструмент с использованием всех параметров.

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
out_gdb = "C:/Data/DissolvedNetwork.gdb"
arcpy.na.DissolveNetwork(network, out_gdb)
DissolveNetwork, пример 2 (рабочий процесс)

В следующем автономным скрипте Python показано, как с помощью инструмента DissolveNetwork можно создавать новый набор сетевых данных с меньшим количеством линейных объектов.

# Name: DissolveNetwork_Workflow.py
# Description: Creates a new network dataset with reduced number of line
#              features in a new file geodatabase workspace. The network dataset
#              is also built so that it can be used to perform network analyses.
# Requirements: Network Analyst Extension

#Import system modules
import arcpy

try:
    #Check out Network Analyst license if available. Fail if the Network Analyst license is not available.
    if arcpy.CheckExtension("network") == "Available":
        arcpy.CheckOutExtension("network")
    else:
        raise arcpy.ExecuteError("Network Analyst Extension license is not available.")
    
    #Set environment settings
    arcpy.env.workspace = "C:/data/SanFrancisco.gdb"
    arcpy.env.overwriteOutput = True

    #Set local variables
    inNetworkDataset = "Transportation/Streets_ND"
    outFolder = "C:/data/output"
    outputGDBName = "SanFranciscoDissolved"

    #Create a new file geodatabase that will contain the dissolved network
    result = arcpy.CreateFileGDB_management(outFolder, outputGDBName)

    #Get the path to the newly created file gdb from the result object.
    outputGDB = result.getOutput(0)

    #Dissolve the network dataset
    result = arcpy.DissolveNetwork_na(inNetworkDataset, outputGDB)

    #Get the path to the dissolved network dataset from the result object
    dissolvedNetworkDataset = result.getOutput(0)

    #The dissolved network dataset is unbuilt. So build the network dataset
    arcpy.BuildNetwork_na(dissolvedNetworkDataset)

    print("Script completed successfully")

except Exception as e:
    print(e)

Информация о лицензиях

  • Basic: Требуется Network Analyst
  • Standard: Требуется Network Analyst
  • Advanced: Требуется Network Analyst

Связанные разделы