LineOnAreaOverlayer
Effectue une superposition ligne-sur-surface. Chaque ligne d'entrée est divisée à toutes les limites de surface qu'elle croise ou les surfaces sont fractionnées là où elles sont superposées à des lignes. Les attributs peuvent être partagés entre les lignes et les surfaces liées (jointure spatiale).
Cas d'utilisation courants
- Découpage de ligne au croisement de limites de polygone
- Fractionner les polygones lorsqu'ils sont traversés par des lignes
- Identification de polygones contenant ou intersectant des lignes
- Identification de lignes intersectant ou contenues dans des entités surfaciques.
Comment fonctionne-t-il ?
LineOnAreaOverlayer compare les lignes et les polygones, fractionnant les lignes là où elles s'intersectent.
Il existe deux modes :
-
Fraction des lignes avec des surfaces LineOnAreaOverlayer compare les lignes et les polygones, en divisant les lignes à l'endroit où elles croisent la limite d'un polygone. Chaque élément résultant peut recevoir les attributs de la ou des zones qu'il contient, et chaque zone qui le contient peut recevoir les attributs de la ou des lignes qui se trouvent à l'intérieur ou qui l'intersectent (une jointure spatiale). Les entités reçoivent également un compte du nombre de superpositions rencontrées.
-
Fraction des surfaces avec des lignes Les zones sont subdivisées lorsqu'elles sont divisées par des lignes ou des ensembles de lignes. Seules les lignes qui divisent les zones sont prises en compte pour le comptage des fusions d'attributs et des chevauchements.
Les agrégats peuvent être soit désagrégés avant le traitement ou rejetés.
Exemples
Dans cet exemple, nous effectuons une superposition des lignes de pistes cyclables sur les polygones de quartier. Les données sources ressemblent à ceci, où la ligne en surbrillance est une entité de ligne de piste cyclable qui passe d'un quartier à un autre.
Nous voulons accomplir deux missions dans cette exemple :
- fractionner les lignes là où elles s'intersectent avec une bordure de voisinage
- assigner les nouveaux attributs (effectue une jointure spatiale)
- ajouter les attributs de quartier à la piste cyclable
- ajouter tous les noms de pistes cyclables au polygone voisinage en tant qu'attribut de liste.
Dans le traitement, les pistes cyclables sont connectées au port d'entrée Line et les voisinages sont connectés au port d'entrée Area.
Dans la fenêtre des paramètres de LineOnAreaOverlayer, veuillez faire les sélections suivantes :
- Mode: Fraction de lignes avec des surfaces
- Gestion des attributs : Fusionner les attributs entrants (c'est la valeur par défaut). Cela fusionnera les attributs des entités les uns sur les autres, ce qui ajoutera les informations de voisinage aux pistes cyclables segmentées. Cependant, il n'ajoute pas les valeurs d'attributs multiples, et donc nous aussi :
- (Facultatif) Génération de liste sur les areas (polygones) : Ceci crée un attribut de liste sur les zones de sortie. En choisissant Attributs sélectionnés, puis PathName, seuls les noms des pistes cyclables seront ajoutés.
En observant le résultat, nous pouvons voir les pistes cyclables sélectionnées ont été séparées là où elles croisent les bordures du voisinage et les attributs de voisinage pour Mount Pleasant ont aussi été ajouté.
Le voisinage englobant a rencontré 18 superpositions et a maintenant un attribut de liste contenant le nom des pistes cyclables.
Dans cet exemple, nous avons un seul polygone couvrant l'étendue du parc Stanley.
Le parc est traversé par de nombreuses routes et sentiers, et nous voulons diviser le polygone du parc en morceaux sur la base de ces lignes.
Le parc et les routes sont acheminés dans un LineOnAreaOverlayer.
Dans la boîte de dialogue des paramètres, le Mode est défini sur Fraction des surfaces avec des lignes.
Les lignes sont sorties inchangées, et le polygone du parc a été subdivisé en zones plus petites là où les routes et les chemins le traversent.
Notes
Choisir un Transformer spatial
De nombreux Transformers peuvent évaluer les relations spatiales et effectuer des jointures spatiales - en analysant la topologie, en fusionnant les attributs et parfois en modifiant la géométrie. En général, le choix de celui qui est le plus spécifique à la tâche que vous devez accomplir fournira les résultats de performance optimaux. S'il existe plus d'une façon de procéder (ce qui est souvent le cas), il peut être utile de consacrer du temps à tester les performances des autres méthodes.
Pour analyser correctement les relations spatiales, toutes les entités doivent être dans le même système de coordonnées. Reprojector peut être utile pour reprojeter des entités dans le traitement.
Transformer |
Peut fusionner des attributs |
Altère la géométrie |
Compte le nombre d'entités liées |
Créé des listes |
Types supportés* |
Recommandé pour |
---|---|---|---|---|---|---|
SpatialFilter | Oui | Non | Non | Non |
|
|
SpatialRelator | Oui | Non | Oui | Oui |
|
|
AreaOnAreaOverlayer | Oui | Oui | Oui | Oui |
|
|
LineOnAreaOverlayer | Oui | Oui | Oui | Oui |
|
|
LineOnLineOverlayer | Oui | Oui | Oui | Oui |
|
|
PointOnAreaOverlayer | Oui | Non | Oui | Oui |
|
|
PointOnLineOverlayer | Oui | Oui | Oui | Oui |
|
|
PointOnPointOverlayer | Oui | Non | Oui | Oui |
|
|
Intersector | Oui | Oui | Oui | Oui |
|
|
Clipper | Oui | Oui | Non | Non |
|
|
NeighborFinder | Oui | Dans certains cas | Non | Oui |
|
|
TopologyBuilder | Oui | Oui | Non | Oui |
|
|
* Notez que les courbes (Curve) comprennent les lignes, les arcs et les chemins. Les surfaces (Area) comprennent les polygones, les polygones troués et les ellipses.
L'analyse spatiale peut nécessiter un traitement intensif, en particulier lorsqu'un grand nombre d'entités sont concernées. Si vous souhaitez améliorer les performances de votre traitement, voici un bon point de départ.
Quand il y a plusieurs façons de configurer un traitement pour atteindre le même but, il est souvent mieux de choisir le Transformer le plus adapté à votre tâche.
Si les performances sont un problème dans votre traitement, recherchez des méthodes alternatives, guidées par la géométrie.
Configuration
Ports d'entrée
Les entités de la courbe par rapport auxquelles les zones seront comparées.
Entités de la zone par rapport auxquelles les courbes seront comparées.
Ports de sortie
Quand le Mode est Fraction des lignes avec des surfaces, les entités linéaires qui ont été divisées aux limites de la surface, avec des attributs ajoutés comme spécifié dans les paramètres.
Quand le Mode est Fraction des surfaces avec des lignes, la géométrie de ligne n'est pas modifiée.
Quand le Mode est Fraction des lignes avec des surfaces, les entités polygonales ont des attributs ajoutés selon la configuration des paramètres du Transformer. La géométrie n'est pas modifiée.
Quand le Mode est Fraction des surfaces avec des lignes, les surfaces subdivisées avec des attributs ajoutés comme spécifié dans les paramètres. Les surfaces qui ne sont pas divisées par des entités linéaires sont transmises sans modification.
Si la tolérance est spécifiée, les entités linéaires qui sont plus petites que la valeur de tolérance seront réduites à un point et ressortiront par ce port.
Toutes les entités non-courbes arrivant dans le port d'entrée Line et toutes les entités surfaciques arrivant dans le port d'entrée Area ressortent par ce port.
Les entités rejetées ont un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_LINE_GEOMETRY_TYPE
INVALID_LINE_GEOMETRY_VERTICES
INVALID_GEOMETRY_DEGENERATE
INVALID_POLYGON_GEOMETRY_TYPE
INVALID_POLYGON_GEOMETRY_VERTICES
INVALID_POLYGON_GEOMETRY_DEGENERATE
INVALID_GEOMETRY_NOT_FINITE
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 |
Le comportement par défaut consiste à utiliser l'ensemble des entités comme groupe. Cette option vous permet de sélectionner les attributs qui définissent les groupes à former. | ||||
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. |
Mode |
Fraction des lignes avec des surfaces : Par défaut. Chaque ligne d'entrée est divisée au niveau des limites des surfaces qu'elle croise, et les attributs peuvent être partagés entre les lignes et les surfaces apparentées (jointure spatiale). Fraction des surfaces avec des lignes : Chaque zone d'entrée est divisée partout où elle est subdivisée par des lignes d'entrée. Les attributs peuvent être partagés entre les zones et les lignes qui les divisent (jointure spatiale). |
Tolérance |
La distance minimale entre les géométries en 2D avant qu'elles ne soient considérées comme égales, en unités terrestres. Si la tolérance est Aucune, les géométries doivent être exactement identiques pour être considérées comme égales. Si la tolérance est Automatique, une tolérance sera automatiquement calculée en fonction de l'emplacement des géométries saisies. En outre, une tolérance personnalisée peut être utilisée. |
Gestion des agrégats |
Choisir comment les agrégats de géométries doivent être gérés. Désagréger : Décompose les agrégats en leurs composants individuels. Avec ce paramètre, le Transformer peut produire plus d'entités que celles qui ont été données en entrée. Rejeter : ne pas traiter les agrégats et les sortir via le port <Rejected>. |
Nombre de superpositions |
Fraction des lignes avec des surfaces : L'attribut Nombre de superpositions ajouté aux entités linéaires de sortie contient le nombre d'entités de zone dans lesquelles elles se trouvent. L'attribut Nombre de superpositions ajouté aux entités de zone de sortie contient le nombre d'entités linéaires qu'elles contiennent. Fraction des surfaces avec des lignes : L'attribut de compte des superpositions ajouté aux entités linéaires de sortie indique le nombre d'entités de surface qu'elles ont coupées en deux. L'attribut "Nombre de superpositions" ajouté aux entités de surface en sortie contient le nombre d'entités linéaires par lesquelles elles ont été coupées en deux. Notez que les lignes peuvent croiser des zones sans les couper, et que ces interactions ne sont pas enregistrées dans ce mode. |
Si les attributs des entités entrantes et originales ont le même nom, mais ne sont pas d'attribut de géométrie commençant par fme_, alors ils seront considérés comme en conflit.
Traitement des attributs |
Regrouper les entités entrantes : l'entité originale conservera tous ses attributs non conflictuels et acquerra en plus tous les attributs non conflictuels de l'entité entrante. Ce mode traitera les attributs conflictuels en fonction du paramètre de résolution des conflits. Préfixer les attributs des entités appariées : L'entité originale conservera tous ses attributs. De plus, l'original acquerra des attributs reflétant les attributs de l'entité entrante, avec le nom préfixé par le paramètre Préfixe. Remplacer par une entité unique : tous les attributs de l'entité originale seront supprimés, à l'exception des attributs géométriques qui commencent par fme_. Ensuite, tous les attributs d'une entité entrante (arbitraire) seront placés sur l'original. |
Résolution de conflit |
Utiliser les attributs d'origine : si un conflit d'attributs apparaît, les valeurs des entités d'origine sont conservées. Utiliser les attributs des entités appariées : si un conflit d'attributs apparaît, les valeurs des attributs de la liste seront transférées aux entités d'origine. |
Préfixe |
Si le mode Traitement des attributs vaut Préfixer les entités entrantes, cette valeur préfixera les attributs qui sont ajoutés à l’entité originale depuis l'entité entrante. |
Gérer liste dans le port de sortie 'Line'
Lorsque cette option est activée, elle ajoute un attribut de liste aux entités de sortie Ligne, et les attributs de chaque surface contenant (ou divisée par) une ligne de sortie sont ajoutés à la liste de cette ligne.
Aucune intersection des entités surfaciques n'est réalisée.
Nom de liste 'Line' |
Entrer un nom de liste. Note Les attributs de liste ne sont pas accessibles à partir du schéma de sortie dans FME 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 'Line' |
Tous les attributs : tous les attributs seront ajoutés aux entités Ligne 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. |
Gérer liste dans le port de sortie 'Surface'
Quand activé, ajoute un attribut de liste aux entités sortant du port Area et les attributs de chaque ligne comprise dans (ou fractionné par) une surface en sortie sont ajoutés à la liste de cette surface.
Aucune intersection des entités surfaciques n'est réalisée.
Nom de liste 'Area' |
Entrer un nom de liste. Note Les attributs de liste ne sont pas accessibles à partir du schéma de sortie dans FME 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 'Area' |
Tous les attributs : tous les attributs seront ajoutés aux entités surfaciques 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. |
É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 | |
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.