DensityCalculator
Détermine la densité d'un groupe d'entités Candidat.
Comment fonctionne-t-il ?
La densité est une mesure des valeurs des Candidats par unité de surface. Elle est calculée sous forme de valeur numérique ; plus la valeur est élevée, plus les entités Candidates sont denses.
L'équation de densité est le total de candidats/surface considérée.
Le total de candidats est défini soit par :
- Le nombre total d'entités Candidat
- La somme des longueurs des entités Candidat
- La somme des superficies des entités Candidat
La superficie est définie par la taille du premier polygone entrant par le port AREA.
Précaution
Il est très important de noter que toutes les entités entrant par le port CANDIDAT sont utilisées pour calculer la densité même si elles se trouvent à l'extérieur de l'entité entrant par le port AREA.
En d'autres termes, ce Transformer ne vérifie pas si les objets candidats se trouvent ou non dans l'entité Area. Si vous souhaitez utiliser uniquement des entités Candidat se trouvant à l'intérieur ou se superposant à l'entité Area, vous devez utiliser au préalable SpatialFilter ou SpatialRelator.
Exemples
Il existe de nombreuses utilisations possibles de ce Transformer :
Densité de maladies (nombre de cas par km2)
Densité du réseau routier (total de longueur de route par km2)
Densité d'occupation du sol (total de zones industrielles par km2)
Dans cet exemple, la densité du réseau de pistes cyclables est calculée pour un code postal particulier.
Superficie du code postal: 195355642.75 ft2
Longueur totale du réseau : 83017.28 ft
Densité : 0.000425
Dans cet exemple, les pistes cyclables empiètent sur les limites des zones du code postal et sont donc découpées, mais DensityCalcualtor n'a pas forcément besoin de ce découpage.
S'il y avait plusieurs entités de code postal à traiter, alors un groupe pourrait être utilisé dans le DensityCalculator, en utilisant l'attribut code postal comme attribut à grouper. Le résultat serait un compte de la densité des pistes cyclables pour chaque code postal.
Notes
- Le type de géométrie des entités Candidate peut être des points, des lignes ou des polygones. Toutefois, les entités Area doivent être des polygones.
- Si des entités Area excédentaires sont fournies, c'est-à-dire s'il y a plus d'une entité Area pour un groupe particulier, elles sont exclues du calcul de la densité pour les candidats. Cependant, ils recevront quand même leur propre calcul de densité. En d'autres termes, chaque entité Area reçoit la densité des entités Candidates pour sa propre taille, mais les entités candidates ne reçoivent leur densité que par rapport à la taille de la première entité Area.
- Si vous avez besoin de trouver la densité des entités Candidate sur la superficie totale de toutes les entités surfaciques, utiliser Aggregator pour agréger les polygones et insérer le résultat de l'agrégat dans le port Area.
Configuration
Ports d'entrée
Une seule entité de référence pour le calcul de la densité.
Un groupe d'entités Candidat.
Ports de sortie
L'entité ou les entités Area originales auxquelles on a ajouté l'attribut de densité. Sa valeur sera la somme des entités Candidates correspondantes (leur nombre, leur longueur ou leur surface) divisée par la surface de cette entité elle-même.
Les entités Candidates d'origine auxquelles on a ajouté l'attribut de densité. Chaque candidate d'un groupe recevra la même valeur de densité : la somme des entités candidates de ce groupe divisée par la surface de la première entité Area correspondante.
Paramètres
Regrouper par |
Si ce paramètre n'est pas spécifié, TOUTES les entités candidates forment un seul groupe et sont traitées par rapport à une seule entité Area. Il s'agit du comportement par défaut. Lorsqu'un attribut est spécifié pour ce paramètre, des groupes sont formés lorsqu'ils ont des valeurs d'attribut correspondantes. Cela vous permet de traiter plusieurs groupes d'entités candidates par rapport à plusieurs entités de surface. |
Traitement des regroupements |
Lorsque toutes les entités sont reçues : comportement par défaut. Le traitement n'aura lieu qu'une fois que toutes les entités en entrée seront présente. Quand le groupe change (avancé) : ce Transformer traitera les groupes en entrée dans l'ordre. Les changements de la valeur du paramètre Regrouper par sur le flux d'entrée déclencheront le traitement du groupe en cours de regroupement. Cela peut améliorer la vitesse globale (en particulier avec plusieurs groupes de taille égale), mais peut provoquer un comportement indésirable si les groupes en entrée ne sont pas ordonnés. Considérations sur l'utilisation de Regrouper par
Il y a deux raisons typiques d'utiliser Quand le groupe change (avancé). La première concerne les données entrantes qui sont destinées à être traitées en groupes (et qui sont déjà classées ainsi). Dans ce cas, c'est la structure qui dicte l'utilisation de Regrouper par - et non des considérations de performance. La seconde raison possible est le potentiel gain de performances. Les gains de performance sont plus visibles quand les données sont déjà triées (ou lues en utilisant une déclaration SQL ORDER BY) puisque moins de travail est requis de la part de FME. Si les données doivent être ordonnées, elles peuvent être triées dans le traitement (bien que la surcharge de traitement supplémentaire puisse annuler tout gain). Le tri devient plus difficile en fonction du nombre de flux de données. Il peut être quasiment impossible de trier des flux de données multiples dans l'ordre correct, car toutes les entités correspondant à une valeur Regrouper par doivent arriver avant toute entité (de tout type d'entité ou jeu de données) appartenant au groupe suivant. Dans ce cas, l'utilisation de Regrouper par avec Lorsque toutes les entités sont reçues peut être une approche équivalente et plus simple. Note: De multiples types d'entités et entités de multiples jeux de données ne vont généralement pas arriver dans l'ordre correct. Comme pour beaucoup de scénarios, tester différentes approches dans votre projet avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Calculer la densité par |
Ce paramètre détermine le mode de calcul de la valeur totale des entités Candidates. Ses valeurs possibles sont :
La relation entre ce paramètre et les géométries Candidat est ainsi :
Quand la géométrie des entités Candidat ne correspond pas à ce qui est spécifié en paramètre, par exemple des entités ponctuelles avec une méthode de calcul égale à Surface, les entités sont ignorées (mais ressortent du Transformer). |
Densité | Nom de l'attribut devant contenir la valeur de densité calculée. La valeur par défaut est _density . |
É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 du 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 d'espace de travail. 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.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au projet peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
Transformers liés
FME Community
FME Community iest 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.
Rechercher des exemples et informations à propos de ce Transformer dans FME Community.