StreamPriorityCalculator

Calcule les flux primaires et secondaires de réseaux à flux multiples. La clé pour déterminer la priorité est l'algorithme du plus court chemin utilisant des itérations multiples dans un graphe de réseau.

Cet attribut définit, pour chaque jonction source du réseau, un chemin unique (le plus court chemin) pour atteindre la jonction de destination. Toutes les lignes de flux incluses dans un chemin (des sources à la destination) auront un attribut de priorité de flux défini sur 1 (primaire) ; toutes les autres sont définies sur 2 (secondaire).

Pour utiliser ce Transformer, vous aurez besoin de spécifier le poids des lignes du réseau en spécifiant l’Attributs de Poids en avant et éventuellement l’attribut de Poids inversé si le graphe du réseau est non orienté.

Un poids est une propriété d'une ligne de réseau généralement utilisée pour représenter un coût de traversée d'une ligne de réseau. Un exemple de poids de ligne est la longueur de la ligne. Dans une analyse du plus court chemin, vous choisirez ce poids si vous voulez que le chemin résultant soit de la plus courte longueur. Pour les entités de ligne, 2 poids peuvent être utilisés : un dans la direction numérisée de l'entité de ligne (le poids avant) et un contre la direction numérisée de l'entité de ligne (le poids arrière). La direction numérisée d'une entité linéaire fait référence à l'ordre des sommets.

L'objectif est de signaler les boucles (cycles) dans le réseau afin de faire ressortir les lignes du réseau primaire.

Résultats attendus

  • Lignes du réseau avec un attribut de priorité de flux défini sur 1 (primaire) ou 2 (secondaire). S'il n'est pas possible de déterminer la priorité (s'il n'y a pas de destination située sur le graphe du réseau), un attribut de priorité de flux est défini à -1. Les lignes du réseau ont également un attribut Graph Identifier. Toutes les lignes du réseau d'un même graphe auront la même valeur dans cet attribut.
  • Destination inutilisée (si la destination n'est pas située sur un point terminal du graphe de réseau).

Exemples

Ce Transformer peut être utilisé sur les lignes de flux linéaires du réseau. Il existe deux façons de déterminer l'attribut de priorité du flux :

  • Pour calculer l'attribut de priorité du flux pour les lignes de réseau orientées : pour ces lignes, la direction numérisées représente une direction de l'écoulement en aval.
  • Pour calculer l'attribut de priorité du flux pour les lignes de réseau non-orientées : pour ces lignes, la direction numérisée n'est pas significative.

Calcul de la priorité pour les lignes orientées du réseau

Lorsque les lignes du réseau sont orientées, le plus court chemin ne doit pas aller à l'encontre de la direction numérisée. Ainsi, initialement le poids le long de la direction numérisée (le poids avant) est la longueur, et le poids contre la direction numérisée (le poids arrière) est une valeur plus grande.

Notons que le poids inverse est optionnel et n'est généralement pas nécessaire.

Calcul de la priorité pour les lignes non orientées du réseau

Lorsque les lignes du réseau ne sont pas orientées, la direction numérisée des lignes du réseau n'est pas significative. Ainsi, le poids le long de la direction numérisée (poids avant) et le poids contre la direction numérisée (poids arrière) sont les mêmes. Dans ce cas, vous pouvez utiliser le même attribut correspondant à la longueur pour les deux paramètres de poids. De cette façon, les boucles sont supprimées pour les lignes du réseau primaire (priorité du flux = 1) et vous pouvez appliquer d'autres algorithmes pour modifier la direction numérisée. C'est ainsi que vous pouvez rendre les lignes du réseau primaires (priorité de flux = 1) où la direction numérisée représente une direction de flux en aval.

Configuration

Ports en entrée

Ports de sortie

Paramètres

Éditer les paramètres des Transformers

À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.

Définir les valeurs

Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.

Options - Tables

Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.

FME Community

FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.

Voir tous les résultats à propos de ce Transformer sur FME Community.

Mots clefs : LevelPriorityCalculator