Coordinate System Transformation
To be located in a particular space on the Earth's surface the majority of spatial data is related to a particular coordinate system.
Coordinate System Basics
Some users call this location of data a 'projection,' but projection is just one component of a definition within space. A true definition includes projection, datum, ellipsoid, units, and sometimes a quadrant, which together is called a 'Coordinate System.'
Coordinate System Settings
Each Reader and Writer within FME can be assigned a coordinate system. That coordinate system is set in the Navigator window of Workbench, or in the Generate Workspace dialog.
Like the source schema, the Reader coordinate system is "what we have" and the Writer coordinate system is "what we want". Here the source coordinate system has been defined as UTM83-10 and the destination as BCALB-83.
Each feature processed by the Reader is tagged with the coordinate system defined in its parameter.
When a feature arrives at a Writer, if it is tagged with a different coordinate system to what is defined for that Writer, then FME automatically reprojects the data, so that the output is in the correct location.
Once tagged with a coordinate system, each feature retains this throughout the translation; FME knows what coordinate system it belongs to at all times.
This is important when carrying out geometric transformations (like calculating area) or when reading multiple datasets that belong to different coordinate systems (yes, FME will handle that).
Automatic Detection of Coordinate Systems
It is not always necessary to set the coordinate system parameters manually. Some data formats (for example Esri Shapefile) are capable of storing information about the coordinate system in which they are held, and FME will retrieve this information where it can.
Here, because the source Reader coordinate system is marked <not set>, FME will try to determine the coordinate system from the source dataset. If it can't, then the feature will be tagged with a coordinate system of <unknown>.
Because the destination Writer coordinate system is marked <not set>, FME will not reproject the data. Instead FME writes the data using the same coordinate system as the feature is currently tagged with.
FME cannot reproject data if it does not know what coordinate system a feature belongs too.
Therefore problems can occur when a Writer is set to create data in a specific coordinate system, but receives features tagged as <unknown>.
In that scenario either the Writer will fail with an error message, or the data will be written, but with a series of warning messages in the FME log file.
This also occurs where the Writer format has strict requirements on its coordinate system; for example KML datasets can only be written in a Latitude/Longitude series of coordinates.