Resumen
Elige las mejores ubicaciones de un conjunto de ubicaciones de entrada.
Entre los datos que se pueden introducir en esta herramienta se encuentran las instalaciones, que proporcionan los bienes o servicios, y los puntos de demanda, que los consumen. El objetivo es buscar las instalaciones que proveen con mayor eficiencia al punto de demanda. La herramienta resuelve este problema mediante un análisis de las distintas maneras de asignar puntos de demanda a instalaciones diferentes. La solución es el escenario que asigna la mayor demanda posible a las instalaciones y minimiza los viajes en general. El resultado incluye las instalaciones de la solución, los puntos de demanda asociados a las instalaciones asignadas y las líneas que conectan los puntos de demanda con sus instalaciones.
La herramienta de ubicación y asignación puede configurarse para resolver tipos de problemas específicos. Los ejemplos incluyen lo siguiente:
Una tienda quiere saber qué ubicaciones de tiendas posibles deberían desarrollarse para capturar el 10 por ciento del mercado minorista de la zona.
Un departamento de bomberos desea determinar el lugar donde debería emplazar estaciones de bomberos para alcanzar a un 90 por ciento de la comunidad con un tiempo de respuesta de cuatro minutos.
Una comisaría de policía desea situar de antemano al personal dada la anterior actividad delictiva nocturna.
Tras una tormenta, una agencia de respuesta a desastres desea buscar las mejores ubicaciones para establecer instalaciones de triage, con capacidad limitada de pacientes, para atender a la población afectada.
Más información sobre el resultado de Ubicación y asignación
Ilustración
Uso
El cuadro de diálogo de la herramienta agrupa los diversos parámetros opcionales en las siguientes siete categorías para hacer que sea más fácil administrarlos:
- Análisis avanzado
- Barreras
- Modo de viaje personalizado
- Configuración del problema de ubicación y asignación
- Dataset de red
- Ubicaciones de red
- Salida
- Capacidades de servicio
Sintaxis
arcpy.na.SolveLocationAllocation(Facilities, Demand_Points, Measurement_Units, Network_Dataset, Output_Geodatabase, Output_Allocation_Lines_Name, Output_Facilities_Name, Output_Demand_Points_Name, Output_Route_Edges_Name, {Problem_Type}, {Number_of_Facilities_to_Find}, {Default_Measurement_Cutoff}, {Default_Capacity}, {Target_Market_Share}, {Measurement_Transformation_Model}, {Measurement_Transformation_Factor}, {Travel_Direction}, {Time_of_Day}, {Time_Zone_for_Time_of_Day}, {UTurn_Policy}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Time_Attribute}, {Time_Attribute_Units}, {Distance_Attribute}, {Distance_Attribute_Units}, {Use_Hierarchy_in_Analysis}, {Restrictions}, {Attribute_Parameter_Values}, {Accumulate_Attributes}, {Maximum_Snap_Tolerance}, {Feature_Locator_WHERE_Clause}, {Allocation_Line_Shape}, {Allocation_Line_Simplification_Tolerance}, {Maximum_Features_Affected_by_Point_Barriers}, {Maximum_Features_Affected_by_Line_Barriers}, {Maximum_Features_Affected_by_Polygon_Barriers}, {Maximum_Facilities}, {Maximum_Facilities_to_Find}, {Maximum_Demand_Points}, {Force_Hierarchy_Beyond_Distance}, {Save_Output_Network_Analysis_Layer}, {Travel_Mode}, {Overrides})
Parámetro | Explicación | Tipo de datos |
Facilities | Especifique una o varias instalaciones. La herramienta escoge las mejores ubicaciones del conjunto de instalaciones que especifique aquí. En un análisis competitivo, en el cual se intenta encontrar las mejores ubicaciones teniendo en cuenta a la competencia, las instalaciones de los rivales también se especifican aquí. Al definir las instalaciones, se pueden definir propiedades para cada una de ellas, como el nombre o el tipo de instalación, mediante el uso de atributos. Las instalaciones se pueden especificar con los siguientes campos: OBJECTID: el campo de Id. administrado por el sistema. SHAPE: el campo de geometría que indica la ubicación geográfica de la instalación. Name: nombre de la instalación. El nombre se incluye en el nombre de las líneas de asignación de salida si la instalación forma parte de la solución. FacilityType: especifica si la instalación es candidata, obligatoria o competidora. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
Peso: ponderación relativa de la instalación que se utiliza para valorar el atractivo, la conveniencia o la predisposición hacia una instalación con respecto con otra. Por ejemplo, un valor de 2,0 podría capturar la preferencia de los clientes que prefieren, en una proporción de 2 a 1, ir de compras a una instalación más que a otra. Entre los factores que pueden afectar al peso de la instalación se encuentran la superficie, el vecindario y la antigüedad del edificio. Los valores de peso que no sean uno solo se admiten en los tipos de problema Maximización de la cuota de mercado y Cuota de mercado objetivo; no se tienen en cuenta en otros tipos de problema. Capacidad: el campo Capacidad es específico del tipo de problema Maximizar la cobertura capacitada; los demás tipos de problema no tienen en cuenta este campo. La capacidad especifica qué cantidad de demanda ponderada puede suministrar la instalación. El exceso de demanda no se asignará a una instalación incluso si la demanda está dentro del valor límite de medición predeterminado de la instalación. Cualquier valor asignado al campo Capacidad invalida el parámetro Capacidad predeterminada (Default_Capacity en Python) de la instalación en cuestión. CurbApproach: especifica la dirección en la que un vehículo puede llegar a la instalación o salir de ella. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
La propiedad CurbApproach se ha diseñado para trabajar con los dos tipos de estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere una instalación en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Los estándares de circulación nacionales pueden influir en su decisión de aproximarse a una instalación por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, si desea llegar a una instalación y no dispone de un carril de tráfico entre el vehículo y el incidente, elegiría Lado derecho del vehículo (1) en los Estados Unidos pero Lado izquierdo del vehículo (2) en el Reino Unido. | Feature Set |
Demand_Points | Especifique uno o varios puntos de demanda. La herramienta escoge las mejores instalaciones basándose en gran medida en cómo atienden los puntos de demanda que se especifican aquí. Al definir los puntos de demanda, se pueden definir propiedades para cada uno de ellos, como el nombre o el peso del punto de demanda, mediante el uso de atributos. Los puntos de demanda se pueden especificar con los siguientes campos: OBJECTID: el campo de Id. administrado por el sistema. SHAPE: el campo de geometría que indica la ubicación geográfica de la instalación. Nombre: nombre del punto de demanda. El nombre se incluye en el nombre de una línea, o líneas, de asignación de salida si el punto de demanda forma parte de la solución. GroupName: nombre del grupo al cual pertenece el punto de demanda. Esta propiedad se ignora para los tipos de problemas de maximizar la cobertura capacitada, la cuota de mercado objetivo y maximizar la cuota de mercado. Si los puntos de demanda comparten un nombre de grupo, el solucionador asigna todos los miembros del grupo a la misma instalación. (Si hay restricciones, tales como un valor límite de distancia, que impidan que alguno de los puntos de demanda del grupo alcance la misma instalación, no se asignará ninguno de los puntos de demanda). Peso: ponderación relativa del punto de demanda. Un valor de 2,0 significa que el punto de demanda es dos veces más importante que uno con un peso de 1,0. Si los puntos de demanda representan hogares, el peso podría indicar la cantidad de personas de cada hogar. Cutoff_Time: el punto de demanda no se puede asignar a una instalación que se encuentre más allá del tiempo de viaje que se indique aquí. Este campo invalida el valor del parámetro Valor límite de medición predeterminado. Las unidades de este valor de atributo se especifican con el parámetro Unidades de medida. Durante el análisis se hace referencia al valor de atributo solo cuando las unidades de medida se basan en el tiempo. El valor predeterminado es nulo, es decir, no existe un valor límite de invalidación. Cutoff_Distance: el punto de demanda no se puede asignar a una instalación que se encuentre más allá de la distancia de viaje que se indique aquí. Este campo invalida el valor del parámetro Valor límite de medición predeterminado. Las unidades de este valor de atributo se especifican con el parámetro Unidades de medida. Durante el análisis se hace referencia al valor de atributo solo cuando las unidades de medida se basan en la distancia. El valor predeterminado es nulo, es decir, no existe un valor límite de invalidación. CurbApproach: especifica la dirección en la que un vehículo puede llegar a la instalación o salir de ella. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
La propiedad CurbApproach se ha diseñado para trabajar con los dos tipos de estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere un punto de demanda en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Las normas de circulación nacionales pueden influir en su decisión de aproximarse a un punto de demanda por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, si desea llegar a un punto de demanda y no hay un carril de tráfico entre el vehículo y el punto de demanda, deberá elegir Lado derecho del vehículo (1) en Estados Unidos y Lado izquierdo del vehículo (2) en el Reino Unido. | Feature Set |
Measurement_Units | Especifique las unidades que se deben usar para medir los tiempos o las distancias de viaje entre los puntos de demanda y las instalaciones. La herramienta escoge las mejores instalaciones basándose en aquellas que pueden alcanzar (o a las que se puede llegar con) la máxima cantidad posible de demanda ponderada en la menor cantidad posible de viaje. Las líneas de asignación de salida informan acerca de la distancia de viaje o del tiempo de viaje en unidades diferentes, incluidas las que se especifiquen para este parámetro. Las opciones son
La herramienta selecciona si se debe usar el atributo de coste de red especificado en el parámetro de Atributo de tiempo o Atributo de distancia, dependiendo de si las unidades de medida elegidas se basan en el tiempo o la distancia. La herramienta realiza la conversión de unidades necesaria cuando el valor de Unidades de medida difiere de las unidades del atributo de coste de distancia o de tiempo correspondiente. | String |
Network_Dataset | El dataset de red en el que se realizará el análisis. La mayoría de las veces los datasets de red representan redes de calles, pero también pueden representar otras redes de transporte. El dataset de red debe tener al menos un atributo de coste basado en el tiempo y uno basado en la distancia. | Network Dataset Layer |
Output_Geodatabase | Espacio de trabajo de salida. Este espacio de trabajo ya debe existir. El espacio de trabajo de salida predeterminado es in_memory. | Workspace |
Output_Allocation_Lines_Name | Nombre de la clase de entidad de salida que contiene las líneas que conectan los puntos de demanda con sus instalaciones asignadas. En Salida de Resolver ubicación y asignación se describe el esquema de esta clase de entidad de salida. | String |
Output_Facilities_Name | Nombre de la clase de entidad de salida que contiene las instalaciones. En Salida de Resolver ubicación y asignación se describe el esquema de esta clase de entidad de salida. | String |
Output_Demand_Points_Name | Nombre de la clase de entidad de salida que contiene los puntos de demanda. En Salida de Resolver ubicación y asignación se describe el esquema de esta clase de entidad de salida. | String |
Output_Route_Edges_Name | Nombre de la clase de entidad de salida que contiene los ejes de ruta. Los ejes de ruta representan las entidades de calles individuales que se atraviesan a lo largo de la ruta más corta entre los puntos de demanda y las instalaciones a las que están asignados. A menudo, esta salida se utiliza para determinar qué segmentos de calle tendrían más tráfico cuando se viaja a las instalaciones. Esta información se puede utilizar, por ejemplo, para colocar anuncios o para ampliar las carreteras para que admitan las cargas de tráfico durante las evacuaciones. Para rellenar la clase de entidad RouteEdges de salida, debe establecer el parámetro Forma de líneas de asignación en líneas verdaderas. En Salida de Resolver ubicación y asignación se describe el esquema de esta clase de entidad de salida. | String |
Problem_Type (Opcional) | Especifica el objetivo del análisis de ubicación y asignación. El objetivo predeterminado es minimizar la impedancia.
| String |
Number_of_Facilities_to_Find (Opcional) | Especifique la cantidad de instalaciones que debe escoger el solucionador. El valor predeterminado es 1. Las instalaciones con un valor de campo FacilityType de 1 (Obligatorio) siempre se eligen en primer lugar. Las instalaciones en exceso que se pueden seleccionar se escogen de entre las instalaciones candidatas, cuyo valor de campo FacilityType es 2. Las instalaciones con un valor FacilityType de 3 (Elegido) antes de resolver se tratan como instalaciones candidatas en el momento de la resolución. Si la cantidad de instalaciones que se desea buscar es menor que la cantidad de instalaciones obligatorias, se produce un error. Cantidad de instalaciones a buscar está deshabilitada para los tipos de problemas Minimizar instalaciones y Cuota de mercado objetivo, dado que el solucionador determina la cantidad mínima de instalaciones necesarias para cumplir los objetivos. | Long |
Default_Measurement_Cutoff (Opcional) | Especifica el valor máximo de tiempo o distancia de viaje permitido entre un punto de demanda y la instalación a la que se asigna. Si un punto de demanda está fuera del valor límite de una instalación, no se puede asignar a esa instalación. El valor predeterminado es ninguno, es decir, el valor límite no es válido. Las unidades de este parámetro son las mismas que las especificadas por el parámetro Unidades de medida. El valor límite del tiempo o la distancia de viaje se mide mediante la ruta más corta por carretera. Esta propiedad se podría utilizar para modelar la distancia máxima que las personas están dispuestas a recorrer para visitar sus tiendas, o el tiempo máximo que se permite que tarde un departamento de bomberos en alcanzar cualquier punto de la comunidad. Tenga en cuenta que los puntos de demanda tienen campos Cutoff_Time y Cutoff_Distance que, si se establecen como corresponde, invalidan el parámetro Valor límite de medición predeterminado. Quizá descubra que en áreas rurales las personas estén dispuestas a recorrer hasta 10 millas para llegar a una instalación, mientras que los urbanitas solo están dispuestos a recorrer dos millas. Suponiendo que las Unidades de medida se establecen en Millas, puede modelar este comportamiento estableciendo el valor límite de medición predeterminado como 10 y el valor de campo Cutoff_Distance de los puntos de demanda en zonas urbanas como 2. | Double |
Default_Capacity (Opcional) | Esta propiedad es específica al tipo de problema de maximización de cobertura capacitada. Es la capacidad predeterminada que se asigna a todas las instalaciones del análisis. Puede invalidar la capacidad predeterminada de una instalación especificando un valor en el campo Capacidad de la instalación. El valor predeterminado es 1. | Double |
Target_Market_Share (Opcional) | Este parámetro es específico del tipo de problema Cuota de mercado objetivo. Es el porcentaje del peso de demanda total que desea que capturen las instalaciones elegidas y obligatorias. El solucionador elige la cantidad mínima de instalaciones necesarias para capturar la cuota de mercado objetivo que se especifica aquí. El valor predeterminado es 10%. | Double |
Measurement_Transformation_Model (Opcional) | Establece la ecuación para transformar el coste de la red entre instalaciones y puntos de demanda. Esta propiedad, unida al parámetro Impedancia, especifica hasta qué punto influye la impedancia de red entre las instalaciones y los puntos de demanda en la elección de instalaciones por parte del solucionador. En la siguiente lista de opciones de transformación, d hace referencia a puntos de demanda y f a instalaciones. Impedancia es la distancia o el tiempo de viaje más corto entre dos ubicaciones. Así, impedancedf es la ruta más corta (tiempo o distancia) entre el punto de demanda d y la instalación f, y costdf es el tiempo o distancia transformado entre la instalación y el punto de demanda. Lambda (λ) denota el parámetro de impedancia. El ajuste Unidades de medida determina si se analiza el tiempo o la distancia de viaje.
| String |
Measurement_Transformation_Factor (Opcional) | Proporciona un valor de parámetro a las ecuaciones especificadas en el parámetro Modelo de transformación de medición. El valor de parámetro se ignora cuando la transformación de impedancia es de tipo lineal. Para las transformaciones de impedancia exponencial y de potencia, el valor debe ser distinto de cero. El valor predeterminado es 1. | Double |
Travel_Direction (Opcional) | Especifique si se van a medir tiempos o distancias de viaje de las instalaciones a los puntos de demanda o de los puntos de demanda a las instalaciones. El valor predeterminado es medir de la instalación a los puntos de demanda.
Los tiempos y las distancias de viaje pueden cambiar en función de la dirección del viaje. Si va del punto A al punto B, puede encontrar menos tráfico o una ruta más corta, debido a las calles de una dirección y las restricciones de giro, que si se desplaza en la dirección contraria. Por ejemplo, para ir del punto A al punto B puede tardar solo 10 minutos, pero en la dirección contraria puede llevar 15 minutos. Estas mediciones diferentes pueden afectar el que los puntos de demanda se asignen o no a determinadas instalaciones debido a los valores límite o, en los tipos de problemas en los que se distribuya la demanda, puede afectar la cantidad de demanda capturada. Los departamentos de bomberos normalmente miden de las instalaciones a los puntos de demanda, puesto que les preocupa el tiempo necesario para desplazarse desde la estación de bomberos hasta la ubicación de la emergencia. A una tienda le preocupa más el tiempo que tardan los compradores en alcanzar la tienda; por consiguiente, las tiendas normalmente miden de los puntos de demanda a las instalaciones. Dirección del viaje también determina el significado de cualquier hora de inicio que se proporciona. Consulte el parámetro Hora del día para obtener más información. | String |
Time_of_Day (Opcional) | Especifique la hora a la que empieza el viaje. Esta propiedad no se tiene en cuenta a menos que las Unidades de medida se basen en el tiempo. El valor predeterminado es sin hora ni fecha. Cuando no se especifica la Hora del día, el solucionador utiliza velocidades genéricas, que suelen tomarse de los límites de velocidad publicados. En la realidad, el tráfico varía constantemente y, conforme cambia, también fluctúan los tiempos de viaje entre las instalaciones y los puntos de demanda. Por consiguiente, indicar distintos valores de tiempo y fecha en varios análisis puede afectar la manera en que se asigne la demanda a las instalaciones y las instalaciones que se escojan en los resultados. La hora del día siempre indica una hora de inicio. Sin embargo, el viaje puede comenzar en instalaciones o puntos de demanda; depende del valor que se haya elegido para el parámetro Dirección del viaje. El parámetro Zona horaria para hora del día especifica si la fecha y la hora se refieren a UTC o a la zona horaria en la cual se encuentra la instalación o el punto de demanda. | Date |
Time_Zone_for_Time_of_Day (Opcional) | Especifica la zona horaria del parámetro Hora del día. El valor predeterminado es geográficamente local.
Independientemente de la configuración de Zona horaria para hora del día, si sus instalaciones y puntos de demanda se encuentran en varias zonas horarias la herramienta aplica las reglas siguientes:
| String |
UTurn_Policy (Opcional) | Política de cambios de sentido en los cruces. Permitir cambios de sentido implica que el solucionador puede dar la vuelta en un cruce y regresar por la misma calle. Debido a que los cruces representan intersecciones de calles y callejones sin salida, los diferentes vehículos pueden ser capaces de dar la vuelta en algunos cruces, pero no en otros, depende de que el cruce sea una intersección o un callejón sin salida. Para adaptarse, el parámetro de la política de cambios de sentido se especifica implícitamente por la cantidad de bordes, o calles, que se conectan en el cruce, que se conoce como valencia de cruce. Los valores aceptables para este parámetro se enumeran a continuación; cada uno seguido de una descripción de su significado en términos de valencia de cruce.
El valor de este parámetro se invalida cuando Modo de viaje (Travel_Mode en Python) está establecido en cualquier otro valor que no sea personalizado. | String |
Point_Barriers (Opcional) | Especifica barreras de punto, que se dividen en dos tipos: barreras de restricción y barreras de punto de coste añadido. Restringen temporalmente el trazado poligonal en toda la red o agregan impedancia a puntos de la red. Las barreras de punto se definen mediante un conjunto de entidades, y los valores de atributo que especifica para las entidades de punto determinan si son barreras de restricción o de coste agregado. Los campos en la tabla de atributos se muestran y describen a continuación. ObjectID: Campo ID administrado por el sistema. Shape: Campo de geometría que indica la ubicación geográfica del objeto de análisis de red. Name: El nombre de la barrera. BarrierType: Especifica si la barrera restringe completamente el viaje o agrega coste cuando se viaja a través de ella. Existen dos opciones:
Utilice el valor 0 para Restricción y 2 para Coste agregado. Additional_Time: Indica cuánto tiempo de viaje se agrega al atravesar la barrera. Este campo solo es aplicable para barreras con coste añadido y solo si las unidades de medida se basan en el tiempo. El valor de este campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro Unidades de medida. Additional_Distance: Indica cuánta distancia se agrega al atravesar la barrera. Este campo solo se aplica a barreras con coste agregado y solo si las unidades de medida se basan en distancias. El valor de este campo debe ser mayor o igual que cero, y sus unidades son las mismas que las especificadas en el parámetro Unidades de medida. | Feature Set |
Line_Barriers (Opcional) | Especifica las barreras de línea, que restringen temporalmente el trazado poligonal en ellos. Las barreras de línea se definen mediante un conjunto de entidades. Los campos en la tabla de atributos se muestran y describen a continuación. ObjectID: Campo ID administrado por el sistema. Shape: Campo de geometría que indica la ubicación geográfica del objeto de análisis de red. Name: El nombre de la barrera. | Feature Set |
Polygon_Barriers (Opcional) | Especifica barreras de polígono, que se dividen en dos tipos: barreras de restricción y barreras de polígono de coste escalado. Restringen temporalmente el trazado poligonal o la impedancia de escala en las partes de la red que cubren. Las barreras de polígono se definen mediante un conjunto de entidades, y los valores de atributo que especifica para las entidades de polígono determinan si son barreras de restricción o de coste de escala. Los campos en la tabla de atributos se muestran y describen a continuación. ObjectID: Campo ID administrado por el sistema. Shape: Campo de geometría que indica la ubicación geográfica del objeto de análisis de red. Name: El nombre de la barrera. BarrierType: Especifica si la barrera restringe completamente el viaje o escala el coste de viajar a través de ella. Existen dos opciones:
Utilice el valor 0 para Restricción y 1 para Coste en escala. ScaledTimeFactor: Este es el factor por el cual se multiplica el tiempo de viaje de las calles que intersecan con la barrera. Este campo solo tiene validez para barreras con coste en escala y solo si las unidades de medida se basan en el tiempo. El valor del campo debe ser mayor que cero. ScaledDistanceFactor: Este es el factor por el cual se multiplica la distancia de las calles que intersecan con la barrera. Este atributo solo tiene validez para barreras con coste en escala y solo si las unidades de medida se basan en distancias. El valor del atributo debe ser mayor que cero. | Feature Set |
Time_Attribute (Opcional) | Define el atributo de coste de red que se debe utilizar cuando el valor de las unidades de medida sea una unidad de tiempo. La herramienta realiza la conversión necesaria de unidades de tiempo cuando el valor de las unidades de medida difiere de las unidades del atributo de coste definido aquí. Es decir, no es necesario que las unidades de tiempo del límite predeterminado y del atributo de coste de red sean las mismas. El valor de este parámetro se invalida cuando Modo de viaje (Travel_Mode en Python) está establecido en cualquier otro valor que no sea Personalizado. | String |
Time_Attribute_Units (Opcional) | Unidades del atributo de tiempo. Las unidades del atributo de tiempo se pueden establecer explícitamente pero se recomienda no pasar nada o pasar "#" y dejar que el solucionador determine las unidades. El valor de este parámetro se invalida cuando Travel_Mode está establecido en cualquier otro valor que no sea CUSTOM. | String |
Distance_Attribute (Opcional) | Define el atributo de coste de red que se debe utilizar cuando el valor de las unidades de medida sea una unidad de distancia. La herramienta realiza la conversión necesaria de unidades de distancia cuando el valor de las unidades de medida difiere de las unidades del atributo de coste definido aquí. Es decir, no es necesario que las unidades de medida y las unidades de distancia del atributo de coste de red sean las mismas. El valor de este parámetro se invalida cuando Modo de viaje (Travel_Mode en Python) está establecido en cualquier otro valor que no sea Personalizado. | String |
Distance_Attribute_Units (Opcional) | Unidades del atributo de distancia. Las unidades del atributo de distancia se pueden establecer explícitamente pero se recomienda no pasar nada o pasar "#" y dejar que el solucionador determine las unidades. El valor de este parámetro se invalida cuando Travel_Mode está establecido en cualquier otro valor que no sea CUSTOM. | String |
Use_Hierarchy_in_Analysis (Opcional) | Especifique si es necesario usar la jerarquía para buscar las rutas más cortas entre puntos.
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 caso, utilice «#» como el valor de parámetro. Puede utilizar el parámetro Force_Hierarchy_Beyond_Distance para forzar que el solucionador utilice la jerarquía incluso si Use_Hierarchy_in_Analysis está establecido en False. Este parámetro se ignora a menos que Travel_Mode esté establecido en CUSTOM. Cuando se modela un modo a pie personalizado, se recomienda desactivar la jerarquía, ya que está diseñada para vehículos motorizados. | Boolean |
Restrictions [restriction,...] (Opcional) | Indica qué atributos de restricción de red se respetan en el momento de la resolución. El valor de este parámetro se invalida cuando Modo de viaje (Travel_Mode en Python) está establecido en cualquier otro valor que no sea personalizado. | String |
Attribute_Parameter_Values (Opcional) | Especifica los valores de parámetro de atributos de red que tienen parámetros. El conjunto de registros tiene dos columnas que trabajan juntas para identificar parámetros de forma única y otra columna que especifica el valor del parámetro. El valor de este parámetro se invalida cuando Modo de viaje (Travel_Mode en Python) está establecido en cualquier otro valor que no sea personalizado. El conjunto de registros de valores de parámetro tiene atributos asociados. Los campos en la tabla de atributos se enumeran y describen a continuación. ObjectID: Campo ID administrado por el sistema. AttributeName: El nombre del atributo de red cuyo parámetro de atributos se establece por la fila de tabla. ParameterName: El nombre del parámetro de atributos cuyo valor se establece por la fila de tabla. (Los parámetros de tipo Objeto no se pueden actualizar utilizando esta herramienta). ParameterValue: El valor que desea para el parámetro de atributos. Si no se especifica el valor, el valor de los parámetros de atributos se establecerá en Nulo. | Record Set |
Accumulate_Attributes [attribute,...] (Opcional) | Lista de los atributos de coste que se acumularán durante el análisis. Estos atributos de acumulación se usan exclusivamente como referencia; el solucionador solo utiliza los atributos de coste especificados por los parámetros Atributo de tiempo (Time_Attribute en Python) o Atributo de distancia (Distance_Attribute en Python) para calcular las rutas más cortas. Para cada atributo de coste acumulado, se agrega un campo Total_[atributo] a las rutas generadas por el solucionador. | String |
Maximum_Snap_Tolerance (Opcional) | La máxima tolerancia de alineación es la distancia más lejana que busca Network Analyst al ubicar o reubicar un punto en la red. La búsqueda busca bordes o cruces adecuados y alinea el punto con el más cercano. Si no se encuentra una ubicación adecuada dentro de la máxima tolerancia de alineación, el objeto se marca como no ubicado. | Linear Unit |
Feature_Locator_WHERE_Clause (Opcional) | Una expresión SQL utilizada para seleccionar un subconjunto de entidades de origen que limita los elementos de red en que se pueden ubicar las instalaciones y los puntos de demanda. La sintaxis para este parámetro consta de dos partes: la primera es el nombre de la clase de entidad de origen (seguido de un espacio) y la segunda es la expresión SQL. Al escribir una expresión SQL para dos o más clases de entidad de origen, sepárelas con un punto y coma. Para garantizar que las instalaciones no se encuentran en autopistas de acceso limitado, por ejemplo, se debe escribir una expresión SQL como la siguiente para excluir esas entidades de origen: "Streets" "FUNC_CLASS not in('1', '2')". Tenga en cuenta que durante la carga las barreras ignoran la cláusula WHERE del localizador de entidad. | String |
Allocation_Line_Shape (Opcional) | Especifique el tipo de entidades de línea que produce la herramienta. El parámetro acepta uno de los valores siguientes:
Cualquiera que sea el valor elegido para el parámetro Forma de líneas de asignación, la ruta más corta siempre se determina minimizando el tiempo de viaje o la distancia de viaje; nunca se determina usando la distancia en línea recta entre puntos de demanda e instalaciones. Es decir, este parámetro solo cambia las formas de las líneas de salida; no cambia el método de medición. Cuando el parámetro Forma de línea de asignación (Allocation_Line_Shape en Python) se ha establecido como Líneas verdaderas sin mediciones o Líneas verdaderas con mediciones, la generalización de la forma de la ruta se puede controlar mejor con el valor apropiado del parámetro Tolerancia de simplificación de línea de asignación(Allocation_Line_Simplification_Tolerance en Python). | String |
Allocation_Line_Simplification_Tolerance (Opcional) | Especifique cuánto desea simplificar la geometría de las líneas de asignación. Le herramienta no tiene en cuenta este parámetro si el parámetro Forma de líneas de asignación (Allocation_Line_Shape en Python) no está configurado para dar líneas verdaderas como resultado. La simplificación mantiene puntos críticos de una ruta, como los giros en intersecciones, para definir la forma esencial de la ruta y quita el resto de los puntos. La distancia de simplificación que especifique será el desplazamiento máximo permisible que puede apartarse la línea simplificada de la línea original. La simplificación de una línea reduce el número de vértices que forman parte de la geometría de la ruta. Esto mejora el tiempo de ejecución de la herramienta y reduce el tiempo necesario para dibujar las líneas. El valor de este parámetro se invalida cuando Modo de viaje (Travel_Mode en Python) está establecido en cualquier otro valor que no sea personalizado. | Linear Unit |
Maximum_Features_Affected_by_Point_Barriers (Opcional) | Restringe el número de entidades que pueden ser afectadas por las barreras de punto. Este parámetro le ayuda a regir la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo para este parámetro para la versión gratuita del servicio que está creando y utilizar un valor más alto para la versión de suscripción de pago. Un valor nulo indica que no hay ningún límite. | Long |
Maximum_Features_Affected_by_Line_Barriers (Opcional) | Restringe el número de entidades pueden ser afectadas por las barreras de línea. Este parámetro le ayuda a regir la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo para este parámetro para la versión gratuita del servicio que está creando y utilizar un valor más alto para la versión de suscripción de pago. Un valor nulo indica que no hay ningún límite. | Long |
Maximum_Features_Affected_by_Polygon_Barriers (Opcional) | Restringe el número de entidades que pueden ser afectadas por las barreras de polígono. Este parámetro le ayuda a regir la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo para este parámetro para la versión gratuita del servicio que está creando y utilizar un valor más alto para la versión de suscripción de pago. Un valor nulo indica que no hay ningún límite. | Long |
Maximum_Facilities (Opcional) | Limita la cantidad de instalaciones que se puede agregar al análisis de ubicación y asignación. Este parámetro está relacionado con el parámetro Instalaciones. Este parámetro le ayuda a regir la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo para este parámetro para la versión gratuita del servicio que está creando y utilizar un valor más alto para la versión de suscripción de pago. Un valor nulo indica que no hay ningún límite. | Long |
Maximum_Facilities_to_Find (Opcional) | Limita la cantidad de instalaciones que se puede agregar al análisis de ubicación y asignación. Este parámetro está relacionado con el parámetro Cantidad de instalaciones a buscar (Number_of_Facilities_to_Find en Python). Este parámetro le ayuda a regir la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo para este parámetro para la versión gratuita del servicio que está creando y utilizar un valor más alto para la versión de suscripción de pago. Un valor nulo indica que no hay ningún límite. | Long |
Maximum_Demand_Points (Opcional) | Limita la cantidad de puntos de demanda que se puede agregar al análisis de ubicación y asignación. Este parámetro está relacionado con el parámetro Puntos de demanda (Demand_Points en Python). Este parámetro le ayuda a regir la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo para este parámetro para la versión gratuita del servicio que está creando y utilizar un valor más alto para la versión de suscripción de pago. Un valor nulo indica que no hay ningún límite. | Long |
Force_Hierarchy_Beyond_Distance (Opcional) | Especifica la distancia después de la cual el solucionador forzará la jerarquía, aunque la jerarquía no esté habilitada, al buscar las rutas más cortas entre instalaciones y puntos de demanda. Las unidades de este parámetro son las mismas que las que se muestran en el parámetro Unidades de atributo de distancia (Distance_Attribute_Units en Python). Buscar las rutas más cortas entre instalaciones y puntos de demanda que están alejados mientras se utiliza la jerarquía de red tiende a utilizar menos tiempo de procesamiento que buscar las mismas rutas sin usar la jerarquía. Este parámetro le ayuda a regir la cantidad de procesamiento que se produce al resolver. Un valor nulo indica que la jerarquía nunca será aplicada y el valor del parámetro Utilizar jerarquía en el análisis (Use_Hierarchy_in_Analysis en Python) siempre se respeta. Si el dataset de red de entrada no admite jerarquía, especificar un valor para este parámetro ocasionará un error. En este caso se debe utilizar un valor nulo. Este parámetro está deshabilitado a menos que el dataset de red incluya un atributo de jerarquía. | Double |
Save_Output_Network_Analysis_Layer (Opcional) |
En cualquier caso, se devuelven las clases de entidad que contienen los resultados. Sin embargo, un administrador del servidor puede elegir que la salida sea también una capa de análisis de red de salida para que el programa de instalación y los resultados de la herramienta puedan ser depurados utilizando los controles Network Analyst en el entorno de ArcGIS Desktop. Esto puede hacer que el proceso de depuración sea mucho más fácil. En ArcGIS Desktop, la ubicación de salida predeterminada para la capa de análisis de red está en la carpeta temporal. Puede determinar la ubicación de la carpeta temporal mediante la evaluación del valor de entorno de geoprocesamiento arcpy.env.scratchFolder. La capa de análisis de red de salida se almacena como un archivo LYR cuyo nombre comienza con _ags_gpna y está seguido por un GUID alfanumérico. | Boolean |
Travel_Mode (Opcional) | Seleccione el modo de transporte para el análisis. CUSTOM siempre es una opción. Para que aparezcan otros nombres de modo de viaje, estos deben estar presentes en el dataset de red especificado en el parámetro Network_Dataset. (La función arcpy.na.GetTravelModes proporciona un diccionario de los objetos de modo de viaje configurados en un dataset de red, y la propiedad name devuelve el nombre de un objeto de modo de viaje). Un modo de viaje se define en un dataset de red y proporciona valores de invalidación para los parámetros que, juntos, modelan coches, camiones, peatones u otros modos de viaje. Al elegir aquí un modo de viaje, no tiene que proporcionar valores para los siguientes parámetros, que se invalidan con los valores especificados en el dataset de red:
| String |
Overrides (Opcional) | Especifique cualquier parámetro adicional que pueda influir en el comportamiento del solucionador al buscar soluciones para problemas de análisis de red. Se debe especificar el valor para este parámetro en la notación de objetos JavaScript (JSON). Por ejemplo, un valor válido tiene el siguiente formato {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. El nombre del parámetro de invalidación siempre está incluido entre comillas dobles. Los valores pueden ser un número, operador booleano o cadena de caracteres. El valor predeterminado para este parámetro es ningún valor, lo que indica que no se debe invalidar ningún parámetro del solucionador. Las invalidaciones son parámetros avanzados que se deben utilizar solamente después de un análisis cuidadoso de los resultados obtenidos antes y después de aplicar los parámetros. Puede ponerse en contacto con el Soporte técnico de Esri para obtener una lista de los parámetros de invalidación compatibles para cada solucionador y sus valores aceptables. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
Solve_Succeeded | Determina si el servicio ha podido elegir correctamente las mejores instalaciones. | Booleano |
Output_Allocation_Lines | Líneas que conectan puntos de demanda a las instalaciones a las que fueron asignados. | Clase de entidad |
Output_Facilities | Accede a las instalaciones elegidas, requeridas y competidoras, así como a cualquier instalación candidata no elegida. | Clase de entidad |
Output_Demand_Points | Los puntos de demanda que participaron en los análisis. | Clase de entidad |
Output_Route_Edges | Representa los segmentos individuales de carretera a lo largo de la ruta más corta entre los puntos de demanda y las instalaciones a las que están asignados. | Clase de entidad |
Output_LocationAllocation_Analysis_Layer | La capa de análisis de ubicación y asignación de salida. | Archivo |
Output_Route_Analysis_Layer | La capa de análisis de ruta de salida. | Archivo |
Muestra de código
Ejemplo 1 de SolveLocationAllocation (ventana de Python)
Ejecute la herramienta SolveLocationAllocation utilizando los parámetros requeridos.
facilities = arcpy.FeatureSet()
facilities.load("Stores")
demandPoints = arcpy.FeatureSet()
demandPoints.load("TractCentroids")
arcpy.na.SolveLocationAllocation(facilities, demandPoints, "Minutes",
"Streets_ND", "in_memory", "Lines",
"OutFacilities", "OutDemandPoints",
"RouteEdges", Number_of_Facilities_to_Find=2)
Ejemplo 2 de SolveLocationAllocation (script independiente)
En el siguiente script independiente de Python se muestra cómo utilizar SolveLocationAllocation mediante un script independiente.
# Name: SolveLocationAllocation_Workflow.py
# Description: Find the two stores that are most convenient to your customers.
# The results show which stores were selected and which store is
# most convenient to each customer location.
# 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 = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\SanFrancisco.gdb'
env.overwriteOutput = True
#Set local variables
inNetworkDataset = r'Transportation\Streets_ND'
inFacilities = r'Analysis\Stores'
inDemandPoints = r'Analysis\TractCentroids'
outGeodatabase = r'C:\arcgis\ArcTutor\Network Analyst\Tutorial\Output.gdb'
outLines = "Lines"
outFacilities = "Facilities"
outDemandPoints = "DemandPoints"
outRouteEdges = "RouteEdges"
measurement_units = "Minutes"
# Run SolveLocationAllocation. Find the best two stores, but don't consider
# stores beyond a 10 minute travel time for a given customer.
arcpy.na.SolveLocationAllocation(inFacilities, inDemandPoints,
measurement_units, inNetworkDataset,
outGeodatabase, outLines, outFacilities,
outDemandPoints, outRouteEdges,
Number_of_Facilities_to_Find=2,
Default_Measurement_Cutoff=10.0)
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
Información de licenciamiento
- Basic: Requiere Network Analyst
- Standard: Requiere Network Analyst
- Advanced: Requiere Network Analyst