Skip to main content
Question

Scale by a point

  • December 18, 2013
  • 7 replies
  • 85 views

Forum|alt.badge.img
Hi all,

 

 

A very simple question(!), is it possible to scale by a known point in FME, i.e. by an x and y coordindate.  In the Scaler, Scale Origin you can only select Cente Point or Origin.  I have tried it as a parameter, e.g. 15,15 but it doesn't appear to be scaling correctly.

 

 

Thanks.

7 replies

fmelizard
Safer
Forum|alt.badge.img+18
  • Safer
  • December 18, 2013
Hi Amit,

 

 

If you mean multiplying the coordinates by factor than the Scaler is what you need, mind you it can cause some troubles if the objects are not near the 0,0 point of the coordinate system.

 

 

The answet of Takashi here demonstrates how to use the Scaler.

 

 

If you mean giving the features an offset (moving them) the take a look at the Offsetter.

 

 

Itay

fmelizard
Safer
Forum|alt.badge.img+18
  • Safer
  • December 18, 2013

Hi Amit,

 

 

If you mean multiplying the coordinates by factor than the Scaler is what you need, mind you it can cause some troubles if the objects are not near the 0,0 point of the coordinate system.

 

 

The answet of Takashi here demonstrates how to use the Scaler.

 

 

If you mean giving the features an offset (moving them) the take a look at the Offsetter.

 

 

Itay

Forum|alt.badge.img
  • Author
  • December 18, 2013
Hi Italy,

 

 

Thanks for the reply, it's a bit hard to explain(!) so I've attached an image

 

https://dl.dropboxusercontent.com/u/7141908/ScaleExamples.jpg

 

 

Assuming the box starts in the same place, depending on the anchor-point I use, the position of the output box changes.  Basically, I have some mapping I need to transform, but I need to scale by an origin and then rotate it by the same origin and then move it by the origin!  If I scale by 0,0 this will give an incorrect transformation.

takashi
Influencer
  • December 18, 2013
Hi Amit,

 

 

If the anchor point were origin (0, 0) of the coordinate system, the Scaler can be used with no problem. I think that  the same way as my previous post can be also used in your case, as Itay mentioned. First, move the geometry so that it is on the coordinate system whose origin matches with the anchor point (Offsetter: -x, -y). Next, scale the geometry by 0, 0 (Scaler). Finally, move again the geometry into the original coordinate system (Offsetter: +x, +y).

 

 

Takashi

takashi
Influencer
  • December 18, 2013

Hi Amit,

 

 

If the anchor point were origin (0, 0) of the coordinate system, the Scaler can be used with no problem. I think that the same way as my previous post can be also used in your case, as Itay mentioned. First, move the geometry so that it is on the coordinate system whose origin matches with the anchor point (Offsetter: -x, -y). Next, scale the geometry by 0, 0 (Scaler). Finally, move again the geometry into the original coordinate system (Offsetter: +x, +y).

 

 

Takashi

Forum|alt.badge.img
  • Author
  • December 19, 2013
Hi Takashi, thank you, that is the logical workaround.  Thanks again Itaty too.

 


karnil
Contributor
Forum|alt.badge.img+4
  • Contributor
  • October 10, 2017
It seems as if this workaround breaks instances? Individual scaling and rotation of many instanced objects retains the instancing but as soon as I offset the instance breaks?

 

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings