Resumen
La herramienta SolveLocationAllocation escoge las mejores ubicaciones de un conjunto de ubicaciones introducidas.
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.
Ilustración
Uso
La herramienta escoge las mejores instalaciones en función del tiempo de viaje si el valor del parámetro Unidades de medida se basa en el tiempo. Si las unidades de medida se basan en la distancia, utiliza la distancia de viaje.
Debe especificar al menos una instalación y un punto de demanda para que la herramienta funcione correctamente. Puede cargar hasta 1,000 instalaciones y 10,000 punto de demanda.
Puede añadir hasta 250 barreras de punto. Puede añadir cualquier cantidad de barreras de línea o polígono, pero las barreras de línea no se pueden intersecar con más de 500 entidades de calle ni las barreras de polígono se pueden intersecar con más de 2,000 entidades.
Puede optar por usar la jerarquía de carreteras al resolver, si desea que los resultados se generen con mayor rapidez, pero la solución podría no ser óptima.
Con independencia de que el parámetro Utilizar jerarquía se haya activado (Verdadero) o no, la jerarquía siempre se usa cuando la distancia en línea recta entre cualquier par de entidades que representen puntos de demanda o instalaciones sea mayor que 50 millas (80,46 kilómetros).
La distancia en línea recta entre cualquier par de entidades que representen puntos de demanda o instalaciones no puede ser superior a 50 millas (80,46 kilómetros) cuando Modo de viaje está establecido en A pie o cuando está establecido en Personalizado y se utiliza la restricción A pie.
Si la distancia entre un punto de entrada y la calle más próxima que se puede atravesar es mayor que 12,42 millas (20 kilómetros), el punto se excluye del análisis.
Esta herramienta está diseñada para funcionar en ArcGIS Pro, ArcMap, ArcGlobe y ArcScene, pero no en ArcCatalog.
Sintaxis
SolveLocationAllocation_naagol (Facilities, Demand_Points, {Analysis_Region}, Measurement_Units, {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_at_Junctions}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Use_Hierarchy}, {Restrictions}, {Attribute_Parameter_Values}, {Allocation_Line_Shape}, {Travel_Mode}, {Impedance})
Parámetro | Explicación | Tipo de datos |
Facilities | Especifique una o varias instalaciones (hasta 1,000). 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: 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):
Weight: peso relativo de la instalación, que se utiliza para valorar el atractivo, la conveniencia o la predisposición de una instalación en comparación 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. Capacity: el campo Capacity 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 Capacity reemplaza al 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 (hasta 10,000). 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: Name: 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 del que forma parte 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). Weight: 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 indicado 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 medición. Durante el análisis se hace referencia al valor de atributo solo cuando las unidades de medición 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 indicada 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 medición. Durante el análisis se hace referencia al valor de atributo solo cuando las unidades de medición 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 al punto de demanda o salir del mismo. 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 |
Analysis_Region (Opcional) | Especifique la región en la que desea realizar el análisis. Si no se especifica un valor para este parámetro, la herramienta calcula automáticamente el nombre de la región en función de la ubicación de los puntos de entrada. Se recomienda establecer el nombre de la región para acelerar la ejecución de la herramienta. Para especificar una región, utilice uno de los siguientes valores:
| String |
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
| 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 entre las instalaciones candidatas, cuyo valor del campo FacilityType es 2. Las instalaciones que tengan el valor de FacilityType igual a 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 medición. 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, reemplazan al 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 medición se establecen en Millas, puede modelar este comportamiento estableciendo el valor límite de medición predeterminado en 10 y el campo Cutoff_Distance de los puntos de demanda en zonas urbanas en 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 Capacity 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 medición 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. Indicación de 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 medición 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 Indicación de 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_at_Junctions (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. Ello 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.
Este parámetro se ignora a menos que el parámetro Modo de viaje esté establecido en Personalizado. | String |
Point_Barriers (Opcional) |
Especifique uno o varios puntos para que actúen como restricciones temporales o representen el tiempo o la distancia adicional que se puede necesitar para viajar en las calles subyacentes. Por ejemplo, una barrera de punto se puede usar para representar un árbol caído en una calle o el retraso acumulado en un cruce de ferrocarril. La herramienta impone un límite de 250 puntos que se pueden añadir como barreras. Cuando se especifican las barreras de punto, se pueden definir propiedades para cada una de ellas, como su nombre o el tipo de barrera, mediante el uso de atributos. Las barreras de punto se pueden especificar con los siguientes atributos: Name: nombre de la barrera. BarrierType: especifica si la barrera de punto restringe el viaje completamente o agrega tiempo o distancia cuando se cruza. El valor de este atributo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
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) | Especifique una o varias líneas que prohíban viajar a cualquier ubicación en la que las líneas se intersequen con las calles. Por ejemplo, un desfile o una protesta que bloquee el tráfico por varios segmentos de calle se puede modelar con una barrera de línea. Una barrera de línea también puede cercar rápidamente varios caminos para que no se puedan atravesar, alejando así las posibles rutas de las partes no deseadas de la red de calles. La herramienta impone un límite en el número de calles que puede restringir usando el parámetro Barreras de línea. Aunque no existe un límite para la cantidad de líneas que se pueden especificar como barreras de línea, la cantidad combinada de calles que se intersecan con todas las líneas no puede ser superior a 500. Cuando se especifican las barreras de línea, se puede definir una propiedad de nombre para cada una de ellas utilizando el siguiente atributo: Name: nombre de la barrera. | Feature Set |
Polygon_Barriers (Opcional) |
Especifique polígonos que restrinjan completamente el viaje o ajusten de una forma proporcional el tiempo o la distancia que se requieren para viajar por las calles que se intersecan con los polígonos. El servicio impone un límite en el número de calles que se pueden restringir usando el parámetro Barreras de polígono. Aunque no existe un límite para la cantidad de polígonos que se pueden especificar como barreras de polígono, la cantidad combinada de calles que se intersecan con todos los polígonos no puede ser superior a 2,000. Cuando se especifican las barreras de polígono, se pueden definir propiedades para cada una de ellas, como su nombre o el tipo de barrera, mediante el uso de atributos. Las barreras de polígono se pueden especificar con los siguientes atributos: Name: nombre de la barrera. BarrierType: especifica si la barrera restringe el viaje completamente o ajusta el tiempo o la distancia para atravesarla. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):
ScaledTimeFactor: este es el factor por el cual se multiplica el tiempo de viaje de las calles que se 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 se 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 |
Use_Hierarchy (Opcional) | Especifique si se debe usar una jerarquía para buscar la ruta más corta entre las instalaciones y los puntos de demanda.
La herramienta siempre vuelve automáticamente al uso de la jerarquía si la distancia en línea recta entre las instalaciones y los puntos de demanda es mayor de 50 millas, aunque este parámetro se haya definido de modo que no use la jerarquía. | Boolean |
Restrictions (Opcional) |
Especifique qué restricciones debe cumplir la herramienta para buscar las mejores rutas entre instalaciones y puntos de demanda. Una restricción representa una preferencia o un requisito de conducción. En la mayoría de los casos, las restricciones ocasionan la prohibición de carreteras. Por ejemplo, al usar una restricción Evitar carreteras con peaje, se generará una ruta que solo incluirá carreteras con peaje cuando sea absolutamente necesario viajar por ellas para llegar a un incidente o a una instalación. Restricción de altura permite circular evitando cualquier altura que sea inferior a la altura de su vehículo. Si está transportando materiales corrosivos en el vehículo, utilizar la restricción Prohibidos todos los materiales peligrosos impide transportar los materiales en las carreteras en las que está marcado como ilegal hacerlo. Abajo se ofrece una lista de las restricciones disponibles junto con una descripción breve. La herramienta admite las siguientes restricciones:
| String |
Attribute_Parameter_Values (Opcional) | Especifique los valores adicionales requeridos por algunas restricciones, como el peso del vehículo para una restricción de peso. También puede usar el parámetro de atributos para especificar si una restricción prohíbe, evita o prefiere el recorrido por las carreteras que usan la restricción. Si la restricción se ha ideado para evitar carreteras o darles preferencia, puede especificar en qué medida se deben evitar o se les debe dar preferencia usando este parámetro. Por ejemplo, puede elegir que nunca se usen carreteras de peaje, que se eviten en la medida de lo posible o que se les dé una preferencia clara. Si especifica el parámetro Valores de los parámetros de atributos de una clase de entidad, los nombres de los campos de la clase de entidad deben coincidir con los campos que se describen a continuación: AttributeName: muestra el nombre de la restricción. ParameterName: muestra el nombre del parámetro asociado con la restricción. Una restricción puede tener uno o varios valores de campo ParameterName dependiendo del uso previsto para ella. ParameterValue: el valor de ParameterName que la herramienta usará cuando evalúe la restricción. Valores de los parámetros de atributos depende del parámetro Restricciones. El campo ParameterValue solo se usa si el nombre de la restricción se ha especificado como valor del parámetro Restricciones. En Valores de los parámetros de atributos, cada restricción (mostrada como AttributeName) tiene un valor de campo ParameterName, Uso con restricciones, que especifica si la restricción prohíbe, evita o prefiere los viajes por las carreteras asociadas con la restricción y en qué medida las carreteras se evitan o tienen preferencia. El ParameterName Uso de restricción se puede asignar a cualquiera de los siguientes valores de cadenas de texto o a los valores numéricos equivalentes que se muestran entre paréntesis:
En la mayoría de los casos, puede usar el valor predeterminado, PROHIBITED, para Uso de restricción si la restricción depende de una característica del vehículo como su altura. Sin embargo, en algunos casos, el valor de Uso de restricción depende de las preferencias de creación de rutas del usuario. Por ejemplo, la restricción Evitar carreteras con peaje tiene el valor predeterminado AVOID_MEDIUM para el parámetro Uso de restricción. Esto significa que, cuando se utilice la restricción, la herramienta intentará circular fuera de las carreteras con peaje siempre que sea posible. AVOID_MEDIUM también indica lo importante que es evitar las carreteras con peaje al buscar la mejor ruta; tiene una prioridad media. Si se selecciona AVOID_LOW, se dará una importancia menor a evitar los peajes, mientras que si se selecciona AVOID_HIGH se le dará más importancia y, por lo tanto, será más aceptable que el servicio genere rutas más largas para evitar los peajes. Elegir PROHIBITED no permitirá viajar en las carreteras con peaje y hará imposible que una ruta viaje por cualquier parte de una carretera de peaje. Tenga en cuenta que evitar o prohibir carreteras con peaje, y evitando así los pagos de peaje, es el objetivo para algunos; en cambio, otros prefieren conducir en las carreteras con peaje porque evitar el tráfico es más valioso para ellos que el dinero gastado en los peajes. En el último caso, elegiría PREFER_LOW, PREFER_MEDIUM o PREFER_HIGH como valor de Uso de la restricción. Cuanto más alta sea la preferencia, más se apartará la herramienta de su camino para viajar por las carreteras asociadas con la restricción. | Record Set |
Allocation_Line_Shape (Opcional) | El valor predeterminado es producir líneas rectas. 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. | String |
Travel_Mode (Opcional) | Elija el modo de transporte para modelar en el análisis.
Para modelar un modo personalizado de camión, debe seguir los pasos enumerados a continuación.
Para modelar un peatón con requisitos específicos de generación de rutas, debe seguir el mismo procedimiento que para configurar un modo personalizado de camión, pero con las diferencias siguientes:
| String |
Impedance (Opcional) | Especifique la impedancia, que es un valor que representa el esfuerzo o el coste de viajar a lo largo de segmentos de carretera o en otras partes de la red de transporte. La distancia de viaje es impedancia; la longitud de una carretera en kilómetros se puede considerar impedancia. En este sentido, la distancia de viaje es la misma para todos los modos: un kilómetro para un peatón es, igualmente, un kilómetro para un coche. (Lo que puede cambiar son los caminos por los que los diferentes modos tienen permitido viajar, lo cual afecta a la distancia entre puntos, que se modela mediante la configuración del modo de viaje.) Asimismo, el tiempo de viaje puede ser impedancia; un coche puede tardar un minuto en viajar un kilómetro a lo largo de una carretera vacía. Los tiempos de viaje pueden variar según el modo de viaje: un peatón puede tardar más de 20 minutos en recorrer el mismo kilómetro, por lo que resulta importante elegir la impedancia correcta para el modo de viaje que esté modelando. Elija de entre los valores de impedancia siguientes:
El valor introducido para este parámetro se ignora a menos que el parámetro Modo de viaje esté establecido en Personalizado, que es el valor predeterminado. Si elige Tiempo de conducción, Tiempo de camión o Tiempo de caminata, el parámetro Unidades de medida debe ser un valor de tiempo; si elige Distancia de viaje para Impedancia, el parámetro Unidades de medida debe ser un valor de distancia. | String |
Muestra de código
Ejemplo de solución de ubicación y asignación
La siguiente secuencia de comandos de Python demuestra cómo utilizar la herramienta SolveLocationAllocation en una secuencia de comandos.
import arcpy
import time
import sys
username = "<your user name>"
password = "<your password>"
LA_service = "http://logistics.arcgis.com/arcgis/services;World/LocationAllocation;{0};{1}".format(username, password)
#Add the geoprocessing service as a toolbox. Use an alias when importing
arcpy.ImportToolbox(LA_service, "agol")
#Set the variables to call the tool
facilities = r'C:/data/Inputs.gdb/Stores'
demandPoints = r'C:/data/Inputs.gdb/Customers'
output_lines = r'C:/data/Results.gdb/Lines'
output_facilities = r'C:/data/Results.gdb/Facilities'
output_demandPoints = r'C:/data/Results.gdb/DemandPoints'
#Call the tool
result = arcpy.agol.SolveLocationAllocation(facilities, demandPoints, "Minutes",
Problem_Type="Maximize Attendance",
Number_of_Facilities_to_Find=2,
Default_Measurement_Cutoff=10.0)
#Check the status of the result object every 0.5 seconds
#until it has a value of 4(succeeded) or greater
while result.status < 4:
time.sleep(0.5)
#print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
print "An error occured when running the tool"
print result.getMessages(2)
sys.exit(2)
elif result_severity == 1:
print "Warnings were returned when running the tool"
print result.getMessages(1)
#Get the output routes and save to a local geodatabase
result.getOutput(1).save(output_lines)
result.getOutput(2).save(output_facilities)
result.getOutput(3).save(output_demandPoints)
Entornos
Esta herramienta no utiliza ningún entorno de geoprocesamiento