Сводка
Создает новый набор сетевых данных, уменьшая количество линейных объектов до минимального необходимого для корректного моделирования входного набора данных. Получаемый на выходе более эффективный набор сетевых данных требует меньше времени для анализа, отрисовки результатов и создания направлений движения. Инструмент создает набор сетевых данных и исходные классы объектов; при этом входной набор сетевых данных с его исходными объектами остается неизменным.
Более подробно о том, как работает инструмент Слияние сетиИллюстрация
Использование
Этот инструмент не создает готовую сеть. Для создания нового набора сетевых данных перед выполнение анализа используйте инструмент Построить сеть.
Набор сетевых данных и классы объектов, созданные в выходной рабочей области базы геоданных имеют одни и те же имена набора данных, набора сетевых данных и класс объектов. Инструмент не работает, если в рабочей области базы геоданных уже существует хоть один набор данных с таким именем.
В выходной класс линейных объектов переносятся только те поля из входных классов объектов, которые используются в наборе сетевых данных. Примеры полей:
- Поля высоты
- Поля, используемые в функциях вычисления атрибутов сетей (длина, время, односторонние ограничения, иерархия и пр.)
- Поля, используемые при создании направлений движения (названия улиц, символы и пр.)
Если набор сетевых данных, к которому применяется слияние, не содержит какой-либо функциональности 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 | В наборах сетевых данных с меньшим числом линейных объектов больше действующих проходимых элементов, что в результате приводит к более быстрому выполнению сетевого анализа. | Набор сетевых данных |
Пример кода
Выполните инструмент с использованием всех параметров.
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
out_gdb = "C:/Data/DissolvedNetwork.gdb"
arcpy.na.DissolveNetwork(network, out_gdb)
В следующем автономным скрипте 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)
Environments
Информация о лицензиях
- Basic: Требуется Network Analyst
- Standard: Требуется Network Analyst
- Advanced: Требуется Network Analyst