Resolver (Network Analyst)

Resumen

Resuelve el problema de capa de análisis de red en base a las propiedades y las ubicaciones de red.

Uso

Sintaxis

Solve_na (in_network_analysis_layer, {ignore_invalids}, {terminate_on_solve_error})
ParámetroExplicaciónTipo de datos
in_network_analysis_layer

La capa de análisis de red en la que se calculará el análisis.

Network Analyst Layer
ignore_invalids
(Opcional)
  • SKIPEl solucionador pasará por alto las ubicaciones de red que estén no ubicadas y resolverá la capa de análisis a partir de ubicaciones de red válidas solamente. También continuará la operación de resolución si las ubicaciones están en elementos no trazables o tienen errores. Esta opción es útil si usted sabe que las ubicaciones de red no son todas correctas, pero desea resolver la búsqueda con las ubicaciones de red que son válidas.
  • HALTNo resuelve si hay ubicaciones no válidas. A continuación, puede corregirlos y volver a ejecutar el análisis.

Para la capa de análisis de red del problema de generación de rutas para vehículos, debe utilizar HALT como valor de parámetro debido a que el solucionador del problema de generación de rutas para vehículos requiere que todas las ubicaciones de red sean válidas.

Boolean
terminate_on_solve_error
(Opcional)
  • TERMINATELa herramienta no se podrá ejecutar cuando el solucionador encuentre un error. Esta es la opción predeterminada. Al usar esta opción, el objeto de resultado no se crea cuando la herramienta no se puede ejecutar debido a un error del solucionador. Debe obtener los mensajes de geoprocesamiento desde el objeto de ArcPy.
  • CONTINUELa herramienta continuará con la ejecución aunque el solucionador encuentre un error. Todos los mensajes de error devueltos por el solucionador se convertirán en mensajes de advertencia. Al usar esta opción, el objeto de resultado se crea siempre y la propiedad maxSeverity del objeto de resultado se establece en 1 aunque el solucionador encuentre un error. Utilice el método getOutput del objeto de resultado con un valor de índice de 1 para determinar si la resolución se realizó correctamente.
Boolean

Ejemplo de código

Ejemplo 1 de Solucionar (ventana de Python)

Ejecutar la herramienta utilizando todos los parámetros

import arcpy
arcpy.Solve_na("Route","HALT","TERMINATE")
Ejemplo 2 de Solucionar (flujo de trabajo)

La siguiente secuencia de comandos de Python independiente muestra cómo se puede utilizar la herramienta Solucionar para realizar un análisis de instalación más cercana y guardar los resultados en un archivo de capa.

# Name: Solve_Workflow.py
# Description: Solve a closest facility analysis to find the closest warehouse 
#              from the store locations and save the results to a layer file on 
#              disk.
# 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/Paris.gdb"
    env.overwriteOutput = True
    
    #Set local variables
    inNetworkDataset = "Transportation/ParisMultimodal_ND"
    outNALayer = "ClosestWarehouse"
    impedanceAttribute = "Drivetime"
    accumulateAttributeName = ["Meters"]
    inFacilities = "Analysis/Warehouses"
    inIncidents = "Analysis/Stores"
    fieldMappings = "Name NOM #"
    outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr"
    
    #Create a new closest facility analysis layer. Apart from finding the drive 
    #time to the closest warehouse, we also want to find the total distance. So
    #we will accumulate the "Meters" impedance attribute.
    arcpy.MakeClosestFacilityLayer_na(inNetworkDataset,outNALayer,
                                      impedanceAttribute,"TRAVEL_TO","",1,
                                      accumulateAttributeName,"NO_UTURNS")
    
    #Load the warehouses as Facilities using the default field mappings and 
    #search tolerance
    arcpy.AddLocations_na(outNALayer,"Facilities",inFacilities,"","")
    
    #Load the Stores as Incidents. Map the Name property from the NOM field
    arcpy.AddLocations_na(outNALayer,"Incidents",inIncidents,fieldMappings,"")
    
    #Solve the closest facility layer
    arcpy.Solve_na(outNALayer)
    
    #Save the solved closest facility layer as a layer file on disk using
    #relative paths
    arcpy.SaveToLayerFile_management(outNALayer,outLayerFile,"RELATIVE")
    
    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)

Entornos

Temas relacionados

Información de licencia

ArcView: Requiere Analista de red
ArcEditor: Requiere Analista de red
ArcInfo: Requiere Analista de red

7/11/2012