CoordinateExtractor
Utilisations typiques
- Extraction des valeurs de coordonnées dans des attributs pour les manipuler ou les utiliser ailleurs.
Comment fonctionne-t-il ?
CoordinateExtractor reçoit n'importe quel type de géométrie, et récupère une coordonnée spécifiée ou toutes les coordonnées, en les ajoutant à l'entité comme attributs.
Si l'option Spécifier une coordonnée est utilisée pour récupérer une seule coordonnée, celle-ci est identifiée par son index de coordonnées, qui peut être saisi sous forme d'un nombre entier ou spécifié par une valeur d'attribut, une expression, un paramètre publié ou une valeur conditionnelle. Un index de coordonnées commence toujours à zéro (0). 0 indique le premier sommet (ou le seul sommet d'une géométrie ponctuelle), et un indice négatif peut être utilisé pour indiquer la position par rapport au dernier sommet, où -1 est la dernière coordonnée, -2 l'avant-dernière, et ainsi de suite. Si le numéro d'index n'est pas valide, l'entité est rejetée.
Si l'option Toutes les coordonnées est utilisée pour récupérer les coordonnées de tous les sommets, les valeurs sont ajoutées à un attribut de liste qui peut être manipulé à l'aide de Transformers basés sur des listes. Une liste est retournée même si l'entité entrante ne possède qu'un seul sommet.
Une Valeur Z par défaut peut être fournie de manière facultative et est appliquée lorsqu'il n'existe aucune valeur de coordonnée z. Elle peut également être fournie par un attribut, une expression, un paramètre utilisateur ou une valeur conditionnelle.
Si l'entité d'entrée est un raster ou un nuage de points, Toutes les coordonnées renvoie ses étendues, et Préciser une coordonnée renvoie le sommet demandé sur la boîte englobante (0, 1, 2, 3, 4). Si l'entité d'entrée est multipartite ou agrégée, les coordonnées de chaque partie sont indexées séquentiellement.
Exemples
Dans cet exemple, nous avons une géodatabase contenant des points d'adresse. Notez que les entités des points ont 23 attributs et sont dans un système de coordonnées UTM. Nous voulons extraire les coordonnées de chaque point dans des attributs pour les utiliser ailleurs.
Les points d'adresse sont acheminés dans un CoordinateExtractor.
Dans la boîte de dialogue des paramètres, le Méthode vaut Préciser une coordonnée. L'indice de coordonnées par défaut est zéro (0), le premier, ce qui est correct. Des noms par défaut sont également fournis pour les attributs de sortie X, Y et Z.
Notez que même si Mode > Toutes les coordonnées ne renvoie qu'un seul ensemble de coordonnées par point, et ne nécessite pas de définir un numéro d'Index des vertex, elles seront ajoutées en tant qu'attribut de liste, ce qui peut nécessiter l'utilisation de Transformers supplémentaires.
Les entités de sortie ont deux attributs ajoutés - _x et _y - pour un nouveau total de 25 attributs. Notez que les valeurs des coordonnées sont en mètres en raison du système de coordonnées UTM.
L'Attribut Z n'a pas été ajouté, car les données sont en 2D et nous n'avons pas fourni de Valeur Z par défaut.
Dans cet exemple, nous avons un ensemble de polygones de parc, et nous voulons récupérer toutes les coordonnées de ceux-ci. Notez que les entités d'entrée ont 28 attributs.
Les entités sont acheminées dans un CoordinateExtractor.
Dans la boîte de dialogue des paramètres, la Méthode vaut sur Toutes les coordonnées. Un nom par défaut est fourni pour le Nom de la liste de coordonnées - _indices .
Les entités de sortie ont un attribut de liste ajouté nommé _indices contenant les coordonnées de chaque sommet du polygone.
Notez que chaque coordonnée a une valeur x et y uniquement. Z n'a pas été ajouté car les données sont en 2D et nous n'avons pas fourni de valeur Z par défaut.
Dans cet exemple, nous voulons récupérer les coordonnées du premier et du dernier point de ces lignes de transit. Notez que les entités originales ont neuf attributs.
Les entités sont acheminées par deux CoordinateExtractors, l'un pour extraire le premier point et l'autre pour extraire le dernier.
Dans la boîte de dialogue des paramètres du premier CoordinateExtractor, le Mode est défini sur Spécifier les coordonnées et l'Index des vertex est défini sur zéro (0), ce qui indique le premier sommet.
Les noms des attributs X et Y sont modifiés en start_x et start_y.
De même, dans la boîte de dialogue des paramètres du deuxième CoordinateExtractor, l'indice de coordonnées est défini sur -1, ce qui indique le dernier sommet. Les attributs X et Y sont définis comme end_x et end_y.
Les entités de sortie ont ajouté des attributs contenant les valeurs de coordonnées demandées.
Notes
- Les coordonnées extraites peuvent être reprojetées dans un autre système de coordonnées en utilisant la fonction AttributeReprojector.
- Tous les sommets peuvent être récupérés sous forme d'attribut délimité (au lieu d'une liste) en utilisant la commande CoordinateConcatenator.
- Le premier indice de coordonnées est 0 et le dernier indice de coordonnées est -1. Dans une entité polygonale, ou une entité linéaire qui se referme sur elle-même, ces deux sommets doivent renvoyer les mêmes valeurs de coordonnées.
- Pour récupérer le point central d'une entité, utilisez CenterPointExtractor ou CenterPointReplacer.
Configuration
Ports d'entrée
Ce Transformer accepte tous types d'entités.
Ports de sortie
Les entités avec les coordonnées extraites sont stockées dans des attributs ou des listes d'attributs, comme spécifié dans les paramètres.
Les entités pour lesquelles un Index des vertex invalide ou une Valeur Z par défaut invalide a été fourni seront acheminées vers le port <Rejected>.
Les entités rejetés auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_PARAMETER_DEFAULT_Z
INVALID_PARAMETER_INDEX
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
Mode |
Sélectionnez un mode d'extraction de coordonnées. Les choix possibles sont les suivants :
|
Valeur Z par défaut |
Fournir éventuellement une valeur z à appliquer aux géométries 2D. Si elle est vide, aucun attribut z ne sera créé s'il n'existe pas déjà. |
Nom de la liste de coordonnées
|
Si le Mode est Toutes les coordonnées, fournissez un nom pour l'attribut de liste à ajouter et stocker toutes les valeurs de coordonnées. Le nom par défaut est _indices. |
Index des vertex |
Si Méthode vaut Préciser une coordonnée, spécifiez la position de l'index de la coordonnée souhaitée sous forme d'un nombre entier. Les valeurs et les expressions d'attributs sont prises en charge. La numérotation de l'index commence à zéro (0), indiquant le premier sommet. Les positions d'index négatif indiquent la position par rapport au dernier sommet, où -1 est le dernier, -2 est l'avant-dernier, et ainsi de suite. |
Noms des attributs en sortie
X |
Nommez l'attribut qui contient la coordonnée x. |
Y |
Nommez l'attribut qui contient la coordonnée y. |
Z |
Nommez l'attribut qui contient la coordonnée z. |
É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 |
|
Stockage des entités |
Non |
Dépendances | Aucun |
Alias | CoordinateFetcher |
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.