Affiner

Effectue une transformation affine (comme le décalage, la rotation ou l'échelle) sur les coordonnées de l'entité.

Aller à la configuration

Cas d'utilisations typiques

  • Déplacement, mise à l'échelle et rotation de la géométrie 2D.

Comment fonctionne-t-il ?

Affiner reçoit des entités avec n'importe quel type de géométrie et déplace leurs coordonnées x et y selon une transformation affine spécifiée.

Une transformation affine est une méthode mathématique de modification de la géométrie qui :

  • Préserve les lignes/collinéarité : tous les points sur une ligne droite sont toujours sur une ligne droite après la transformation.

  • Préserve le parallélisme : les lignes qui sont initialement parallèles le sont toujours après transformation.

  • Peut ne pas préserver les angles, les longueurs ou les surfaces, selon le type de transformation effectuée.

La mise à l'échelle, la mise en miroir, la rotation, le cisaillement et la translation (relocalisation ou décalage) sont tous des traitements affines. Elles peuvent être effectuées séparément ou en combinaison.

Affiner effectue des transformations 2D en utilisant cette formule :

x' = Ax + By + C

y' = Dx + Ey + F

(x,y) sont les coordonnées d'entrée et (x',y') sont les coordonnées de sortie transformées.

 

Description

Formule/Coefficients

Exemple*

Translation

Déplacer la géométrie d'une distance fixée.

x' = 1x + 0y + C

y' = 0x + 1y + F

Simplifié :

x' = x + C
y' = y + F

C = décalage horizontal (x)
F = décalage vertical (y)

x' = 1x + 0y + 5
y' = 0x + 1y + 5

Échelle

Rétrécit ou agrandit la géométrie.

 

x' = Ax + 0y + 0
y' = 0x + Ey + 0

Simplifié :

x' = Ax
y' = Ey

A = facteur d'échelle horizontal (x)
E = facteur d'échelle vertical (y)

x' = 1.5x + 0y + 0
y' = 0x + 1.5y + 0

Pivotement

Pivote la géométrie autour de l'origine.

 

x' = cos(ϴ)x + −sin(ϴ)y + 0
y' = sin(ϴ)x + cos(ϴ)y + 0

Simplifié :

x' = cos(ϴ)x sin(ϴ)y
y' = sin(ϴ)x + cos(ϴ)y

ϴ = Angle en degrés

A = cos(ϴ)
B = −sin(ϴ) (Note valeur négative)
D = sin(ϴ)
E = cos(ϴ)

Pivote de 30 degrés :

x' = 0.866025x + -0.5y + 0
y' = 0.5x + 0.866025y + 0

Cisaillement

Décale la géométrie proportionnellement à ses coordonnées x et y.

x' = 1x + By + 0
y' = Dx + 1y + 0

Simplifié :

x' = x + By
y' = y + Dx

x' = 1x + 1.25y + 0
y' = 0x + 1y + 0

* Notez que ces exemples utilisent une géométrie avec une origine de 0,0 dans le coin inférieur gauche du polygone.

Entités géographiques et Transformers affines

L'origine (0,0) des entités géographiques se trouve généralement à une certaine distance de la géométrie elle-même, de sorte que les transformations affines peuvent produire d'importants décalages d'emplacement, en particulier lors de la mise à l'échelle ou de la rotation.

Exemples

Notes

  • Pour effectuer des transformations affines sur place sur des entités géographiques, il faut envisager une reprojection temporaire (Reprojector) dans un système de coordonnées local ou utiliser un CommonLocalReprojector.

  • Scaler effectue des transformations affines d'échelle en 2D et 3D, avec des options supplémentaires pour des types de géométrie spécifiques et la gestion de l'origine.

  • Offsetter effectue des traitements affines de translation en 2D et 3D, avec des options d'espace de coordonnées supplémentaires (coordonnées polaires et sphériques, en plus des coordonnées cartésiennes).

  • Rotator et 3DRotator effectuent des transformations affines de rotation, avec une interface simplifiée pour la valeur de rotation, l'origine (2D) et le choix de l'axe (3D).

Configuration

Ports d'entrée

Ports de sortie

Paramètres

É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.

Options - Tables

Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.

Références

Comportement

Basé sur des entités

Stockage des entités

Non

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.