Skip to main content

Hello folks,

Well, did you notice the crossover between the FME World Tour and this quiz? Yes, the virtual events are posing a set of polls made up of questions mostly from this quiz.

I did notice a different answer in one of the questions yesterday. Don't hold it against me though!

What you didn't see there were any questions from this week's quiz! That's for obvious reasons. But did you still manage to get the correct answers and beat Roger? It was a close one. But let's see the answers first (don't scroll down and look at the result yet!)

Answers

1) Which of these is NOT an ending to an FME transformer name?

  • Finder
  • Flipper
  • Swapper
  • Composer
  • Forcer

We always start with an easy question, and this week was no exception. The only transformer we don't have is a Flipper. All of the rest are valid transformer names, like:

  • NeighborFinder
  • CoordinateSwapper
  • GMLFeatureComposer
  • 2DForcer

But no Flipper. Obviously we try to suit the action to the word, and the word to the action (as Hamlet put it) so I guess there are no data types that need flipping. 

Roger's Answer: Flipper (Correct) 

2) Which of these transformers does NOT appear in the word search pictured above?

  • CurveFitter
  • JSONFlattener
  • RasterBandAdder
  • GeometryFilter
  • Counter

I hope this one wasn't too taxing. The answer is the GeometryFilter. Here's proof the others exist:

0684Q00000ArAzbQAF.png

You may well have noticed that there are more transformers in the grid than I mentioned in the question. In all there are 15 transformers listed: the four above and 11 others. Can you find them?! It's made harder by the fact that some words are backwards or diagonal (how long did it take you find the CurveFitter?!)

I'll post the full list at the bottom of the page.

Roger's Answer: GeometryFilter (Correct) 

3) I have a set of area features and want to find the perimeter length of each. Which is the first transformer to use?

  • AreaCalculator
  • GeometryCoercer
  • LengthCalculator
  • PerimeterReplacer
  • StringLengthCalculator

Some of those transformers carry out measurements, others transform the data, perhaps in preparation for measuring. So which do we use? Do we need any preparation here? 

No! No preparation is needed and we don't need to coerce the polygons to a line. If an area/polygon feature is fed into the LengthCalculator, it will return the perimeter of the feature. So the LengthCalculator is the first transformer - and the only transformer - that you'll need to use to get the correct answer.

Here's an example for a 10x10 square polygon:

0684Q00000ArAkuQAF.png

The PerimeterReplacer is not a real transformer, by the way. The StringLengthCalculator... well, if you laid a piece of string around the polygon then it might help!

Roger's Answer: AreaCalculator (Incorrect) 

4) The Junction transformer is quite unique in FME. But which of these facts is NOT true:

  • It's the only transformer not to end in either "er" or "or"
  • It doesn't appear in the Navigator window and you can't rename it
  • Although you can't set a Group By, it is a group-based transformer
  • Although you can't see them, its port names are called "Input" and "Output"
  • It has the shortest entry in the FME Workbench Transformers documentation

This is one of those questions where I expect to be disproved in some way, but I'm 99% sure of my answers. I made this a "fun" question, by the way, because it's not really something you'd need to know to use FME (it's more useless trivia for when you are in a bar)!

The answer is that it's not a group-based transformer, but feature-based. It won't block features or hold them in memory. As to the other answers...

  • Answer 1: I see no other transformer in my FME setup that doesn't end in er or or
  • Answer 2: This is strangely true. It's actually built into the definition that this transformer can't be renamed and won't appear in the Navigator:

0684Q00000ArAzgQAF.png

The Junction also doesn't have context menu options for Create Custom Transformer or Add Summary Annotation (though the shortcut keys still work). From the other options I don't think you can zoom to a junction, upgrade its version, or use the AutoConnect function on its attributes. Strange, but true.

  • Answer 4: You can hover the mouse over the ports to see them:

0684Q00000ArAzlQAF.png

  • Answer 5: I figured it must be the shortest, just from reading the content. But to make sure I set up a workspace to read a list of transformers (TransformerListReader from the FME Hub) and ping a query off to the documentation web pages (HTTPCaller) using this URL:
http://docs.safe.com/fme/2020.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/@LowerCase(@Value(TransformerName)).htm

A StringLengthCalculator calculated the length of each response_body attribute, giving me the following:

  • Junction: 14,671 characters
  • KinesisReceiver: 32,024
  • TextLocationExtractor: 34,662
  • GeometryRemover: 34,987
  • FeatureHolder: 35,143
  • CoordinateSystemRemover: 35,241
  • GeometryRefiner: 35,451
  • VertexCounter: 35,965
  • UUIDGenerator: 36,034
  • Triangulator: 36,201

So the Junction is the shortest documentation by quite a lot. Incidentally, I think a lot of those characters are HTML code, but I couldn't be bothered strip it all out, and it's probably the same length for each page anyway.

Who knew the Junction transformer was so interesting?!

The longest documentation? I could keep that for another day, but I won't. The answer is the RasterConvolver. And it's not close, either. It's about 50% larger than the next largest (RasterRegister). 

Eight of the top ten transformers with the most documentation are raster transformers. Make of that what you will!

Roger's Answer: It has the shortest documentation (Incorrect) 

5) Which of these transformers is the odd-one out?

  • InlineQuerier
  • MapnikRasterizer
  • RCaller
  • FeatureWriter
  • S3Connector

Roger puzzled his way through this one and finally got the right answer: the S3Connector. However, I don't know if it was for the right reason, which is that all of the others have dynamic input ports; you can join a connection to it and it creates a new input port just for that connection, like so:

0684Q00000ArAzqQAF.png

The S3Connector does not allow that (does not need that, in fact). 

Roger's Answer: S3Connector (Correct) 

6) I ran a scan of my workspaces to see which transformer is used most in my work. Which of them do you think I used the most?

  • AttributeCreator
  • Creator
  • FeatureMerger
  • Inspector
  • Tester

This is the "Impossible" question. You don't think it would be the Tester, do you? It was in fact, the AttributeCreator. If I wanted to be click-baity, I would now say:

Here's my top-ten transformer list: You'll never guess which transformer is #2!0684Q00000ArAzvQAF.png

 

I don't think I would have ever guessed the Junction for #2, but there you go. I guess I use it more than I thought.

Roger's Answer: Tester (Incorrect) 

Scores

Let's see the general quiz info and scores:

  • Quiz Week: 22 (Apr 3/2020)
  • Number of Entries: 31
  • Best Score: 5
  • Worst Score: 0
  • Average Score: 2.97
  • Perfect Scores: 0
  • Easiest Question: 1 (28)
  • Hardest Question: 6 (6)

Well that was a tough week. Roger scored 3, so what's the result...

  • Beat Roger: 13
  • Equalled Roger: 6
  • Were Beaten by Roger: 12

Ooooh. That couldn't have been any closer. But tough luck, Roger. The overall score is now...

  • Users 10 Safers 6

To finish up, here's your league table, which has had a big change at the top:

0684Q00000ArB00QAF.png

And here's the Safer table, with Roger slotting into the midfield:

0684Q00000ArB05QAF.png

Where am I going to find another Safe winner from?

Word Search Transformer List

The full list of transformers (with a hint to their direction) is:

  • Extruder (reads West to East)
  • AreaCalculator (W-E)
  • Counter (W-E)
  • CurveFitter (NE-SW)
  • DGNStyler (W-E)
  • Affiner (N-S)
  • AttributeFilter (W-E)
  • Cloner (E-W)
  • FTPCaller (E-W)
  • Inspector (W-E)
  • Sampler (E-W)
  • RasterBandAdder (E-W)
  • SchemaMapper (W-E)
  • JSONFlattener (N-S)
  • AggregateFilter (E-W)

 

This was a rare case where the user average was below the Safer's score (2.97 vs 3) but you still won!


Actually, you can rename a Junction transformer. Not in the Navigator, though:

 

 


Let's get Mark Stoakes as a challenger! :-)


Yikes! In my defence: I did it on my phone and then only half of that word searchy thingy is visible (but still a bad performance...)


For the 5th question I just went with the less obvious answer that it is the only transformer listed that ends on -or, not -er. And it worked!


For the 5th question I just went with the less obvious answer that it is the only transformer listed that ends on -or, not -er. And it worked!

Apparently it's also the only transformer in the list to be based on the FME Hub, so that's yet another reason.


Apparently it's also the only transformer in the list to be based on the FME Hub, so that's yet another reason.

Hmm, question 5 I went with the logic that everyone but the FeatureWriter uses 3rd party functionality.


True story, last year I spent 40 minutes with a linguist discussing the appropriate word to use to explain FME transformer naming practices.

 

 

Spoiler: "Transformer names should be instrumentalized"

 

Turn the action into an object that performs that action. ex. Calculate -> Calculator.

Hmm, question 5 I went with the logic that everyone but the FeatureWriter uses 3rd party functionality.

Well, I guess it's a good job it's just a bit of fun! It's why I hate writing questions for tests and exams (like certification). It's just so easy to produce a question like this with a valid answer that you just didn't consider!


Actually, you can rename a Junction transformer. Not in the Navigator, though:

 

 

Ha! Who knew? I mean you can't rename it with F2 and there is no context option for renaming - and yet it appears in the Parameter Editor. Wow. I will file that with the developers as I expect that it shouldn't be allowed to be renamed.


True story, last year I spent 40 minutes with a linguist discussing the appropriate word to use to explain FME transformer naming practices.

 

 

Spoiler: "Transformer names should be instrumentalized"

 

Turn the action into an object that performs that action. ex. Calculate -> Calculator.

That's fascinating. I think that's what we try to do. I wonder how the transformer names work in French? Do you know if they translate well? I always thought that German speakers would understand the concept better because that language has more compound words. But I'm not sure if other languages (say Chinese) even have this sort of concept of object performing an action. I've tried to never assume that because English works one way, every other language does too. It's a very interesting topic.


That's fascinating. I think that's what we try to do. I wonder how the transformer names work in French? Do you know if they translate well? I always thought that German speakers would understand the concept better because that language has more compound words. But I'm not sure if other languages (say Chinese) even have this sort of concept of object performing an action. I've tried to never assume that because English works one way, every other language does too. It's a very interesting topic.

I'm a bad Quebecois, I've never looked at the French environment pack for FME. Too many bad memories of issues with CSVs and floats.


Well, I guess it's a good job it's just a bit of fun! It's why I hate writing questions for tests and exams (like certification). It's just so easy to produce a question like this with a valid answer that you just didn't consider!

The real question is, are you learning things about FME when writing these quizzes?

 

Some of the questions are certainly making me challenge my assumptions.

 

 

Now I want to see you put together a "who wants to be a millionaire" style quiz. See how many questions in a row you can get right. The "poll the audience" lifeline could be the safe staffers....

I'm a bad Quebecois, I've never looked at the French environment pack for FME. Too many bad memories of issues with CSVs and floats.

That's OK. I promise not to tell anyone ;-)


The real question is, are you learning things about FME when writing these quizzes?

 

Some of the questions are certainly making me challenge my assumptions.

 

 

Now I want to see you put together a "who wants to be a millionaire" style quiz. See how many questions in a row you can get right. The "poll the audience" lifeline could be the safe staffers....

I am learning things, yes, and I'm filing quite a few issues to be fixed (mostly around documentation, but some product ones). So it's a worthwhile exercise.

I like the idea of a Who Wants to be a Millionaire style quiz. I'll have to see if I can set that up. But there are still about 150 Safers who haven't taken this quiz yet!


I am learning things, yes, and I'm filing quite a few issues to be fixed (mostly around documentation, but some product ones). So it's a worthwhile exercise.

I like the idea of a Who Wants to be a Millionaire style quiz. I'll have to see if I can set that up. But there are still about 150 Safers who haven't taken this quiz yet!

So we can expect 3 years of weekly quizzes? That's ambitious.

 

 

Speaking of documentation, are you aware that when you click on the junction transformer, the help window displays the list of transformers instead of the documentation for that transformer?

 

 

Also the junction documentation is a bit of a cop out in length, it pretty much says look at http://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Workbench/Workbench/Using-Junctions.htm" target="_blank">Using Junctions documentation.

I'd hoped to get FME to do the wordsearch for me, but googlevision isn't keen on the font used


Apparently it's also the only transformer in the list to be based on the FME Hub, so that's yet another reason.

Being in FME Hub was my logic.


Being in FME Hub was my logic.

Same here.


The second question was an interesting one to me and I tried to find out other hidden transformers. Not sure if I found all of them. Posting my find here


That's fascinating. I think that's what we try to do. I wonder how the transformer names work in French? Do you know if they translate well? I always thought that German speakers would understand the concept better because that language has more compound words. But I'm not sure if other languages (say Chinese) even have this sort of concept of object performing an action. I've tried to never assume that because English works one way, every other language does too. It's a very interesting topic.

If you ever want to explore whether a language has a grammatical concept, I recommend The World Atlas of Language Structures. https://wals.info/

 


Reply