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 spatial reference.
Some users call this location of data a "projection," but projection is just one component of what we call a coordinate system. A coordinate system includes projection, datum, ellipsoid, units, and sometimes a quadrant.
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's 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 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>.
There are a number of reprojection scenarios that may occur depending on the combination of coordinate system (CS) information available:
|Dataset CS||Reader CS||Writer CS||Reprojection|
|N||Y||Y||Reprojects from Reader CS to Writer CS|
|Y||N||Y||Reprojects from Dataset CS to Writer CS|
|N||N||Y||Error: Cannot reproject without Dataset or Reader CS|
|Y||Y||Y||Reprojects from Reader CS to Writer CS|
If the coordinate system is not set on the writer, then no reprojection will take place unless the output format requires it. For example, the KML format requires data to be in Latitude/Longitude. If neither the source dataset or the reader coordinate system is defined, then the translation will fail.