Tiler
Divise les entités d'entrée en une série de tuiles en spécifiant soit la taille des tuiles (en unités terrain), soit le nombre total de tuiles.
Cas d'utilisation courants
-
Tuilage des données pour une meilleure efficacité de stockage ou de traitement
-
Tuilage des données pour correspondre à l'étendu d'un autre jeu de données afin d'activer le traitement des regroupements
Comment fonctionne-t-il ?
Le Tiler accepte les entités avec la plupart des types de géométrie, y compris les géométries vectorielles, les rasters et les nuages de points. Les entités 2D et 3D sont prises en charge. Les entités en entrée sont divisées en une série de tuiles rectangulaires, en fonction des sélections de paramètres.
L'étendue de chaque tuile peut être décrite par :
-
Dimensions en unités terrain - lorsque la hauteur et la largeur des tuiles sont spécifiées explicitement dans les unités terrain du système de coordonnées des entités, ou
-
Nombre de tuiles - le rectangle englobant toutes les entités est divisé par le nombre de colonnes et de lignes spécifié.
Les entités reçoivent des attributs de numéro de ligne (row) et de colonne (column) identifiant la tuile dans laquelle elles se trouvent. Les lignes et les colonnes sont numérotées à partir de zéro (0) et la numérotation peut commencer dans n'importe quel coin.
Les entités sont divisées lorsqu'elles traversent les limites des tuiles. Les éléments qui se trouvent sur les limites des tuiles peuvent être dupliqués dans chaque tuile.
Les coordonnées des semences peuvent être utilisées pour contrôler la position des tuiles lorsque Définir les tuiles par est Dimensions en unités terrain.
Les entités 3D sont compilées au fur et à mesure qu'elles se superposent aux tuiles 2D. Lorsqu'elles sont divisées, les valeurs z peuvent être interpolées de différentes manières. Les mesures peuvent également être interpolées si nécessaire.
RasterTiler ou Tiler ?
Le Transformer RasterTiler tuile aussi des rasters, et peut être approprié si vous souhaitez effectuer un tuilage en fonction du nombre de cellules (pixels) par tuile. Ce tableau compare les deux :
Tiler | RasterTiler | |
---|---|---|
Etendue des tuiles |
Cumulatif sur toutes les entités |
Entité unique |
Type de données acceptées |
Tous les types, à l'exception des surfaces et des solides |
Uniquement les Rasters |
Unités Taille de tuile |
Coordonnées terrains |
Coordonnées pixels |
Numérotation ligne de tuile (0, 1,...) |
Sélectionnable |
De haut en bas |
Supporte la fonction : Forcer les tuiles de tailles équivalentes |
Non |
Oui |
Supporte l'attribut Index de raster |
Non |
Oui |
Supporte l'attribut nombre de tuiles verticales/horizontales. |
Non |
Oui |
Exemples
Dans cet exemple, nous avons un ensemble de polygones de quartier et nous voulons les diviser en quatre tuiles.
Notez la forme du quartier sélectionné.
Les entités sont acheminées vers un Tiler.
Dans les paramètres, l'option Définir les tuiles par est définie sur Nombre de tuiles, et les colonnes et les lignes sont toutes deux définies sur 2.
Par défaut, les colonnes et les lignes sont numérotées à partir du coin inférieur gauche, les numéros étant ajoutés aux nouveaux attributs _row et _column.
Pour mieux illustrer le tuilage, les entités se voient attribuer des couleurs en fonction de leur numéro de colonne et de ligne avec un FeatureColorSetter.
Les entités de sortie ont été mises en tuiles, recevant des numéros de ligne et de colonne. Les entités qui traversent la limite d'une tuile, comme le quartier nage sélectionné ci-dessus, sont divisées. Les deux parties conservent leurs attributs d'origine et reçoivent des numéros de ligne et/ou de colonne différents, selon le cas.
Dans cet exemple, nous allons recouvrir de tuiles un ensemble d'entités de lignes de transport en commun en utilisant une taille de tuile spécifique. Nous voulons que les tuiles résultantes s'alignent sur une grille générée séparément. Des coordonnées d'origine seront utilisées pour contrôler la position.
Notez que les entités sont dans un système de coordonnées UTM83-10, avec des unités terrain en mètres.
Les entités sont acheminées vers un Tiler.
Dans les paramètres, Définir les tuiles par vaut Dimensions en unités terrain. La Largeur et la Hauteur sont toutes deux définies sur 1000 mètres.
Les coordonnées d'origine sont également fixées à 1000, ce qui garantit que les coins des tuiles sont placés de manière prévisible à des coordonnées qui sont des multiples de 1000, plutôt que de commencer à n'importe quel endroit où se trouvent les entités.
Pour mieux illustrer le tuilage, les entités se voient attribuer des couleurs en fonction de leur numéro de colonne et de ligne avec un FeatureColorSetter.
Les entités de sortie ont été tuilées, recevant des numéros de ligne et de colonne.
Les entités tuilées s'alignent spatialement sur une grille générée séparément avec un 2DGridCreator, en utilisant un intervalle de 1000 mètres sur une zone plus large que l'étendue des lignes de transit.
Notez les valeurs Min et Max de l'étendue pour la cellule de la grille - nombres entiers, multiples de 1000. Les limites des tuiles se situent sur les mêmes coordonnées.
Notes
-
Il peut être nécessaire de reprojeter les entités dans un système de coordonnées de latitude/longitude avant la mise en place des tuiles. Envisagez d'utiliser le Reprojector ou d'autres Transformers de reprojection. Pour une reprojection temporaire pour une taille de tuile définie, le CommonLocalReprojector peut être utile.
-
Le Tiler ne crée pas de grille. Pour les grilles, voir 2DGridAccumulator ou 2DGridCreator.
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 à tuiler. Les géométries de points, de courbes, de surface, de surfaces, de solides, de rasters et de nuages de points sont prises en charge.
Ports de sortie
Entités tuilées comme spécifié dans les paramètres.
Toutes les géométries qui n'ont pas été utilisées lors du tuilage.
Les entités sans géométrie valide sont émises via ce port, de même que les entités invalides d'une manière qui empêche la mise en place de tuiles - une géométrie qui s'étend à l'infini, par exemple.
Le paramètre Gestions des parties invalides détermine ce qui est émis par le port.
Si l'option Rejeter uniquement les parties est sélectionnée, seules les pièces qui ont entraîné l'invalidation de l'entité seront émises par le port <Rejected>.
Si l'option Rejeter l'entité entière est sélectionnée, l'intégralité de l'entité sera émise par le port <Rejected>.
Les entités rejetés auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_PARAMETER_TILE_WIDTH
INVALID_PARAMETER_TILE_HEIGHT
INVALID_PARAMETER_SEED_COORDINATE_X
INVALID_PARAMETER_SEED_COORDINATE_Y
INVALID_PARAMETER_NUMBER_OF_HORIZONTAL_TILES
INVALID_PARAMETER_NUMBER_OF_VERTICAL_TILES
INVALID_GEOMETRY_NON_SPATIAL
INVALID_GEOMETRY_NOT_FINITE
INVALID_GEOMETRY_TYPE
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. Les entités d'entrée peuvent être réparties en groupes sur la base des valeurs des attributs. Si l'option Regrouper par n'est pas spécifiée, toutes les entités d'entrée seront traitées ensemble. |
||||
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. |
Définir les tuiles par |
Sélectionner une méthode de dimensionnement des tuiles :
|
||||||||
Les entités sont acheminées vers un Tiler. |
Sélectionner le coin pour l'origine du tuilage. La numérotation des colonnes et des lignes commence à 0,0. Lorsque l'option Définir les tuiles par est Dimensions en unités terrain, la dernière colonne et/ou la dernière rangée peut dépasser le cadre des entités d'entrée. La dernière colonne/rangée est opposée au Coin de départ sélectionné. |
||||||||
Dimensions en unités terrain |
Si Définir les tuiles par est Dimensions en unités terrain :
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. Lors de la mise en place de rasters sans système de coordonnées ni géoréférencement, les unités terrain sont au nombre de un (1) par cellule et l'origine est 0,0. |
||||||||
Nombre de tuiles |
Si Définir les tuiles par est Nombre de tuiles :
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. |
Tolérance |
Spécifier la distance minimale entre des géométries en 2D avant qu'elles ne soient considérées comme égales, en unités terrain :
|
||||
Dupliquer les éléments sur les bords des tuiles |
Les entités situées à la frontière entre les tuiles peuvent être dupliquées de manière à apparaître dans les deux tuiles :
|
||||
Valeurs Z manquantes |
Sélectionner une méthode d'interpolation des valeurs z requises après le tuilage:
|
||||
Valeurs de mesure manquantes |
Choisir une méthode pour traiter les entités qui ont quelques mesures, mais auxquelles il manque au moins une valeur après le tuilage :
Si aucune valeur n'est donnée pour les mesures, la mesure est supprimée. |
||||
Gestion des parties invalides |
Si une entité a une géométrie avec une partie non valide :
|
||||
Conserver l'ordre des entités |
Ce paramètre contrôle l'ordre dans lequel les entités quittent un Transformer. Lorsqu'un Transformer a plus d'un port de sortie, les entités sortent généralement d'un port à la fois. Parfois, il peut être utile de garder l'ordre dans lequel les entités sont arrivées, en passant d'un port à l'autre si nécessaire. Cela permet de préserver l'ordre des entités, mais au prix d'une perte potentielle d'efficacité du traitement. Sélectionner une méthode pour l'ordre des entités :
|
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 | |
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.
Mots clefs : raster grille clip tuile étendue limite Tessellation