2DGridAccumulator
Crée une grille régulière de points ou de polygones rectangulaires qui couvrent les étendues de toutes les entités saisies.
Cas d'utilisation courants
-
Générer une grille pour la couverture d'un jeu de données spécifique
-
Création d'une grille de référence avec un Tiler ou un RasterTiler
Comment fonctionne-t-il ?
2DGridAccumulator reçoit des entités avec une géométrie et crée une grille régulière qui couvre la boîte de délimitation contenant toutes les entités.
La grille peut être composée de :
-
polygones rectangulaires,
-
points aux coins de chaque cellule, ou
-
points au centre de chaque cellule.
La taille des cellules peut être spécifiée explicitement en unités de sol ou calculée sur la base du nombre de cellules souhaitées à la fois horizontalement et verticalement.
Les colonnes et les lignes sont numérotées et peuvent commencer dans n'importe lequel des quatre coins de la boîte de délimitation des entités.
Si la taille de la cellule est explicite, des coordonnées de départ pour x et/ou y peuvent être appliquées pour ajuster la position de la grille.
Exemples
Dans cet exemple, nous disposons d'un ensemble de lignes de transport en commun et nous voulons créer une variété de grilles sur les étendues de l'ensemble de données.
Notez que les entités ont un système de coordonnées UTM, avec des unités terrain en mètres.
Les entités sont acheminées vers plusieurs accumulateurs 2DGridAccumulators.
Grilles rectangulaires
Dans la première boîte de dialogue de paramètres, le Type de grille est défini sur Taille de cellule, avec une taille de 1000 mètres carrés. Le Type de grille à créer est Polygones.
La grille qui en résulte couvre un peu plus que l'étendue des données, en raison de la taille fixe des cellules, en commençant par le coin inférieur gauche.
Les polygones ont reçu un nouvel attribut contenant leurs numéros de colonne et de ligne.
Points de grilles
En divisant les étendues en parties égales, le Type de grille est réglé sur Nombre de cellules et une grille 3 x 3 est demandée.
Le Type de grille à créer est Points (coins).
Les points sont placés aux coins de cellules calculés.
Notez que le Coin de départ était Inférieur gauche, qui devient colonne 0, ligne 0. La grille ne s'étend pas au-delà des entités, car la taille des cellules a été calculée en divisant ces extensions en cellules égales.
Le Type de grille à créer étant défini sur Points (centres), chaque cellule est représentée par son point central. La cellule du Coin de départ (dans ce cas, en bas à gauche) est la colonne 0, ligne 0.
Dans cet exemple, nous utiliserons des valeurs de départ pour affiner la grille rectangulaire de l'exemple précédent, en créant une grille qui peut être reproduite et alignée avec d'autres grilles générées.
Notez que les cellules de la grille sont de 1000 mètres par 1000 mètres, en commençant dans le coin inférieur gauche.
Comme elles sont positionnées par rapport à l'étendue des entités sous-jacentes, les cellules ne s'alignent pas nécessairement sur une autre grille de 1000 mètres par 1000 mètres générée pour un ensemble d'entités différent dans la même zone.
Dans la boîte de dialogue des paramètres, nous fixons les coordonnées X et Y de départ à 1000.
La grille obtenue présente des cellules placées de manière prévisible, tombant tous les 1000 mètres à la fois horizontalement et verticalement.
L'utilisation des mêmes valeurs de semences et de la même taille de cellule sur un autre ensemble de données produit une grille qui s'aligne sur celle-ci.
Notes
Créer des boîtes et des rectangles
Créer une géométrie rectangulaire est une tâche courante. Ces Transformers y parviennent de différentes manières.
Transformer |
Fonction |
---|---|
Crée une ou plusieurs nouvelles entités avec une géométrie de boîte d'une taille et d'une position spécifiques (lorsque l'Objet géométrique est Boîte). |
|
Remplace la géométrie d'une entité existante par une boîte d'une taille et d'une position spécifiques. |
|
Crée un rectangle englobant toutes les entités reçues. |
|
Remplace individuellement la géométrie de chaque entité par un rectangle qui couvre son étendue. |
|
Remplace individuellement la géométrie de chaque entité raster par un rectangle qui couvre son étendue (avec différentes options de Type d'étendue). |
|
Extrait les valeurs de coordonnées qui décrivent le rectangle englobant (ou le cube) d'une entité individuelle et les stocke en tant qu'attributs. |
|
Crée une série de rectangles régulièrement espacés qui couvrent l'étendue de toutes les entités reçues (lorsque le Type de grille à créer est Polygones). |
|
Crée une série de rectangles régulièrement espacés d'une taille et d'une position spécifiques (lorsque le Type de grille à créer est Polygones). |
|
Tiler et RasterTiler |
Ne créent pas de rectangles à proprement parler, mais découpent les entités en une série de tuiles rectangulaires, spécifiées de manière similaire à 2DGridAccumulator. |
Configuration
Ports d'entrée
Entités avec géométrie.
Ports de sortie
Une grille d'entités ponctuelles ou polygonales telles que spécifiées dans les paramètres.
Les entités dont la géométrie n'est pas valide sont émises via ce port.
Lorsque des valeurs d'attribut sont utilisées pour définir la grille, les entités présentant des valeurs non numériques pour les paramètres numériques requis sont émises par ce port. Cependant, dès qu'une entité avec des valeurs numériques valides est reçue, toutes les entités suivantes utiliseront ces mêmes valeurs d'attribut et ne seront pas rejetées.
Les entités rejetées auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_GEOMETRY_VERTICES
INVALID_PARAMETER_SEED_COORDINATE_X
INVALID_PARAMETER_SEED_COORDINATE_Y
INVALID_PARAMETER_HORIZONTAL_COUNT
INVALID_PARAMETER_VERTICAL_COUNT
INVALID_PARAMETER_COLUMN_WIDTH
INVALID_PARAMETER_ROW_HEIGHT
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
Regrouper par |
points au centre de chaque cellule. Une grille est produite pour chaque groupe. Si l'option Regrouper par n'est pas spécifiée, toutes les entités d'entrée seront traitées ensemble et une seule grille sera produite. |
||||
Traitement des regroupements
|
Sélectionnez le moment du traitement où les groupes sont traité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 traitement avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Type de grille |
Sélectionnez une méthode pour générer une grille.
|
||||||||
Coin de départ |
Sélectionnez le coin pour l'origine de la grille. La numérotation commence à 0,0. Lorsque le Type de grille est Taille des cellules, la dernière colonne et/ou la dernière ligne peut dépasser la boîte de délimitation des entités d'entrée. La dernière colonne/rangée se trouve en face du coin de départ sélectionné. |
||||||||
Type de grille à créer |
Sélectionner le type de grille :
|
||||||||
Taille des cellules
|
Lorsque le Type de grille est Taille de cellules :
Si l'une de ces valeurs est fournie par l'intermédiaire d'un attribut ou d'une expression, les valeurs utilisées sont tirées de la première entité rencontrée dans le groupe. Les valeurs des entités suivantes sont ignorées. |
||||||||
Nombre de cellules |
Lorsque le Type de grille est Nombre de cellules :
Si l'une de ces valeurs est fournie par l'intermédiaire d'un attribut ou d'une expression, les valeurs utilisées sont tirées de la première entité rencontrée dans le groupe. Les valeurs des entités suivantes sont ignorées. |
Colonne |
Nom de l'attribut pour contenir les numéros de colonne, par rapport au Coin de départ. La numérotation commence par 0. |
Ligne |
Nom de l'attribut qui contient les numéros de ligne, par rapport au Coin de départ. La numérotation commence par 0. |
É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.
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 traitement 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 |
|
Stockage des entités |
Oui |
Dépendances |
Aucun |
Alias |
2DGridReplacer |
Historique |
|
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.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.