Types d'évaluateurs utilisés par un réseau
Chaque attribut défini dans le réseau doit avoir des valeurs pour chaque source qui participe au réseau. Un évaluateur définit des valeurs pour l'attribut de chaque source. Dans les versions précédentes d'ArcView GIS et d'ARC/INFO, les valeurs des attributs étaient attribuées à l'aide d'un champ du fichier de formes ou de la couverture. Dans ArcGIS, l'évaluateur de type champ attribue des valeurs à un attribut de réseau à l'aide d'un champ pour chaque source de données du réseau. De plus, ArcGIS offre d'autres types d'évaluateurs, comme par exemple des constantes, des expressions de champ, des fonctions ou VBScript.
Les évaluateurs sont décrits ci-dessous.
Evaluateur |
Description |
---|---|
Evaluateur de type champ |
La méthode la plus fréquente d'attribution de valeurs à un attribut de réseau consiste à identifier un champ unique permettant d'évaluer l'attribut de réseau lors de la création du jeu de données réseau. Par exemple, un évaluateur de type champ peut être utilisé dans les cas où la valeur décrit une mesure, telle que des mètres. |
Evaluateur d'expression de champ |
L'évaluateur de type champ peut être modifié pour sélectionner une expression plutôt qu'un champ unique comme valeur. Dans ce cas, vous devez recréer une expression dans la boîte de dialogue Evaluateur de type champ. Par exemple, si les unités de l'attribut de réseau sont exprimées en mètres, mais les unités des données sources en pieds, vous pouvez créer une expression pour convertir les pieds en mètres lorsque le jeu de données réseau est créé. |
Evaluateur constant |
Vous pouvez attribuer une valeur constante aux attributs. La valeur peut être numérique (0, 1, 2) pour le coût, le descripteur et les attributs de hiérarchie, ou une expression booléenne (Traversable ou Restreint) pour un attribut de restriction. |
Evaluateur de fonction |
L'évaluateur de fonction calcule des valeurs attributaires en exécutant une fonction de multiplication ou logique sur une autre valeur attributaire ou de paramètre. Pour les types d'attribut numériques, les valeurs sont dérivées d'une expression qui multiplie la valeur d'un autre attribut par une valeur quelconque. Par exemple : DriveTime * 1,25. Pour les types d'attributs booléens, les valeurs sont dérivées d'une expression qui compare une autre valeur attributaire à une valeur de paramètre, MaxHeight < VehicleHeight, par exemple. ![]() l'évaluateur de fonction étant une nouveauté d'ArcGIS 9.3, son utilisation dans votre jeu de données réseau rendra ce dernier inexploitable dans les versions d'ArcGIS antérieures à 9.3. |
Evaluateur de délai de tournant global |
L'évaluateur de délai de tournant global affecte une valeur de coût par défaut pour établir une transition entre deux tronçons. Le coût est basé sur l'angle de déflexion entre les deux tronçons et la classe de voies (principale, secondaire ou locale) des tronçons traversés. Vous spécifiez la classe de voies à l'aide de la boîte de dialogue Plages de hiérarchie avec un attribut de hiérarchie. Par exemple, vous pouvez utiliser l'évaluateur de délai de tournant global pour faire en sorte que tous les tournants à gauche, déterminés par les angles de déflexion, de routes secondaires sur des routes locales prennent plus longtemps que les tournants à gauche de routes secondaires sur d'autres routes secondaires. Vous pouvez également spécifier des coûts supplémentaires pour d'autres transitions, comme ajouter des délais de 10 secondes pour continuer tout droit à l'intersection de deux routes secondaires. Pour en savoir plus sur l'établissement de tournants globaux ![]() l'évaluateur de délai de tournant global étant une nouveauté d'ArcGIS 9.3, son utilisation dans votre jeu de données réseau rendra ce dernier inexploitable dans les versions d'ArcGIS antérieures à 9.3. |
Evaluateur VBScript |
Vous pouvez affecter des attributs à partir des résultats de l'exécution de la fonction VBScript. Cette méthode permet de modéliser des attributs complexes. Contrairement à d'autres évaluateurs, l'évaluateur VBScript n'attribue aucune valeur lorsqu'un réseau est créé. Il attribue des valeurs lorsqu'une analyse de réseau particulière nécessite l'utilisation de cet attribut. Si les valeurs d'un attribut changent constamment, l'utilisation d'un évaluateur VBScript peut garantir l'utilisation d'attributs à jour pour l'analyse de réseau. ![]() l'évaluateur VBScript calculant ses valeurs au moment de l'analyse, il peut avoir une incidence négative sur les performances d'analyse. |
Évaluateurs de trafic sur un tronçon |
Les évaluateurs de trafic sur un tronçon sont conçus pour les données de trafic historique. Ils peuvent fournir des temps de trajet pour une heure donnée de la journée et un jour de la semaine en particulier. Ils ont des attributs de repli de coût qui fournissent des temps de trajet pour la semaine et le week-end lorsque les temps de trajet pour des heures spécifiques de la journée ne sont pas disponibles. Ils comportent également des attributs ne tenant pas compte du temps que Network Analyst référence lors de la classification des arrêts ou la résolution des couches d'analyse de réseau qui ne prennent pas en charge les données de trafic historique. |
Chaque jonction en entrée et chaque tournant en entrée peuvent avoir un évaluateur. Chaque tronçon en entrée peut en avoir deux, un pour chaque direction du tronçon.
Un évaluateur par défaut peut être attribué aux tronçons, aux jonctions et aux tournants. Si un évaluateur explicite n'est pas spécifié pour une source particulière, les valeurs de cette source sont attribuées par l'évaluateur par défaut.
Voici le workflow général de l'affectation d'un évaluateur :
- Sélectionnez la source à laquelle l'évaluateur doit être attribué.
- Choisissez un type d'évaluateur tel que Champ, Constante, Fonction ou VBScript.
- Spécifiez la valeur à attribuer à l'attribut de réseau.
Si les valeurs proviennent d'un champ, ce dernier sera sélectionné dans un menu déroulant. Si les valeurs sont calculées à l'aide d'une expression de champ, définissez le type d'évaluateur sur Champ et appuyez sur la touche F12 du clavier pour afficher la boîte de dialogue Evaluateurs de type champ. Vous pouvez également cliquer avec le bouton droit sur la source dans la boîte de dialogue Evaluateurs et choisir Propriétés dans le menu Valeur afin d'ouvrir la boîte de dialogue Evaluateurs de type champ.
Exemples d'évaluateurs
Attribution de valeurs à des attributs de coût
Pour l'attribut de réseau DriveTime, l'évaluateur de la source de données réseau de rues est un type de champ. Le champ FT_Minutes contient des valeurs pour l'attribut de réseau dans la direction de-vers de la source de rues. De même, les valeurs de la direction sens retour de la source de rues sont attribuées à l'aide du champ TF_Minutes.
Dans cet exemple, les autres tronçons en entrée de ce réseau représentent des tronçons de transit et n'affichent aucun temps de conduite. Une valeur constante de -1 peut donc leur être attribuée.
![]() |
Les attributs de coût peuvent également être dérivés d'un autre attribut de coût grâce à l'évaluateur de fonction. Par exemple, un attribut qui modélise les temps de trajet de véhicules lents peut utiliser l'évaluateur de fonction pour référencer un attribut qui modélise les temps de trajet normaux et le multiplie par un facteur de ralentissement.
![]() |
Attribution de valeurs à des restrictions
Les attributs de restriction ont un type de données booléen. Un élément source pouvant être restreint ou traversable, une constante (restreinte ou traversable) peut lui être attribuée.
![]() |
Les attributs de restriction peuvent également être dérivés à l'aide de l'évaluateur de fonction en vue de comparer un autre attribut à une valeur de paramètre. Par exemple, un attribut qui modélise des restrictions de hauteur de véhicule peut utiliser l'évaluateur de fonction pour comparer la limite de hauteur d'une route à la hauteur réelle du véhicule stockée dans un paramètre attributaire. Si l'expression est vraie, la route est restreinte ; si l'expression est fausse, la route est traversable. L'exception à cette règle est lorsque l'une ou l'autre des opérandes (MaxHeight, ou hauteur du véhicule) a une valeur de zéro, l'expression est toujours évaluée comme étant fausse.
![]() |
En savoir plus sur l'utilisation de paramètres avec les attributs de réseau
Enfin, les attributs de restriction peuvent également être attribués à l'aide d'un champ de la classe d'entités source. Par exemple, vous pouvez utiliser un évaluateur d'expression de champ pour générer des résultats booléens. Si l'expression est vraie, l'élément est restreint ; sinon, il est traversable.
Lorsqu'un jeu de données réseau est créé, Network Analyst analyse toutes les sources pour identifier les champs les plus utilisés tels que Oneway. S'il trouve un champ Oneway dans une source, il crée un attribut de réseau Oneway et attribue des valeurs à la source correspondante selon les expressions de champ.
Vous trouverez ci-dessous l'expression utilisée pour un attribut de restriction Oneway dans le sens aller :
![]() |
Vous trouverez ci-dessous l'expression utilisée pour un attribut de restriction Oneway dans le sens retour :
![]() |
Ces expressions déterminent la ou les directions autorisées pour le trajet en fonction de la valeur textuelle du champ Oneway :
- FT ou F = Le trajet est autorisé seulement dans le sens de numérisation de l'entité linéaire (sens aller).
- TF ou T = Le trajet est autorisé uniquement dans le sens de numérisation inverse de l'entité linéaire (sens retour).
- N = Le trajet n'est autorisé dans aucune direction.
- Toute autre valeur = Le trajet est autorisé dans les deux directions.
Attribution de hiérarchies
En affectant des hiérarchies sur votre jeu de données réseau, vous pouvez classer les tronçons en catégories selon les différents niveaux hiérarchiques et réduire ainsi les temps de calcul. Toutefois, n'oubliez pas que les résultats de calculs hiérarchiques peuvent s'avérer moins optimaux que les calculs non hiérarchiques. Il est recommandé de lire également A propos de l'analyse de réseau avec une hiérarchie pour mieux comprendre ce que sont les hiérarchies et pourquoi elles peuvent être utilisées.
Les niveaux de hiérarchie sont définis par des nombres entiers consécutifs, en démarrant à un. L'entier le plus petit, à savoir un, représente le niveau le plus élevé de la hiérarchie. Les valeurs d'entiers plus élevées représentent des niveaux de hiérarchie inférieurs. Par exemple, si vous divisez un réseau en trois niveaux de hiérarchie, vous affectez la valeur 1 aux routes principales, la valeur 2 aux routes secondaires et la valeur 3 aux routes auxiliaires. Les routes principales peuvent comprendre les autoroutes nationales alors que les routes auxiliaires peuvent comprendre des rues résidentielles.
La hiérarchie dans un jeu de données réseau est souvent affectée via un champ ou un évaluateur d'expression de champ. Si la classe d'entités Streets comporte un attribut de classe de voies (Hiérarchie) avec les valeurs 1, 2, et 3, représentant respectivement des autoroutes entre états, des routes principales et des routes secondaires, l'attribut de hiérarchie peut être défini simplement à l'aide d'évaluateurs de type champ.
![]() |
En général, trois, quatre ou cinq niveaux de hiérarchie sont affectés à un attribut de hiérarchie, mais vous pouvez en affecter autant que vous voulez, tant que chaque niveau est représenté par un nombre entier consécutif en partant de un. Il est conseillé d'éviter d'affecter un trop grand nombre de niveaux de hiérarchie, toutefois, car cela peut laisser quelques tronçons déconnectés en rapport avec le reste de la hiérarchie, ce qui peut avoir pour effet de causer des échecs lors de la résolution des couches d'analyse de réseau.
Si la classe d'entités source a un attribut qui classe les voies en un nombre de groupes plus élevé que vous ne souhaitez en tant que niveaux dans votre hiérarchie, vous pouvez encore classer les groupes à l'aide d'un évaluateur d'expression de champ pour obtenir le nombre de niveaux de hiérarchie que vous souhaitez. Prenez par exemple une classe d'entités Streets avec un champ de type entier nommé Func_Class qui comporte les six classes de voies suivantes :
Func_Class |
Type de voie |
---|---|
1 |
Inter-Etats |
2 |
Route à péage entre états |
3 |
Autoroute d'état |
4 |
Route principale |
5 |
Rue locale |
6 |
Bretelle d'autoroute |
En outre, supposez que vous voulez regrouper les valeurs Func_Class comme indiqué dans le tableau suivant afin de créer trois niveaux de hiérarchie.
Niveau de hiérarchie | Valeurs Func_Class |
---|---|
1 | 1 (autoroutes entre états) 2 (autoroute à péage entre états) 6 (bretelles d'autoroute) |
2 | 3 (autoroutes d'état) 4 (routes principales) |
3 | 5 (rues locales) |
Pour modéliser ce scénario, modifiez l'évaluateur de l'attribut Hiérarchie en un évaluateur de type expression de champ. Cela vous permet d'entrer un petit code Pre-logic VBScript qui utilise une variable. Pour cet exemple, la variable level est créée et définie à 3 (niveau de hiérarchie le plus bas dans cet exemple). Définissez la condition suivante : si Func_Class a la valeur 1, 2 ou 6, affectez la valeur 1 à level. Si Func_Class a la valeur 3 ou 4, affectez la valeur 2 à level. Pour tous les autres cas, la valeur reste 3. Dans la zone de texte Valeur de l'évaluateur d'expression de champ, entrez level.
![]() |
Ainsi, une valeur hiérarchique de 1 est attribuée à tous les éléments dont le champ Func_Class affiche la valeur 1, 2 ou 6 ; une valeur hiérarchique de 2 est attribuée à tous les éléments dont le champ Func_Class affiche la valeur 3 ou 4 ; et une valeur hiérarchique de 3 est attribuée à tous les autres éléments (c'est-à-dire ceux dont le champ Func_Class = 5).
![Héritage Héritage](rsrc/legacy.png)
Avant ArcGIS 10, la boîte de dialogue Plages de hiérarchie était utilisée pour convertir plusieurs valeurs de champ en exactement trois niveaux de hiérarchie. Désormais, elle ne sert plus qu'à définir les routes principales, locales et secondaires lors de l'utilisation d'un évaluateur de délai de tournant global. Cela signifie que la boîte de dialogue Plages de hiérarchie n'a aucun effet sur l'attribut de hiérarchie du jeu de données réseau et qu'elle ne concerne que l'évaluateur de délai de tournant global.
![]() |
Cliquez sur Plages dans le volet Attributs pour voir la boîte de dialogue Plages de hiérarchie. |
Lorsqu'un évaluateur de délai de tournant global est utilisé avec un attribut de hiérarchie, les tronçons doivent être classés en trois classes : routes secondaires, locales et principales. Puisqu'un attribut de hiérarchie permet de spécifier tout nombre de niveaux de hiérarchie, la boîte de dialogue Plages de hiérarchie vous permet de regrouper ces niveaux dans exactement trois classes de voies. Cela vous permet de spécifier des coûts qui sont ajoutés par défaut pour les manœuvres en fonction de la classe de voies. Par exemple, vous pouvez ajouter un délai de 10 secondes pour tous les tournants à gauche depuis des routes locales sur des routes secondaires et un délai de trois secondes pour tous les tournants à gauche depuis des routes secondaires sur d'autres routes secondaires. Beaucoup d'autres combinaisons de tournants sont possibles lors de l'utilisation de classes de voies avec l'évaluateur de délai de tournant global.
Pour en savoir plus sur l'établissement de tournants globaux