Disolver red (Network Analyst)
Resumen
Crea un nuevo dataset de red que minimiza la cantidad de entidades de línea requeridas para modelar correctamente el dataset de red de entrada. El dataset de red de salida más eficiente reduce el tiempo necesario para resolver análisis, dibujar resultados y generar las indicaciones para conducir. Esta herramienta genera como salida un nuevo dataset de red y clases de entidad de origen; el dataset de red de entrada y las entidades de origen permanecen sin cambios.
Más información sobre cómo funciona Disolver redIlustración
Uso
-
Esta herramienta no crea una red construida. Utilice la herramienta Construir red para construir el dataset de red recientemente creado antes de realizar cualquier análisis sobre el mismo.
-
El dataset de red y las clases de entidad creadas en el espacio de trabajo de geodatabase de salida tienen el mismo nombre de dataset de entidades, el mismo nombre de dataset de red y los mismos nombres de clases de entidad que el dataset de red de entrada. Esta herramienta no se puede ejecutar si algún dataset con estos nombres ya existe en el espacio de trabajo de geodatabase de salida.
-
Sólo los campos de la clase de entidad de origen utilizados por el dataset de red se transfieren a la clase de entidad de línea de salida. Ejemplos de los campos:
- Campos de elevación
- Campos utilizados en evaluadores de atributos de red (longitud, tiempo, restricciones unidireccionales, jerarquía, etc.)
- Campos utilizados en la generación de las indicaciones para conducir (nombres de calles, señales, etc.)
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_network_dataset |
El dataset de red que se disolverá. El dataset de red de entrada debe ser un dataset de red de geodatabase de archivos o personal con exactamente un origen de eje. Se permite cualquier cantidad de fuentes de cruces y fuentes de giros. El origen de eje debe tener:
El dataset de red de entrada se debe construir antes de utilizarlo en esta herramienta. | Network Dataset Layer |
out_workspace_location |
El espacio de trabajo de geodatabase en el que se creará el dataset de red disuelto. El espacio de trabajo debe ser una geodatabase de ArcGIS 10 o posterior. | Workspace |
Ejemplo de código
Ejecutar la herramienta utilizando todos los parámetros
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.DissolveNetwork_na("Transportation/Streets_ND","C:/Data/DissolvedNet.gdb")
La siguiente secuencia de comandos de Python independiente muestra cómo utilizar la herramienta DissolveNetwork para crear un nuevo dataset de red con una cantidad reducida de entidades de línea.
# 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 from arcpy import env try: #Check out the Network Analyst extension license arcpy.CheckOutExtension("Network") #Set environment settings env.workspace = "C:/data/SanFrancisco.gdb" 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: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "An error occured on line %i" % tb.tb_lineno print str(e)