Make Closest Facility Layer (Network Analyst)
Resumen
Crea una capa de análisis de red de instalación más cercana y establece sus propiedades de análisis. Una capa de análisis de instalación más cercana es útil para determinar la o las instalaciones más cercanas a un incidente basadas en un coste de red específico.
Uso
-
Después de crear la capa de análisis con esta herramienta, puede agregarle objetos de análisis de red usando la herramienta Agregar ubicaciones, resolver el análisis usando la herramienta Resolver y guardar los resultados en el disco usando la herramienta Guardar en archivo de capa.
-
Cuando se utiliza esta herramienta en modelos de geoprocesamiento, si el modelo se ejecuta como una herramienta, la capa de análisis de red de salida debe ser un parámetro de modelo. De lo contrario, la capa de salida no se agregará a la tabla de contenido en ArcMap.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_network_dataset |
El dataset de red en el que se realizará el análisis de instalación más cercana. | Network Dataset Layer |
out_network_analysis_layer |
Nombre de la capa de análisis de red de instalación más cercana que se creará. | String |
impedance_attribute |
El atributo de coste que se usará como impedancia en el análisis. | String |
travel_from_to (Opcional) |
Especifica la dirección de viaje entre las instalaciones e incidentes.
Utilizando esta opción se pueden encontrar distintas instalaciones en una red con restricciones unidireccionales e impedancias diferentes basadas en la dirección del viaje. Por ejemplo, una instalación puede estar a una distancia de viaje de 10 minutos desde el incidente al viajar desde el incidente hasta la instalación, pero viajar desde la instalación hasta el incidente, puede llevar 15 minutos debido a que hay un tiempo de viaje distinto en esa dirección. Los departamentos de bomberos generalmente utilizan la configuración TRAVEL_FROM ya que les interesa el tiempo que toma viajar desde la estación de bomberos (instalación) hasta la ubicación de la emergencia (incidente). A una tienda (instalación) le interesa más el tiempo que les toma a los compradores (incidentes) llegar a la tienda; por lo tanto, las tiendas generalmente usan la opción TRAVEL_TO. | String |
default_cutoff (Opcional) |
Valor de impedancia predeterminado en el cual detener la búsqueda de instalaciones para un incidente determinado. Se puede invalidar el valor predeterminado especificando el valor límite de los incidentes cuando se utiliza la opción TRAVEL_TO o especificando el valor límite de las instalaciones cuando se usa la opción TRAVEL_FROM. | Double |
default_number_facilities_to_find (Opcional) |
Cantidad predeterminada de entidades más cercanas que se buscarán por incidente. Se puede invalidar el valor predeterminado especificando un valor para la propiedad TargetFacilityCount en los incidentes. | Long |
accumulate_attribute_name [accumulate_attribute_name,...] (Opcional) |
Lista de los atributos de coste que se acumularán durante el análisis. Estos atributos de acumulación se usan específicamente de referencia; el solucionador utiliza los atributos de coste especificados por el parámetro de atributos Impedancia para calcular la ruta. For each cost attribute that is accumulated, a Total_[Impedance] property is added to the routes that are output by the solver. | String |
UTurn_policy (Opcional) |
Restrinja o permita giros en U en cruces que pudieran ocurrir durante el trazado poligonal de la red entre las paradas.
| String |
restriction_attribute_name [restriction_attribute_name,...] (Opcional) |
Lista de atributos de restricción que se aplicarán durante el análisis. | String |
hierarchy (Opcional) |
El parámetro no se utiliza si no se definen atributos de jerarquía en el dataset de red utilizado para realizar el análisis. En tales casos, utilice "#" como el valor de parámetro. | Boolean |
hierarchy_settings (Opcional) |
Legado: Antes de la versión 10, este parámetro le permitía cambiar los rangos de jerarquía para su análisis de los rangos de jerarquía predeterminados establecidos en el dataset de red. En la versión 10, este parámetro ya no es compatible y se debe especificar como una cadena de caracteres vacía. Si desea cambiar los rangos de jerarquía para su análisis, actualice los rangos de jerarquía predeterminados en el dataset de red. | Network Analyst Hierarchy Settings |
output_path_shape (Opcional) |
Especifica el tipo de forma para las entidades de ruta que son la salida del análisis.
Sin importar el tipo de forma de salida elegido, la mejor ruta siempre se determina mediante la impedancia de red, nunca según la distancia euclidiana. Esto significa que sólo las formas de las rutas son diferentes, y no el trazado poligonal subyacente de la red. | String |
Ejemplo de código
Ejecutar la herramienta utilizando sólo los parámetros requeridos
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeClosestFacilityLayer_na("Transportation/Streets_ND", "ClosestFireStations","Minutes")
Ejecutar la herramienta utilizando todos los parámetros
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.MakeClosestFacilityLayer_na("Transportation/Streets_ND", "ClosestHospitals","Minutes","TRAVEL_TO",5,3, ["Meters","Minutes"],"ALLOW_UTURNS", ["Oneway"],"USE_HIERARCHY","", "TRUE_LINES_WITH_MEASURES")
La siguiente secuencia de comandos de Python independiente muestra cómo utilizar la herramienta MakeClosestFacilityLayer para encontrar el depósito más cercano desde las ubicaciones de tienda.
# Name: MakeClosestFacilityLayer_Workflow.py # Description: 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 with #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)