GenerateServiceAreas (ServiceAreas)
Récapitulatif
Ce service ArcGIS Online détermine les zones de desserte de réseau autour des ressources. Une zone de desserte de réseau est une région qui englobe toutes les rues auxquelles il est possible d'accéder selon une distance ou un temps de trajet donnés à partir d'une ou de plusieurs ressources. Par exemple, la zone de desserte de 10 minutes d'une ressource inclut toutes les rues qui peuvent être atteintes en moins de 10 minutes à partir de cette ressource.
Les zones de desserte servent généralement à visualiser et mesurer l'accessibilité. Par exemple, un polygone de temps de conduite de trois minutes autour d'une épicerie permet de déterminer les résidents susceptibles de rejoindre le magasin en trois minutes et donc d'y faire leurs courses.
Illustration
Utilisation
-
L'outil crée des zones isochrones si la valeur du paramètre Unités des bornes est définie sur une unité temporelle. De même, l'outil crée des zones de distance de trajet si le paramètre Unités des bornes utilise des unités de distance. L'outil peut générer des zones de desserte d'un maximum de 300 minutes ou 300 miles (482,80 kilomètres). Lors de la génération de polygones détaillés, la taille de la zone de desserte maximale est limitée à 15 minutes et 15 miles (24,14 kilomètres).
Vous devez spécifier au moins une ressource pour exécuter l'outil. Vous pouvez charger jusqu'à 1,000 ressources.
Vous pouvez ajouter jusqu'à 250 interruptions ponctuelles. Vous pouvez ajouter autant d'interruptions linéaires ou polygonales que vous voulez, mais les interruptions linéaires ne peuvent pas intersecter plus de 500 entités rues et les interruptions polygonales ne peuvent pas intersecter plus de 2,000 entités.
Vous pouvez utiliser la hiérarchie routière lors de la résolution d'un problème afin de générer les résultats plus rapidement, mais la solution risque d'être moins précise.
Que le paramètre Utiliser la hiérarchie soit activé (True) ou non, la hiérarchie est toujours utilisée lorsque la valeur d'interruption maximale dépasse 240 minutes ou 240 miles (386,24 kilomètres). Lorsque les zones de desserte en sortie ne se chevauchent pas et ne sont pas généralisées, cette limite est réduite à 15 minutes et 15 miles (24,14 kilomètres).
Si la distance entre un point en entrée et sa rue traversable la plus proche est supérieure à 12,42 miles (20 kilomètres), le point est exclus de l'analyse.
Syntaxe
Paramètre | Explication | Type de données |
Facilities |
Ressources autour desquelles les zones de desserte sont générées. Vous pouvez charger jusqu'à 1,000 ressources. Le jeu d'entités des ressources est associé à une table attributaire. Les champs de la table attributaire sont répertoriés et décrits ci-dessous. ObjectID : champ d'ID géré par le système. Name : nom de la ressource. Si le nom n'est pas spécifié, un nom est automatiquement généré pendant le processus de calcul. Tous les champs des ressources en entrée sont inclus dans les polygones en sortie lorsque le paramètre Polygones pour les ressources multiples est défini sur Superposition ou Pas de superposition. Le champ ObjectID dans les ressources en entrée est transféré vers le champ FacilityOID dans les polygones en sortie. | Feature Set |
Break_Values |
Spécifie la taille et le nombre de polygones de zones de desserte à générer pour chaque ressource. Les unités sont déterminées par la valeurs Unités des bornes. Plusieurs bornes de polygones peuvent être configurées pour créer des zones de desserte concentriques par ressource. Par exemple, pour rechercher des zones de desserte à 2, 3 et 5 miles pour chaque ressource, entrez 2 3 5 en séparant les valeurs par un espace, puis définissez Unités des bornes sur Miles. Il n'y a aucune limite au nombre de valeurs de bornes que vous pouvez spécifier. La taille de la valeur de borne maximale ne peut pas dépasser l'équivalent de 300 minutes ou 300 miles (482,80 kilomètres). Lors de la génération de polygones détaillés, la taille de la zone de desserte maximale est limitée à 15 minutes et 15 miles (24,14 kilomètres). | String |
Break_Units |
Unité du paramètre Valeurs des bornes. Les unités que vous choisissez pour ce paramètre déterminent si l'outil crée les zones de desserte en mesurant la distance à parcourir ou le temps de trajet. Choisissez une unité de temps pour mesurer la durée du trajet. Pour mesurer la distance à parcourir, choisissez une unité de distance. Votre choix détermine également les unités utilisées par l'outil pour signaler la distance totale à parcourir ou la distance dans les résultats. Les choix possibles sont les suivants :
| String |
Analysis_Region (Facultatif) |
Indiquez la région dans laquelle effectuer l'analyse. Si aucune valeur n'est spécifiée pour ce paramètre, l'outil calcule automatiquement le nom de la région en fonction de l'emplacement des points en entrée. Il est recommandé de définir le nom de la région afin d'accélérer l'exécution de l'outil. Pour indiquer une région, utilisez l'une des valeurs suivantes :
| String |
Travel_Direction |
Indique si le trajet utilisé pour générer les polygones de la zone de desserte s'effectue depuis ou vers les ressources.
La direction du trajet peut changer la forme des polygones si les impédances sur les côtés opposés des rues diffèrent ou en présence de rues à sens unique. La direction à sélectionner dépend de la nature de votre analyse des zones de desserte. La zone de desserte d'un vendeur de pizzas, par exemple, doit être créée depuis la ressource, alors que la zone de desserte d'un hôpital doit être créée vers la ressource. | String |
Time_of_Day |
Heure de départ ou d'arrivée aux ressources. L'interprétation de cette valeur varie selon que le trajet se rapproche ou s'éloigne des ressources.
Vous pouvez utiliser le paramètre Fuseau horaire de l'heure de la journée pour spécifier si cette heure et cette date correspondent à l'heure UTC ou au fuseau horaire dans lequel la ressource se trouve. En répétant la même analyse avec des valeurs différentes du paramètre Heure du jour, vous pouvez voir l'évolution de la portée d'une ressource en fonction de l'heure. Par exemple, la zone de desserte de 5 minutes autour d'une caserne de pompiers peut être grande tôt le matin, diminuer aux heures de pointe matinales, augmenter en fin de matinée, et ainsi de suite tout au long de la journée. | Date |
Use_Hierarchy |
Indiquez si vous souhaitez utiliser une hiérarchie lorsque vous recherchez le meilleur itinéraire entre la ressource et l'incident.
Que le paramètre Utiliser la hiérarchie soit activé (True) ou non, la hiérarchie est toujours utilisée lorsque la valeur d'interruption maximale dépasse 240 minutes ou 240 miles (386,24 kilomètres). | Boolean |
UTurn_at_Junctions |
Utilisez ce paramètre pour empêcher ou autoriser la zone de desserte à réaliser des demi-tours aux jonctions. La terminologie suivante permet de mieux comprendre les valeurs des paramètres : une jonction est un point où un segment de rue se termine et se connecte potentiellement à un ou plusieurs autres segments. Une pseudo-jonction est un point où exactement deux rues se connectent. Une intersection est un point où trois rues ou plus se connectent. Une voie sans issue est un endroit où un segment de rue se termine sans se connecter à aucun autre. Avec ces informations, le paramètre peut avoir les valeurs suivantes :
| String |
Polygons_for_Multiple_Facilities |
Indiquez comment les polygones de zone de desserte sont générés lorsque plusieurs ressources sont présentes dans l'analyse.
Avec Superposition ou Pas de superposition, tous les champs des ressources en entrée sont inclus dans les polygones en sortie, mais les valeurs du champ ObjectID en entrée sont transférées vers le champ FacilityOID des polygones en sortie. Le champ FacilityOID a la valeur Null en cas de combinaison des polygones par borne et les champs en entrée ne font pas partie de la sortie. | String |
Polygon_Overlap_Type |
Précise l'option de création de polygones de zone de desserte concentriques sous forme de disques ou d'anneaux. Cette option s'applique uniquement lorsque plusieurs valeurs de bornes sont spécifiées pour les ressources.
| String |
Detailed_Polygons (Facultatif) |
Permet de créer des polygones généralisés ou détaillés.
Si vos ressources se trouvent dans une zone urbaine avec un réseau de transport de type quadrillage, la différence entre les zones de desserte généralisées et détaillées est minime. Cependant, si vos ressources se trouvent dans une région comprenant des routes de montagne et de campagne, les zones de desserte détaillées peuvent afficher des résultats beaucoup plus précis que les zones de desserte généralisées. L'outil prend en charge la génération de polygones détaillés uniquement si la valeur la plus importante spécifiée dans le paramètre Valeurs des bornes est inférieure ou égale à 15 minutes ou à 15 miles (24,14 kilomètres) lors de la génération de zones de desserte temporelles ou basées sur la distance, respectivement. | Boolean |
Polygon_Trim_Distance |
Spécifie la distance au sein de laquelle les polygones de zone de desserte sont tronqués. Cette option s'avère utile pour rechercher des zones de dessertes dans des endroits où le réseau de transport est clairsemé et que vous ne voulez pas que la zone de desserte couvre de larges surfaces sur lesquelles il n'y a aucune entité rue. La valeur par défaut est 100 mètres. Si ce paramètre est défini par la valeur 0 si aucune valeur n'est spécifiée, les polygones de la zone de desserte ne seront pas tronqués. La valeur de ce paramètre est ignorée lors de l'utilisation de la hiérarchie. | Linear unit |
Polygon_Simplification_Tolerance |
Indique dans quelle proportion vous souhaitez simplifier la géométrie du polygone. La simplification conserve les sommets critiques d'un polygone pour définir sa forme globale et supprime d'autres sommets. La distance de simplification que vous spécifiez est le décalage maximal par rapport auquel les limites du polygone simplifié peuvent dévier des limites du polygone d'origine. La simplification d'un polygone diminue le nombre de sommets et tend à réduire la durée d'affichage. | Linear unit |
Point_Barriers | Spécifiez un ou plusieurs points devant servir de restrictions temporaires ou représentant un délai ou une distance supplémentaire risquant d'être nécessaire pour se déplacer dans les rues sous-jacentes. Par exemple, une interruption ponctuelle peut servir à représenter un arbre tombé dans une rue ou le temps d'attente à un passage à niveau. L'outil impose une limite de 250 points à ajouter comme interruptions. Vous pouvez définir les propriétés des interruptions ponctuelles que vous spécifiez, comme leur nom ou type d'interruption, en utilisant des attributs. Vous pouvez spécifier les interruptions ponctuelles avec les attributs suivants : Name : nom de l'interruption. BarrierType : spécifie si l'interruption ponctuelle restreint complètement la circulation ou ajoute un délai ou une distance lorsqu'elle est traversée. La valeur de cet attribut peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :
Additional_Time : indique le temps de trajet ajouté lorsque l'interruption est franchie. Ce champ est actif uniquement pour les interruptions à coût ajouté et uniquement si la valeur Unités des bornes est temporelle. Cette valeur de champ doit être supérieure ou égale à zéro et ses unités identiques à celles spécifiées dans le paramètre Unités des bornes. Additional_Distance : indique la distance ajoutée lorsque l'interruption est franchie. Ce champ est actif uniquement pour les interruptions à coût ajouté et uniquement si la valeur Unités des bornes est basée sur la distance. La valeur du champ doit être supérieure ou égale à zéro et ses unités identiques à celles spécifiées dans le paramètre Unités des bornes. | Feature Set |
Line_Barriers (Facultatif) |
Spécifiez une ou plusieurs lignes interdisant la circulation partout où les lignes intersectent les rues. Par exemple, un défilé ou une manifestation qui bloque la circulation sur plusieurs segments de rue peut être modélisé avec une interruption linéaire. Une interruption linéaire peut également délimiter rapidement un périmètre autour de plusieurs routes et filtrer ainsi les itinéraires possibles en évitant les parties indésirables du réseau de transport. L'outil impose une limite au nombre de rues que vous pouvez restreindre à l'aide du paramètre des interruptions linéaires. Bien qu'aucune limite ne soit imposée au nombre de lignes que vous pouvez spécifier comme interruptions linéaires, le nombre combiné de rues intersectées par toutes les lignes ne peut pas dépasser 500. Vous pouvez définir une propriété de nom pour les interruptions linéaires que vous spécifiez en utilisant les attributs suivants : Name : nom de l'interruption. | Feature Set |
Polygon_Barriers | Spécifiez les polygones qui restreignent entièrement la circulation ou adaptez proportionnellement le temps ou la distance nécessaire pour se déplacer dans les rues intersectées par les polygones. Le service impose une limite au nombre de rues que vous pouvez restreindre à l'aide du paramètre des interruptions polygonales. Bien qu'aucune limite ne soit imposée au nombre de polygones que vous pouvez spécifier comme interruptions polygonales, le nombre combiné de rues intersectées par tous les polygones ne doit pas dépasser 2,000. Vous pouvez définir les propriétés des interruptions polygonales que vous spécifiez, comme leur nom ou type d'interruption, en utilisant des attributs. Vous pouvez spécifier les interruptions polygonales avec les attributs suivants : Name : nom de l'interruption. BarrierType : spécifie si l'interruption restreint complètement la circulation ou adapte le temps ou la distance de déplacement lorsqu'elle est traversée. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :
ScaledTimeFactor : il s'agit du facteur de multiplication du temps de trajet des rues intersectées par l'interruption. Ce champ est actif uniquement pour les interruptions à coût proportionné et uniquement si la valeur Unités des bornes est temporelle. La valeur du champ doit être supérieure à zéro et ses unités identiques à celles spécifiées dans le paramètre Unités des bornes. ScaledDistanceFactor : il s'agit du facteur de multiplication de la distance des rues intersectées par l'interruption. Cet attribut est actif uniquement pour les interruptions à coût proportionné et uniquement si la valeur Unités des bornes est basée sur la distance. La valeur de l'attribut doit être supérieure à zéro. | Feature Set |
Restrictions |
Indiquez les restrictions de circulation qui doivent être respectées par l'outil lorsque vous identifiez les zones de desserte. Une restriction représente une préférence ou une exigence relative à un trajet. Dans la plupart des cas, les restrictions sont utilisées pour interdire certaines routes. Par exemple, la restriction Eviter les routes à péage permet d'obtenir un itinéraire qui n'inclut les routes à péage que lorsque cela est strictement inévitable pour visiter un incident ou une ressource. Restriction de hauteur permet de contourner les dégagements qui sont inférieurs à la hauteur de votre véhicule. Si vous transportez des matières corrosives dans votre véhicule, l'utilisation de la restriction Substances dangereuses interdites empêche le transport de ces matériaux sur les routes qui l'interdisent. Lors de la génération de polygones détaillés, les routes interdites ne sont pas couvertes par les polygones de zone de desserte et peuvent déclencher des polygones avec des trous impossibles à traverser. Toutefois, lors de la génération de zones de desserte générales ou hiérarchiques, les routes soumises à restrictions qui sont entièrement entourées de routes traversables seront couvertes par le polygone de zone de desserte simplifié. Voici une liste des restrictions disponibles, ainsi qu'une brève description. Remarque : Certaines restrictions nécessitent une valeur supplémentaire. Cette valeur doit être associée au nom de la restriction et à un paramètre précis destiné à fonctionner avec la restriction. Vous pouvez identifier ces restrictions si leurs noms apparaissent sous la colonne AttributeName dans le paramètre Valeurs des paramètres d’attributs. Le champ ParameterValue doit être indiqué dans le paramètre Valeurs des paramètres d’attributs pour que la restriction soit correctement utilisée lors de la recherche des routes traversables. Remarque : Certaines restrictions sont uniquement prises en charge dans certains pays. Leur disponibilité est indiquée par région dans la liste ci-dessous. Parmi les restrictions dont la disponibilité est limitée au sein d'une région, vous pouvez vérifier si la restriction est disponible dans un pays en particulier en consultant la table de la section Liste des pays sur la page Web des données couvertes pour les services d'analyse du réseau. Si un pays a la valeur Yes dans la colonne Logistics Attribute, la restriction dotée de la disponibilité sélectionnée est prise en charge dans ce pays. Si vous spécifiez des noms de restrictions qui ne sont pas disponibles dans le pays dans lequel se trouvent vos incidents, le service ignore les restrictions non valides. Le service ignore également les restrictions dont la valeur du paramètre Utilisation de restriction est comprise entre 0 et 1 (voir le paramètre Valeurs des paramètres d’attributs). Il interdit toutes les restrictions dont la valeur du paramètre Utilisation de restriction par défaut est supérieure à 0. L'outil prend en charge les restrictions suivantes :
| String |
Attribute_Parameter_Values (Facultatif) | Spécifiez les valeurs supplémentaires requises par certaines restrictions, telles que le poids d'un véhicule en cas de restriction de poids. Vous pouvez également faire appel au paramètre d'attribut pour spécifier si la restriction interdit, évite ou préfère la circulation sur des routes qui utilisent la restriction. Si la restriction consiste à éviter ou à préférer certaines routes, vous pouvez utiliser ce paramètre pour préciser le degré d'évitement ou de préférence. Par exemple, vous pouvez choisir de ne jamais emprunter de routes à péage, de les éviter autant que possible ou même de les préférer. Si vous spécifiez le paramètre Valeurs des paramètres d’attributs d'une classe d'entités, les noms de champs sur la classe d'entités doivent correspondre aux champs, comme suit : AttributeName : nom de la restriction. ParameterName : nom du paramètre associé à la restriction. Une restriction peut avoir une ou plusieurs valeurs de champs ParameterName selon l'utilisation prévue. ParameterValue : valeur de ParameterName utilisée par l'outil lors de l'évaluation de la restriction. Le paramètre Valeurs des paramètres d'attributs dépend du paramètre Restrictions. Le champ ParameterValue s'applique uniquement si le nom de la restriction est spécifié comme valeur du paramètre Restrictions. Dans le paramètre Valeurs des paramètres d'attributs, chaque restriction (affichée sous la forme AttributeName) se voit attribuer une valeur de champ ParameterName "Utilisation d'une restriction" qui détermine si la restriction interdit, évite ou préfère la circulation sur les routes associées à la restriction et précise le degré d'évitement ou de préférence des routes. Le champ ParameterName "Utilisation d'une restriction" peut se voir attribuer l'une des valeurs de chaîne suivantes ou leurs valeurs numériques équivalentes affichées entre parenthèses :
Dans la plupart des cas, vous pouvez utiliser la valeur PROHIBITED par défaut pour le paramètre Utilisation d'une restriction si la restriction dépend d'une caractéristique du véhicule, telle que sa hauteur. Toutefois, dans certains cas, la valeur du paramètre Utilisation d'une restriction dépend de vos préférences d'itinéraire. Par exemple, pour le paramètre Utilisation d'une restriction, la valeur par défaut de la restriction Eviter les routes à péage est AVOID_MEDIUM. Cela signifie que lorsque cette restriction est utilisée, l'outil essaie de contourner les routes à péage, dans la mesure du possible. AVOID_MEDIUM indique également l'importance d'éviter les routes à péage lorsque vous recherchez le meilleur itinéraire : dans ce cas, la priorité est moyenne. Si vous choisissez AVOID_LOW, il n'est pas important d'éviter les routes à péage ; la sélection de AVOID_HIGH, en revanche, donne une grande importance à ce choix et justifie ainsi la génération par le service d'itinéraires plus longs afin d'éviter les péages. Si vous optez pour PROHIBITED, vous interdisez formellement la circulation sur des routes à péage, ce qui rend impossible la fréquentation d'un tronçon d'une route à péage dans la préparation de l'itinéraire. Gardez à l'esprit que l'évitement ou l'interdiction de routes à péage, et donc l'évitement du paiement de péages, peut constituer un objectif dans certains cas ; en revanche, d'autres préféreront circuler sur des routes à péage, car il leur apparaît plus important d'éviter les embouteillages plutôt que d'économiser sur les coûts de péage. Dans ce dernier cas, vous devez choisir PREFER_LOW, PREFER_MEDIUM ou PREFER_HIGH comme valeur du paramètre Utilisation d'une restriction. Plus la préférence est élevée, plus l'outil devra dévier de son trajet afin d'autoriser la circulation sur les routes associées à la restriction. | Record Set |
Time_Zone_for_Time_of_Day (Facultatif) |
Spécifie les fuseaux horaires du paramètre Heure du jour.
Quel que soit le paramètre Fuseau horaire de l'heure de la journée, toutes les ressources doivent se trouver dans le même fuseau horaire quand Heure du jour a une valeur non nulle et que le paramètre Polygones pour les ressources multiples est défini de sorte à créer des polygones fusionnés qui ne se superposent pas. | String |
Service_Areas (Facultatif) |
Ignorez ce paramètre, il est destiné à être utilisé en interne uniquement. | Feature Class |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil Générer des zones de desserte dans un script.
import arcpy
import time
import sys
username = "<your user name>"
password = "<your password>"
sa_service = "http://logistics.arcgis.com/arcgis/services;World/ServiceAreas;{0};{1}".format(username, password)
#Add the geoprocessing service as a toolbox. Use an alias when importing
arcpy.ImportToolbox(sa_service, "agol")
#Set the variables to call the tool
facilities = r"C:/data/Inputs.gdb/Stores"
output_service_areas = "C:/data/Results.gdb/StoreServiceAreas"
#Call the tool
result = arcpy.agol.GenerateServiceAreas(facilities, "5 10 15", "Minutes")
#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(0).save(output_service_areas)