Bufferer
Créer une zone tampon de la taille spécifiée autour ou à l'intérieur de la géométrie en entrée.
Utilisations typiques
- Création de zones de taille fixe autour de l'entité, telles que des droits de passage ou reculs de terrain.
- Détermine les relations spatiales en se basant sur la proximité
- Crée des zones de tailles variables autour de l'entité pour représenter les valeurs d'attribut
Comment fonctionne-t-il ?
Le Bufferer accepte les géométries de point, de courbe (ligne) et de zone en 2D lorsque le Type de zone tampon est Surface (2D). Tous les types de géométrie sont acceptés lorsque le Types de zone tampon est Solide.
Les points et les courbes peuvent être étendus, créant ainsi des polygones ou des solides avec des points décalés de la Largeur de la zone tampon spécifiée dans les unités spécifiées. Les zones peuvent être agrandies ou réduites, en utilisant des largeurs tampons positives ou négatives, mais les solides nécessitent des largeurs tampons positives.
Les attributs des entités originales peuvent être conservées et la zone tampon ressort, supprimant la géométrie originale.
Une sélection de styles d'extrémité ou de coin est disponible.
Un attribut liste optionnel comprenant de multiples attributs pour les entrées groupées ou entrantes peut être créé.
Exemples
Dans cet exemple, nous mettons en zone tampon les rues artérielles (indiquées en bleu) pour trouver les points d'adresse qui se trouvent à une distance fixe de celles-ci. Les données sur les rues sont dans un système de coordonnées UTM, avec des unités terrestres en mètres.
Les artères urbaines sont dirigées vers un Bufferer.
Nous entrons une Largeur de la zone tampon de 50, et laissons les Unités de largeur de la zone tampon sur le paramètre par défaut Unités terrain (aucune). Cela produira des tampons de 50 mètres de chaque côté de la rue.
Le Type de zone tampon est celui par défaut, Surface (2D).
Les zones tampons et avec leurs points d'adresses sont envoyées vers un SpatialFilter et sont testées.
Dans cet exemple, nous créons des zones tampons autour des lignes de transport rapide. Les données sources sont KML, dans une projection géographique lat/long.
Comme les unités du sol sont en degrés, les données doivent être reprojetées avant d'effectuer des calculs en unités comme les mètres ou les pieds. Le paramètre Unité de largeur de la zone tampon s'en chargera.
Les lignes sont dirigées vers un Bufferer.
Dans la fenêtre de paramètres, nous sélectionnons Mètres en tant qu'unités terrain puis définissons la distance de la zone tampon à 150 m.
Les polygones résultant conservent les attributs des entités originales et sont projetés dans le système de coordonnées original lat/long.
Dans cet exemple, nous prenons un jeu de données ponctuel de foodtrucks dont l'attribut contient le nombre moyen de clients quotidiens qu'ils servent. Nous acheminons les points dans le Bufferer.
Un peu d'expérimentation montre que diviser le trafic quotidien par 10 produit un ensemble de bulles de la taille souhaitée, nous réglons donc la largeur de la zone tampon sur la valeur de l'attribut DAILY_TRAF divisé par 10.
Les zones tampons résultantes sont colorisées en fonction de la catégorie de food truck (type de nourriture servie).
Notes
- Ce Transformer crée des tampons de largeur égale de part et d'autre d'une entité linéaire d'entrée. Pour créer des décalages à gauche ou à droite d'une entité, utiliser OffsetCurveGenerator.
- Les zones tampon sont créées sur une face uniquement, de manière externe pour une Largeur de la zone tampon positive, de manière interne pour une Largeur de la zone tampon négative.
- Les zones tampon en sortie ont toujours une orientation selon la Règle de la main droite.
- Ce Transformer peut produire des résultats inattendus lorsque des surfaces en entrée s'auto-intersectent.
Configuration
Ports d'entrée
Si le paramètre Type de zone tampon est Surface (2D), alors seules les géométries 2D sont acceptées en entrée.
Si le paramètre Type de zone tampon est Solide, alors toutes les géométries sont acceptées en entrée.
Ports de sortie
Une zone ou un solide représentant la région qui se trouve dans la largeur de la zone tampon spécifiée de la géométrie d'entrée. Une géométrie nulle est produite si cette région serait vide.
La géométrie originale n'est pas écrite en sortie.
Les entités avec des géométries invalides ressortiront via ce port avec un attribut supplémentaire, fme_rejection_code, indiquant la raison du rejet.
Si le paramètre Type de zone tampon est Solide, une largeur négative de la zone tampon causera le rejet de l'entité.
Si le paramètre Type de zone tampon est Surface (2D), les géométries non 2D seront rejetées.
Si les Unités de Largeur de la zone tampon valent autre chose que Unités terrain (aucune), les entités sans systèmes de coordonnées seront rejetées.
Gestion des entités rejetées : ce paramètre permet d'interrompre la traduction ou de la poursuivre lorsqu'elle rencontre une entité rejetée. Ce paramètre est disponible à la fois comme option par défaut de FME et comme paramètre de traitement.
Paramètres
Type de zone tampon |
Spécifier la création d'une zone tampon Surface (2D) ou Solide autour des entités en entrée. |
Distance zone tampon |
Chaque point sur la bordure de la surface ou du solide en sortie aura le décalage spécifié, mesuré en unités de terrain, calculé depuis la géométrie entrante.
Notez qu'une Distance de zone tampon de 0 produira :
|
Unité de la zone tampon |
Quand Unité de la zone tampon vaut Surface (2D), les unités de la Distance de la zone tampon peuvent être spécifiées autrement qu'en unités terrain. Ce paramètre est conçu pour être utilisé avec de entités de n'importe quel système de coordonnées (géographique ou autre) et peut donc être utilisé pour créer des projets flexibles qui peuvent avoir une zone tampon peu importe le système de coordonnées et les unités en entrée. Si une unité spécifique est choisie, il peut reprojeter les entités en entrées en une projection Dynamic Equal Distance, leur ajouter une zone tampon et les reprojeter dans le système de coordonnées d'origine. Les entités en entrée sans système de coordonnées défini ressortiront par le port <Rejected>. |
Ces paramètres sont activés seulement quand le Type de zone tampon est Surface (2D).
Style de la zone tampon |
Lors de la mise en zone tampon d'un point ou d'une courbe, vous pouvez sélectionner un style de zone tampon. Les choix possibles sont les suivants :
|
||||||||||||
Style d'angle |
Lors de la mise en zone tampon d'une courbe ou d'une zone, vous pouvez sélectionner un style de angle. Les choix possibles sont les suivants :
|
||||||||||||
Hauteur de biseau |
Limite de pointe Ce paramètre contrôle le degré de pointe d'un coin de zone tampon avant qu'il ne soit biseauté. Il s'agit de la valeur la plus élevée que le rapport entre la distance du coin et le décalage est autorisé à avoir avant que la troncature ne se produise. Un nombre plus élevé permet des angles de coin plus extrêmes.
Ratio de pointe = distance d'angle / décalage
|
||||||||||||
Angle d'interpolation |
Utilisé pour le Style de zone tampon Arrondi et le Style d'angle Arrondi. Il contrôle la régularité des lignes interpolées dans les limites du tampon de sortie, en spécifiant quels angles doivent être utilisés pour approcher le coin circulaire. Plus la valeur de ce paramètre diminue, plus les coins interpolés sont lissés. La valeur est spécifiée en degrés et doit être supérieure à 0 et inférieure ou égale à 90. |
||||||||||||
Méthode de zone tampon |
Indique si les géométries en entrée sont simplifiées avant la création de la zone tampon.
|
||||||||||||
Dissolution sur attributs |
Permet de dissoudre des groupes d'entités tamponnées ayant des valeurs communes pour les attributs spécifiés. Par défaut, aucune dissolution d'entités mises en mémoire tampon n'a lieu. |
||||||||||||
Dissolution sur mode d'attributs |
Traitement à la fin (bloquant) : C'est le comportement par défaut. Le traitement ne se produira dans ce Transformer que lorsque toutes les entrées seront présentes. Traiter lorsque les attributs à dissoudre changent (avancé) : Ce Transformer traitera les groupes d'entrée dans l'ordre. Les changements de la valeur du paramètre Dissolution sur attributs sur le flux d'entrée déclencheront le traitement sur le groupe en cours d'accumulation. Cela peut améliorer la vitesse globale (en particulier avec de multiples groupes de taille égale), mais peut provoquer un comportement indésirable si les groupes d'entrée ne sont pas vraiment ordonnés. Considérations pour utiliser Dissoudre sur attributs
Il y a deux raisons typiques d'utiliser l'option Traiter lorsque les attributs à dissoudre changent (avancé). La première concerne les données entrantes qui sont destinées à être traitées en groupes (et qui sont déjà ordonnées ainsi). Dans ce cas, c'est la structure qui dicte l'utilisation de Dissolution sur attributs, et non les 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 Dissolution sur attributs 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 Dissolution sur attributs avec Traiter à la fin (bloquant) 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. |
Lorsqu'il est activé, ajoute un attribut de liste aux entités de sortie mises en mémoire tampon. Ce paramètre est utile lorsque vous utilisez Dissolution sur attributs ou si les entités d'entrée contiennent des agrégats. Dans chaque groupe ou agrégat, dans chaque région dissoute, les attributs d'une entité d'entrée ayant la plus grande surface sont stockés en tête de liste, et aucun ordre n'est défini pour les autres éléments.
Liste |
Entrer un nom de liste. Note: Les attributs de liste ne sont pas accessibles à partir du schéma de sortie dans Workbench, sauf s'ils sont d'abord traités à l'aide d'un Transformer qui opère sur eux, comme ListExploder ou ListConcatenator. Il est également possible d'utiliser AttributeExposer. |
Ajouter à la liste |
Tous les attributs: tous les attributs seront ajoutés aux entités en sortie. Attributs sélectionnés: Active le paramètre Attributs sélectionnés où des attributs spécifiques peuvent être choisis pour inclusion. |
Attributs sélectionnés | Activé lorsque l'option Ajouter à la liste est définie sur Attributs sélectionnés. Indiquez les attributs que vous souhaitez inclure. |
Ces paramètres sont activés seulement quand le Type de zone tampon est Surface.
Résolution de la bordure |
Un tampon rond est généré le long de tous les bords et coins du solide. Une approximation d'une sphère est utilisée pour construire ces bords. Ce paramètre de résolution détermine le niveau de subdivision à utiliser pour cette sphère. La sphère est générée en utilisant le mappage du cube sphérique quadrilatéralisé, de sorte que la sphère finale sera constituée de 6n^2 faces, pour une valeur de n. La valeur doit être un nombre entier supérieur à 1. Ce solide tampon produit une meilleure approximation d'une distance tampon uniforme avec des niveaux de subdivision plus élevés, au prix de la performance des opérations de tampon. |
É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.
Références
Comportement |
Dépend du paramètre Dissolution sur attributs. Si :
|
Stockage des entités |
Dépend du paramètre Dissolution sur attributs. Si :
|
Dépendances | |
Alias | 3DBufferer, GeographicBufferer |
Historique |
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 tous les résultats sur ce Transformer sur FME Community.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.