Question
How does FME perform datum conversions? How does FME determine which datum formulation to use? Or - how does a user know which formulation is being used?
For grid shift files this is pretty straight forward as you set the hierarchy in the Tools - Options window and there is a fall-back datum. But for Datum shifts that are based on a math formula, i.e. 7 parameter shift. For example, if I want a NAD27 - NAD83 coordinate conversion to use a specific 7 parameter datum shift, how do I do that?
Answer
Rather carry out a direct datum conversion, for example NAD27 -> NAD83, FME always pivots through the WGS84 datum. So a NAD27 -> NAD83 conversion is actually:
NAD27 -> WGS84 -> NAD83
This is an area where FME is less flexible than some other coordinate system projection engines, such as ESRI. For example, in ArcGIS you can select the source, destination, and datum shift independently. FME's ESRIReprojector supports leveraging ESRI's libraries to do this, so that may be an option if a very specific datum formulation is required.
In FME, each coordinate system is tied to a datum. In FME a datum includes the concept of how to go to/from WGS84. This is limiting in two ways:
(a) you must almost always pivot through WGS84, and
(b) exactly one set of datum shift parameters is supported per system.
One option is to create a new coordinate system in FME with the required datum.
How to tell which datum formula is in use?
Redirect something tagged with that coordinate system to the Viewer, select a feature, click "..." and look at the coordinate system definition. In many cases, you can just do "Tools -> Browse Coordinate Systems" in Workbench for the same result.
What are the common pain points? For example, in Germany, there are multiple accepted transformations between DHDN and WGS84, each of which must be used in certain cases. We have an article describing how to switch these in an FME configuration file on FMEpedia:
http://www.fmepedia.com/index.php/DHDNtoWGS84